@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
Bag Attributes |
||||
friendlyName: Developer ID Application: BITCOIN FOUNDATION, INC., THE |
||||
localKeyID: 6B 9C 6C A8 A5 73 70 70 E2 57 A3 49 D8 62 FB 97 C7 A5 5D 5E |
||||
subject=/UID=PBV4GLS9J4/CN=Developer ID Application: BITCOIN FOUNDATION, INC., THE/OU=PBV4GLS9J4/O=BITCOIN FOUNDATION, INC., THE/C=US |
||||
issuer=/CN=Developer ID Certification Authority/OU=Apple Certification Authority/O=Apple Inc./C=US |
||||
-----BEGIN CERTIFICATE----- |
||||
MIIFhzCCBG+gAwIBAgIIJ0r1rumyfZAwDQYJKoZIhvcNAQELBQAweTEtMCsGA1UE |
||||
AwwkRGV2ZWxvcGVyIElEIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSYwJAYDVQQL |
||||
DB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUg |
||||
SW5jLjELMAkGA1UEBhMCVVMwHhcNMTMwMTEwMjIzOTAxWhcNMTgwMTExMjIzOTAx |
||||
WjCBqDEaMBgGCgmSJomT8ixkAQEMClBCVjRHTFM5SjQxQDA+BgNVBAMMN0RldmVs |
||||
b3BlciBJRCBBcHBsaWNhdGlvbjogQklUQ09JTiBGT1VOREFUSU9OLCBJTkMuLCBU |
||||
SEUxEzARBgNVBAsMClBCVjRHTFM5SjQxJjAkBgNVBAoMHUJJVENPSU4gRk9VTkRB |
||||
VElPTiwgSU5DLiwgVEhFMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQAD |
||||
ggEPADCCAQoCggEBALTd5zURuZVoJviusr119aktXksenb9IN9vq6kBbq38vxEk7 |
||||
9wkKMES2XfBRh0HxcEizGzhMNy5OCXuTLMaNMihYdfwYSoBoR2foEU+6kjPUnyJ4 |
||||
dQBFLJZJr5/QeQmALmYHEgZ6lwXFD2lU8t92340zeJ4y5LZw5pcEHtH9IummYDut |
||||
OGCkCGXDcjL+5nHhNScJiXHhswM+62o6XXsQiP6EWbM1CsgrGTNLtaa0U/UvVDwE |
||||
79YKklSC5Bog2LD0jBcTuveI66mFzqu++L9X9u+ZArtebwCl7BPNQ+uboYy5uV2d |
||||
zf8lpNNZLfXCFjoLe9bLICKfZ7ub9V5aC8+GhckCAwEAAaOCAeEwggHdMD4GCCsG |
||||
AQUFBwEBBDIwMDAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuYXBwbGUuY29tL29j |
||||
c3AtZGV2aWQwMTAdBgNVHQ4EFgQUa5xsqKVzcHDiV6NJ2GL7l8elXV4wDAYDVR0T |
||||
AQH/BAIwADAfBgNVHSMEGDAWgBRXF+2iz9x8mKEQ4Py+hy0s8uMXVDCCAQ4GA1Ud |
||||
IASCAQUwggEBMIH+BgkqhkiG92NkBQEwgfAwKAYIKwYBBQUHAgEWHGh0dHA6Ly93 |
||||
d3cuYXBwbGUuY29tL2FwcGxlY2EwgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ug |
||||
b24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRh |
||||
bmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNv |
||||
bmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmlj |
||||
YXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wDgYDVR0PAQH/BAQDAgeAMBYGA1Ud |
||||
JQEB/wQMMAoGCCsGAQUFBwMDMBMGCiqGSIb3Y2QGAQ0BAf8EAgUAMA0GCSqGSIb3 |
||||
DQEBCwUAA4IBAQAfJ0BjID/1dS2aEeVyhAzPzCBjG8vm0gDf+/qfwRn3+yWeL9vS |
||||
nMdbilwM48IyQWTagjGGcojbsAd/vE4N7NhQyHInoCllNoeor1I5xx+blTaGRBK+ |
||||
dDhJbbdlGCjsLnH/BczGZi5fyEJds9lUIrp1hJidRcUKO76qb/9gc6qNZpl1vH5k |
||||
lDUuJYt7YhAs+L6rTXDyqcK9maeQr0gaOPsRRAQLLwiQCorPeMTUNsbVMdMwZYJs |
||||
R+PxiAnk+nyi7rfiFvPoASAYUuI6OzYL/Fa6QU4/gYyPgic944QYVkaQBnc0vEP1 |
||||
nXq6LGKwgVGcqJnkr/E2kui5gJoV5C3qll3e |
||||
-----END CERTIFICATE----- |
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
Bag Attributes |
||||
friendlyName: The Bitcoin Foundation, Inc.'s COMODO CA Limited ID |
||||
localKeyID: 8C 94 64 E3 B5 B0 41 89 5B 89 B0 57 CC 74 B9 44 E5 B2 92 66 |
||||
subject=/C=US/postalCode=98104-1444/ST=WA/L=Seattle/street=Suite 300/street=71 Columbia St/O=The Bitcoin Foundation, Inc./CN=The Bitcoin Foundation, Inc. |
||||
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO Code Signing CA 2 |
||||
-----BEGIN CERTIFICATE----- |
||||
MIIFeDCCBGCgAwIBAgIRAJVYMd+waOER7lUqtiz3M2IwDQYJKoZIhvcNAQEFBQAw |
||||
ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G |
||||
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxITAfBgNV |
||||
BAMTGENPTU9ETyBDb2RlIFNpZ25pbmcgQ0EgMjAeFw0xMzAxMTYwMDAwMDBaFw0x |
||||
NDAxMTYyMzU5NTlaMIG8MQswCQYDVQQGEwJVUzETMBEGA1UEEQwKOTgxMDQtMTQ0 |
||||
NDELMAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUxEjAQBgNVBAkMCVN1aXRl |
||||
IDMwMDEXMBUGA1UECQwONzEgQ29sdW1iaWEgU3QxJTAjBgNVBAoMHFRoZSBCaXRj |
||||
b2luIEZvdW5kYXRpb24sIEluYy4xJTAjBgNVBAMMHFRoZSBCaXRjb2luIEZvdW5k |
||||
YXRpb24sIEluYy4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChUwLD |
||||
u/hu5aFZ/n11B27awONaaDrmHm0pamiWHb01yL4JmTBtaLCrSftF8RhCscQ8jpI0 |
||||
UG1Cchmay0e3zH5o5XRs0H9C3x+SM5ozms0TWDmAYiB8aQEghsGovDk0D2nyTQeK |
||||
Q0xqyCh0m8ZPOnMnYrakHEmF6WvhLdJvI6Od4KIwbKxgN17cPFIfLVsZ7GrzmmbU |
||||
Gdi4wSQCHy5rxzvBxho8Qq/SfBl93uOMUrqOHjOUAPhNuTJG3t/MdhU8Zp24s29M |
||||
abHtYkT9W86hMjIiI8RTAR+WHKVglx9SB0cjDabXN8SZ3gME0+H++LyzlySHT8sI |
||||
ykepojZ7UBRgp9w3AgMBAAGjggGzMIIBrzAfBgNVHSMEGDAWgBQexbEsfYfaAmh8 |
||||
JbwMB4Q/ts/e8TAdBgNVHQ4EFgQUfPf+ZyDWl/4LH0Y5BuJTelkRd/EwDgYDVR0P |
||||
AQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJ |
||||
YIZIAYb4QgEBBAQDAgQQMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQMCMCswKQYI |
||||
KwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMEEGA1UdHwQ6 |
||||
MDgwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0NvZGVTaWdu |
||||
aW5nQ0EyLmNybDByBggrBgEFBQcBAQRmMGQwPAYIKwYBBQUHMAKGMGh0dHA6Ly9j |
||||
cnQuY29tb2RvY2EuY29tL0NPTU9ET0NvZGVTaWduaW5nQ0EyLmNydDAkBggrBgEF |
||||
BQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMCgGA1UdEQQhMB+BHWxpbmRz |
||||
YXlAYml0Y29pbmZvdW5kYXRpb24ub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAqibjo |
||||
D4HG5XSIIMCmYE5RgQBSEAJfI+EZERk1G9F83ZUWr0yNRZCw4O+RaM7xQhvJhEoD |
||||
G2kpk/q2bNOc71/VyZ6SrE1JRVUON41/Flhz4M6cP0BclTicXvh+efVwqZhIz+ws |
||||
UxF2hvC/1Xx6rqI7NYAlOYXk2MSUq3HREo+gWUPKM8em4MZZV/7XCH4QbsfxOl1J |
||||
xS6EOQmV8hfUN4KRXI5WfGUmedBxq7dM0RSJOSQl8fq2f+JjRLfjQwQucy7LDY+y |
||||
pRTsL2TdQV/DuDuI3s0NHRGznQNddoX5jqpXhSQFAAdgrhN1gGkWaaTPzr9IF2TG |
||||
qgr6PEp9tIYC+MbM |
||||
-----END CERTIFICATE----- |
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
Code-signing private key notes |
||||
== |
||||
|
||||
The private keys for these certificates were generated on Gavin's main work machine, |
||||
following the certificate authoritys' recommendations for generating certificate |
||||
signing requests. |
||||
|
||||
For OSX, the private key was generated by Keychain.app on Gavin's main work machine. |
||||
The key and certificate is in a separate, passphrase-protected keychain file that is |
||||
unlocked to sign the Bitcoin-Qt.app bundle. |
||||
|
||||
For Windows, the private key was generated by Firefox running on Gavin's main work machine. |
||||
The key and certificate were exported into a separate, passphrase-protected PKCS#12 file, and |
||||
then deleted from Firefox's keystore. The exported file is used to sign the Windows setup.exe. |
||||
|
||||
Threat analysis |
||||
-- |
||||
|
||||
Gavin is a single point of failure. He could be coerced to divulge the secret signing keys, |
||||
allowing somebody to distribute a Bitcoin-Qt.app or bitcoin-qt-setup.exe with a valid |
||||
signature but containing a malicious binary. |
||||
|
||||
Or the machine Gavin uses to sign the binaries could be compromised, either remotely or |
||||
by breaking in to his office, allowing the attacker to get the private key files and then |
||||
install a keylogger to get the passphrase that protects them. |
||||
|
||||
Threat Mitigation |
||||
-- |
||||
|
||||
"Air gapping" the machine used to do the signing will not work, because the signing |
||||
process needs to access a timestamp server over the network. And it would not |
||||
prevent the "rubber hose cryptography" threat (coercing Gavin to sign a bad binary |
||||
or divulge the private keys). |
||||
|
||||
Windows binaries are reproducibly 'gitian-built', and the setup.exe file created |
||||
by the NSIS installer system is a 7zip archive, so you could check to make sure |
||||
that the bitcoin-qt.exe file inside the installer had not been tampered with. |
||||
However, an attacker could modify the installer's code, so when the setup.exe |
||||
was run it compromised users' systems. A volunteer to write an auditing tool |
||||
that checks the setup.exe for tampering, and checks the files in it against |
||||
the list of gitian signatures, is needed. |
||||
|
||||
The long-term solution is something like the 'gitian downloader' system, which |
||||
uses signatures from multiple developers to determine whether or not a binary |
||||
should be trusted. However, that just pushes the problem to "how will |
||||
non-technical users securely get the gitian downloader code to start?" |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh |
||||
|
||||
if [ $# -gt 0 ]; then |
||||
FILE="$1" |
||||
shift |
||||
if [ -f "$FILE" ]; then |
||||
INFO="$(head -n 1 "$FILE")" |
||||
fi |
||||
else |
||||
echo "Usage: $0 <filename>" |
||||
exit 1 |
||||
fi |
||||
|
||||
if [ -e "$(which git)" ]; then |
||||
# clean 'dirty' status of touched files that haven't been modified |
||||
git diff >/dev/null 2>/dev/null |
||||
|
||||
# get a string like "v0.6.0-66-g59887e8-dirty" |
||||
DESC="$(git describe --dirty 2>/dev/null)" |
||||
|
||||
# get a string like "2012-04-10 16:27:19 +0200" |
||||
TIME="$(git log -n 1 --format="%ci")" |
||||
fi |
||||
|
||||
if [ -n "$DESC" ]; then |
||||
NEWINFO="#define BUILD_DESC \"$DESC\"" |
||||
else |
||||
NEWINFO="// No build information available" |
||||
fi |
||||
|
||||
# only update build.h if necessary |
||||
if [ "$INFO" != "$NEWINFO" ]; then |
||||
echo "$NEWINFO" >"$FILE" |
||||
echo "#define BUILD_DATE \"$TIME\"" >>"$FILE" |
||||
fi |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 871 B |
@ -0,0 +1,167 @@
@@ -0,0 +1,167 @@
|
||||
/* XPM */ |
||||
static char *graphic[] = { |
||||
/* width height num_colors chars_per_pixel */ |
||||
"16 16 144 2", |
||||
/* colors */ |
||||
" c None", |
||||
". c #888888", |
||||
"X c #AAAAAA", |
||||
"o c #CCCCCC", |
||||
"O c #979797", |
||||
"+ c #B9B9B9", |
||||
"@ c #DBDBDB", |
||||
"# c None", |
||||
"$ c #848484", |
||||
"% c #A6A6A6", |
||||
"& c #C8C8C8", |
||||
"* c #8F8F8F", |
||||
"= c #747474", |
||||
"- c #939393", |
||||
"; c #B5B5B5", |
||||
": c None", |
||||
"> c #F9F9F9", |
||||
", c None", |
||||
"< c None", |
||||
"1 c #A2A2A2", |
||||
"2 c #C4C4C4", |
||||
"3 c #707070", |
||||
"4 c #707070", |
||||
"5 c #9E9E9E", |
||||
"6 c #8F8F8F", |
||||
"7 c #B1B1B1", |
||||
"8 c #D3D3D3", |
||||
"9 c #686868", |
||||
"0 c #686868", |
||||
"q c #6C6C6C", |
||||
"w c #C0C0C0", |
||||
"e c #9E9E9E", |
||||
"r c #C0C0C0", |
||||
"t c #9A9A9A", |
||||
"y c None", |
||||
"u c #5C5C5C", |
||||
"i c #8B8B8B", |
||||
"p c #ADADAD", |
||||
"a c #CFCFCF", |
||||
"s c #9A9A9A", |
||||
"d c #BCBCBC", |
||||
"f c None", |
||||
"g c #969696", |
||||
"h c #878787", |
||||
"j c #A9A9A9", |
||||
"k c #CBCBCB", |
||||
"l c #969696", |
||||
"z c #B8B8B8", |
||||
"x c #B8B8B8", |
||||
"c c #DADADA", |
||||
"v c #C7C7C7", |
||||
"b c #E9E9E9", |
||||
"n c #A1A1A1", |
||||
"m c #929292", |
||||
"M c None", |
||||
"N c #B4B4B4", |
||||
"B c None", |
||||
"V c None", |
||||
"C c #7F7F7F", |
||||
"Z c #A1A1A1", |
||||
"A c None", |
||||
"S c #8A8A8A", |
||||
"D c #C3C3C3", |
||||
"F c #8A8A8A", |
||||
"G c None", |
||||
"H c #9D9D9D", |
||||
"J c #8E8E8E", |
||||
"K c None", |
||||
"L c #B0B0B0", |
||||
"P c #5F5F5F", |
||||
"I c #5F5F5F", |
||||
"U c #BFBFBF", |
||||
"Y c #BFBFBF", |
||||
"T c None", |
||||
"R c #5B5B5B", |
||||
"E c #CECECE", |
||||
"W c #999999", |
||||
"Q c #DDDDDD", |
||||
"! c None", |
||||
"~ c #868686", |
||||
"^ c #A8A8A8", |
||||
"/ c #CACACA", |
||||
"( c #737373", |
||||
") c #959595", |
||||
"_ c #B7B7B7", |
||||
"` c #B7B7B7", |
||||
"' c None", |
||||
"] c #828282", |
||||
"[ c #A4A4A4", |
||||
"{ c #C6C6C6", |
||||
"} c #A0A0A0", |
||||
"| c #919191", |
||||
" . c None", |
||||
".. c #B3B3B3", |
||||
"X. c None", |
||||
"o. c #6A6A6A", |
||||
"O. c #A0A0A0", |
||||
"+. c #6E6E6E", |
||||
"@. c #C2C2C2", |
||||
"#. c #6E6E6E", |
||||
"$. c #898989", |
||||
"%. c None", |
||||
"&. c #8D8D8D", |
||||
"*. c #AFAFAF", |
||||
"=. c #D1D1D1", |
||||
"-. c #F3F3F3", |
||||
";. c #5E5E5E", |
||||
":. c #5E5E5E", |
||||
">. c #BEBEBE", |
||||
",. c #9C9C9C", |
||||
"<. c #858585", |
||||
"1. c #989898", |
||||
"2. c #898989", |
||||
"3. c #EFEFEF", |
||||
"4. c #989898", |
||||
"5. c #A7A7A7", |
||||
"6. c None", |
||||
"7. c #C9C9C9", |
||||
"8. c #EBEBEB", |
||||
"9. c #909090", |
||||
"0. c #949494", |
||||
"q. c #B6B6B6", |
||||
"w. c #B6B6B6", |
||||
"e. c #D8D8D8", |
||||
"r. c #818181", |
||||
"t. c #A3A3A3", |
||||
"y. c #C5C5C5", |
||||
"u. c #B2B2B2", |
||||
"i. c None", |
||||
"p. c #D4D4D4", |
||||
"a. c None", |
||||
"s. c None", |
||||
"d. c #7D7D7D", |
||||
"f. c #9F9F9F", |
||||
"g. c #C1C1C1", |
||||
"h. c #E3E3E3", |
||||
"j. c None", |
||||
"k. c #656565", |
||||
"l. c None", |
||||
"z. c #AEAEAE", |
||||
"x. c #656565", |
||||
"c. c #BDBDBD", |
||||
"v. c #9B9B9B", |
||||
"b. c #BDBDBD", |
||||
/* pixels */ |
||||
" G y A I o.0 :.< # G ", |
||||
" 6.V = n w / 7.>.5 4 X.6. ", |
||||
" 6.s.9.o 7.j | 6 ..8 / F K 6. ", |
||||
"G V * p.d 1 ~ | l s u.^ o F X.G ", |
||||
"' = o r z.t.e 7.@.] C C ; & #.f ", |
||||
", } & f.t.s N e.x $ 5.@.v E t X.", |
||||
"P U N ^ 7 ,.a b b.0.w.5.. O.z u ", |
||||
"9 / v { X Z 8.-.g.2.. r.&.p 2 x.", |
||||
"9 / ` 1 ) @ > Q h J 4.*.2 2 2 k.", |
||||
";.c.L 1 4.7.3.y.~ - ,.W i % q.R ", |
||||
"V H =.{ X p.h.c o 7.v - d.r g a.", |
||||
"# 3 7.u.( 0.t.t.e W v.s g.2 q %.", |
||||
"G : S k j ..+ [ | m 1 Y E <. .! ", |
||||
" M l.$.& 8 x ) O z.7.2 <.j.i. ", |
||||
" i.a.+.1.z D D _ g q .i. ", |
||||
" G T B u x.x.R a.T G " |
||||
}; |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1,348 @@
@@ -0,0 +1,348 @@
|
||||
/* XPM */ |
||||
static char *graphic[] = { |
||||
/* width height num_colors chars_per_pixel */ |
||||
"32 32 309 2", |
||||
/* colors */ |
||||
" c None", |
||||
". c #444444", |
||||
"X c #474747", |
||||
"o c #666666", |
||||
"O c #888888", |
||||
"+ c None", |
||||
"@ c #AAAAAA", |
||||
"# c None", |
||||
"$ c #CCCCCC", |
||||
"% c #474747", |
||||
"& c #EEEEEE", |
||||
"* c #535353", |
||||
"= c None", |
||||
"- c #757575", |
||||
"; c #979797", |
||||
": c #B9B9B9", |
||||
"> c #DBDBDB", |
||||
", c #FDFDFD", |
||||
"< c #626262", |
||||
"1 c #848484", |
||||
"2 c #A6A6A6", |
||||
"3 c #C8C8C8", |
||||
"4 c #EAEAEA", |
||||
"5 c #686868", |
||||
"6 c #737373", |
||||
"7 c #717171", |
||||
"8 c #939393", |
||||
"9 c #B5B5B5", |
||||
"0 c #D7D7D7", |
||||
"q c #F9F9F9", |
||||
"w c #3C3C3C", |
||||
"e c #5E5E5E", |
||||
"r c #808080", |
||||
"t c #4E4E4E", |
||||
"y c None", |
||||
"u c #A2A2A2", |
||||
"i c None", |
||||
"p c #C4C4C4", |
||||
"a c #E6E6E6", |
||||
"s c #4B4B4B", |
||||
"d c None", |
||||
"f c None", |
||||
"g c #6D6D6D", |
||||
"h c #8F8F8F", |
||||
"j c #B1B1B1", |
||||
"k c #D3D3D3", |
||||
"l c #F5F5F5", |
||||
"z c None", |
||||
"x c None", |
||||
"c c #434343", |
||||
"v c None", |
||||
"b c #5A5A5A", |
||||
"n c None", |
||||
"m c #7C7C7C", |
||||
"M c None", |
||||
"N c #9E9E9E", |
||||
"B c #C0C0C0", |
||||
"V c None", |
||||
"C c #E2E2E2", |
||||
"Z c None", |
||||
"A c #5C5C5C", |
||||
"S c #474747", |
||||
"D c None", |
||||
"F c #696969", |
||||
"G c #8B8B8B", |
||||
"H c None", |
||||
"J c #ADADAD", |
||||
"K c #CFCFCF", |
||||
"L c #4A4A4A", |
||||
"P c #F1F1F1", |
||||
"I c None", |
||||
"U c #565656", |
||||
"Y c #787878", |
||||
"T c #9A9A9A", |
||||
"R c #BCBCBC", |
||||
"E c #3F3F3F", |
||||
"W c #DEDEDE", |
||||
"Q c #6F6F6F", |
||||
"! c None", |
||||
"~ c #434343", |
||||
"^ c #656565", |
||||
"/ c None", |
||||
"( c #878787", |
||||
") c #A9A9A9", |
||||
"_ c #CBCBCB", |
||||
"` c #EDEDED", |
||||
"' c None", |
||||
"] c #525252", |
||||
"[ c None", |
||||
"{ c None", |
||||
"} c #747474", |
||||
"| c #6B6B6B", |
||||
" . c #969696", |
||||
".. c #B8B8B8", |
||||
"X. c None", |
||||
"o. c #DADADA", |
||||
"O. c #515151", |
||||
"+. c None", |
||||
"@. c #FCFCFC", |
||||
"#. c None", |
||||
"$. c #3F3F3F", |
||||
"%. c #464646", |
||||
"&. c #616161", |
||||
"*. c #838383", |
||||
"=. c #A5A5A5", |
||||
"-. c #C7C7C7", |
||||
";. c #3B3B3B", |
||||
":. c None", |
||||
">. c #E9E9E9", |
||||
",. c #464646", |
||||
"<. c None", |
||||
"1. c #3B3B3B", |
||||
"2. c None", |
||||
"3. c #4E4E4E", |
||||
"4. c #707070", |
||||
"5. c #929292", |
||||
"6. c #676767", |
||||
"7. c #B4B4B4", |
||||
"8. c #424242", |
||||
"9. c #D6D6D6", |
||||
"0. c #F8F8F8", |
||||
"q. c #3B3B3B", |
||||
"w. c None", |
||||
"e. c None", |
||||
"r. c #5D5D5D", |
||||
"t. c None", |
||||
"y. c #7F7F7F", |
||||
"u. c None", |
||||
"i. c #A1A1A1", |
||||
"p. c #C3C3C3", |
||||
"a. c #E5E5E5", |
||||
"s. c None", |
||||
"d. c None", |
||||
"f. c None", |
||||
"g. c #373737", |
||||
"h. c None", |
||||
"j. c #4D4D4D", |
||||
"k. c #4A4A4A", |
||||
"l. c #6C6C6C", |
||||
"z. c #8E8E8E", |
||||
"x. c #424242", |
||||
"c. c None", |
||||
"v. c #B0B0B0", |
||||
"b. c #4D4D4D", |
||||
"n. c #D2D2D2", |
||||
"m. c None", |
||||
"M. c #F4F4F4", |
||||
"N. c #424242", |
||||
"B. c None", |
||||
"V. c #4D4D4D", |
||||
"C. c None", |
||||
"Z. c #7B7B7B", |
||||
"A. c #9D9D9D", |
||||
"S. c None", |
||||
"D. c #BFBFBF", |
||||
"F. c #E1E1E1", |
||||
"G. c None", |
||||
"H. c #636363", |
||||
"J. c None", |
||||
"K. c #424242", |
||||
"L. c #464646", |
||||
"P. c None", |
||||
"I. c None", |
||||
"U. c #686868", |
||||
"Y. c #8A8A8A", |
||||
"T. c #424242", |
||||
"R. c None", |
||||
"E. c #ACACAC", |
||||
"W. c #CECECE", |
||||
"Q. c None", |
||||
"!. c #424242", |
||||
"~. c #F0F0F0", |
||||
"^. c #555555", |
||||
"/. c #777777", |
||||
"(. c None", |
||||
"). c #999999", |
||||
"_. c None", |
||||
"`. c #BBBBBB", |
||||
"'. c #DDDDDD", |
||||
"]. c None", |
||||
"[. c #FFFFFF", |
||||
"{. c #424242", |
||||
"}. c None", |
||||
"|. c #868686", |
||||
" X c #A8A8A8", |
||||
".X c #CACACA", |
||||
"XX c #3E3E3E", |
||||
"oX c #ECECEC", |
||||
"OX c #454545", |
||||
"+X c #515151", |
||||
"@X c #737373", |
||||
"#X c #959595", |
||||
"$X c #B7B7B7", |
||||
"%X c #D9D9D9", |
||||
"&X c #454545", |
||||
"*X c #FBFBFB", |
||||
"=X c None", |
||||
"-X c None", |
||||
";X c #454545", |
||||
":X c #606060", |
||||
">X c #A4A4A4", |
||||
",X c #3A3A3A", |
||||
"<X c #C6C6C6", |
||||
"1X c #717171", |
||||
"2X c #E8E8E8", |
||||
"3X c #3A3A3A", |
||||
"4X c None", |
||||
"5X c None", |
||||
"6X c #4D4D4D", |
||||
"7X c #6F6F6F", |
||||
"8X c #919191", |
||||
"9X c #B3B3B3", |
||||
"0X c #4C4C4C", |
||||
"qX c None", |
||||
"wX c #D5D5D5", |
||||
"eX c #F7F7F7", |
||||
"rX c #4C4C4C", |
||||
"tX c #5C5C5C", |
||||
"yX c #A0A0A0", |
||||
"uX c #5E5E5E", |
||||
"iX c #C2C2C2", |
||||
"pX c #E4E4E4", |
||||
"aX c None", |
||||
"sX c #6D6D6D", |
||||
"dX c #494949", |
||||
"fX c None", |
||||
"gX c #6B6B6B", |
||||
"hX c #6D6D6D", |
||||
"jX c #8D8D8D", |
||||
"kX c #AFAFAF", |
||||
"lX c #D1D1D1", |
||||
"zX c None", |
||||
"xX c #F3F3F3", |
||||
"cX c None", |
||||
"vX c #454545", |
||||
"bX c #6D6D6D", |
||||
"nX c #585858", |
||||
"mX c #7A7A7A", |
||||
"MX c #414141", |
||||
"NX c #9C9C9C", |
||||
"BX c None", |
||||
"VX c #BEBEBE", |
||||
"CX c #E0E0E0", |
||||
"ZX c #414141", |
||||
"AX c #414141", |
||||
"SX c #676767", |
||||
"DX c #414141", |
||||
"FX c #898989", |
||||
"GX c #ABABAB", |
||||
"HX c #CDCDCD", |
||||
"JX c #EFEFEF", |
||||
"KX c None", |
||||
"LX c #545454", |
||||
"PX c #767676", |
||||
"IX c None", |
||||
"UX c #989898", |
||||
"YX c #BABABA", |
||||
"TX c #DCDCDC", |
||||
"RX c #FEFEFE", |
||||
"EX c #636363", |
||||
"WX c #858585", |
||||
"QX c #A7A7A7", |
||||
"!X c #C9C9C9", |
||||
"~X c #EBEBEB", |
||||
"^X c #3D3D3D", |
||||
"/X c #505050", |
||||
"(X c #727272", |
||||
")X c #696969", |
||||
"_X c #949494", |
||||
"`X c #B6B6B6", |
||||
"'X c None", |
||||
"]X c #D8D8D8", |
||||
"[X c #FAFAFA", |
||||
"{X c None", |
||||
"}X c #5F5F5F", |
||||
"|X c #818181", |
||||
" o c None", |
||||
".o c #A3A3A3", |
||||
"Xo c #C5C5C5", |
||||
"oo c #E7E7E7", |
||||
"Oo c #6E6E6E", |
||||
"+o c #909090", |
||||
"@o c #B2B2B2", |
||||
"#o c #D4D4D4", |
||||
"$o c #F6F6F6", |
||||
"%o c #5B5B5B", |
||||
"&o c #7D7D7D", |
||||
"*o c #9F9F9F", |
||||
"=o c #C1C1C1", |
||||
"-o c #E3E3E3", |
||||
";o c #656565", |
||||
":o c None", |
||||
">o c #484848", |
||||
",o c #6A6A6A", |
||||
"<o c #8C8C8C", |
||||
"1o c None", |
||||
"2o c #AEAEAE", |
||||
"3o c #353535", |
||||
"4o c #D0D0D0", |
||||
"5o c None", |
||||
"6o c #F2F2F2", |
||||
"7o c #444444", |
||||
"8o c #444444", |
||||
"9o c #575757", |
||||
"0o c #797979", |
||||
"qo c #707070", |
||||
"wo c #9B9B9B", |
||||
"eo c #BDBDBD", |
||||
"ro c #DFDFDF", |
||||
/* pixels */ |
||||
" h.:o5ohXH.;osXc.:.]. ", |
||||
" V fX% vX6XU e r.^.s 8oX 4XB. ", |
||||
" P.A AXU |XQXB $ lXlX_ VX>X&o+XE uX+. ", |
||||
" m.;X* _X3 C P 0.*X[X[X@.0.& roXoh 6X8.v ", |
||||
" { ^XPX=oa.eXM.%X..u 8 8XwokX0 6oxXC VXg XX/ ", |
||||
" d ~ G 9.~.eX<X5.|Xy.mXPXOo4.<oE.v.$ l ` lX|Xq.D ", |
||||
" H 1.Y.o.$oooA.h A. .r.+X+XnXF - YXTXiX@ >.6owX|Xg.s. ", |
||||
" I.,.- wXl ro; @ 2o=.mXm _ Xo-.K r =.XoyXg g a.P 4o,o%.KX ", |
||||
" bX+XB ~.oo*oeo9 2 GX@XkX$ p -.W (Xy.Y g 7Xr.F 4 4 YXS 1X ", |
||||
" <.DX8 pX$oGX..2o.o XJ gX_ !X$ k W.] Z.0o7 g r N j xXW O MXu. ", |
||||
" 'XLX<X$o-.jXyXN >X@ ).} W W.#opXGXU y.&o_X..9.a D.n.JXB >ow. ", |
||||
"h.b.y.rol 8X8XwoN yXQXZ.8 a ]XTX~.*.7 ) =ok 9.]XCX0 2 P o.(Xt d.", |
||||
"IX7o=.& o.&o#XUX.oE.7.7XYXooC oo>.L.F =.HXlX#o-.=.m :XW 2X).T._.", |
||||
"M s eoeX: O v.eoB eo@ogX'.>.~X6opX=.: /.3 @o5.PX,o,o9o..6o9X. Z ", |
||||
"Q.9o!X$o..3 k .XXop .} $oJXM.0.[.[.).l.z.Z./.PX7XF gXGXl B dX+ ", |
||||
"Q tXW.M...wXwX.X7.Y +Xv.[.q , [.kX< tX|XWXr 0oPX( kXW.: ~.-.* 6.", |
||||
"qo%oHXM.: $ 7..o} &ooX[.RX, RXJX* &o_X<o*.1 .7.K o.wX..~.<X] 5 ", |
||||
"R.U 3 0.2oG 5.T U.-.W *X*XeX@.3 :XA.8X+oA.7.p.3 W.0 Xo..P D.>oJ.", |
||||
"! >o`.$o`.r _X_XFXEX,oRXxX~.*X_X&.8X8 yX) J @oeo$XUXEX: P j {.# ", |
||||
"e.!.i.oXTXy.i.`X.X( QX*XoX>.$o|X%o4.(X@X} /.PX%oF F }Xrooo .AXy ", |
||||
"= j.mX'.6oGX0 0 #oy.HXJXa -oa.oo-oroW TXo.]XF.tXo ^ O $o0 l.O.}.", |
||||
" 2.3.iX6o4oeoC iXY & 4 oopXCXW TX]X9.k 4olX$ dXy.Z.K & `.. f ", |
||||
" X.K.<oCXM.2o; ^ SX4op =oB =o=oB D.VXVXR iXY.mX_ YXxX> r c z ", |
||||
" 6 dX`.~X4 F U dX$.k.}Xg g F SX^ :Xb e F mXB @o>.a 7.{.#. ", |
||||
" =X&XgXK 6oa 7 (XJ 3 4o!XiXVX@ou UXN J eo$X2 pX4 _ e V.n ", |
||||
" o3Xy.wX~.~X@op 0 wXW.YXwo( |.5.A.*o .@ 4 ~X4o@X;.I ", |
||||
" G.w y.4o~Xl K @o Xr < EXOo/.&o*.NX4oxXa _ @X3of. ", |
||||
" aX,XU.: CX~.6oo.7.*o .T XD.W xX& TX7.e DXcX ", |
||||
" i OX>o( D.> 4 xX0.0.eX$oP 2X%X`.r . L 5X ", |
||||
" S.[ N.dX4.UX9X=o-.-.B j #Xl.L.x.' C. ", |
||||
" (.BXrXK.~ >o/X/X>o~ ZX0X{Xx ", |
||||
" zXqXt.)X| w.-X1o " |
||||
}; |
After Width: | Height: | Size: 5.8 KiB |
@ -0,0 +1,612 @@
@@ -0,0 +1,612 @@
|
||||
/* XPM */ |
||||
static char *graphic[] = { |
||||
/* width height num_colors chars_per_pixel */ |
||||
"64 64 541 2", |
||||
/* colors */ |
||||
" c None", |
||||
". c None", |
||||
"X c #444444", |
||||
"o c None", |
||||
"O c #404040", |
||||
"+ c #666666", |
||||
"@ c #565656", |
||||
"# c #474747", |
||||
"$ c #888888", |
||||
"% c #4A4A4A", |
||||
"& c None", |
||||
"* c #404040", |
||||
"= c #AAAAAA", |
||||
"- c #CCCCCC", |
||||
"; c None", |
||||
": c #EEEEEE", |
||||
"> c #474747", |
||||
", c #4A4A4A", |
||||
"< c None", |
||||
"1 c #404040", |
||||
"2 c #434343", |
||||
"3 c #404040", |
||||
"4 c None", |
||||
"5 c None", |
||||
"6 c None", |
||||
"7 c #535353", |
||||
"8 c #404040", |
||||
"9 c #404040", |
||||
"0 c #757575", |
||||
"q c #404040", |
||||
"w c #979797", |
||||
"e c #B9B9B9", |
||||
"r c #404040", |
||||
"t c None", |
||||
"y c #DBDBDB", |
||||
"u c #404040", |
||||
"i c None", |
||||
"p c #404040", |
||||
"a c #FDFDFD", |
||||
"s c #404040", |
||||
"d c #474747", |
||||
"f c #4A4A4A", |
||||
"g c #404040", |
||||
"h c #626262", |
||||
"j c #848484", |
||||
"k c None", |
||||
"l c #515151", |
||||
"z c None", |
||||
"x c #A6A6A6", |
||||
"c c #C8C8C8", |
||||
"v c None", |
||||
"b c None", |
||||
"n c #EAEAEA", |
||||
"m c #515151", |
||||
"M c None", |
||||
"N c #4F4F4F", |
||||
"B c #434343", |
||||
"V c None", |
||||
"C c None", |
||||
"Z c #717171", |
||||
"A c None", |
||||
"S c #939393", |
||||
"D c None", |
||||
"F c #B5B5B5", |
||||
"G c #4A4A4A", |
||||
"H c #474747", |
||||
"J c #D7D7D7", |
||||
"K c #434343", |
||||
"L c #525252", |
||||
"P c #474747", |
||||
"I c #F9F9F9", |
||||
"U c None", |
||||
"Y c #3C3C3C", |
||||
"T c #5E5E5E", |
||||
"R c #808080", |
||||
"E c #4D4D4D", |
||||
"W c #555555", |
||||
"Q c None", |
||||
"! c #A2A2A2", |
||||
"~ c None", |
||||
"^ c #525252", |
||||
"/ c #C4C4C4", |
||||
"( c None", |
||||
") c #E6E6E6", |
||||
"_ c None", |
||||
"` c None", |
||||
"' c None", |
||||
"] c None", |
||||
"[ c #4B4B4B", |
||||
"{ c #4D4D4D", |
||||
"} c #6D6D6D", |
||||
"| c #8F8F8F", |
||||
" . c #464646", |
||||
".. c None", |
||||
"X. c None", |
||||
"o. c #B1B1B1", |
||||
"O. c None", |
||||
"+. c #D3D3D3", |
||||
"@. c #F5F5F5", |
||||
"#. c None", |
||||
"$. c None", |
||||
"%. c None", |
||||
"&. c None", |
||||
"*. c #383838", |
||||
"=. c #434343", |
||||
"-. c #5A5A5A", |
||||
";. c #434343", |
||||
":. c #7C7C7C", |
||||
">. c None", |
||||
",. c None", |
||||
"<. c #9E9E9E", |
||||
"1. c #464646", |
||||
"2. c #515151", |
||||
"3. c #4E4E4E", |
||||
"4. c #C0C0C0", |
||||
"5. c None", |
||||
"6. c #E2E2E2", |
||||
"7. c #474747", |
||||
"8. c #3F3F3F", |
||||
"9. c #474747", |
||||
"0. c #464646", |
||||
"q. c #474747", |
||||
"w. c #696969", |
||||
"e. c None", |
||||
"r. c #4A4A4A", |
||||
"t. c None", |
||||
"y. c None", |
||||
"u. c #464646", |
||||
"i. c #8B8B8B", |
||||
"p. c None", |
||||
"a. c #ADADAD", |
||||
"s. c None", |
||||
"d. c #CFCFCF", |
||||
"f. c #494949", |
||||
"g. c #464646", |
||||
"h. c #515151", |
||||
"j. c #F1F1F1", |
||||
"k. c None", |
||||
"l. c #434343", |
||||
"z. c None", |
||||
"x. c #515151", |
||||
"c. c None", |
||||
"v. c #343434", |
||||
"b. c #565656", |
||||
"n. c #787878", |
||||
"m. c None", |
||||
"M. c None", |
||||
"N. c #9A9A9A", |
||||
"B. c #4A4A4A", |
||||
"V. c #434343", |
||||
"C. c #BCBCBC", |
||||
"Z. c #3F3F3F", |
||||
"A. c #DEDEDE", |
||||
"S. c #3F3F3F", |
||||
"D. c #434343", |
||||
"F. c #3F3F3F", |
||||
"G. c None", |
||||
"H. c #4D4D4D", |
||||
"J. c #434343", |
||||
"K. c None", |
||||
"L. c #3F3F3F", |
||||
"P. c None", |
||||
"I. c #434343", |
||||
"U. c #3F3F3F", |
||||
"Y. c #656565", |
||||
"T. c None", |
||||
"R. c #3F3F3F", |
||||
"E. c #878787", |
||||
"W. c #424242", |
||||
"Q. c None", |
||||
"!. c #A9A9A9", |
||||
"~. c #464646", |
||||
"^. c #CBCBCB", |
||||
"/. c #3F3F3F", |
||||
"(. c #4D4D4D", |
||||
"). c #EDEDED", |
||||
"_. c None", |
||||
"`. c #464646", |
||||
"'. c None", |
||||
"]. c #3F3F3F", |
||||
"[. c #525252", |
||||
"{. c #464646", |
||||
"}. c None", |
||||
"|. c #747474", |
||||
" X c #3F3F3F", |
||||
".X c #969696", |
||||
"XX c #3F3F3F", |
||||
"oX c #4D4D4D", |
||||
"OX c #B8B8B8", |
||||
"+X c #555555", |
||||
"@X c #DADADA", |
||||
"#X c #545454", |
||||
"$X c #3F3F3F", |
||||
"%X c #3F3F3F", |
||||
"&X c #FCFCFC", |
||||
"*X c None", |
||||
"=X c None", |
||||
"-X c #464646", |
||||
";X c #3F3F3F", |
||||
":X c #616161", |
||||
">X c #545454", |
||||
",X c None", |
||||
"<X c #838383", |
||||
"1X c #494949", |
||||
"2X c #464646", |
||||
"3X c #A5A5A5", |
||||
"4X c None", |
||||
"5X c #C7C7C7", |
||||
"6X c #E9E9E9", |
||||
"7X c None", |
||||
"8X c None", |
||||
"9X c None", |
||||
"0X c #4E4E4E", |
||||
"qX c #707070", |
||||
"wX c #494949", |
||||
"eX c #494949", |
||||
"rX c #929292", |
||||
"tX c #424242", |
||||
"yX c #B4B4B4", |
||||
"uX c #D6D6D6", |
||||
"iX c None", |
||||
"pX c #F8F8F8", |
||||
"aX c #3B3B3B", |
||||
"sX c #424242", |
||||
"dX c #5D5D5D", |
||||
"fX c #545454", |
||||
"gX c #424242", |
||||
"hX c #7F7F7F", |
||||
"jX c #A1A1A1", |
||||
"kX c #545454", |
||||
"lX c None", |
||||
"zX c #C3C3C3", |
||||
"xX c #E5E5E5", |
||||
"cX c None", |
||||
"vX c #4D4D4D", |
||||
"bX c #545454", |
||||
"nX c None", |
||||
"mX c #4A4A4A", |
||||
"MX c None", |
||||
"NX c None", |
||||
"BX c None", |
||||
"VX c #6C6C6C", |
||||
"CX c None", |
||||
"ZX c #4D4D4D", |
||||
"AX c None", |
||||
"SX c #4C4C4C", |
||||
"DX c #8E8E8E", |
||||
"FX c #B0B0B0", |
||||
"GX c #D2D2D2", |
||||
"HX c None", |
||||
"JX c None", |
||||
"KX c #F4F4F4", |
||||
"LX c #454545", |
||||
"PX c None", |
||||
"IX c None", |
||||
"UX c #595959", |
||||
"YX c #424242", |
||||
"TX c #454545", |
||||
"RX c #7B7B7B", |
||||
"EX c #9D9D9D", |
||||
"WX c None", |
||||
"QX c #BFBFBF", |
||||
"!X c #E1E1E1", |
||||
"~X c #464646", |
||||
"^X c #505050", |
||||
"/X c None", |
||||
"(X c #464646", |
||||
")X c #464646", |
||||
"_X c None", |
||||
"`X c #464646", |
||||
"'X c #686868", |
||||
"]X c #424242", |
||||
"[X c #8A8A8A", |
||||
"{X c #ACACAC", |
||||
"}X c #505050", |
||||
"|X c #424242", |
||||
" o c #484848", |
||||
".o c #CECECE", |
||||
"Xo c #F0F0F0", |
||||
"oo c #494949", |
||||
"Oo c #424242", |
||||
"+o c #424242", |
||||
"@o c #555555", |
||||
"#o c #777777", |
||||
"$o c None", |
||||
"%o c #454545", |
||||
"&o c #999999", |
||||
"*o c #3E3E3E", |
||||
"=o c #4C4C4C", |
||||
"-o c #BBBBBB", |
||||
";o c None", |
||||
":o c #424242", |
||||
">o c #DDDDDD", |
||||
",o c #424242", |
||||
"<o c None", |
||||
"1o c #424242", |
||||
"2o c None", |
||||
"3o c #3E3E3E", |
||||
"4o c #4C4C4C", |
||||
"5o c #424242", |
||||
"6o c #494949", |
||||
"7o c #3E3E3E", |
||||
"8o c #424242", |
||||
"9o c None", |
||||
"0o c #646464", |
||||
"qo c None", |
||||
"wo c #868686", |
||||
"eo c None", |
||||
"ro c #A8A8A8", |
||||
"to c #CACACA", |
||||
"yo c #414141", |
||||
"uo c #ECECEC", |
||||
"io c #4C4C4C", |
||||
"po c #454545", |
||||
"ao c None", |
||||
"so c #3E3E3E", |
||||
"do c #454545", |
||||
"fo c #515151", |
||||
"go c #3E3E3E", |
||||
"ho c #737373", |
||||
"jo c #3E3E3E", |
||||
"ko c #959595", |
||||
"lo c None", |
||||
"zo c #B7B7B7", |
||||
"xo c #3E3E3E", |
||||
"co c #505050", |
||||
"vo c #454545", |
||||
"bo c #D9D9D9", |
||||
"no c #3E3E3E", |
||||
"mo c #FBFBFB", |
||||
"Mo c None", |
||||
"No c #3E3E3E", |
||||
"Bo c None", |
||||
"Vo c None", |
||||
"Co c None", |
||||
"Zo c #414141", |
||||
"Ao c #606060", |
||||
"So c #828282", |
||||
"Do c #575757", |
||||
"Fo c #A4A4A4", |
||||
"Go c #454545", |
||||
"Ho c #C6C6C6", |
||||
"Jo c #E8E8E8", |
||||
"Ko c None", |
||||
"Lo c #484848", |
||||
"Po c #4F4F4F", |
||||
"Io c None", |
||||
"Uo c None", |
||||
"Yo c None", |
||||
"To c #4D4D4D", |
||||
"Ro c #6F6F6F", |
||||
"Eo c None", |
||||
"Wo c #919191", |
||||
"Qo c None", |
||||
"!o c #B3B3B3", |
||||
"~o c #D5D5D5", |
||||
"^o c #484848", |
||||
"/o c None", |
||||
"(o c #F7F7F7", |
||||
")o c #454545", |
||||
"_o c #535353", |
||||
"`o c #5C5C5C", |
||||
"'o c None", |
||||
"]o c #7E7E7E", |
||||
"[o c None", |
||||
"{o c #414141", |
||||
"}o c #535353", |
||||
"|o c #A0A0A0", |
||||
" O c None", |
||||
".O c #484848", |
||||
"XO c #C2C2C2", |
||||
"oO c #454545", |
||||
"OO c #414141", |
||||
"+O c #E4E4E4", |
||||
"@O c None", |
||||
"#O c #414141", |
||||
"$O c #4C4C4C", |
||||
"%O c #494949", |
||||
"&O c #494949", |
||||
"*O c #414141", |
||||
"=O c #6B6B6B", |
||||
"-O c #8D8D8D", |
||||
";O c None", |
||||
":O c #4C4C4C", |
||||
">O c #AFAFAF", |
||||
",O c #535353", |
||||
"<O c #D1D1D1", |
||||
"1O c None", |
||||
"2O c #F3F3F3", |
||||
"3O c #444444", |
||||
"4O c None", |
||||
"5O c None", |
||||
"6O c None", |
||||
"7O c #585858", |
||||
"8O c #7A7A7A", |
||||
"9O c #414141", |
||||
"0O c None", |
||||
"qO c #9C9C9C", |
||||
"wO c #4C4C4C", |
||||
"eO c #BEBEBE", |
||||
"rO c #E0E0E0", |
||||
"tO c #454545", |
||||
"yO c #575757", |
||||
"uO c #454545", |
||||
"iO c #454545", |
||||
"pO c #676767", |
||||
"aO c None", |
||||
"sO c #898989", |
||||
"dO c #4F4F4F", |
||||
"fO c None", |
||||
"gO c #ABABAB", |
||||
"hO c #5A5A5A", |
||||
"jO c #CDCDCD", |
||||
"kO c #444444", |
||||
"lO c #EFEFEF", |
||||
"zO c #414141", |
||||
"xO c None", |
||||
"cO c #414141", |
||||
"vO c #545454", |
||||
"bO c #767676", |
||||
"nO c #414141", |
||||
"mO c #414141", |
||||
"MO c #989898", |
||||
"NO c None", |
||||
"BO c #414141", |
||||
"VO c #BABABA", |
||||
"CO c #575757", |
||||
"ZO c #DCDCDC", |
||||
"AO c #414141", |
||||
"SO c #414141", |
||||
"DO c #FEFEFE", |
||||
"FO c #535353", |
||||
"GO c #4B4B4B", |
||||
"HO c None", |
||||
"JO c #484848", |
||||
"KO c #414141", |
||||
"LO c None", |
||||
"PO c None", |
||||
"IO c #565656", |
||||
"UO c None", |
||||
"YO c #636363", |
||||
"TO c #535353", |
||||
"RO c None", |
||||
"EO c #858585", |
||||
"WO c #A7A7A7", |
||||
"QO c None", |
||||
"!O c #C9C9C9", |
||||
"~O c #4B4B4B", |
||||
"^O c None", |
||||
"/O c #EBEBEB", |
||||
"(O c #505050", |
||||
")O c #444444", |
||||
"_O c #727272", |
||||
"`O c #949494", |
||||
"'O c #B6B6B6", |
||||
"]O c None", |
||||
"[O c #535353", |
||||
"{O c #484848", |
||||
"}O c #D8D8D8", |
||||
"|O c #484848", |
||||
" + c #FAFAFA", |
||||
".+ c None", |
||||
"X+ c #484848", |
||||
"o+ c None", |
||||
"O+ c #404040", |
||||
"++ c #3D3D3D", |
||||
"@+ c #5F5F5F", |
||||
"#+ c None", |
||||
"$+ c #818181", |
||||
"%+ c #444444", |
||||
"&+ c #535353", |
||||
"*+ c #A3A3A3", |
||||
"=+ c None", |
||||
"-+ c None", |
||||
";+ c #C5C5C5", |
||||
":+ c #E7E7E7", |
||||
">+ c None", |
||||
",+ c #4E4E4E", |
||||
"<+ c None", |
||||
"1+ c #4C4C4C", |
||||
"2+ c None", |
||||
"3+ c #6E6E6E", |
||||
"4+ c None", |
||||
"5+ c #909090", |
||||
"6+ c None", |
||||
"7+ c #B2B2B2", |
||||
"8+ c None", |
||||
"9+ c #D4D4D4", |
||||
"0+ c #F6F6F6", |
||||
"q+ c None", |
||||
"w+ c #404040", |
||||
"e+ c None", |
||||
"r+ c #474747", |
||||
"t+ c #404040", |
||||
"y+ c #444444", |
||||
"u+ c #5B5B5B", |
||||
"i+ c #444444", |
||||
"p+ c #7D7D7D", |
||||
"a+ c #4F4F4F", |
||||
"s+ c #474747", |
||||
"d+ c None", |
||||
"f+ c #9F9F9F", |
||||
"g+ c #4F4F4F", |
||||
"h+ c None", |
||||
"j+ c #C1C1C1", |
||||
"k+ c #444444", |
||||
"l+ c None", |
||||
"z+ c #E3E3E3", |
||||
"x+ c #474747", |
||||
"c+ c #404040", |
||||
"v+ c None", |
||||
"b+ c #484848", |
||||
"n+ c None", |
||||
"m+ c #484848", |
||||
"M+ c #404040", |
||||
"N+ c #6A6A6A", |
||||
"B+ c None", |
||||
"V+ c #444444", |
||||
"C+ c #8C8C8C", |
||||
"Z+ c None", |
||||
"A+ c #AEAEAE", |
||||
"S+ c #525252", |
||||
"D+ c None", |
||||
"F+ c #D0D0D0", |
||||
"G+ c #F2F2F2", |
||||
"H+ c #474747", |
||||
"J+ c #525252", |
||||
"K+ c #353535", |
||||
"L+ c #434343", |
||||
"P+ c #575757", |
||||
"I+ c #797979", |
||||
"U+ c #9B9B9B", |
||||
"Y+ c #4B4B4B", |
||||
"T+ c #BDBDBD", |
||||
"R+ c #444444", |
||||
"E+ c #DFDFDF", |
||||
"W+ c None", |
||||
"Q+ c #404040", |
||||
"!+ c #444444", |
||||
"~+ c None", |
||||
"^+ c #404040", |
||||
/* pixels */ |
||||
" o <o>.loD+4+l+T.t.lXC D+y.>.cX ", |
||||
" cXi ,XEoO.{ GO0.~.d Go2XJO# x+=o,+9X_ o+( 9o ", |
||||
" AXc.K.SXu.OOO mOD.q.mX1+ToTo1+&OiO1oq L.gX.Ol h+t 4 ", |
||||
" >.s.HOr+M+9 )XN 7O:X'XqX|.n.]op+n.hoRo+ @+@o[ J.so*OeXq+UOAX ", |
||||
" MXP.RO2 U.uOfo@+} p+| jXa.zoT+QXzXXOQXT+zogOf+-ORXw.-.1+SOF.0.,.@O5 ", |
||||
" o >+D L+7o)XP+w.]ow o.XO- +.uX}O@Xy ZOZOy boJ ~o<O^.j+A+`OI+YO(O1oF.^oQ.z o ", |
||||
" MX; o8.R+b.N+<XFo4.d.uXy E+6.xX:+6Xn /O/O6XJo) +O!X>obo9+- T+jXhX0o0XBOgXPoP.<o ", |
||||
" 6+$o3O/.0XY.hX3X/ GXboE+xX6X: G+KX0+(o(o(o(o(o0+@.KXXo/O:+z+>oJ F+j+jXI+`o`XR.wXBXAX ", |
||||
" Uo1OO+V.7OqX.XT+<O@X!X:+).2O0+@.: z+~o5XeOzozoeO5XuX+OlO@.0+j./OxXA.J .oe Wow.0Xjo%o'.( ", |
||||
" y.z.t+~X@+p+!.^.J E+JolO@.@.6X.oa.rXR bOZ } N+'XpOpO=ObOC+A++.uo@.2OuoxX>o~o5XFobOvOp B Q . ", |
||||
" Uoz.c+%O0oEOzo<Oy +O).@.0+6.OX5+:.RXR <X<XSohX:.I+0 Z } } n.DX&o! j+) 0+G+n !X}OjOo.hXUXp K -+( ", |
||||
" 6+#.t+%OY.-OT+9+E+Joj.0+:+e -O<Xi.rXWo-O$ j $+p+8O#o0 n.sO*+VO5Xc -o3X|oXOn KX: xXy F+zoj -.SO)O6 AX ", |
||||
" <o$oZo7.YOC+j+uX!X/OKXKXd..XwokoEXqOMO| RXw.YOAoT dXT w.I+E.DXMO!o- +.<Oj+*+FouXKXj.:+ZO<OVOj 7O%X%o;O<o ", |
||||
" o v LXV.AoEOT+~o!Xuo0+lO-oi.koFo3X! <.&owoP+X `X`XiOq.1+(Ofo[.fovO| ;++.~oJ <OA+i.C.XoG+:+ZO<Ozo]ovOjoioP.o ", |
||||
" _.f.* UXp+zo9+rO/O0+uo>O-O*+A+gOroFo|oMOI+1+<.5XHoHo5X5X5X5X!O7+-.DXHo<O<OHoA+DXVX+ gO).2O:+ZOd.FX|.1+U.m y. ", |
||||
" MXQo8.N qX!.F+A./O@.uoa.rXA+F o.a.!.3X|o`O=Ou++.+.jO.od.<OGX+.+OQXdX<.XOOXf+wobORo} Y.YOro: j.xXbo- ! + X %+v+cX ", |
||||
" _X3OtO0o`Otoy JoKXlOFXkoF VOzo!oA+WO! jX&oY.n.>oXOQXj+zX/ Ho!O!X&ou+DXWo$+n.0 hoqXRo=O0oYO>Oj.lOz+uX/ -O7Oxo~O'o ", |
||||
" AXHO3oP+p+-oJ +Oj.@.eOkoe j+T+'Oa.x Fo!.{X.XUXU+>ozXzX;+5X!OtoF+!XZ fo0 RX8On.bO|.Z Ro} N+YO'XXOKXuoE+GXF 0 mX9OIoMX ", |
||||
" B+kO9.N+*+d.E+).0++.w OX;+T+FXWOFoWO= {X!.E.@oT+J Ho5X!O^.jO.obo<O[.u+8Op+RXI+#o|._OqX3+3+n.wokoZO2O:+@XtoqOT %XG 'o ", |
||||
" 4 p.S.UXSoXObo:+@.6X|o{XeOFX3X! Fox ro!.gOFo|.h J <Oto- jOd.<O+.z+!o`X'Xp+]o:.8On.0 |.bOEO! 4.GXF = ).lO6.9+-o8OmXYXQO5 ", |
||||
" iX .(Xw.! <OrO: @.C.-Ox |o<.|o! Fox WO!.!.U+h ]o6.d..oF+GX+.~oboJoC+&O_OR hXp+8OI+R S >O5X9+boy +.*+!OKX6X@X^.U+`o%XdOV ", |
||||
" 9om.#O7 p+eO}O) KX+Oi.C+N.qO<.f+! *+3XWOroWO| @o*+z+<OGX9+uXJ boE+6.pOvO8O$+hXR [X|oe toGX~oJ bo@Xy zXFo6XlO!X+.zo_O`X-XYoo ", |
||||
" HXE 3 AokojOA.uo@.VOp+ko&oqO<.f+jX! Fox x f+n.[.HorO~ouX}O@XZOA.:+.o(Oh hXE.`OgOQX^.d.F+GX9+uX}O@XZOJ 3Xc 2O:+}OHoi.fo/.Z+eo ", |
||||
" iXTXb+} a.9+z+G+/OWowow &oU+EX<.|ojXjX|o|o&o=OpOE+>oboy >oA.rO6.).a.q._O.XA+4.c ^.jOd.F+<O+.~oJ }OJ toN.w : uoA..o3XAo%X(.xO ", |
||||
" ~ w+fo:.4.boJo@.GX:.| w MON.qOEXEX|ox gOa.U+T E.6X>o>oE+!Xz+xXJo: <X&ORXWo3XC.5Xto- .od.<OGX+..oC.f+$+=O} }OXo6.+.OXqXI.> M. ", |
||||
"cX[oQ+-.C+to>ouo0+7+RXrX.Xw &oEX3Xa.yX'OyXA+5+b.{X/OrO6.+OxX:+6X).6.P+v.fo} |.*+zX!O^.jO.o- XO{X5+8ORo=O'X@+zo2O) J zXSomX;.4O9o", |
||||
"AX#+nOYOEXF+rOXoXo.X$+rXMO! A+OXeOT+-oOXF gO$+UXjOn +O) Jon /O).2OF+u+n.'O!o@+w j+c !O/ yXqOEOn.hoqX3+VXN+@+.Xj.n @XtoS [.1 e.MX", |
||||
". , !+w.!.9+6.2O) E.Wo= -o;+5X;+XOQXC.e 'OWOqX} xXn 6X/O).lOXoG+pX).ZO2O +WOu+|oQXe x Wo$+8O#o0 |.Z Ro} =OYOp+6X).>o.of+-.r >X( ", |
||||
"fO1.m+qX!ouXxXKX@X`O4.d.F+jO!OHozX4.T+VO'O<.@+DXlOuo).lOj.2O@.(omoa a DOKX$+YOMOMOsO$+]o:.8On.bO|._OqX3+VXpOqXA.XorOF+gO:Xs x.%.", |
||||
"<+yo1+|.-o}O) 0+F+*+<O+.F+.o^.5X/ j+eOzo= <X(OyX2OXoG+KX@.(oI mo&XDOmo).QXUXAoR j <XSohXp+RXI+#o0 hoZ Z I+i.E.~oj.!XGXFX+ KOTO2o", |
||||
"/o{.0XbOT+boJo(o!Ox 9+~o<Od.- c / -o!.Wo#o@ovO~o@.KX0+pX +&Xa DO@.9+*+qX(O[.hoEOwoEO<X$+]o:.8On.bO#oj f+eO.of+d.G+6.+.yX=O8oL n+", |
||||
"l+d N 8OeOboJo0+/ WO~ouX+.F+^.4.>O`ORo@o[.VX= G+(opX +&Xa DOa moa.(OmXUXVX:.wo$ E.EO<X$+hX:.RXhX5+= / +.bo9+jXtoG+6.+.zoqX8og+` ", |
||||
"lXd N I+eOboJo0+;+WOuXJ d.4.A+|ow bO[.$ zX6XpXmo&Xa a DOa &XmoXo|.[ 0 woC+-OC+[X$ woj So$+E.&oo./ .o<O~o}OGXjXtoG+6.+.zoRo8oa+Ko", |
||||
"]O`.To0 C.bo:+0+to3XjOT+roU+MON.rX0o3+:+momo&Xa DODO&X&X +I I ZOUXY.DXS rX5+-Oi.$ wowo| jXyXj+5Xto.oF++.J +.|oF+G+!X+.!oN+8o[O7X", |
||||
"< W.mXhoVOJ ) 0+F+-OEX.X.Xw MO&o[X7OrX(o&XmoDOa &XmoI pX0+0+(oC.1+bO`OkoS 5+DXi.i.ko3XyXC.4.XOHo!O- d.GX~oGX|ouXj.rO<O>OY.KOFO;o", |
||||
"fOs+q.3+7+~o+OKXy p+C+S ko.XMOMOE.dXzo) T+4.I +I pX0+@.2OG+KX`ON j w .XrXDX| MOx FXF e -oeOj+/ 5X^..oF+- 'O| rOlOA.d.= @+s }X_.", |
||||
"Uo% ,o+ ro+.6.j.:+woE.S `O.Xw w i.Z -O0o*.&o(o(o0+@.2OG+XoXon Ro`o-O`OWorXN.Fo= A+o.yXzoe C.QXXO;+HoQX= -O3+$+6XuoZOjOEXP+q #XHX", |
||||
"AXBo8 AoU+d.A.: j.&oR rXS kow MOko$ 0 P+I.4.pXKXG+j.Xo: ).Xo9+foAo<XsO| .XN.EXf+! 3XWO= a.>O7+yXa.N.So_ON+T &oXoJoboc 5+N zO] 5 ", |
||||
"cX.+Z.b.[Xc y n @.F 8O5+S .XEX!.zoT+FXRX+ E+KXj.lO: )./On XoFXK+`Xu+:X0oY.+ pOw.=OVX3+RoZ qXVX=OZ _OqX} w.Ao-oG++O~o4.]oq.)o..9o", |
||||
" VotXToI+T+J ) KXuXp+5+*+F / - jO!OF _Oj : Xo: uo/On JoJo2OOXqX|.n.I+I+8O8ORX8ORXRXRX:.RXn.UXKOYOZ Z 3++ Roy lOrO<OF VXKOr.$. ", |
||||
" 8+^oJ.w.= GX!XlO).qOgO<O~o+.<O.o!O= 0oroG+uo/O6XJo:+xXxXXo).:+:+) ) xXxXxX+O+Oz+6.6.6.6.:+E.8opOhoZ 3+:XkolOn y - jX-.$X^X_. ", |
||||
" >.*X].u+5+toy n @.Hox 9+}O~oGXd.5XU+h tolOJo:+) xXz+6.!XrOrOA.>oZOy @X}OJ uX~o+.GX<OF++.!X'XmX3+|._OVXpO5XG++OuXzXwo[ ]X=+4 ", |
||||
" 9oJX{oTo#oVOuXz+G+Jo*+XO}OuX+.F+zX$ qXz+n xX+Oz+6.rOE+A.ZOy @X}OJ uX9++.GXF+d..ojO^.to~ojOToP+hobO0 =ODX/OuoA.F+7+=O8oB.T.o ", |
||||
" CX1XAOYOEX.oZO/O@.5X! <OJ 9+^.{X0oE.).+O6.!XrOA.>oZO@Xbo}OuX~o9++.<OF+d.jO- ^.toc 5Xy {X8oYO:.C+qO[X- G+xXJ c kovOBOW _. ", |
||||
" MXnXZ.fop+T+uXz+j.uoWO!o^.F `OVXiO!.2Ouo/On 6XJo:+:+) xX+O+O6.6.!XrOE+E+A.>oZOy @Xy xXwomX$ 'O^.>OA+: uoA.F+zo_OiOH d+<o ", |
||||
" @Ox+1oYOEX- y JoKXbo| p+_ON+P+;XsOgOgOgOgO= = gOgOgO{X{X{X{X{XgOgOgOgOgOgO= = = gOFodXbOj+@XXOjXE+Xoz+uX5X.Xb.$X}XiX ", |
||||
" eo5O*o0Xn.'O+.rO).@.4.+ YOpOUX;XaXY Y ++++;X8om+To(O(ON 0XTo1+[ mX&Om+q.`XiOiO&ON 7 Y.f+- c jXd.G+:+y .oFX} I.P G.MX ", |
||||
" 0OLor `oDX;+J z+Xoj.>O0oYOY.dXu+`o@+YO3+R 5+MOMOkoS 5+DXi.sOwoj $+]o8On.:.EODX`O&oWOeO4.f+zXXo/OA.GX4.woN 9 }oD+ ", |
||||
" <o~+sX`X'XjX^.@X) j.lOgOY.YO=ORoI+DXroC.Ho;+j+eOVOzoyXFXa.= x jXN.`O`OqOFo= FXF -oQXzoN.T+lO).!X~oHoN.`os Y+MocX ", |
||||
" A Bo3o0X|.>OF+ZO:+G+lO7+N+Z U+T+F+9+<O.o^.5XXOQXC.e F FXroqOS 5+koU+jXx gOo.F OX!..Xj+lO).6.J torow.X k+e+Uo ", |
||||
" o W+f XvO:.F <OZO) j.G+Ho`OFX+.@XJ +.F+- c / j+T+'O!.w [XE.i.5+koN.f+Fo!.a.gOw w jOXo).6.}O- A+hom+cO_oo+ ", |
||||
" cX_ g.u 7OSoe <Oy xXlO@.>ogO! 4.GX+.<OjOto/ e 3XDXhXp+R EOsODXrXw qOjXjX.Xi.roE+G+/O!XJ - 7+n.1+$XcoLOcX ", |
||||
" 4 k pop UXSoF d.boz+uo2O: !O*+! zoHo5XOXqO$+ho_O0 8O]oSoE.i.5+S Wo[Xj N.- : j.6XE+uX^.>On.To$X$O O4 ", |
||||
" 6+=Xvop b.:.>O^.uXE+:+lOKXn !Ox w j } 0oY.w.} Z bOI+p+hXhXp+8OSof+^./O2Ouo+OZOGX5Xro_O[ $X:Ok.>. ", |
||||
" 6OCodo$Xfo_O|o/ GXy 6.6XXoKXlOy e w p+Ro+ Y.Y.'X=O_ORXsOf+T+ZOlOG+).) A.J d.4.N.w.m+$XvXk.^O ", |
||||
" 6+& H+gomX0oC+F - 9+y !X:+).G+KXG+n E++.^.;+Ho- 9+rO/OG+2OXo/OxXE+bo<Oc o.wou+I.+oco OAX ", |
||||
" qoM 4o^+5ob.hoU+C.- 9+boA.z+Jo/O: Xo2O2O2O2OG+j.Xo).n ) !X>oJ <O!OOX.XVX0Xs oOfXLOMX ", |
||||
" cX5.NOvoXXq.u+#oN.zo5Xd.9+}Oy A.!X6.z++Oz+z+6.rO>o@XJ +.jO/ !o`OZ 7 I.nOwOe+o+cX ", |
||||
" o . WXH.=.Nom+7ORo[X3XOX/ ^.d.GX+.9+~o9+9++.<O.otoXO'OjXEOw.[.I.no|OkXU Uo ", |
||||
" <o&.b oXy+$XX 0XdX3+R S f+gOFXyXOXzo!oFX= EXWop+w.P+&OKOBO{Oh.G.t cX ", |
||||
" MX'oPO2.6o|X%X8oq.N b.T h 'X} VXpO:X`ovO1+iOg $XV+3.Dod+iX8X ", |
||||
" <o>+M X.S+ooi+Oor s g KOKOKOg g s :ol.X+ZXbX4XaO_.<o ", |
||||
" o 4 xO}.PXNXIOJ+@ +X^ &+COyO,OhO2+..$._.4 ", |
||||
" 9oMX( %./XaoKoKo' ;o_.IXMX9o " |
||||
}; |
After Width: | Height: | Size: 766 B |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 142 B |
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> |
||||
<plist version="0.9"> |
||||
<dict> |
||||
<key>CFBundleIconFile</key> |
||||
<string>anoncoin.icns</string> |
||||
<key>CFBundlePackageType</key> |
||||
<string>APPL</string> |
||||
<key>CFBundleGetInfoString</key> |
||||
<string>$VERSION, Copyright © 2009-$YEAR The Bitcoin developers</string> |
||||
<key>CFBundleShortVersionString</key> |
||||
<string>$VERSION</string> |
||||
<key>CFBundleVersion</key> |
||||
<string>$VERSION</string> |
||||
<key>CFBundleSignature</key> |
||||
<string>????</string> |
||||
<key>CFBundleExecutable</key> |
||||
<string>Anoncoin-Qt</string> |
||||
<key>CFBundleIdentifier</key> |
||||
<string>net.anoncoin.Anoncoin-Qt</string> |
||||
<key>CFBundleURLTypes</key> |
||||
<array> |
||||
<dict> |
||||
<key>CFBundleTypeRole</key> |
||||
<string>Editor</string> |
||||
<key>CFBundleURLName</key> |
||||
<string>net.anoncoin.AnoncoinPayment</string> |
||||
<key>CFBundleURLSchemes</key> |
||||
<array> |
||||
<string>anoncoin</string> |
||||
</array> |
||||
</dict> |
||||
</array> |
||||
<key>NSHighResolutionCapable</key> |
||||
<true/> |
||||
</dict> |
||||
</plist> |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env python |
||||
# Jonas Schnelli, 2013 |
||||
# make sure the Bitcoin-Qt.app contains the right plist (including the right version) |
||||
# fix made because of serval bugs in Qt mac deployment (https://bugreports.qt-project.org/browse/QTBUG-21267) |
||||
|
||||
from string import Template |
||||
from datetime import date |
||||
|
||||
bitcoinDir = "./"; |
||||
|
||||
inFile = bitcoinDir+"/share/qt/Info.plist" |
||||
outFile = "Bitcoin-Qt.app/Contents/Info.plist" |
||||
version = "unknown"; |
||||
|
||||
fileForGrabbingVersion = bitcoinDir+"bitcoin-qt.pro" |
||||
for line in open(fileForGrabbingVersion): |
||||
lineArr = line.replace(" ", "").split("="); |
||||
if lineArr[0].startswith("VERSION"): |
||||
version = lineArr[1].replace("\n", ""); |
||||
|
||||
fIn = open(inFile, "r") |
||||
fileContent = fIn.read() |
||||
s = Template(fileContent) |
||||
newFileContent = s.substitute(VERSION=version,YEAR=date.today().year) |
||||
|
||||
fOut = open(outFile, "w"); |
||||
fOut.write(newFileContent); |
||||
|
||||
print "Info.plist fresh created" |
@ -0,0 +1,72 @@
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/python |
||||
''' |
||||
Extract _("...") strings for translation and convert to Qt4 stringdefs so that |
||||
they can be picked up by Qt linguist. |
||||
''' |
||||
from subprocess import Popen, PIPE |
||||
import glob |
||||
import operator |
||||
|
||||
OUT_CPP="src/qt/bitcoinstrings.cpp" |
||||
EMPTY=['""'] |
||||
|
||||
def parse_po(text): |
||||
""" |
||||
Parse 'po' format produced by xgettext. |
||||
Return a list of (msgid,msgstr) tuples. |
||||
""" |
||||
messages = [] |
||||
msgid = [] |
||||
msgstr = [] |
||||
in_msgid = False |
||||
in_msgstr = False |
||||
|
||||
for line in text.split('\n'): |
||||
line = line.rstrip('\r') |
||||
if line.startswith('msgid '): |
||||
if in_msgstr: |
||||
messages.append((msgid, msgstr)) |
||||
in_msgstr = False |
||||
# message start |
||||
in_msgid = True |
||||
|
||||
msgid = [line[6:]] |
||||
elif line.startswith('msgstr '): |
||||
in_msgid = False |
||||
in_msgstr = True |
||||
msgstr = [line[7:]] |
||||
elif line.startswith('"'): |
||||
if in_msgid: |
||||
msgid.append(line) |
||||
if in_msgstr: |
||||
msgstr.append(line) |
||||
|
||||
if in_msgstr: |
||||
messages.append((msgid, msgstr)) |
||||
|
||||
return messages |
||||
|
||||
files = glob.glob('src/*.cpp') + glob.glob('src/*.h') |
||||
|
||||
# xgettext -n --keyword=_ $FILES |
||||
child = Popen(['xgettext','--output=-','-n','--keyword=_'] + files, stdout=PIPE) |
||||
(out, err) = child.communicate() |
||||
|
||||
messages = parse_po(out) |
||||
|
||||
f = open(OUT_CPP, 'w') |
||||
f.write("""#include <QtGlobal> |
||||
// Automatically generated by extract_strings.py |
||||
#ifdef __GNUC__ |
||||
#define UNUSED __attribute__((unused)) |
||||
#else |
||||
#define UNUSED |
||||
#endif |
||||
""") |
||||
f.write('static const char UNUSED *bitcoin_strings[] = {\n') |
||||
messages.sort(key=operator.itemgetter(0)) |
||||
for (msgid, msgstr) in messages: |
||||
if msgid != EMPTY: |
||||
f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid))) |
||||
f.write('};') |
||||
f.close() |
@ -0,0 +1,43 @@
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python |
||||
# W.J. van der Laan, 2011 |
||||
# Make spinning .mng animation from a .png |
||||
# Requires imagemagick 6.7+ |
||||
from __future__ import division |
||||
from os import path |
||||
from PIL import Image |
||||
from subprocess import Popen |
||||
|
||||
SRC='img/reload_scaled.png' |
||||
DST='../../src/qt/res/movies/update_spinner.mng' |
||||
TMPDIR='/tmp' |
||||
TMPNAME='tmp-%03i.png' |
||||
NUMFRAMES=35 |
||||
FRAMERATE=10.0 |
||||
CONVERT='convert' |
||||
CLOCKWISE=True |
||||
DSIZE=(16,16) |
||||
|
||||
im_src = Image.open(SRC) |
||||
|
||||
if CLOCKWISE: |
||||
im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT) |
||||
|
||||
def frame_to_filename(frame): |
||||
return path.join(TMPDIR, TMPNAME % frame) |
||||
|
||||
frame_files = [] |
||||
for frame in xrange(NUMFRAMES): |
||||
rotation = (frame + 0.5) / NUMFRAMES * 360.0 |
||||
if CLOCKWISE: |
||||
rotation = -rotation |
||||
im_new = im_src.rotate(rotation, Image.BICUBIC) |
||||
im_new.thumbnail(DSIZE, Image.ANTIALIAS) |
||||
outfile = frame_to_filename(frame) |
||||
im_new.save(outfile, 'png') |
||||
frame_files.append(outfile) |
||||
|
||||
p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST]) |
||||
p.communicate() |
||||
|
||||
|
||||
|
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash |
||||
# create multiresolution windows icon |
||||
ICON_SRC=../../src/qt/res/icons/bitcoin.png |
||||
ICON_DST=../../src/qt/res/icons/bitcoin.ico |
||||
convert ${ICON_SRC} -resize 16x16 bitcoin-16.png |
||||
convert ${ICON_SRC} -resize 32x32 bitcoin-32.png |
||||
convert ${ICON_SRC} -resize 48x48 bitcoin-48.png |
||||
convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST} |
||||
|
@ -0,0 +1,162 @@
@@ -0,0 +1,162 @@
|
||||
Name Anoncoin |
||||
|
||||
RequestExecutionLevel highest |
||||
SetCompressor /SOLID lzma |
||||
|
||||
# General Symbol Definitions |
||||
!define REGKEY "SOFTWARE\$(^Name)" |
||||
!define VERSION 0.8.5.1 |
||||
!define COMPANY "Anoncoin project" |
||||
!define URL https://anoncoin/ |
||||
|
||||
# MUI Symbol Definitions |
||||
!define MUI_ICON "../share/pixmaps/bitcoin.ico" |
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" |
||||
!define MUI_HEADERIMAGE |
||||
!define MUI_HEADERIMAGE_RIGHT |
||||
!define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp" |
||||
!define MUI_FINISHPAGE_NOAUTOCLOSE |
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM |
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} |
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup |
||||
!define MUI_STARTMENUPAGE_DEFAULTFOLDER Anoncoin |
||||
!define MUI_FINISHPAGE_RUN $INSTDIR\anoncoin-qt.exe |
||||
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" |
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" |
||||
!define MUI_UNFINISHPAGE_NOAUTOCLOSE |
||||
|
||||
# Included files |
||||
!include Sections.nsh |
||||
!include MUI2.nsh |
||||
|
||||
# Variables |
||||
Var StartMenuGroup |
||||
|
||||
# Installer pages |
||||
!insertmacro MUI_PAGE_WELCOME |
||||
!insertmacro MUI_PAGE_DIRECTORY |
||||
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup |
||||
!insertmacro MUI_PAGE_INSTFILES |
||||
!insertmacro MUI_PAGE_FINISH |
||||
!insertmacro MUI_UNPAGE_CONFIRM |
||||
!insertmacro MUI_UNPAGE_INSTFILES |
||||
|
||||
# Installer languages |
||||
!insertmacro MUI_LANGUAGE English |
||||
|
||||
# Installer attributes |
||||
OutFile anoncoin-0.8.5.1-win32-setup.exe |
||||
InstallDir $PROGRAMFILES\Anoncoin |
||||
CRCCheck on |
||||
XPStyle on |
||||
BrandingText " " |
||||
ShowInstDetails show |
||||
VIProductVersion 0.8.5.1 |
||||
VIAddVersionKey ProductName Anoncoin |
||||
VIAddVersionKey ProductVersion "${VERSION}" |
||||
VIAddVersionKey CompanyName "${COMPANY}" |
||||
VIAddVersionKey CompanyWebsite "${URL}" |
||||
VIAddVersionKey FileVersion "${VERSION}" |
||||
VIAddVersionKey FileDescription "" |
||||
VIAddVersionKey LegalCopyright "" |
||||
InstallDirRegKey HKCU "${REGKEY}" Path |
||||
ShowUninstDetails show |
||||
|
||||
# Installer sections |
||||
Section -Main SEC0000 |
||||
SetOutPath $INSTDIR |
||||
SetOverwrite on |
||||
File ../release/anoncoin-qt.exe |
||||
File /oname=COPYING.txt ../COPYING |
||||
File /oname=readme.txt ../doc/README_windows.txt |
||||
SetOutPath $INSTDIR\daemon |
||||
File ../src/anoncoind.exe |
||||
SetOutPath $INSTDIR\src |
||||
File /r /x *.exe /x *.o ../src\*.* |
||||
SetOutPath $INSTDIR |
||||
WriteRegStr HKCU "${REGKEY}\Components" Main 1 |
||||
|
||||
# Remove old wxwidgets-based-bitcoin executable and locales: |
||||
Delete /REBOOTOK $INSTDIR\anoncoin.exe |
||||
RMDir /r /REBOOTOK $INSTDIR\locale |
||||
SectionEnd |
||||
|
||||
Section -post SEC0001 |
||||
WriteRegStr HKCU "${REGKEY}" Path $INSTDIR |
||||
SetOutPath $INSTDIR |
||||
WriteUninstaller $INSTDIR\uninstall.exe |
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application |
||||
CreateDirectory $SMPROGRAMS\$StartMenuGroup |
||||
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Anoncoin.lnk" $INSTDIR\anoncoin-qt.exe |
||||
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Anoncoin.lnk" $INSTDIR\uninstall.exe |
||||
!insertmacro MUI_STARTMENU_WRITE_END |
||||
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" |
||||
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}" |
||||
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}" |
||||
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}" |
||||
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe |
||||
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe |
||||
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 |
||||
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 |
||||
WriteRegStr HKCR "anoncoin" "URL Protocol" "" |
||||
WriteRegStr HKCR "anoncoin" "" "URL:Anoncoin" |
||||
WriteRegStr HKCR "anoncoin\DefaultIcon" "" $INSTDIR\anoncoin-qt.exe |
||||
WriteRegStr HKCR "anoncoin\shell\open\command" "" '"$INSTDIR\anoncoin-qt.exe" "%1"' |
||||
SectionEnd |
||||
|
||||
# Macro for selecting uninstaller sections |
||||
!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID |
||||
Push $R0 |
||||
ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}" |
||||
StrCmp $R0 1 0 next${UNSECTION_ID} |
||||
!insertmacro SelectSection "${UNSECTION_ID}" |
||||
GoTo done${UNSECTION_ID} |
||||
next${UNSECTION_ID}: |
||||
!insertmacro UnselectSection "${UNSECTION_ID}" |
||||
done${UNSECTION_ID}: |
||||
Pop $R0 |
||||
!macroend |
||||
|
||||
# Uninstaller sections |
||||
Section /o -un.Main UNSEC0000 |
||||
Delete /REBOOTOK $INSTDIR\anoncoin-qt.exe |
||||
Delete /REBOOTOK $INSTDIR\COPYING.txt |
||||
Delete /REBOOTOK $INSTDIR\readme.txt |
||||
RMDir /r /REBOOTOK $INSTDIR\daemon |
||||
RMDir /r /REBOOTOK $INSTDIR\src |
||||
DeleteRegValue HKCU "${REGKEY}\Components" Main |
||||
SectionEnd |
||||
|
||||
Section -un.post UNSEC0001 |
||||
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" |
||||
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Anoncoin.lnk" |
||||
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Anoncoin.lnk" |
||||
Delete /REBOOTOK "$SMSTARTUP\Anoncoin.lnk" |
||||
Delete /REBOOTOK $INSTDIR\uninstall.exe |
||||
Delete /REBOOTOK $INSTDIR\debug.log |
||||
Delete /REBOOTOK $INSTDIR\db.log |
||||
DeleteRegValue HKCU "${REGKEY}" StartMenuGroup |
||||
DeleteRegValue HKCU "${REGKEY}" Path |
||||
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components" |
||||
DeleteRegKey /IfEmpty HKCU "${REGKEY}" |
||||
DeleteRegKey HKCR "anoncoin" |
||||
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup |
||||
RmDir /REBOOTOK $INSTDIR |
||||
Push $R0 |
||||
StrCpy $R0 $StartMenuGroup 1 |
||||
StrCmp $R0 ">" no_smgroup |
||||
no_smgroup: |
||||
Pop $R0 |
||||
SectionEnd |
||||
|
||||
# Installer functions |
||||
Function .onInit |
||||
InitPluginsDir |
||||
FunctionEnd |
||||
|
||||
# Uninstaller functions |
||||
Function un.onInit |
||||
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path |
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup |
||||
!insertmacro SELECT_UNSECTION Main ${UNSEC0000} |
||||
FunctionEnd |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
bitcoin ICON "pixmaps/bitcoin.ico" |
||||
|
||||
#include "wx/msw/wx.rc" |
||||
|
||||
check ICON "pixmaps/check.ico" |
||||
send16 BITMAP "pixmaps/send16.bmp" |
||||
send16mask BITMAP "pixmaps/send16mask.bmp" |
||||
send16masknoshadow BITMAP "pixmaps/send16masknoshadow.bmp" |
||||
send20 BITMAP "pixmaps/send20.bmp" |
||||
send20mask BITMAP "pixmaps/send20mask.bmp" |
||||
addressbook16 BITMAP "pixmaps/addressbook16.bmp" |
||||
addressbook16mask BITMAP "pixmaps/addressbook16mask.bmp" |
||||
addressbook20 BITMAP "pixmaps/addressbook20.bmp" |
||||
addressbook20mask BITMAP "pixmaps/addressbook20mask.bmp" |
||||
favicon ICON "pixmaps/favicon.ico" |