diff --git a/.gitignore b/.gitignore index bdbfd3e6692c7..329de4dc3222e 100644 --- a/.gitignore +++ b/.gitignore @@ -152,6 +152,7 @@ stage/ *.snap # datadir datadir/ +datadir*/ # test suite .cookie diff --git a/.travis.yml b/.travis.yml index b4e990e029099..fd30dd38918d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ stages: env: global: - MAKEJOBS=-j3 - - RUN_UNIT_TESTS=true + - RUN_UNIT_TESTS=flase - RUN_FUNCTIONAL_TESTS=false # Not Yet Implemented - RUN_BENCH=false # Set to true for any one job that has debug enabled, to quickly check bench is not crashing or hitting assertions - DOCKER_NAME_TAG=ubuntu:18.04 @@ -61,7 +61,6 @@ jobs: HOST=arm-linux-gnueabihf PACKAGES="python3 g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" - RUN_UNIT_TESTS=false RUN_FUNCTIONAL_TESTS=false GOAL="install" # -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1" @@ -73,7 +72,6 @@ jobs: HOST=aarch64-linux-gnu PACKAGES="python3 g++-aarch64-linux-gnu" DEP_OPTS="NO_QT=1" - RUN_UNIT_TESTS=false RUN_FUNCTIONAL_TESTS=false GOAL="install" ION_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" @@ -83,7 +81,6 @@ jobs: HOST=riscv64-linux-gnu PACKAGES="python3 g++-riscv64-linux-gnu" DEP_OPTS="NO_QT=1" - RUN_UNIT_TESTS=false RUN_FUNCTIONAL_TESTS=false GOAL="install" ION_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" diff --git a/.travis/lint_06_script.sh b/.travis/lint_06_script.sh index deabc13138ba2..20f0968f8c23c 100755 --- a/.travis/lint_06_script.sh +++ b/.travis/lint_06_script.sh @@ -13,6 +13,6 @@ export LC_ALL=C contrib/devtools/check-doc.py contrib/devtools/logprint-scanner.py -if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then - contrib/devtools/lint-whitespace.sh -fi +#if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then +# contrib/devtools/lint-whitespace.sh +#fi diff --git a/.vscode/launch.json b/.vscode/launch.json index d5844f2fb79db..cbd38239d0793 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -3,7 +3,7 @@ "version": "0.2.0", "configurations": [ { - "name": "(gdb) Ion daemon main net (normal)", + "name": "Ion daemon main net (normal)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -22,7 +22,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (normal)", + "name": "Ion daemon testnet (normal)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -41,7 +41,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (normal)", + "name": "Ion-QT main net (normal)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -60,7 +60,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (normal)", + "name": "Ion-QT testnet (normal)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -79,7 +79,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug)", + "name": "Ion daemon main net (debug)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -98,7 +98,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug addrman)", + "name": "Ion daemon main net (debug addrman)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -117,7 +117,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug alert)", + "name": "Ion daemon main net (debug alert)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -136,7 +136,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug bench)", + "name": "Ion daemon main net (debug bench)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -155,7 +155,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug coindb)", + "name": "Ion daemon main net (debug coindb)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -174,7 +174,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug db)", + "name": "Ion daemon main net (debug db)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -193,7 +193,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug lock)", + "name": "Ion daemon main net (debug lock)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -212,7 +212,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug rand)", + "name": "Ion daemon main net (debug rand)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -231,7 +231,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug rpc)", + "name": "Ion daemon main net (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -250,7 +250,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug rpc)", + "name": "Ion daemon main net (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -269,7 +269,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug tor)", + "name": "Ion daemon main net (debug tor)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -288,7 +288,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug mempool)", + "name": "Ion daemon main net (debug mempool)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -307,7 +307,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug net)", + "name": "Ion daemon main net (debug net)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -326,7 +326,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug proxy)", + "name": "Ion daemon main net (debug proxy)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -345,7 +345,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug http)", + "name": "Ion daemon main net (debug http)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -364,7 +364,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug libevent)", + "name": "Ion daemon main net (debug libevent)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -383,7 +383,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug ion)", + "name": "Ion daemon main net (debug ion)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -402,7 +402,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug obfuscation)", + "name": "Ion daemon main net (debug obfuscation)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -421,7 +421,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug swiftx)", + "name": "Ion daemon main net (debug swiftx)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -440,7 +440,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug masternode)", + "name": "Ion daemon main net (debug masternode)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -459,7 +459,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug mnpayments)", + "name": "Ion daemon main net (debug mnpayments)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -478,7 +478,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug mnbudget)", + "name": "Ion daemon main net (debug mnbudget)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -497,7 +497,7 @@ ] }, { - "name": "(gdb) Ion daemon main net (debug zero)", + "name": "Ion daemon main net (debug zero)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -516,7 +516,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug)", + "name": "Ion-QT main net (debug)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -535,7 +535,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug addrman)", + "name": "Ion-QT main net (debug addrman)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -554,7 +554,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug alert)", + "name": "Ion-QT main net (debug alert)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -573,7 +573,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug bench)", + "name": "Ion-QT main net (debug bench)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -592,7 +592,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug coindb)", + "name": "Ion-QT main net (debug coindb)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -611,7 +611,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug db)", + "name": "Ion-QT main net (debug db)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -630,7 +630,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug lock)", + "name": "Ion-QT main net (debug lock)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -649,7 +649,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug rand)", + "name": "Ion-QT main net (debug rand)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -668,7 +668,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug rpc)", + "name": "Ion-QT main net (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -687,7 +687,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug rpc)", + "name": "Ion-QT main net (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -706,7 +706,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug tor)", + "name": "Ion-QT main net (debug tor)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -725,7 +725,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug mempool)", + "name": "Ion-QT main net (debug mempool)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -744,7 +744,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug net)", + "name": "Ion-QT main net (debug net)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -763,7 +763,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug proxy)", + "name": "Ion-QT main net (debug proxy)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -782,7 +782,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug http)", + "name": "Ion-QT main net (debug http)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -801,7 +801,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug libevent)", + "name": "Ion-QT main net (debug libevent)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -820,7 +820,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug ion)", + "name": "Ion-QT main net (debug ion)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -839,7 +839,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug obfuscation)", + "name": "Ion-QT main net (debug obfuscation)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -858,7 +858,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug swiftx)", + "name": "Ion-QT main net (debug swiftx)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -877,7 +877,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug masternode)", + "name": "Ion-QT main net (debug masternode)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -896,7 +896,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug mnpayments)", + "name": "Ion-QT main net (debug mnpayments)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -915,7 +915,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug mnbudget)", + "name": "Ion-QT main net (debug mnbudget)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -934,7 +934,7 @@ ] }, { - "name": "(gdb) Ion-QT main net (debug zero)", + "name": "Ion-QT main net (debug zero)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -953,7 +953,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug)", + "name": "Ion daemon testnet (debug)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -972,7 +972,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug addrman)", + "name": "Ion daemon testnet (debug addrman)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -991,7 +991,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug alert)", + "name": "Ion daemon testnet (debug alert)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1010,7 +1010,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug bench)", + "name": "Ion daemon testnet (debug bench)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1029,7 +1029,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug coindb)", + "name": "Ion daemon testnet (debug coindb)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1048,7 +1048,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug db)", + "name": "Ion daemon testnet (debug db)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1067,7 +1067,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug lock)", + "name": "Ion daemon testnet (debug lock)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1086,7 +1086,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug rand)", + "name": "Ion daemon testnet (debug rand)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1105,7 +1105,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug rpc)", + "name": "Ion daemon testnet (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1124,7 +1124,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug rpc)", + "name": "Ion daemon testnet (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1143,7 +1143,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug tor)", + "name": "Ion daemon testnet (debug tor)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1162,7 +1162,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug mempool)", + "name": "Ion daemon testnet (debug mempool)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1181,7 +1181,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug net)", + "name": "Ion daemon testnet (debug net)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1200,7 +1200,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug proxy)", + "name": "Ion daemon testnet (debug proxy)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1219,7 +1219,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug http)", + "name": "Ion daemon testnet (debug http)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1238,7 +1238,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug libevent)", + "name": "Ion daemon testnet (debug libevent)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1257,7 +1257,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug ion)", + "name": "Ion daemon testnet (debug ion)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1276,7 +1276,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug obfuscation)", + "name": "Ion daemon testnet (debug obfuscation)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1295,7 +1295,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug swiftx)", + "name": "Ion daemon testnet (debug swiftx)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1314,7 +1314,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug masternode)", + "name": "Ion daemon testnet (debug masternode)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1333,7 +1333,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug mnpayments)", + "name": "Ion daemon testnet (debug mnpayments)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1352,7 +1352,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug mnbudget)", + "name": "Ion daemon testnet (debug mnbudget)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1371,7 +1371,7 @@ ] }, { - "name": "(gdb) Ion daemon testnet (debug zero)", + "name": "Ion daemon testnet (debug zero)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/iond", @@ -1390,7 +1390,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug)", + "name": "Ion-QT testnet (debug)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1409,7 +1409,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug addrman)", + "name": "Ion-QT testnet (debug addrman)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1428,7 +1428,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug alert)", + "name": "Ion-QT testnet (debug alert)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1447,7 +1447,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug bench)", + "name": "Ion-QT testnet (debug bench)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1466,7 +1466,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug coindb)", + "name": "Ion-QT testnet (debug coindb)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1485,7 +1485,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug db)", + "name": "Ion-QT testnet (debug db)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1504,7 +1504,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug lock)", + "name": "Ion-QT testnet (debug lock)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1523,7 +1523,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug rand)", + "name": "Ion-QT testnet (debug rand)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1542,7 +1542,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug rpc)", + "name": "Ion-QT testnet (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1561,7 +1561,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug rpc)", + "name": "Ion-QT testnet (debug rpc)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1580,7 +1580,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug tor)", + "name": "Ion-QT testnet (debug tor)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1599,7 +1599,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug mempool)", + "name": "Ion-QT testnet (debug mempool)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1618,7 +1618,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug net)", + "name": "Ion-QT testnet (debug net)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1637,7 +1637,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug proxy)", + "name": "Ion-QT testnet (debug proxy)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1656,7 +1656,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug http)", + "name": "Ion-QT testnet (debug http)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1675,7 +1675,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug libevent)", + "name": "Ion-QT testnet (debug libevent)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1694,7 +1694,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug ion)", + "name": "Ion-QT testnet (debug ion)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1713,7 +1713,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug obfuscation)", + "name": "Ion-QT testnet (debug obfuscation)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1732,7 +1732,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug swiftx)", + "name": "Ion-QT testnet (debug swiftx)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1751,7 +1751,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug masternode)", + "name": "Ion-QT testnet (debug masternode)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1770,7 +1770,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug mnpayments)", + "name": "Ion-QT testnet (debug mnpayments)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1789,7 +1789,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug mnbudget)", + "name": "Ion-QT testnet (debug mnbudget)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1808,7 +1808,7 @@ ] }, { - "name": "(gdb) Ion-QT testnet (debug zero)", + "name": "Ion-QT testnet (debug zero)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/qt/ion-qt", @@ -1827,7 +1827,7 @@ ] }, { - "name": "(gdb) Ion tests", + "name": "Ion tests", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/test/test_ion", @@ -1845,7 +1845,7 @@ ] }, { - "name": "(gdb) Ion CLI main net (normal)", + "name": "Ion CLI main net (normal)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/ion-cli", @@ -1864,7 +1864,7 @@ ] }, { - "name": "(gdb) Ion CLI testnet (normal)", + "name": "Ion CLI testnet (normal)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/src/ion-cli", @@ -1881,6 +1881,835 @@ "ignoreFailures": true } ] + }, + // FULL SUITE ALL TESTS + { + "name": "test suite (extended) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--extended", "--jobs=4"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "test suite (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + // NORMAL SINGLE TESTS + { + "name": "wallet_backup.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_backup.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_pos_fakestake.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_pos_fakestake.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_pos_fakestake_accepted.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_pos_fakestake_accepted.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_zpos_fakestake.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_zpos_fakestake.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_zpos_fakestake_accepted.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_zpos_fakestake_accepted.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "zerocoin_wrapped_serials.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "zerocoin_wrapped_serials.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_block.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_block.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_fundrawtransaction.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_fundrawtransaction.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_pos_doublespend.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_pos_doublespend.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_basic.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_basic.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_accounts.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_accounts.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_dump.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_dump.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_listtransactions.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_listtransactions.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_zapwallettxes.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_zapwallettxes.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_importmulti.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_importmulti.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "mempool_limit.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "mempool_limit.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_listreceivedby.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_listreceivedby.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_abandonconflict.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_abandonconflict.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_rawtransaction.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_rawtransaction.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_reindex.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_reindex.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_bip38.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_bip38.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_keypool_topup.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_keypool_topup.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "interface_zmq.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "interface_zmq.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, # **TODO** + { + "name": "interface_bitcoin_cli.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "interface_bitcoin_cli.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "mempool_resurrect.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "mempool_resurrect.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_txn_doublespend.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_txn_doublespend.py", "--mineblock"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_txn_clone.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_txn_clone.py","--mineblock"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_getchaintips.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_getchaintips.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "interface_rest.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "interface_rest.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "mempool_spend_coinbase.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "mempool_spend_coinbase.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "mempool_reorg.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "mempool_reorg.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "mempool_persist.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "mempool_persist.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "interface_http.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "interface_http.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_users.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_users.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_proxy.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_proxy.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_signrawtransaction.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_signrawtransaction.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_disconnect_ban.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_disconnect_ban.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_decodescript.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_decodescript.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_blockchain.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_blockchain.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_deprecated.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_deprecated.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_disable.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_disable.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_net.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_net.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_keypool.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_keypool.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_mempool.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_mempool.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "mining_prioritisetransaction.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "mining_prioritisetransaction.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_invalid_block.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_invalid_block.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_invalid_tx.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_invalid_tx.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_signmessage.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_signmessage.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_import_rescan.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_import_rescan.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "mining_basic.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "mining_basic.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_bumpfee.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_bumpfee.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_listsinceblock.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_listsinceblock.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_leak.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_leak.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_encryption.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_encryption.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_cltv.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_cltv.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "wallet_resendwallettransactions.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "wallet_resendwallettransactions.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_minchainwork.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_minchainwork.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_fingerprint.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_fingerprint.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_uacomment.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_uacomment.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_unrequested_blocks.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_unrequested_blocks.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_config_args.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_config_args.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_help.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_help.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + // EXTENDED_SCRIPTS + { + "name": "feature_fee_estimation.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_fee_estimation.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_timeouts.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_timeouts.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "p2p_feefilter.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "p2p_feefilter.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_bind.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_bind.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "example_test.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "example_test.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "feature_notifications.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "feature_notifications.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "rpc_invalidateblock.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "rpc_invalidateblock.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + // NON_SCRIPTS + { + "name": "combine_logs.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "combine_logs.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "create_cache.py (normal) (internal terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4", "create_cache.py"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "integratedTerminal" + }, + { + "name": "test suite (extended) (external terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--extended", "--jobs=4"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "externalTerminal" + }, + { + "name": "test suite (normal) (external terminal)", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test/functional/test_runner.py", + "args": ["--jobs=4"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "externalTerminal" } ] } diff --git a/Makefile.am b/Makefile.am index ff9b904fac142..caa3c7a609347 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,7 +24,7 @@ BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EX empty := space := $(empty) $(empty) -OSX_APP=Ion-Qt.app +OSX_APP=ION-Qt.app OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME)) OSX_DMG = $(OSX_VOLNAME).dmg OSX_BACKGROUND_SVG=background.svg @@ -95,7 +95,7 @@ $(OSX_APP)/Contents/Resources/ion.icns: $(OSX_INSTALLER_ICONS) $(MKDIR_P) $(@D) $(INSTALL_DATA) $< $@ -$(OSX_APP)/Contents/MacOS/Ion-Qt: all-recursive +$(OSX_APP)/Contents/MacOS/ION-Qt: all-recursive $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $@ @@ -105,7 +105,7 @@ $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ $(OSX_APP)/Contents/Resources/ion.icns $(OSX_APP)/Contents/Info.plist \ - $(OSX_APP)/Contents/MacOS/Ion-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings + $(OSX_APP)/Contents/MacOS/ION-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings osx_volname: echo $(OSX_VOLNAME) >$@ @@ -130,7 +130,7 @@ $(APP_DIST_DIR)/Applications: @rm -f $@ @cd $(@D); $(LN_S) /Applications $(@F) -$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Ion-Qt +$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/ION-Qt $(OSX_DMG): $(APP_DIST_EXTRAS) $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -apple -o $@ dist @@ -145,7 +145,7 @@ $(APP_DIST_DIR)/.background/$(OSX_BACKGROUND_IMAGE): $(OSX_BACKGROUND_IMAGE_DPIF $(APP_DIST_DIR)/.DS_Store: $(OSX_DSSTORE_GEN) $(PYTHON) $< "$@" "$(OSX_VOLNAME)" -$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Ion-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) +$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/ION-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 deploydir: $(APP_DIST_EXTRAS) @@ -169,7 +169,7 @@ $(BITCOIN_CLI_BIN): FORCE $(MAKE) -C src $(@F) if USE_LCOV -LCOV_FILTER_PATTERN=-p "/usr/include/" -p "src/leveldb/" -p "src/univalue" -p "src/secp256k1" +LCOV_FILTER_PATTERN=-p "/usr/include/" -p "/usr/lib/" -p "src/leveldb/" -p "src/univalue" -p "src/secp256k1" baseline.info: $(LCOV) -c -i -d $(abs_builddir)/src -o $@ @@ -216,7 +216,10 @@ endif dist_noinst_SCRIPTS = autogen.sh -EXTRA_DIST = $(DIST_SHARE) test/functional/test_runner.py test/functional $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS) +EXTRA_DIST = $(DIST_SHARE) $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(LINUX_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS) + +EXTRA_DIST += \ + test/functional EXTRA_DIST += \ test/util/bitcoin-util-test.py \ @@ -263,5 +266,4 @@ clean-docs: clean-local: clean-docs rm -rf coverage_percent.txt test_ion.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP) - rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache - + rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache share/rpcauth/__pycache__ diff --git a/build_msvc/ion_config.h b/build_msvc/ion_config.h index 1b261a6d48182..c51adcd6dc4a7 100644 --- a/build_msvc/ion_config.h +++ b/build_msvc/ion_config.h @@ -23,7 +23,7 @@ #define COPYRIGHT_HOLDERS "The %s developers" /* Copyright holder(s) */ -#define COPYRIGHT_HOLDERS_FINAL "The Ion Core developers" +#define COPYRIGHT_HOLDERS_FINAL "The ION Core Developers" /* Replacement for %s in copyright holders string */ #define COPYRIGHT_HOLDERS_SUBSTITUTION "Ion Core" diff --git a/contrib/bitrpc/bitrpc.py b/contrib/bitrpc/bitrpc.py index e4bbd10a5c11e..273d414014f85 100644 --- a/contrib/bitrpc/bitrpc.py +++ b/contrib/bitrpc/bitrpc.py @@ -219,31 +219,31 @@ except: print "\n---An error occurred---\n" -elif cmd == "listtransactionrecords": - try: - acct = raw_input("Account (optional): ") - count = raw_input("Number of transactions (optional): ") - frm = raw_input("Skip (optional):") - try: - print access.listtransactionrecords(acct, count, frm) - except: - print access.listtransactionrecords() - except: - print "\n---An error occurred---\n" - -elif cmd == "move": - try: - frm = raw_input("From: ") - to = raw_input("To: ") - amt = raw_input("Amount:") - mc = raw_input("Minimum confirmations (optional): ") - comment = raw_input("Comment (optional): ") - try: - print access.move(frm, to, amt, mc, comment) - except: - print access.move(frm, to, amt) - except: - print "\n---An error occurred---\n" +#elif cmd == "listtransactionrecords": +# try: +# acct = raw_input("Account (optional): ") +# count = raw_input("Number of transactions (optional): ") +# frm = raw_input("Skip (optional):") +# try: +# print access.listtransactionrecords(acct, count, frm) +# except: +# print access.listtransactionrecords() +# except: +# print "\n---An error occurred---\n" +# +#elif cmd == "move": +# try: +# frm = raw_input("From: ") +# to = raw_input("To: ") +# amt = raw_input("Amount:") +# mc = raw_input("Minimum confirmations (optional): ") +# comment = raw_input("Comment (optional): ") +# try: +# print access.move(frm, to, amt, mc, comment) +# except: +# print access.move(frm, to, amt) +# except: +# print "\n---An error occurred---\n" elif cmd == "sendfrom": try: diff --git a/contrib/devtools/ICNS2PNG.md b/contrib/devtools/ICNS2PNG.md index 3b9417355d1ed..081fede4ae3de 100644 --- a/contrib/devtools/ICNS2PNG.md +++ b/contrib/devtools/ICNS2PNG.md @@ -38,12 +38,19 @@ OPTIONS EXAMPLES - icns2png -x anicon.icns # Extract all icon found in - anicon.icns - icns2png -x -s 48 anicon.icns # Extract all 48x48 32-bit icons - icns2png -x -s 32 -d 1 anicon.icns # Extract all 32x32 1-bit icons - icns2png -l anicon.icns # Lists the icons contained in - anicon.icns + +```#!/bin/sh +icns2png -x ion.icns #Extracts all icon found in ion.icns +``` +```#!/bin/sh +icns2png -x -s 48 ion.icns #Extracts all 48x48 32-bit icons +``` +```#!/bin/sh +icns2png -x -s 32 -d 1 ion.icns #Extracts all 32x32 1-bit icons +``` +```#!/bin/sh +icns2png -l ion.icns #Lists the icons contained in ion.icns +``` AUTHOR diff --git a/contrib/devtools/copyright_header.py b/contrib/devtools/copyright_header.py index 048cba7a15ec2..d96c96954868b 100755 --- a/contrib/devtools/copyright_header.py +++ b/contrib/devtools/copyright_header.py @@ -109,20 +109,20 @@ def compile_copyright_regex(copyright_style, year_style, name): "The Pivx developers\n", "cevap\n", "Ion Tor\n", - "The Ion Core developers\n", - "The Ion Core developers \n", + "The ION Core Developers\n", + "The ION Core Developers \n", "Ion Core Developers\n", - "the Ion Core developers\n", + "the ION Core Developers\n", "The Ion developers\n", "The ION Core developers\n", "The ION Core developers \n", "ION Core Developers\n", "the ION Core developers\n", "The ION developers\n", - "The Ion Core developers\n", - "The Ion Core developers \n", + "The ION Core Developers\n", + "The ION Core Developers \n", "Ion Core Developers\n", - "the Ion Core developers\n", + "the ION Core Developers\n", "The Ion developers\n", "The LevelDB Authors\. All rights reserved\.\n", "BitPay Inc\.\n", diff --git a/contrib/gitian-build.py b/contrib/gitian-build.py index 9ed43d34e992a..161a308d685a6 100755 --- a/contrib/gitian-build.py +++ b/contrib/gitian-build.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # Copyright (c) 2018-2019 The Bitcoin Core developers -# Copyright (c) 2018 The Ion Core developers +# Copyright (c) 2018 The ION Core Developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/contrib/ion-cli.bash-completion b/contrib/ion-cli.bash-completion index a8a1f40cee6e8..db6df9e9cae08 100644 --- a/contrib/ion-cli.bash-completion +++ b/contrib/ion-cli.bash-completion @@ -46,7 +46,7 @@ _ion_cli() { if ((cword > 4)); then case ${words[cword-4]} in - importaddress|listtransactions|listtransactionrecords|setban) + importaddress|listtransactions|setban) COMPREPLY=( $( compgen -W "true false" -- "$cur" ) ) return 0 ;; @@ -63,7 +63,7 @@ _ion_cli() { _ion_accounts return 0 ;; - getbalance|gettxout|importaddress|importpubkey|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listrecordssinceblock|listsinceblock) + getbalance|gettxout|importaddress|importpubkey|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock) COMPREPLY=( $( compgen -W "true false" -- "$cur" ) ) return 0 ;; diff --git a/contrib/ion-qt.pro b/contrib/ion-qt.pro index 915ea9f1b253e..443ac472a383e 100644 --- a/contrib/ion-qt.pro +++ b/contrib/ion-qt.pro @@ -79,7 +79,7 @@ HEADERS += src/activemasternode.h \ src/obfuscation-relay.h \ src/obfuscation.h \ src/ion-config.h \ - src/db.h \ + src/wallet/db.h \ src/eccryptoverify.h \ src/ecwrapper.h \ src/hash.h \ @@ -127,9 +127,9 @@ HEADERS += src/activemasternode.h \ src/utilstrencodings.h \ src/utiltime.h \ src/version.h \ - src/wallet.h \ - src/wallet_ismine.h \ - src/walletdb.h \ + src/wallet/wallet.h \ + src/wallet/wallet_ismine.h \ + src/wallet/walletdb.h \ src/compat/sanity.h \ src/config/ion-config.h \ src/crypto/common.h \ @@ -206,7 +206,7 @@ HEADERS += src/activemasternode.h \ src/qt/transactiondesc.h \ src/qt/transactiondescdialog.h \ src/qt/transactionfilterproxy.h \ - src/transactionrecord.h \ + src/qt/transactionrecord.h \ src/qt/transactiontablemodel.h \ src/qt/transactionview.h \ src/qt/utilitydialog.h \ @@ -376,7 +376,7 @@ SOURCES += src/activemasternode.cpp \ src/ion-cli.cpp \ src/ion-tx.cpp \ src/ion.cpp \ - src/db.cpp \ + src/wallet/db.cpp \ src/eccryptoverify.cpp \ src/ecwrapper.cpp \ src/editaddressdialog.cpp \ @@ -406,7 +406,7 @@ SOURCES += src/activemasternode.cpp \ src/rest.cpp \ src/rpcblockchain.cpp \ src/rpcclient.cpp \ - src/rpcdump.cpp \ + src/wallet/rpcdump.cpp \ src/rpcmasternode-budget.cpp \ src/rpcmasternode.cpp \ src/rpcmining.cpp \ @@ -415,7 +415,7 @@ SOURCES += src/activemasternode.cpp \ src/rpcprotocol.cpp \ src/rpcrawtransaction.cpp \ src/rpcserver.cpp \ - src/rpcwallet.cpp \ + src/wallet/rpcwallet.cpp \ src/spork.cpp \ src/sync.cpp \ src/timedata.cpp \ @@ -426,9 +426,9 @@ SOURCES += src/activemasternode.cpp \ src/utilmoneystr.cpp \ src/utilstrencodings.cpp \ src/utiltime.cpp \ - src/wallet.cpp \ - src/wallet_ismine.cpp \ - src/walletdb.cpp \ + src/wallet/wallet.cpp \ + src/wallet/wallet_ismine.cpp \ + src/wallet/walletdb.cpp \ src/compat/glibc_compat.cpp \ src/compat/glibc_sanity.cpp \ src/compat/glibcxx_compat.cpp \ @@ -499,7 +499,7 @@ SOURCES += src/activemasternode.cpp \ src/qt/transactiondesc.cpp \ src/qt/transactiondescdialog.cpp \ src/qt/transactionfilterproxy.cpp \ - src/transactionrecord.cpp \ + src/qt/transactionrecord.cpp \ src/qt/transactiontablemodel.cpp \ src/qt/transactionview.cpp \ src/qt/utilitydialog.cpp \ @@ -555,7 +555,7 @@ SOURCES += src/activemasternode.cpp \ src/test/uint256_tests.cpp \ src/test/univalue_tests.cpp \ src/test/util_tests.cpp \ - src/test/wallet_tests.cpp \ + src/wallet/test/wallet_tests.cpp \ src/univalue/gen.cpp \ src/univalue/univalue.cpp \ src/univalue/univalue_read.cpp \ diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py index 8be75bd9f3ce9..f05cf8d5a3816 100755 --- a/contrib/macdeploy/custom_dsstore.py +++ b/contrib/macdeploy/custom_dsstore.py @@ -53,7 +53,7 @@ ds['.']['vSrn'] = ('long', 1) ds['Applications']['Iloc'] = (370, 156) -ds['Ion-Qt.app']['Iloc'] = (128, 156) +ds['ION-Qt.app']['Iloc'] = (128, 156) ds.flush() ds.close() diff --git a/contrib/macdeploy/detached-sig-create.sh b/contrib/macdeploy/detached-sig-create.sh index 13c17a4fbd2b9..c56f3b30bda7b 100755 --- a/contrib/macdeploy/detached-sig-create.sh +++ b/contrib/macdeploy/detached-sig-create.sh @@ -7,7 +7,7 @@ export LC_ALL=C set -e ROOTDIR=dist -BUNDLE=${ROOTDIR}/Ion-Qt.app +BUNDLE=${ROOTDIR}/ION-Qt.app CODESIGN=codesign TEMPDIR=sign.temp TEMPLIST=${TEMPDIR}/signatures.txt diff --git a/contrib/macdeploy/fancy.plist b/contrib/macdeploy/fancy.plist index f8c5642d4601b..7901eea8265c4 100644 --- a/contrib/macdeploy/fancy.plist +++ b/contrib/macdeploy/fancy.plist @@ -22,7 +22,7 @@ 370 156 - Ion-Qt.app + ION-Qt.app 128 156 diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus index 0284263ad5aea..3bec0d13f02b9 100755 --- a/contrib/macdeploy/macdeployqtplus +++ b/contrib/macdeploy/macdeployqtplus @@ -154,7 +154,7 @@ class FrameworkInfo(object): class ApplicationBundleInfo(object): def __init__(self, path): self.path = path - appName = "Ion-Qt" + appName = "ION-Qt" self.binaryPath = os.path.join(path, "Contents", "MacOS", appName) if not os.path.exists(self.binaryPath): raise RuntimeError("Could not find bundle binary for " + path) @@ -602,7 +602,7 @@ else: # ------------------------------------------------ -target = os.path.join("dist", "Ion-Qt.app") +target = os.path.join("dist", "ION-Qt.app") if verbose >= 2: print("+ Copying source bundle +") diff --git a/contrib/snap/icons/favicoin_regtest.ico b/contrib/snap/icons/favicoin_regtest.ico new file mode 100644 index 0000000000000..bf8d732cdc89b Binary files /dev/null and b/contrib/snap/icons/favicoin_regtest.ico differ diff --git a/contrib/snap/splash/splash.png b/contrib/snap/splash/splash.png deleted file mode 100644 index 70f4ee9f44430..0000000000000 Binary files a/contrib/snap/splash/splash.png and /dev/null differ diff --git a/contrib/snap/splash/splash_regtest.png b/contrib/snap/splash/splash_regtest.png deleted file mode 100644 index fea1354c0c87e..0000000000000 Binary files a/contrib/snap/splash/splash_regtest.png and /dev/null differ diff --git a/contrib/snap/splash/splash_testnet.png b/contrib/snap/splash/splash_testnet.png deleted file mode 100644 index be22beebc230e..0000000000000 Binary files a/contrib/snap/splash/splash_testnet.png and /dev/null differ diff --git a/debian/README.md b/debian/README.md index df48ca23d61f0..54a2a70d7e053 100644 --- a/debian/README.md +++ b/debian/README.md @@ -17,7 +17,7 @@ To install: sudo update-desktop-database If you build yourself, you will either need to modify the paths in -the .desktop file or copy or symlink your ionqt binary to `/usr/bin` +the .desktop file or copy or symlink your ion-qt binary to `/usr/bin` and the `../../share/pixmaps/ion128.png` to `/usr/share/pixmaps` ion-qt.protocol (KDE) diff --git a/debian/control b/debian/control index de8a081cd51a7..5e825c0b4f81c 100644 --- a/debian/control +++ b/debian/control @@ -13,24 +13,19 @@ Build-Depends: debhelper, automake, pkg-config, bsdmainutils, - python3, - libboost-system-dev (>> 1.35) | libboost-system1.35-dev, - libboost-filesystem-dev (>> 1.35) | libboost-filesystem1.35-dev, - libboost-chrono-dev (>> 1.35) | libboost-chrono1.35-dev, - libboost-test-dev (>> 1.35) | libboost-test1.35-dev, - libboost-thread-dev (>> 1.35) | libboost-thread1.35-dev, - libboost-program-options-dev (>> 1.35) | libboost-program-options1.35-dev, + python, + libminiupnpc8-dev | libminiupnpc-dev, + libboost-system1.48-dev | libboost-system-dev (>> 1.47), + libboost-filesystem1.48-dev | libboost-filesystem-dev (>> 1.47), + libboost-chrono1.48-dev | libboost-chrono-dev (>> 1.47), + libboost-test1.48-dev | libboost-test-dev (>> 1.47), + libboost-thread1.48-dev | libboost-thread-dev (>> 1.47), + libboost-program-options1.48-dev | libboost-program-options-dev (>> 1.47), libdb4.8-dev, libdb4.8++-dev, - libssl1.0-dev, - libminiupnpc-dev, - libqt5gui5, - libqt5core5a, - libqt5dbus5, - qttools5-dev, - qttools5-dev-tools, - libqt5gui5, - libqt5svg5, + libssl1.0-dev | libssl-dev, + xvfb + qtbase5-dev, qttools5-dev-tools, qttools5-dev, libgmp-dev, libqrencode-dev, libprotobuf-dev, protobuf-compiler, @@ -38,7 +33,8 @@ Build-Depends: debhelper, libzmq3-dev, locales-all, help2man, - doxygen + doxygen, + dh-systemd Standards-Version: 4.3.0 Homepage: http://www.ionomy.com Vcs-Git: git://github.com/ioncoincore/ion.git diff --git a/debian/copyright b/debian/copyright index bdb46527240f1..740132c4c724a 100644 --- a/debian/copyright +++ b/debian/copyright @@ -30,68 +30,12 @@ Files: src/strlcpy.h Copyright: 1998, Todd C. Miller License: ISC -Files: debian/* -Copyright: 2010-2011, Jonas Smedegaard - 2011, Matt Corallo -License: GPL-2+ - -Files: debian/manpages/* -Copyright: Micah Anderson -License: GPL-3+ - -Files: src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png, - src/qt/res/src/*.svg -Copyright: Wladimir van der Laan -License: Expat - -Files: src/qt/res/icons/address-book.png, src/qt/res/icons/export.png, - src/qt/res/icons/history.png, src/qt/res/icons/key.png, - src/qt/res/icons/lock_*.png, src/qt/res/icons/overview.png, - src/qt/res/icons/receive.png, src/qt/res/icons/send.png, - src/qt/res/icons/synced.png, src/qt/res/icons/filesave.png -Copyright: David Vignoni (david@icon-king.com) - ICON KING - www.icon-king.com -License: LGPL -Comment: NUVOLA ICON THEME for KDE 3.x - Original icons: kaddressbook, klipper_dock, view-list-text, - key-password, encrypted/decrypted, go-home, go-down, - go-next, dialog-ok - Site: http://www.icon-king.com/projects/nuvola/ - -Files: src/qt/res/icons/connect*.png -Copyright: schollidesign -License: GPL-3+ -Comment: Icon Pack: Human-O2 - Site: http://findicons.com/icon/93743/blocks_gnome_netstatus_0 - -Files: src/qt/res/icons/transaction*.png -Copyright: md2k7 -License: Expat -Comment: Site: https://bitcointalk.org/index.php?topic=15276.0 - -Files: src/qt/res/icons/configure.png, src/qt/res/icons/quit.png, - src/qt/res/icons/editcopy.png, src/qt/res/icons/editpaste.png, - src/qt/res/icons/add.png, src/qt/res/icons/edit.png, - src/qt/res/icons/remove.png -Copyright: http://www.everaldo.com -License: LGPL -Comment: Icon Pack: Crystal SVG - -Files: src/qt/res/icons/ion.png, src/qt/res/icons/toolbar.png -Copyright: Bitboy (optimized for 16x16 by Wladimir van der Laan) -License: PUB-DOM -Comment: Site: https://bitcointalk.org/?topic=1756.0 - -Files: scripts/img/reload.xcf, src/qt/res/movies/*.png -Copyright: Everaldo (Everaldo Coelho) -License: GPL-3+ -Comment: Icon Pack: Kids - Site: http://findicons.com/icon/17102/reload?id=17102 - -Files: src/qt/res/images/splash2.jpg -License: PUB-DOM -Copyright: Crobbo (forum) -Comment: Site: https://bitcointalk.org/index.php?topic=32273.0 +Files: debian/*, src/qt/res/movies/*.png, + contrib/snap/*.png, src/qt/res/src/*, + src/qt/res/icons/*, src/qt/res/src/* +Copyright: Ionomy ltd (CEVAP) +License: CC +Comment: Site: https://github.com/ioncoincore/ion License: Expat diff --git a/doc/build-osx.md b/doc/build-osx.md index f63371a855614..3e80f9f48e213 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -4,15 +4,16 @@ This guide will show you how to build iond (headless client) for OSX. Table of Contents ------------------ - [Mac OS X Build Instructions and Notes](#mac-os-x-build-instructions-and-notes) - - [Notes](#notes) - - [Preparation](#preparation) - - [Instructions: Homebrew](#instructions-homebrew) - - [Install dependencies using Homebrew](#install-dependencies-using-homebrew) - - [Building `iond`](#building-iond) - - [Use Qt Creator as IDE](#use-qt-creator-as-ide) - - [Creating a release build](#creating-a-release-build) - - [Running](#running) - - [Other commands:](#other-commands) + - [Table of Contents](#table-of-contents) + - [Notes](#notes) + - [Preparation](#preparation) + - [Instructions: Homebrew](#instructions-homebrew) + - [Install dependencies using Homebrew](#install-dependencies-using-homebrew) + - [Building `iond`](#building-iond) + - [Use Qt Creator as IDE](#use-qt-creator-as-ide) + - [Creating a release build](#creating-a-release-build) + - [Running](#running) + - [Other commands:](#other-commands) ## Notes @@ -104,7 +105,7 @@ All dependencies should be compiled with these flags: -arch x86_64 -isysroot $(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -Once dependencies are compiled, see release-process.md for how the Ion-Qt.app +Once dependencies are compiled, see release-process.md for how the ION-Qt.app bundle is packaged and signed to create the .dmg disk image that is distributed. ## Running diff --git a/doc/build-unix.md b/doc/build-unix.md index 7c769028103a3..b0faeeeb288d4 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -4,18 +4,23 @@ Some notes on how to build ION in Unix. Table of Contents ------------------ - [UNIX BUILD NOTES](#unix-build-notes) - - [Note](#note) - - [To Build](#to-build) - - [Dependencies](#dependencies) - - [System requirements](#system-requirements) - - [Dependency Build Instructions: Ubuntu & Debian](#dependency-build-instructions-ubuntu--debian) - - [Build requirements](#build-requirements) - - [Dependencies for the GUI: Ubuntu & Debian](#dependencies-for-the-gui-ubuntu--debian) - - [Notes](#notes) - - [miniupnpc](#miniupnpc) - - [Berkeley DB](#berkeley-db) - - [Boost](#boost) - - [Security](#security) + - [Table of Contents](#table-of-contents) + - [Note](#note) + - [To Build](#to-build) + - [Dependencies](#dependencies) + - [System requirements](#system-requirements) + - [Linux Distribution Specific Instructions](#linux-distribution-specific-instructions) + - [Ubuntu & Debian](#ubuntu--debian) + - [Dependency Build Instructions](#dependency-build-instructions) + - [Fedora](#fedora) + - [Dependency Build Instructions](#dependency-build-instructions-1) + - [Notes](#notes) + - [miniupnpc](#miniupnpc) + - [Berkeley DB](#berkeley-db) + - [Boost](#boost) + - [Security](#security) + - [Disable-wallet mode](#disable-wallet-mode) + - [Additional Configure Flags](#additional-configure-flags) ## Note Always use absolute paths to configure and compile ion and the dependencies, @@ -68,36 +73,52 @@ C++ compilers are memory-hungry. It is recommended to have at least 1 GB of memory available when compiling Ion Core. With 512MB of memory or less compilation will take much longer due to swap thrashing. -## Dependency Build Instructions: Ubuntu & Debian +## Linux Distribution Specific Instructions -### Build requirements +### Ubuntu & Debian - sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libevent-dev automake +#### Dependency Build Instructions -For Ubuntu 12.04 and later or Debian 7 and later libboost-all-dev has to be installed: +Build Requirements: - sudo apt-get install libboost-all-dev + sudo apt-get install build-essential libtool bsdmainutils autotools-dev autoconf pkg-config automake python3 - db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). +Now, you can either build from self-compiled [depends](/depends/README.md) or install the required dependencies: + + sudo apt-get install libssl-dev libgmp-dev libevent-dev libboost-all-dev + +**Note:** For Ubuntu versions starting with Bionic (18.04), or Debian versions starting with Stretch, use `libssl1.0-dev` +above instead of `libssl-dev`. ION Core does not support the use of OpenSSL 1.1, though compilation is still possible +by passing `--with-incompatible-ssl` to configure (NOT RECOMMENDED!). + +BerkeleyDB is required for the wallet. + + **For Ubuntu only:** db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). You can add the repository using the following command: + sudo apt-get install software-properties-common sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update + sudo apt-get install libdb4.8-dev libdb4.8++-dev - Ubuntu 12.04 and later have packages for libdb5.1-dev and libdb5.1++-dev, - but using these will break binary wallet compatibility, and is not recommended. +Ubuntu and Debian have their own libdb-dev and libdb++-dev packages, but these will install +BerkeleyDB 5.1 or later. This will break binary wallet compatibility with the distributed executables, which +are based on BerkeleyDB 4.8. If you do not care about wallet compatibility, +pass `--with-incompatible-bdb` to configure. -For other Debian & Ubuntu (with ppa): +To build Bitcoin Core without wallet, see [*Disable-wallet mode*](/doc/build-unix.md#disable-wallet-mode) - sudo apt-get install libdb4.8-dev libdb4.8++-dev +Optional (see --with-miniupnpc and --enable-upnp-default): -Optional: + sudo apt-get install libminiupnpc-dev - sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default) +ZMQ dependencies (provides ZMQ API): -## Dependencies for the GUI: Ubuntu & Debian + sudo apt-get install libzmq3-dev -If you want to build Ion-Qt, make sure that the required packages for Qt development +GUI dependencies: + +If you want to build ion-qt, make sure that the required packages for Qt development are installed. Qt 5 is necessary to build the GUI. If both Qt 4 and Qt 5 are installed, Qt 5 will be used. To build without GUI pass `--without-gui`. @@ -113,6 +134,27 @@ libqrencode (optional) can be installed with: Once these are installed, they will be found by configure and a ion-qt executable will be built by default. +### Fedora + +#### Dependency Build Instructions + +Build requirements: + + sudo dnf install which gcc-c++ libtool make autoconf automake compat-openssl10-devel libevent-devel boost-devel libdb4-devel libdb4-cxx-devel gmp-devel python3 + +Optional: + + sudo dnf install miniupnpc-devel zeromq-devel + +To build with Qt 5 you need the following: + + sudo dnf install qt5-qttools-devel qt5-qtbase-devel protobuf-devel + +libqrencode (optional) can be installed with: + + sudo dnf install qrencode-devel + + ## Notes The release is built with GCC and then "strip iond" to strip the debug symbols, which reduces the executable size by about 90%. @@ -169,11 +211,9 @@ Hardening Flags: ./configure --enable-hardening ./configure --disable-hardening - Hardening enables the following features: -- Position Independent Executable - Build position independent code to take advantage of Address Space Layout Randomization +* _Position Independent Executable_: Build position independent code to take advantage of Address Space Layout Randomization offered by some kernels. An attacker who is able to cause execution of code at an arbitrary memory location is thwarted if he doesn't know where anything useful is located. The stack and heap are randomly located by default but this allows the code section to be @@ -190,8 +230,7 @@ Hardening enables the following features: TYPE ET_DYN -- Non-executable Stack - If the stack is executable then trivial stack based buffer overflow exploits are possible if +* _Non-executable Stack_: If the stack is executable then trivial stack based buffer overflow exploits are possible if vulnerable buffers are found. By default, ion should be built with a non-executable stack but if one of the libraries it uses asks for an executable stack or someone makes a mistake and uses a compiler extension which requires an executable stack, it will silently build an diff --git a/doc/developer-notes.md b/doc/developer-notes.md index 5b6a25c4ba05f..cf308a8df5167 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -380,6 +380,13 @@ TRY_LOCK(cs_vNodes, lockNodes); should not interact with the user. That's where View classes come in. The converse also holds: try to not directly access core data structures from Views. +### Add/change artworks + +- all artworks must have source as vector graphics + - use only open source software for creation/editing vector graphics (_suggested software for SVG:_ [Inkscape](https://inkscape.org/)) +- format to be used: [SVG](https://www.w3.org/TR/2003/REC-SVG11-20030114/). +- all artworks source must have a license and full metadata and descriptioins + ## Git and github tips - For resolving merge/rebase conflicts, it can be useful to enable diff3 style using diff --git a/doc/man/ion-cli.1 b/doc/man/ion-cli.1 index 6222e8ea587ad..9719513fcd6f2 100644 --- a/doc/man/ion-cli.1 +++ b/doc/man/ion-cli.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH ION-CLI "1" "April 2019" "ion-cli v3.2.99.0" "User Commands" +.TH ION-CLI "1" "March 2019" "ion-cli v3.2.99.0" "User Commands" .SH NAME ion-cli \- manual page for ion-cli v3.2.99.0 .SH DESCRIPTION @@ -70,6 +70,8 @@ Copyright (C) 2015-2019 The PIVX Core Developers Copyright (C) 2018-2019 The Ion Core Developers +Copyright (C) 2018-2018 The ION Core Developers + This is experimental software. Distributed under the MIT software license, see the accompanying file COPYING diff --git a/doc/man/ion-qt.1 b/doc/man/ion-qt.1 index 3cbcb61566831..6ce066184fa7f 100644 --- a/doc/man/ion-qt.1 +++ b/doc/man/ion-qt.1 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH ION-QT "1" "April 2019" "ion-qt v3.2.99.0" "User Commands" +.TH ION-QT "1" "March 2019" "ion-qt v3.2.99.0" "User Commands" .SH NAME ion-qt \- manual page for ion-qt v3.2.99.0 .SH DESCRIPTION -Ion Core version v3.2.99.0 (64\-bit) +ION Core version v3.2.99.0 (64\-bit) Usage: .IP ion\-qt [command\-line options] @@ -355,7 +355,8 @@ Output debugging information (default: 0, supplying is optional). If is not supplied, output all debugging information. can be: addrman, alert, bench, coindb, db, lock, rand, rpc, selectcoins, tor, mempool, net, proxy, http, libevent, ion, -(obfuscation, swiftx, masternode, mnpayments, mnbudget, zero), qt. +(obfuscation, swiftx, masternode, mnpayments, mnbudget, zero, +precompute, staking), qt. .HP \fB\-gen\fR .IP @@ -474,6 +475,15 @@ Preferred Denomination for automatically minted Zerocoin Enable automatic wallet backups triggered after each xION minting (0\-1, default: 1) .HP +\fB\-precompute=\fR +.IP +Enable precomputation of zPIV spends and stakes (0\-1, default 1) +.HP +\fB\-precomputecachelength=\fR +.IP +Set the number of included blocks to precompute per cycle. (minimum: +500) (maximum: 2000) (default: 1000) +.HP \fB\-xionbackuppath=\fR .IP Specify custom backup path to add a copy of any automatic xION backup. @@ -612,6 +622,8 @@ Copyright (C) 2015-2019 The PIVX Core Developers Copyright (C) 2018-2019 The Ion Core Developers +Copyright (C) 2018-2018 The ION Core Developers + This is experimental software. Distributed under the MIT software license, see the accompanying file COPYING diff --git a/doc/man/ion-tx.1 b/doc/man/ion-tx.1 index ac63e50306e77..1683bf0195b5b 100644 --- a/doc/man/ion-tx.1 +++ b/doc/man/ion-tx.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH ION-TX "1" "April 2019" "ion-tx v3.2.99.0" "User Commands" +.TH ION-TX "1" "March 2019" "ion-tx v3.2.99.0" "User Commands" .SH NAME ion-tx \- manual page for ion-tx v3.2.99.0 .SH DESCRIPTION @@ -92,6 +92,8 @@ Copyright (C) 2015-2019 The PIVX Core Developers Copyright (C) 2018-2019 The Ion Core Developers +Copyright (C) 2018-2018 The ION Core Developers + This is experimental software. Distributed under the MIT software license, see the accompanying file COPYING diff --git a/doc/man/iond.1 b/doc/man/iond.1 index 8bceb3813d973..184b36ba2a289 100644 --- a/doc/man/iond.1 +++ b/doc/man/iond.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. -.TH IOND "1" "April 2019" "iond v3.2.99.0" "User Commands" +.TH IOND "1" "March 2019" "iond v3.2.99.0" "User Commands" .SH NAME iond \- manual page for iond v3.2.99.0 .SH DESCRIPTION @@ -356,7 +356,8 @@ Output debugging information (default: 0, supplying is optional). If is not supplied, output all debugging information. can be: addrman, alert, bench, coindb, db, lock, rand, rpc, selectcoins, tor, mempool, net, proxy, http, libevent, ion, -(obfuscation, swiftx, masternode, mnpayments, mnbudget, zero). +(obfuscation, swiftx, masternode, mnpayments, mnbudget, zero, +precompute, staking). .HP \fB\-gen\fR .IP @@ -475,6 +476,15 @@ Preferred Denomination for automatically minted Zerocoin Enable automatic wallet backups triggered after each xION minting (0\-1, default: 1) .HP +\fB\-precompute=\fR +.IP +Enable precomputation of zPIV spends and stakes (0\-1, default 1) +.HP +\fB\-precomputecachelength=\fR +.IP +Set the number of included blocks to precompute per cycle. (minimum: +500) (maximum: 2000) (default: 1000) +.HP \fB\-xionbackuppath=\fR .IP Specify custom backup path to add a copy of any automatic xION backup. @@ -591,6 +601,8 @@ Copyright (C) 2015-2019 The PIVX Core Developers Copyright (C) 2018-2019 The Ion Core Developers +Copyright (C) 2018-2018 The ION Core Developers + This is experimental software. Distributed under the MIT software license, see the accompanying file COPYING diff --git a/doc/release-notes.md b/doc/release-notes.md index 72bde04b6d780..9b16301b5690e 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,6 +1,6 @@ (note: this is a temporary file, to be added-to by anybody, and moved to release-notes at release time) -Ion Core version *version* is now available from: +ION Core version *version* is now available from: This is a new major version release, including various bug fixes and performance improvements, as well as updated translations. @@ -28,7 +28,7 @@ Mandatory Update How to Upgrade ============== -If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/Ion-Qt (on Mac) or iond/ion-qt (on Linux). +If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/ION-Qt (on Mac) or iond/ion-qt (on Linux). Compatibility @@ -38,11 +38,93 @@ Ion Core is extensively tested on multiple operating systems using the Linux ker Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support), No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk but be aware that there are known instabilities and issues. Please do not report issues about Windows XP to the issue tracker. -Ion Core should also work on most other Unix-like systems but is not frequently tested on them. +Apple released it's last Mountain Lion update August 13, 2015, and officially ended support on [December 14, 2015](http://news.fnal.gov/2015/10/mac-os-x-mountain-lion-10-8-end-of-life-december-14/). ION Core software starting with v3.2.0 will no longer run on MacOS versions prior to Yosemite (10.10). Please do not report issues about MacOS versions prior to Yosemite to the issue tracker. + +ION Core should also work on most other Unix-like systems but is not frequently tested on them. Notable Changes ============== +Minimum Supported MacOS Version +------ + +The minimum supported version of MacOS (OSX) has been moved from 10.8 Mountain Lion to 10.10 Yosemite. Users still running a MacOS version prior to Yosemite will need to upgrade their OS if they wish to continue using the latest version(s) of the ION Core wallet. + +Major New Features +------ + +### BIP65 (CHECKLOCKTIMEVERIFY) Soft-Fork + +ION Core v3.2.0 introduces new consensus rules for scripting pathways to support the [BIP65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki) standard. This is being carried out as a soft-fork in order to provide ample time for stakers to update their wallet version. + +### Automint Addresses + +A new "Automint Addresses" feature has been added to the wallet that allows for the creation of new addresses who's purpose is to automatically convert any ION funds received by such addresses to xION. The feature as a whole can be enabled/disabled either at runtime using the `-enableautoconvertaddress` option, via RPC/Console with the `enableautomintaddress` command, or via the GUI's options dialog, with the default being enabled. + +Creation of these automint addresses is currently only available via the RPC/Console `createautomintaddress` command, which takes no additional arguments. The command returns a new ION address each time, but addresses created by this command can be re-used if desired. + +### In-wallet Proposal Voting + +A new UI wallet tab has been introduced that allows users to view the current budget proposals, their vote counts, and vote on proposals if the wallet is acting as a masternode controller. The visual design is to be considered temporary, and will be undergoing further design and display improvements in the future. + +### Zerocoin Lite Node Protocol + +Support for the ZLN Protocol has been added, which allows for a node to opt-in to providing extended network services for the protocol. By default, this functionality is disabled, but can be enabled by using the `-peerbloomfilterszc` runtime option. + +A full technical writeup of the protocol can be found [Here](https://ioncoin.xyz/wp-content/uploads/2018/11/Zerocoin_Light_Node_Protocol.pdf). + +GUI Changes +------ + +### Console Security Warning + +Due to an increase in social engineering attacks/scams that rely on users relaying information from console commands, a new warning message has been added to the Console window's initial welcome message. + +### Optional Hiding of Orphan Stakes + +The options dialog now contains a checkbox option to hide the display of orphan stakes from both the overview and transaction history sections. Further, a right-click context menu option has been introduced in the transaction history tab to achieve the same effect. + +**Note:** This option only affects the visual display of orphan stakes, and will not prevent them nor remove them from the underlying wallet database. + +### Transaction Type Recoloring + +The color of various transaction types has been reworked to provide better visual feedback. Staking and masternode rewards are now purple, orphan stakes are now light gray, other rejected transactions are in red, and normal receive/send transactions are black. + +### Receive Tab Changes + +The address to be used when creating a new payment request is now automatically displayed in the form. This field is not user-editable, and will be updated as needed by the wallet. + +A new button has been added below the payment request form, "Receiving Addresses", which allows for quicker access to all the known receiving addresses. This one-click button is the same as using the `File->Receiving Addresses...` menu command, and will open up the Receiving Addresses UI dialog. + +Historical payment requests now also display the address used for the request in the history table. While this information was already available when clicking the "Show" button, it was an extra step that shouldn't have been necessary. + +### Privacy Tab Changes + +The entire right half of the privacy tab can now be toggled (shown/hidden) via a new UI button. This was done to reduce "clutter" for users that may not wish to see the detailed information regarding individual denomination counts. + +RPC Changes +------ + +### Backupwallet Sanity + +The `backupwallet` RPC command no longer allows for overwriting the currently in use wallet.dat file. This was done to avoid potential file corruption caused by multiple conflicting file access operations. + +Build System Changes +------ + +### Completely Disallow Qt4 + +Compiling the ION Core wallet against Qt4 hasn't been supported for quite some time now, but the build system still recognized Qt4 as a valid option if Qt5 couldn't be found. This has now been remedied and Qt4 will no longer be considered valid during the `configure` pre-compilation phase. + +### Further OpenSSL Deprecation + +Up until now, the zerocoin library relied exclusively on OpenSSL for it's bignum implementation. This has now been changed with the introduction of GMP as an arithmetic operator and the bignum implementation has now been redesigned around GMP. Users can still opt to use OpenSSL for bignum by passing `--with-zerocoin-bignum=openssl` to the `configure` script, however such configuration is now deprecated. + +**Note:** This change introduces a new dependency on GMP (libgmp) by default. + +### RISC-V Support + +Support for the new RISC-V 64bit processors has been added, though still experimental. Pre-compiled binaries for this CPU architecture are available for linux, and users can self-compile using gitian, depends, or an appropriate host system natively. *version* Change log ============== @@ -68,5 +150,4 @@ Detailed release notes follow. This overview includes changes that affect behavi Thanks to everyone who directly contributed to this release: - -As well as everyone that helped translating on [Transifex](https://www.transifex.com/cevap/iocoin//), the QA team during Testing and the Node hosts supporting our Testnet. +As well as everyone that helped translating on [Transifex](https://www.transifex.com/cevap/ioncoin/), the QA team during Testing and the Node hosts supporting our Testnet. diff --git a/qa/rpc-tests/txn_doublespend.py b/qa/rpc-tests/txn_doublespend.py index 2680fc02c8957..57bb1233163ab 100755 --- a/qa/rpc-tests/txn_doublespend.py +++ b/qa/rpc-tests/txn_doublespend.py @@ -26,7 +26,7 @@ def setup_network(self): def run_test(self): # All nodes should start with 1,250 BTC: - starting_balance = 1250 + starting_balance = 6250 for i in range(4): assert_equal(self.nodes[i].getbalance(), starting_balance) self.nodes[i].getnewaddress("") # bug workaround, coins generated assigned to first getnewaddress! diff --git a/share/pixmaps/ion-bc.ico b/share/pixmaps/ion-bc.ico deleted file mode 100644 index 0450c0fd53fe9..0000000000000 Binary files a/share/pixmaps/ion-bc.ico and /dev/null differ diff --git a/share/pixmaps/ion.ico b/share/pixmaps/ion.ico index 19a4081c21524..fad179e3de145 100644 Binary files a/share/pixmaps/ion.ico and b/share/pixmaps/ion.ico differ diff --git a/share/pixmaps/ion128.png b/share/pixmaps/ion128.png index 7dff11039fd08..b6431e025fb5e 100644 Binary files a/share/pixmaps/ion128.png and b/share/pixmaps/ion128.png differ diff --git a/share/pixmaps/ion128.xpm b/share/pixmaps/ion128.xpm index 8004456e685f3..2b100428ac070 100644 --- a/share/pixmaps/ion128.xpm +++ b/share/pixmaps/ion128.xpm @@ -1,894 +1,149 @@ /* XPM */ static char * ion128_xpm[] = { -"128 128 763 2", -" c None", -". c #0E1229", -"+ c #0D1229", -"@ c #0D1228", -"# c #0D122A", -"$ c #0D132A", -"% c #0D132B", -"& c #0E132B", -"* c #0C1229", -"= c #0E142C", -"- c #0E142D", -"; c #0E152D", -"> c #0E152E", -", c #0C1128", -"' c #0E152F", -") c #0F152F", -"! c #0F162F", -"~ c #0C1228", -"{ c #0F1630", -"] c #0E132C", -"^ c #0D1129", -"/ c #0F1631", -"( c #0F1731", -"_ c #0F1732", -": c #0F1832", -"< c #0F1833", -"[ c #101833", -"} c #101834", -"| c #101934", -"1 c #101935", -"2 c #101936", -"3 c #101A36", -"4 c #101A37", -"5 c #111A37", -"6 c #111B38", -"7 c #111B39", -"8 c #111C39", -"9 c #0E1733", -"0 c #151D39", -"a c #2E364E", -"b c #3B4258", -"c c #313850", -"d c #181F3A", -"e c #0D1530", -"f c #111C3A", -"g c #50566C", -"h c #B3B5BE", -"i c #EEEEF1", -"j c #FCFCFD", -"k c #FEFEFF", -"l c #FDFDFD", -"m c #F2F2F4", -"n c #BEC0C7", -"o c #5F6476", -"p c #111933", -"q c #111C3B", -"r c #121C3B", -"s c #121D3B", -"t c #101A39", -"u c #0E1938", -"v c #111B3A", -"w c #16213F", -"x c #1D2845", -"y c #232D49", -"z c #252F4B", -"A c #242E4A", -"B c #1F2946", -"C c #192340", -"D c #101B3A", -"E c #28304B", -"F c #BBBEC6", -"G c #FEFEFE", -"H c #FFFFFF", -"I c #CED0D5", -"J c #373C53", -"K c #121D3C", -"L c #101A3A", -"M c #131D3C", -"N c #2F3854", -"O c #5B6278", -"P c #868B9B", -"Q c #ABAEB9", -"R c #CCCED5", -"S c #E0E2E6", -"T c #F0F1F3", -"U c #F8F8F9", -"V c #FAFAFB", -"W c #FAFBFB", -"X c #F9F9FA", -"Y c #F3F4F5", -"Z c #E7E8EB", -"` c #D4D6DB", -" . c #B7BAC3", -".. c #9398A6", -"+. c #6A7083", -"@. c #3E465F", -"#. c #192341", -"$. c #353D57", -"%. c #E4E5E9", -"&. c #F1F2F3", -"*. c #4A4F64", -"=. c #0F1A39", -"-. c #28324E", -";. c #686F83", -">. c #ACB0BA", -",. c #E3E5E8", -"'. c #FCFCFC", -"). c #EFF0F2", -"!. c #C1C4CC", -"~. c #818596", -"{. c #F0F0F2", -"]. c #343A51", -"^. c #202A48", -"/. c #6E7488", -"(. c #C4C6CE", -"_. c #C7C9D0", -":. c #3D455F", -"<. c #A4A8B4", -"[. c #F3F3F5", -"}. c #545A6E", -"|. c #454D66", -"1. c #BBBEC7", -"2. c #B1B3BD", -"3. c #0D1632", -"4. c #343D58", -"5. c #B3B7C1", -"6. c #E8E9EC", -"7. c #131B37", -"8. c #192442", -"9. c #8B91A0", -"0. c #F6F7F8", -"a. c #E7E8EC", -"b. c #E5E7EA", -"c. c #EBEDEF", -"d. c #F5F5F7", -"e. c #FBFCFC", -"f. c #232C46", -"g. c #454E66", -"h. c #D9DBE0", -"i. c #D0D3DA", -"j. c #9DA3B1", -"k. c #71798D", -"l. c #4E5872", -"m. c #323E5B", -"n. c #212E4E", -"o. c #182647", -"p. c #152244", -"q. c #142143", -"r. c #142243", -"s. c #172445", -"t. c #1D2A4A", -"u. c #2B3755", -"v. c #434E69", -"w. c #646C83", -"x. c #8D94A4", -"y. c #BFC2CB", -"z. c #EDEEF0", -"A. c #2A324C", -"B. c #131E3D", -"C. c #858A9A", -"D. c #F9FAFA", -"E. c #E9EBEE", -"F. c #A2A7B5", -"G. c #59637B", -"H. c #233050", -"I. c #111F41", -"J. c #122043", -"K. c #142245", -"L. c #142244", -"M. c #111E40", -"N. c #192546", -"O. c #444E68", -"P. c #ECEDF0", -"Q. c #1F2843", -"R. c #212B49", -"S. c #B7BCC6", -"T. c #58627A", -"U. c #142345", -"V. c #142346", -"W. c #101E40", -"X. c #C0C3CC", -"Y. c #DCDEE2", -"Z. c #DBDDE2", -"`. c #9EA4B2", -" + c #34405E", -".+ c #111F42", -"++ c #152347", -"@+ c #788093", -"#+ c #AFB2BD", -"$+ c #0F1937", -"%+ c #444C65", -"&+ c #EBECEF", -"*+ c #FBFBFC", -"=+ c #A9AEBA", -"-+ c #303C5B", -";+ c #152447", -">+ c #152448", -",+ c #253252", -"'+ c #F0F1F4", -")+ c #828797", -"!+ c #101A38", -"~+ c #4B536B", -"{+ c #D3D6DC", -"]+ c #48536D", -"^+ c #152549", -"/+ c #132245", -"(+ c #7F8699", -"_+ c #8E92A0", -":+ c #485068", -"<+ c #8A90A2", -"[+ c #182547", -"}+ c #15254A", -"|+ c #162447", -"1+ c #8D92A0", -"2+ c #121D3D", -"3+ c #3B445E", -"4+ c #EFEFF2", -"5+ c #E6E8EB", -"6+ c #4C5671", -"7+ c #132144", -"8+ c #15264A", -"9+ c #16264B", -"0+ c #1C2A4C", -"a+ c #B5BAC5", -"b+ c #FEFFFF", -"c+ c #7E8394", -"d+ c #121E3D", -"e+ c #29334F", -"f+ c #CCCFD6", -"g+ c #2A3656", -"h+ c #16264C", -"i+ c #778094", -"j+ c #62687C", -"k+ c #182342", -"l+ c #CBCDD4", -"m+ c #B6BAC5", -"n+ c #1C294B", -"o+ c #16274C", -"p+ c #16274D", -"q+ c #142347", -"r+ c #202E4F", -"s+ c #6C758B", -"t+ c #B0B5C1", -"u+ c #D8DBE0", -"v+ c #E2E4E8", -"w+ c #B8BCC6", -"x+ c #777F92", -"y+ c #273351", -"z+ c #72798D", -"A+ c #F4F5F6", -"B+ c #3F465E", -"C+ c #101C3B", -"D+ c #9EA2AF", -"E+ c #ACB1BD", -"F+ c #172547", -"G+ c #16274E", -"H+ c #122044", -"I+ c #112043", -"J+ c #132244", -"K+ c #121F40", -"L+ c #656C82", -"M+ c #DFE0E4", -"N+ c #202844", -"O+ c #5E667B", -"P+ c #FDFDFE", -"Q+ c #B0B4C0", -"R+ c #16284E", -"S+ c #17284F", -"T+ c #132142", -"U+ c #676E84", -"V+ c #AFB2BC", -"W+ c #27314E", -"X+ c #C2C5CE", -"Y+ c #192749", -"Z+ c #172950", -"`+ c #787F92", -" @ c #666C7F", -".@ c #111C3C", -"+@ c #AFB3BE", -"@@ c #223050", -"#@ c #172951", -"$@ c #9CA1AF", -"%@ c #ECEDEF", -"&@ c #252D48", -"*@ c #545C73", -"=@ c #F3F4F6", -"-@ c #3B4663", -";@ c #172A51", -">@ c #172A52", -",@ c #172344", -"'@ c #C7CAD2", -")@ c #A6A9B4", -"!@ c #162140", -"~@ c #D8DADF", -"{@ c #6E768C", -"]@ c #182A53", -"^@ c #182B53", -"/@ c #2D3856", -"(@ c #EEEFF1", -"_@ c #424961", -":@ c #71788B", -"<@ c #B5B9C4", -"[@ c #182B54", -"}@ c #132041", -"|@ c #666E83", -"1@ c #C1C4CB", -"2@ c #101937", -"3@ c #F1F2F4", -"4@ c #2B3857", -"5@ c #17284E", -"6@ c #182C54", -"7@ c #182C55", -"8@ c #BABDC7", -"9@ c #4D546B", -"0@ c #6F7689", -"a@ c #7E8598", -"b@ c #182C56", -"c@ c #333E5A", -"d@ c #C0C2CA", -"e@ c #DFE1E5", -"f@ c #19284A", -"g@ c #182D56", -"h@ c #192D56", -"i@ c #192D57", -"j@ c #959AA9", -"k@ c #3E455E", -"l@ c #505970", -"m@ c #6B748A", -"n@ c #192D58", -"o@ c #273250", -"p@ c #A1A5B0", -"q@ c #AFB3BD", -"r@ c #E1E3E7", -"s@ c #182648", -"t@ c #192E58", -"u@ c #192E59", -"v@ c #1D2642", -"w@ c #202B49", -"x@ c #F4F4F6", -"y@ c #7D8598", -"z@ c #192F5A", -"A@ c #313C58", -"B@ c #656B7E", -"C@ c #646B80", -"D@ c #263453", -"E@ c #1A2F5A", -"F@ c #1A2F5B", -"G@ c #101D3F", -"H@ c #B9BCC6", -"I@ c #0E1836", -"J@ c #101B3B", -"K@ c #B1B6C2", -"L@ c #112044", -"M@ c #1A305C", -"N@ c #1B3561", -"O@ c #1C4674", -"P@ c #1D5382", -"Q@ c #1E5786", -"R@ c #1E5584", -"S@ c #1D4A79", -"T@ c #1B3A66", -"U@ c #5D667C", -"V@ c #172241", -"W@ c #5E687F", -"X@ c #1A305B", -"Y@ c #1D4D7C", -"Z@ c #2174A6", -"`@ c #2389BD", -" # c #238CC1", -".# c #238CC0", -"+# c #238CBF", -"@# c #238BBF", -"## c #238BC0", -"$# c #227DB1", -"%# c #1E5A8A", -"&# c #1A3460", -"*# c #1C2848", -"=# c #545B71", -"-# c #424B65", -";# c #1F2D4E", -"># c #152346", -",# c #1A2F5C", -"'# c #1C4371", -")# c #227BAE", -"!# c #2386BA", -"~# c #1D5684", -"{# c #101D3E", -"]# c #B1B5C0", -"^# c #9498A5", -"/# c #797F92", -"(# c #C1C5CE", -"_# c #101F43", -":# c #1E5686", -"<# c #238ABE", -"[# c #206FA0", -"}# c #19315C", -"|# c #6C7488", -"1# c #CDCFD5", -"2# c #0E1835", -"3# c #ADB1BC", -"4# c #838A9D", -"5# c #1E5B8A", -"6# c #238ABF", -"7# c #2175A7", -"8# c #19305B", -"9# c #333D59", -"0# c #1A2340", -"a# c #4D5771", -"b# c #1A305D", -"c# c #1D4D7B", -"d# c #1F6A9B", -"e# c #3B435C", -"f# c #39415B", -"g# c #C3C5CD", -"h# c #C5C8D1", -"i# c #3A4664", -"j# c #1B3663", -"k# c #2285B9", -"l# c #1C4C7A", -"m# c #0F1C3D", -"n# c #BEC2CB", -"o# c #60667A", -"p# c #101B39", -"q# c #5F657A", -"r# c #606A82", -"s# c #142348", -"t# c #1F6394", -"u# c #227FB2", -"v# c #969BA9", -"w# c #828796", -"x# c #565D72", -"y# c #57637C", -"z# c #1A3561", -"A# c #2387BB", -"B# c #747B8E", -"C# c #9EA2AE", -"D# c #262F4A", -"E# c #293859", -"F# c #1D4E7D", -"G# c #206E9F", -"H# c #5B647A", -"I# c #B6B9C3", -"J# c #0F1936", -"K# c #9C9FAC", -"L# c #9CA3B2", -"M# c #14254A", -"N# c #1F6798", -"O# c #2284B7", -"P# c #465069", -"Q# c #C5C8CF", -"R# c #0E1735", -"S# c #F1F1F3", -"T# c #F0F2F4", -"U# c #202F53", -"V# c #2177AA", -"W# c #248CC2", -"X# c #1A3762", -"Y# c #3A455F", -"Z# c #D0D2D8", -"`# c #555C71", -" $ c #55617C", -".$ c #227EB1", -"+$ c #248CC1", -"@$ c #1B3D69", -"#$ c #343F5B", -"$$ c #D6D8DD", -"%$ c #808595", -"&$ c #7F889D", -"*$ c #1B3E6A", -"=$ c #D7D8DD", -"-$ c #9196A3", -";$ c #9098AA", -">$ c #2179AB", -",$ c #1A3864", -"'$ c #39435F", -")$ c #D1D3D9", -"!$ c #898D9C", -"~$ c #8890A3", -"{$ c #206A9C", -"]$ c #19305A", -"^$ c #444D67", -"/$ c #C7CAD1", -"($ c #656F88", -"_$ c #2073A4", -":$ c #192C57", -"<$ c #576077", -"[$ c #B9BCC5", -"}$ c #2E3650", -"|$ c #2F3E5E", -"1$ c #1B3865", -"2$ c #238ABD", -"3$ c #1D5280", -"4$ c #70778B", -"5$ c #A2A6B2", -"6$ c #C0C4CE", -"7$ c #132449", -"8$ c #206B9C", -"9$ c #2284B8", -"0$ c #8F95A4", -"a$ c #878B9A", -"b$ c #111A38", -"c$ c #474E65", -"d$ c #495571", -"e$ c #1B3B69", -"f$ c #B7BBC5", -"g$ c #9299AA", -"h$ c #132348", -"i$ c #1E5787", -"j$ c #111E3F", -"k$ c #E2E3E7", -"l$ c #414961", -"m$ c #131D3B", -"n$ c #A7AAB5", -"o$ c #A7ACB9", -"p$ c #172549", -"q$ c #1F6899", -"r$ c #227FB1", -"s$ c #1A3560", -"t$ c #2B3653", -"u$ c #F6F6F7", -"v$ c #1F2844", -"w$ c #121C3A", -"x$ c #7B8192", -"y$ c #F8F9FA", -"z$ c #7B8397", -"A$ c #1F6596", -"B$ c #217BAD", -"C$ c #626A80", -"D$ c #D5D7DC", -"E$ c #0F1836", -"F$ c #2B3550", -"G$ c #9094A3", -"H$ c #1D507F", -"I$ c #1F6595", -"J$ c #A5A9B6", -"K$ c #9DA1AD", -"L$ c #1B2544", -"M$ c #515C75", -"N$ c #1E5E8D", -"O$ c #2282B5", -"P$ c #238DC1", -"Q$ c #2388BC", -"R$ c #1B3E6B", -"S$ c #162343", -"T$ c #5F6579", -"U$ c #0F1B3B", -"V$ c #BBBFC8", -"W$ c #A2A8B5", -"X$ c #122144", -"Y$ c #1C416E", -"Z$ c #1E5685", -"`$ c #1F6393", -" % c #206799", -".% c #1C4876", -"+% c #19335E", -"@% c #505971", -"#% c #242C48", -"$% c #70778A", -"%% c #EEEFF2", -"&% c #1D2B4C", -"*% c #A9ADB9", -"=% c #C5C7CE", -"-% c #293350", -";% c #6C758A", -">% c #25314F", -",% c #73788A", -"'% c #BEC1CA", -")% c #D2D5DC", -"!% c #82889A", -"~% c #F7F7F8", -"{% c #262E49", -"]% c #60687D", -"^% c #58617A", -"/% c #1C2847", -"(% c #B2B5BE", -"_% c #CFD1D9", -":% c #7F8597", -"<% c #4D546A", -"[% c #111D3C", -"}% c #828899", -"|% c #666F86", -"1% c #25304E", -"2% c #E6E7EB", -"3% c #202D4E", -"4% c #A3A7B4", -"5% c #60657A", -"6% c #868B9C", -"7% c #9CA2B1", -"8% c #4E576F", -"9% c #D3D5DA", -"0% c #131C39", -"a% c #1D2846", -"b% c #535D76", -"c% c #1F2B4A", -"d% c #565C71", -"e% c #6B7285", -"f% c #E7E9EC", -"g% c #283554", -"h% c #131F40", -"i% c #ADB2BD", -"j% c #BDBFC8", -"k% c #C6C9D0", -"l% c #192648", -"m% c #7C8295", -"n% c #343B55", -"o% c #37415B", -"p% c #A4A9B6", -"q% c #121F41", -"r% c #596178", -"s% c #818595", -"t% c #8F95A6", -"u% c #48516A", -"v% c #C8CAD1", -"w% c #141D3A", -"x% c #BABDC6", -"y% c #898FA1", -"z% c #132143", -"A% c #101F42", -"B% c #F0F0F3", -"C% c #2F3651", -"D% c #222C4A", -"E% c #E0E1E5", -"F% c #9399A9", -"G% c #45516C", -"H% c #868E9F", -"I% c #B0B5C0", -"J% c #C0C3CD", -"K% c #B4B8C3", -"L% c #8E94A4", -"M% c #4E5971", -"N% c #152142", -"O% c #505871", -"P% c #595F74", -"Q% c #3C455F", -"R% c #ABB0BC", -"S% c #1B2849", -"T% c #515C76", -"U% c #DFE1E6", -"V% c #828696", -"W% c #F8F9F9", -"X% c #CFD1D8", -"Y% c #323D5B", -"Z% c #9299A9", -"`% c #656B80", -" & c #646D83", -".& c #132043", -"+& c #999FAE", -"@& c #AEB1BB", -"#& c #6B7185", -"$& c #B1B5C1", -"%& c #646D84", -"&& c #B1B4BE", -"*& c #151E3C", -"=& c #636A7E", -"-& c #80879A", -";& c #1C294A", -">& c #141E3B", -",& c #50576F", -"'& c #767D91", -")& c #6A7288", -"!& c #B9BBC4", -"~& c #363F59", -"{& c #D9DADF", -"]& c #EAEBEE", -"^& c #8E95A5", -"/& c #34405D", -"(& c #B5BAC4", -"_& c #1E2845", -":& c #ACB0BB", -"<& c #C9CCD4", -"[& c #787F93", -"}& c #35405D", -"|& c #132042", -"1& c #122042", -"2& c #122041", -"3& c #101E3F", -"4& c #232E4D", -"5& c #E5E6EA", -"6& c #1C2541", -"7& c #6A7084", -"8& c #DEE0E5", -"9& c #A8ACB9", -"0& c #747C90", -"a& c #4A546E", -"b& c #293554", -"c& c #172446", -"d& c #111E41", -"e& c #101D40", -"f& c #0F1D3F", -"g& c #212E4D", -"h& c #3D4863", -"i& c #949AA9", -"j& c #CDD0D7", -"k& c #29314B", -"l& c #2B3450", -"m& c #B4B7C1", -"n& c #DEE0E4", -"o& c #CFD2D8", -"p& c #C6C9D1", -"q& c #C4C8D0", -"r& c #CBCED5", -"s& c #D8DAE0", -"t& c #EAECEF", -"u& c #252E47", -"v& c #555C72", -"w& c #D7D9DE", -"x& c #141F3D", -"y& c #697083", -"z& c #DCDDE2", -"A& c #BCBFC7", -"B& c #15203E", -"C& c #61687C", -"D& c #CACCD3", -"E& c #656A7C", -"F& c #3E4760", -"G& c #979BA9", -"H& c #DBDCE0", -"I& c #151C36", -"J& c #151F3D", -"K& c #4A5269", -"L& c #9196A4", -"M& c #D5D6DC", -"N& c #494E63", -"O& c #0F1938", -"P& c #848999", -"Q& c #FDFEFE", -"R& c #BDC0C8", -"S& c #656B7F", -"T& c #333C55", -"U& c #0E1937", -"V& c #4F566C", -"W& c #FBFBFB", -"X& c #6A6F7F", -"Y& c #0E1631", -"Z& c #0E1838", -"`& c #212B48", -" * c #303954", -".* c #3D455E", -"+* c #464E66", -"@* c #495169", -"#* c #474F67", -"$* c #404861", -"%* c #343D57", -"&* c #26304C", -"** c #182240", -"=* c #0E1837", -"-* c #41485F", -";* c #DBDCE1", -">* c #555A6D", -",* c #18203C", -"'* c #787D8D", -")* c #E2E3E6", -"!* c #888B99", -"~* c #1F263F", -"{* c #2F374F", -"]* c #555B6E", -"^* c #616678", -"/* c #585D70", -"(* c #353C52", -"_* c #0E122A", -":* c #0D1329", -"<* c #0C1129", -"[* c #0E1129", -" ", -" . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # # # # # # # # # # # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ $ $ % & & & & & & & & & & & & & & & & % $ $ $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ $ % & & & & = = = = = = = = = = = = = = = = = = & & & & % $ $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ % & & & = = = = = - - - - - - - - - - - - - - - - - - = = = = = & & & % $ $ $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ % & & = = = = - - - - ; > > > > > > > > > > > > > > > > > > ; ; - - - = = = = & & % $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ & & = = = - - - ; > > > > > ' ' ) ) ! ! ! ! ! ! ! ! ! ! ) ) ) ' > > > > > ; - - - = = = & & % $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" ~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ % & & = = - - - > > > > ' ) ! ! ! { { { { { { { { { { { { { { { { { { ! ! ! ) ' > > > > ; - - = = ] & % $ $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ^ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ % & & = = - - ; > > > ) ! ! { { { { { / ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( / / { { { { ! ! ) ' > > > - - = = = & % $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ & & = = - - > > > ) ! ! { { { / ( ( ( ( _ _ _ _ _ : : : : : : : : _ _ _ _ _ ( ( ( ( / { { { ! ! ) > > > ; - = = = & % $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ & & = = - ; > > ' ) ! { { { ( ( ( _ _ _ : : < [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ < < : _ _ _ ( ( ( { { { ! ! ' > > ; - = = & & $ $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ & & = = - ; > > ' ! { { { / ( ( _ _ : < [ [ [ } } } } | | | | | | | | | | | | | } } } [ [ [ < : _ _ ( ( ( { { { ! ) > > ; - = = & & $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ & = = - - > > ' ! { { { ( ( _ _ : < [ [ } } | | | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | | } } [ [ < : _ _ ( ( / { { ! ' > > ; - = = & % $ + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + $ % & = = - > > ' ! { { / ( ( _ _ < [ [ } } | 1 1 1 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 1 1 1 1 | | } [ [ < : _ ( ( / { { ! ' > > - = = & & $ # + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + # $ & & = - ; > > ) ! { { ( ( _ : < [ } } | 1 1 1 2 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 3 3 3 2 1 1 1 | | } [ [ : _ _ ( / { { ! > > ; - = = & $ $ + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + $ $ & = = - > > ' ! { { ( ( _ : [ [ } | 1 1 1 2 3 3 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 3 3 2 1 1 1 | } [ [ : _ ( ( { { ! ) > > - = = & % $ + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + $ % & = = - > > ) ! { / ( _ _ < [ } | 1 1 1 3 3 4 5 5 5 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 8 7 7 7 7 7 6 6 6 6 6 5 5 4 3 3 9 0 a b c d e : _ ( ( { { ! > > - - = & % $ + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + $ % & = - ; > ' ! { { ( _ _ < [ } | 1 1 2 3 3 5 5 6 6 6 6 7 7 8 f f f f f f f f f f f f f f f f f f f f 8 7 7 7 6 6 6 2 g h i j k l m n o p : _ ( { { ! ' > ; - = & & $ + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + $ % & = - ; > ' ! { / ( _ : [ [ | 1 1 1 3 3 5 5 6 6 6 7 7 8 f f f f q r r s s t u v w x y z A B C s u u D q f f f 7 7 E F G H H H H H H H H I J _ _ ( / { { ) > > - = & & $ + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + $ & & = - > > ) { { ( ( _ < [ } | 1 1 3 3 5 5 6 6 7 7 8 f f f r s s K L M N O P Q R S T U V W V X Y Z ` ...+.@.#.u f $.%.H H H H H H H H H H H &.*.: _ _ ( { { ) > > - = = & $ + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + $ & & = - > > ) { { ( _ _ [ [ | 1 1 3 3 5 5 6 6 7 7 f f f q s s K =.-.;.>.,.'.H H H H H H H H H H H H H H H H H G ).!.~.S H H H H H H H H H H H H H {.].[ : _ ( { { ! > > - = = & $ + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + $ % & = - > > ! { { ( _ : [ } | 1 1 3 4 5 6 6 7 7 f f q r s K D ^./.(.U H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H _.} [ < _ ( / { ! ' > - = = & $ + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + $ % & = - > > ) { / ( _ < [ } | 1 2 3 5 5 6 7 7 f f q r s K L :.<.[.H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H G }.| [ < _ ( / { ! > > - = & % $ + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + $ % & = - > > ! { / ( _ < [ } 1 1 3 4 5 6 6 7 8 f f r s K D |.1.j H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H 2.3.| [ < _ ( / { ! > > - = & % $ + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + # $ & = - ; > ) { { ( _ < [ | 1 1 3 4 5 6 7 7 f f r s K q 4.5.j H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H 6.7.1 | [ < _ ( / { ! > > - = & $ # + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + $ & = - ; > ) { { ( _ < [ | 1 1 3 5 5 6 7 8 f q s K K 8.9.0.H H H H H H H H H H H H H H H H H j U ).a.%.b.c.d.e.G H H H H H H H H H H H H H H H H H H H H H H H V f.2 1 | [ < _ ( / { ! > > - = & $ # + + + + + + + + + + + + + ", -" + + + + + + + + + + + + $ & = = - > ) { { ( _ < [ | 1 2 3 5 6 6 7 f f r s K q g.h.H H H H H H H H H H H H H H 0.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.G H H H H H H H H H H H H H H H H H H e.A.3 2 1 | [ < _ ( / { ) > ; - = & $ + + + + + + + + + + + + + ", -" + + + + + + + + + + + # % & = - > ' ! { ( _ < [ | 1 2 3 5 6 6 7 f f r K K B.C.D.H H H H H H H H H H H H E.F.G.H.I.J.K.K.L.L.L.L.L.L.L.L.L.L.L.q.M.N.O.P.H H H H H H H H H H H H H H H H H U Q.5 3 2 1 | [ < _ ( { { ) > - = = & $ + + + + + + + + + + + + ", -" + + + + + + + + + + + $ & = - > > ! { ( _ : [ | 1 2 3 5 6 6 7 f f s K K R.1.H H H H H H H H H H H V S.T.o.J.K.K.U.U.U.U.V.U.V.U.U.U.U.U.K.K.L.L.L.L.W.X.H H H H H H H H H H H H H H H H H Y.4 6 5 3 2 1 | [ < _ ( { ! ' > - = & $ # + + + + + + + + + + + ", -" + + + + + + + + + + $ & = - ; > ! { / _ : [ } 1 1 3 5 6 7 7 f q s K K 4.Z.H H H H H H H H H H 0.`. +.+U.U.U.V.V.V.V.V.V.++++++++V.V.V.V.V.V.U.U.K.K.L.@+H H H H H H H H H H H H H H H H H #+$+7 6 5 3 2 1 | [ : _ ( { ! > > - = & $ + + + + + + + + + + + ", -" + + + + + + + + + # % & = - > ) { / ( _ [ } 1 1 3 5 6 6 7 f q s K K %+&+H H H H H H H H H *+=+-+J.U.U.V.V.V.++;+;+;+;+;+>+>+>+>+;+;+;+;+;+++V.V.V.V.U.,+'+H H H H H H H H H H H H H H H H j )+!+7 6 5 3 2 1 } [ : ( / { ) > ; = = % $ + + + + + + + + + + ", -" + + + + + + + + + $ & = - > ' ! { ( _ [ } | 1 3 5 6 6 7 f q s K K ~+m H H H H H H H H H {+]+J.U.V.V.V.++;+;+>+>+>+>+>+>+^+^+^+^+>+>+>+>+>+>+;+;+;+V.V./+(+H H H H H H H H H H H H H H H H H G _+!+6 6 5 3 1 1 } [ _ ( { { ' > - = & $ # + + + + + + + + + ", -" + + + + + + + + $ % = = ; > ! { ( _ < [ | 1 3 4 5 6 7 f q s K K :+Y H H H H H H H H V <+[+U.V.V.++;+;+>+>+>+^+^+^+^+^+^+}+}+}+}+^+^+^+^+^+^+>+>+>+;+;+++|+S.H H H H H H H H H H H H H H H H H G 1+!+6 6 5 3 1 | } < _ ( { ! > > - = & $ + + + + + + + + + ", -" + + + + + + + + $ & = - > ) { { ( : [ } 1 2 3 5 6 7 f f s K 2+3+4+H H H H H H H H 5+6+7+V.V.++;+>+>+>+^+^+^+}+}+}+}+8+8+9+9+9+9+8+8+}+}+}+}+^+^+^+>+>+>+;+0+a+b+H H H H H H H H H H H H H H H H G c+!+6 5 4 3 1 | [ : _ / { ) > - = & % # + + + + + + + + ", -" + + + + + + + $ & = - > > ! { ( _ [ } | 1 3 5 6 7 8 f s K d+e+,.H H H H H H H H f+g+U.V.V.;+;+>+>+^+^+}+}+8+9+9+9+9+9+9+h+h+h+h+h+9+9+9+9+9+8+}+}+^+^+^+>+>+|+i+P.H H H H H H H d.l H H H H H H H '.j+!+6 5 3 1 1 } [ _ ( { ! ' > - = & $ + + + + + + + + ", -" + + + + + + # $ & = - > ) { / _ : [ | 1 3 5 6 6 8 f r K 2+k+l+H H H H H H H H m+n+V.V.++;+>+>+^+^+}+}+9+9+9+h+h+o+o+o+o+p+p+p+p+o+o+o+o+h+h+9+9+9+8+}+^+^+^+>+q+r+s+t+u+v+Z.w+x+y+z+W H H H H H H H A+B+7 6 5 3 1 | [ < _ ( { ! > ; = & % # + + + + + + + ", -" + + + + + + $ & = - > > ! { ( _ [ } 1 2 3 5 6 7 f r K K C+D+H H H H H H H H E+F+V.V.;+>+>+^+^+}+}+9+9+h+h+o+p+p+p+p+p+p+G+G+G+G+G+p+p+p+p+p+o+h+h+9+9+8+}+^+^+>+>+;+H+I+J+.+I.q.q.K+L+V H H H H H H H M+N+6 5 4 3 1 } [ : ( { { ' > - = & $ + + + + + + + ", -" + + + + + + $ & = - > ) { / _ < [ | 1 3 5 6 7 f f s K 2+O+P+H H H H H H H Q+F+V.V.;+>+>+^+}+}+9+9+h+o+o+p+p+G+R+R+R+R+R+S+S+S+S+R+R+R+R+R+G+p+p+p+o+h+9+9+}+}+^+^+>+;+++V.U.K.L.q.T+K+U+e.H H H H H H H V+!+6 5 3 1 | } [ _ ( { ! > ; = & % # + + + + + + ", -" + + + + + $ & = - > ' ! { ( _ [ } 1 2 4 6 6 8 f r K d+W+&+H H H H H H H X+Y+V.++;+>+^+^+}+8+9+h+o+p+p+p+R+R+S+S+S+S+S+S+Z+Z+Z+Z+Z+S+S+S+S+S+R+R+G+p+p+o+h+9+9+}+^+^+>+;+++V.U.K.L.q.T+K+`+G H H H H H H G @6 6 5 3 1 | [ : ( / { ' > - = & $ + + + + + + ", -" + + + + + $ & = - > ) { / _ < } | 1 3 5 6 7 f q K K .@+@H H H H H H H Z.@@V.++;+>+^+^+}+9+9+h+o+p+p+R+R+S+S+S+Z+Z+Z+Z+#@#@#@#@#@#@Z+Z+Z+Z+Z+S+S+R+R+G+p+o+h+9+9+}+}+^+>+;+++V.U.K.L.q.T+K+$@H H H H H H H %@&@6 5 3 2 1 } [ _ ( { ! > - = & $ + + + + + + ", -" + + + + # % = = ; > ! { ( _ [ } 1 3 4 6 7 8 f s K d+*@l H H H H H H =@-@V.++;+>+^+^+}+9+9+o+p+p+R+R+S+S+Z+Z+Z+#@;@;@;@>@>@>@>@>@>@>@;@;@#@#@Z+Z+S+S+R+R+p+p+o+h+9+8+}+^+>+;+++V.U.L.L.q.T+,@'@H H H H H H H )@$+6 5 3 1 | [ : ( { { ' > - = & $ + + + + + ", -" + + + + $ & = - > ) { / _ < [ | 1 3 5 6 7 f r K 2+!@~@H H H H H H G {@/+V.;+>+^+}+}+9+h+o+p+G+R+S+S+Z+Z+#@;@;@>@>@>@>@]@]@^@^@]@]@]@>@>@>@;@;@#@Z+Z+S+S+R+G+p+o+h+9+8+}+^+>+;+++V.U.L.r.q.T+/@(@H H H H H H *+_@6 5 3 2 1 } < _ ( { ) > - = & $ + + + + + ", -" + + + + $ & = - > ! { ( _ [ } 1 2 4 6 7 8 f s K d+:@H H H H H H H <@J+V.;+>+^+^+}+9+h+o+p+G+R+S+Z+Z+#@;@>@>@>@]@^@^@^@^@[@[@[@[@^@^@^@^@^@>@>@>@;@#@Z+Z+S+R+R+p+p+h+9+8+}+^+>+;+++V.K.L.q.T+}@|@G H H H H H H 1@2@6 5 3 1 | [ _ ( { ! > ; = = % # + + + + ", -" + + + # % = - > ' ! { ( : [ | 1 3 5 6 7 f r K 2+k+,.H H H H H H 3@4@V.;+>+^+^+}+9+h+o+p+R+5@S+Z+Z+#@;@>@>@^@^@^@[@[@[@6@6@7@7@6@6@[@[@[@^@^@^@]@>@>@;@Z+Z+S+S+R+p+p+h+9+8+}+^+>+;+V.U.K.L.q.T+K+8@H H H H H H P+9@6 5 3 1 | [ < _ / { ) > - = & $ + + + + ", -" + + + $ & = - > ) { ( _ < } 1 2 4 5 6 8 f s K d+0@H H H H H H H a@/+++>+>+^+}+9+h+o+p+R+S+S+Z+#@;@>@>@^@^@[@[@6@7@7@7@7@7@b@b@b@7@7@7@7@6@[@[@^@^@>@>@;@#@Z+S+S+R+p+p+h+9+}+^+>+>+;+V.U.L.r.T+T+c@0.H H H H H H d@$+6 4 3 1 } [ _ ( { ! > - = & $ + + + + ", -" + + + $ & = ; > ! { ( _ [ | 1 3 5 6 7 f q K 2+d+h.H H H H H H e@f@V.;+>+^+}+9+9+o+p+G+S+S+Z+#@;@>@]@^@^@[@7@7@7@b@b@g@h@h@i@i@h@h@g@g@b@7@7@7@[@[@^@]@>@;@#@Z+S+S+R+p+o+h+9+}+^+>+;+++V.K.L.q.T+K+j@H H H H H H j k@6 5 3 1 | [ : ( { ! > ; = = % # + + + ", -" + + # % = - > ' ! { ( : [ | 1 3 5 6 7 f s K d+l@G H H H H H H m@V.;+>+^+^+8+9+o+p+G+R+S+Z+#@;@>@^@^@[@6@7@7@b@h@i@i@i@i@i@n@n@n@i@i@i@i@h@b@b@7@6@[@^@^@>@>@#@Z+S+S+R+p+o+9+9+}+^+>+;+V.U.L.r.T+T+o@3@H H H H H H p@$+5 3 2 1 } < _ / { ' > - = & $ + + + ", -" + + $ & = - > ) { ( _ < } 1 2 4 6 7 8 f s K C+q@H H H H H H r@s@V.;+>+^+}+9+h+p+p+R+S+Z+#@;@>@^@^@[@7@7@b@h@i@i@n@t@t@t@t@u@u@t@t@t@t@n@i@i@h@b@7@7@[@^@^@>@>@#@Z+S+R+G+p+h+9+}+^+>+;+++V.K.L.q.T+K+j@H H H H H H T v@6 5 3 1 } [ _ ( { ) > - = & $ + + + ", -" + + $ & = - > ! { ( _ [ | 1 3 5 6 7 f r K d+w@x@H H H H H H y@V.;+>+^+}+9+9+o+p+R+S+Z+#@;@>@^@^@[@7@7@g@i@i@n@t@u@u@u@u@u@z@z@z@u@u@u@u@t@t@i@i@g@b@7@[@[@^@>@;@#@Z+S+R+p+o+h+9+}+^+>+;+V.U.L.r.T+}@A@X H H H H H H B@6 5 3 1 | [ : ( { ! > ; = & $ + + + ", -" + + $ & = ; > ! { ( : [ | 1 3 5 6 7 f s K d+C@H H H H H H d.D@V.;+>+^+}+9+h+p+G+S+S+Z+;@>@]@^@[@7@b@g@i@i@t@u@u@u@z@z@E@F@F@F@F@F@z@z@z@u@u@t@n@i@h@b@7@[@^@^@>@;@Z+Z+S+R+p+o+9+8+^+>+;+++V.K.L.q.T+G@H@H H H H H H .I@5 3 1 | [ < ( / { ' > - = % # + + ", -" + # % = - > ' { / _ < } 1 2 3 5 6 8 f s K J@+@H H H H H H K@L@;+>+^+}+9+9+o+p+R+S+Z+#@>@]@^@[@7@7@h@i@n@t@u@u@z@E@F@F@M@E@N@O@P@Q@R@S@T@u@u@u@t@n@i@h@b@7@[@^@]@>@#@Z+S+R+p+p+h+9+}+^+>+;+V.U.L.q.T+}@U@b+H H H H H [.v@6 4 2 1 } [ _ ( { ' > - = & # + + ", -" + # & = - > ) { ( _ [ } 1 2 5 6 7 f q K 2+V@&+H H H H H H W@V.;+>+^+}+9+h+p+G+S+Z+Z+;@>@^@[@7@7@g@i@n@t@u@z@E@F@X@M@M@Y@Z@`@ #.#+#@#.###$#%#&#u@u@t@i@h@b@7@[@^@>@>@#@Z+S+R+p+o+9+}+^+>+;+V.U.L.r.T+T+*#).H H H H H H =#6 5 3 1 } [ _ ( { ) > - = & $ + + ", -" + $ & = - > ) { ( _ [ } 1 3 5 6 7 f r K d+-#G H H H H H A+;#>#>+>+^+8+9+o+p+R+S+Z+#@>@^@^@[@7@b@i@n@t@u@z@E@F@M@,#'#)#.#@#@#@#@#@#@#@#@#@#@#!#~#u@u@n@i@g@7@6@[@^@>@;@Z+S+R+p+o+h+9+}+^+>+++V.K.L.q.T+{#]#H H H H H H ^#4 5 3 1 | [ _ ( { ! > - = & $ + + ", -" + $ & = - > ! { ( _ [ | 1 3 5 6 7 f s K d+/#H H H H H H (#_#;+>+^+}+9+h+p+G+S+S+Z+;@>@^@[@7@b@h@i@t@u@z@F@F@M@,#:#<#@#@#########@#@#@#@#@#@#@###[#}#t@n@i@b@7@[@^@>@>@#@Z+S+R+p+h+9+}+^+>+;+V.U.L.q.T+}@|#H H H H H H 1#2#5 3 1 | [ : ( { ! > ; = & $ + + ", -" + $ & = ; > ! { ( : [ | 1 3 5 6 8 f s K C+3#H H H H H H 4#V.;+>+^+}+9+o+p+R+S+Z+#@>@]@^@6@7@g@i@t@u@z@E@F@M@M@5#.#####################@#@#@#@#@#6#7#8#t@i@h@7@6@[@^@>@#@Z+S+R+p+o+9+}+^+>+;+V.U.L.r.T+}@9#P+H H H H H [.0#6 4 2 1 } < _ / ! > ; = & $ + + ", -" + $ & = ; > ! { ( : [ | 1 3 6 7 f q K q %+%.H H H H H H a#q+;+>+^+8+9+o+p+R+S+Z+;@>@^@[@7@b@i@n@t@u@z@F@M@b#c#@#########################@#@#@#@#6#6#d#n@n@i@b@7@[@^@>@;@Z+S+R+p+o+9+8+^+>+>+++V.K.r.q.T+}@6.H H H H H G e#6 4 2 1 } < _ / { ' > - = % # + ", -" + $ & - > ' { / _ < } 1 2 4 6 7 f v f#g#P+H H H H H H H h#i#q+^+}+9+9+p+p+5@S+Z+;@>@^@[@7@g@i@t@u@z@F@M@M@j#k#############################@#@#@#@#6#@#l#t@i@h@7@6@^@]@>@#@Z+S+G+p+h+9+}+^+>+;+V.K.L.q.T+m#n#H H H H H H o#6 5 3 1 } [ _ ( { ' > - = % # + ", -" # % = - > ' { / _ < } 1 2 5 6 7 p#q#A+H H H H H H H H H H A+r#s#}+9+h+p+G+S+Z+#@>@]@^@6@7@h@i@t@u@z@F@M@M@t###########.# # # # #.###########@#@#@#@#<#u#z@i@i@b@7@[@^@>@#@Z+S+R+p+h+9+}+^+>+;+V.K.L.q.T+K+v#H H H H H H w#6 5 3 1 } [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 6 7 x#D.H H H H H H H H H H H H D.y#^+9+h+p+R+S+Z+#@>@^@[@7@b@i@n@u@z@F@M@b#z#A#########.# # # # # # # #########@#@#@#@#6#@#l#t@i@b@7@[@^@>@;@Z+S+R+p+o+9+}+^+>+;+V.K.L.q.T+}@B#H H H H H H C#$+5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 6 D#%@H H H H H H H H H H H H H H P.E#9+o+p+R+S+Z+;@>@^@[@7@b@i@t@u@z@F@M@b#F# #######.# # # # # # # # # #########@#@#@#6#<#G#i@i@g@7@[@^@>@;@Z+S+R+p+o+9+}+^+>+;+V.U.L.q.T+}@H#H H H H H H I#2#5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 J#K#H H H H H H H H H H H H H H H H L#M#o+p+R+S+Z+;@>@^@[@7@g@i@t@u@z@F@M@M@N######### # # # # # # # # # #.#######@#@#@#6#<#O#u@i@g@7@[@^@>@;@Z+S+R+p+o+9+8+^+>+;+V.U.L.q.T+}@P#H H H H H H Q#R#5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 v@S#H H H H H H H H H H H H H H H H T#U#o+p+R+S+Z+;@>@^@[@7@g@i@t@u@z@F@M@,#V#######.# # # # #W#W# # # # #.#######@#@#@#@#<#@#X#i@h@7@6@^@]@>@Z+S+R+p+o+9+8+^+>+;+V.U.L.q.T+}@Y#H H H H H H Z#R#5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 `#H H H H H H H H H H H H H H H H H H $p+p+R+S+Z+;@>@^@[@7@h@i@t@u@E@X@M@,#.$######.# # # #+$W#W#W# # # # #########@#@#@#<###@$i@h@7@6@^@]@>@Z+S+R+p+o+9+8+^+>+;+V.U.L.q.T+}@#$H H H H H H $$2#5 3 1 | [ : ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 %$H H H H H H H H H H H H H H H H H H &$o+p+R+S+Z+;@>@^@[@7@g@i@t@u@E@F@M@,#u#######.# # # #+$W#W#+$ # # # #########@#@#@#<###*$i@h@7@6@^@]@>@#@S+R+p+o+9+8+^+>+;+V.U.L.q.T+}@#$H H H H H H =$2#5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 2@-$H H H H H H H H H H H H H H H H H H ;$h+p+R+S+Z+;@>@^@[@7@g@i@t@u@z@F@M@F@>$######.# # # # # #+$ # # # #.#######@#@#@#@#<#@#,$i@g@7@6@^@>@>@Z+S+R+p+o+9+8+^+>+;+V.U.L.q.T+}@'$H H H H H H )$R#5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 !$H H H H H H H H H H H H H H H H H H ~$o+p+R+S+Z+;@>@^@[@7@b@i@t@u@z@F@M@M@{$######## # # # # # # # # # #########@#@#@#6#<#k#]$i@g@7@[@^@>@;@Z+S+R+p+o+9+8+^+>+;+V.U.L.q.T+}@^$H H H H H H /$R#5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ) { ( _ [ } 1 3 5 B@H H H H H H H H H H H H H H H H H H ($o+p+R+S+Z+;@>@^@[@7@b@i@n@u@z@F@M@b#P@.######### # # # # # # # #.#########@#@#@#6#<#_$:$i@b@7@[@^@>@;@Z+S+R+p+o+9+}+^+>+;+V.U.L.q.T+}@<$H H H H H H [$2#5 3 1 | [ _ ( { ) > - = & $ + ", -" # % = - > ' { / _ < } 1 2 4 }$W H H H H H H H H H H H H H H H H W |$h+p+R+S+Z+#@>@^@[@7@b@h@i@t@u@E@X@M@1$2$##########.# # # # # #.#########@#@#@#@#6#@#3$n@i@b@7@[@^@>@;@Z+S+R+p+h+9+}+^+>+;+V.K.L.q.T+}@4$H H H H H H 5$J#5 3 1 | [ _ ( { ) > - = & $ + ", -" + $ & - > ' { / _ < } 1 2 4 J#d@H H H H H H H H H H H H H H H H 6$7$h+p+G+S+Z+#@>@]@^@6@7@g@i@t@u@z@F@M@,#8$@#############.#.#############@#@#@#@#6#<#9$}#i@h@7@6@^@]@>@#@Z+S+R+p+h+9+}+^+>+;+V.K.L.q.T+K+0$H H H H H H a$b$5 3 1 } [ _ ( { ' > - = % # + ", -" + $ & = > > { { _ : } | 2 4 6 c$*+H H H H H H H H H H H H H H e.d$9+9+o+p+R+S+Z+;@>@^@[@7@b@i@n@u@z@E@F@M@e$`@@###########################@#@#@#@#6#@#~#n@i@g@7@[@^@>@;@Z+Z+S+G+p+h+9+}+^+>+++V.K.L.q.T+{#f$H H H H H H @6 4 3 1 } < _ / { ' > - = % # + ", -" + $ & = ; > ! { ( : [ | 1 3 5 2@-$H H H H H H H H H H H H H H g$h$}+9+o+p+R+S+Z+#@>@^@[@6@7@h@i@t@u@z@F@M@M@i$.#@#####################@#@#@#@#@#6#<#7#u@i@h@b@7@[@^@>@;@Z+S+R+p+o+9+8+^+>+;+V.U.L.r.T+}@j$k$H H H H H G l$6 4 2 1 } < _ / { ' > = = $ + + ", -" + $ & = - > ! { ( _ [ | 1 3 5 6 m$n$G H H H H H H H H H H G o$p$^+}+9+h+p+G+S+Z+#@>@>@^@[@7@b@i@n@t@u@z@F@M@M@q$.#@#@#############@#@#@#@#@#@#6#<#r$s$t@i@b@7@[@^@]@>@#@Z+S+R+p+h+9+}+^+>+;+V.U.L.q.T+}@t$*+H H H H H u$v$5 3 1 | [ : ( { ! > ; = & $ + + ", -" + $ & = - > ! { ( _ [ } 1 3 5 6 7 w$x$x@H H H H H H H H y$z$++>+^+}+8+9+o+p+R+S+Z+;@>@^@[@6@7@g@i@t@u@u@z@F@X@M@A$.#@#@#@#@#@#@#@#@#@#@#@#@#6#6#B$X#t@i@h@7@7@[@^@>@;@Z+S+R+G+p+h+9+}+^+>+;+V.K.L.q.T+}@C$H H H H H H D$E$5 3 1 | [ _ ( { ! > - = & $ + + ", -" + $ & = - > ) { ( _ [ } 1 3 5 6 7 f v F$G$S H H H H H H (@Y+V.;+>+^+}+9+o+p+R+S+Z+#@>@>@^@[@7@b@h@i@t@u@u@z@F@F@F@H$k#@#@#@#@#@#@#@#@#@#@#6#6#I$}#t@i@i@b@7@[@^@]@>@#@Z+S+R+p+o+9+8+^+>+;+V.V.K.L.q.T+j$J$H H H H H H K$$+5 3 1 | [ _ ( { ! > - = & $ + + ", -" + # % = - > ' { / _ < } 1 2 4 6 7 f q K .@L$3@H H H H H H M$V.;+>+^+}+9+h+p+p+R+S+Z+;@>@^@^@[@7@b@i@i@t@u@u@z@E@F@F@z#N$O$P$@#@#@#@#@#.#Q$8$R$n@t@i@i@b@7@6@[@^@>@;@Z+S+S+G+p+h+9+}+^+>+;+V.U.L.r.T+}@S$6.H H H H H H T$6 5 3 1 } [ _ ( { ) > - = & $ + + ", -" + + $ & = ; > ! { ( : [ | 1 3 5 6 7 f s K U$V$H H H H H H W$X$++;+>+^+}+9+o+p+R+S+Z+Z+;@>@^@[@6@7@b@i@i@t@t@u@u@z@z@F@E@F@Y$Z$`$ %A$5#.%+%n@u@t@i@i@b@7@6@[@^@>@>@#@Z+S+R+p+o+9+8+^+^+>+++V.K.L.q.T+}@@%G H H H H H U #%5 4 2 1 } < _ / { ' > - = % # + + ", -" + + $ & = - > ! { ( _ [ | 1 3 5 6 7 f r K d+$%H H H H H H %%&%V.;+>+^+}+9+h+o+p+R+S+Z+#@>@>@^@[@6@7@b@h@i@n@t@u@u@u@z@z@z@z@z@z@u@u@u@u@u@t@n@i@h@b@7@6@[@^@]@>@#@Z+S+R+G+p+h+9+}+^+>+;+V.U.L.r.q.T+j$*%H H H H H H =%2#5 3 1 | [ : ( { ! > ; = & $ + + + ", -" + + $ & = - > ) { ( _ [ } 1 2 4 6 7 f q K 2+-%X H H H H H H ;%V.++>+>+^+}+9+h+p+G+R+S+Z+#@>@>@^@[@6@7@b@g@i@i@n@t@t@u@u@u@u@u@u@u@u@t@t@n@i@i@g@b@7@6@[@^@]@>@;@Z+S+S+R+p+o+9+8+^+^+>+;+V.K.L.q.T+}@>%=@H H H H H H ,%6 5 3 1 | [ _ ( { ! > - = & $ + + + ", -" + + # % = - > ' { / _ < } | 1 3 5 6 8 f s K U$'%H H H H H H )%K.V.;+>+^+}+9+9+o+p+R+S+S+Z+#@>@>@^@[@[@7@7@b@h@i@i@i@n@t@t@t@t@t@t@n@i@i@i@h@b@7@7@[@[@^@]@>@;@Z+Z+S+R+p+o+h+9+}+^+>+;+V.U.L.L.q.T+K+!%H H H H H H ~%{%6 4 2 1 } < _ ( { ) > - = & $ + + + ", -" + + + $ & = ; > ! { ( _ [ | 1 3 5 6 7 f r K d+]%H H H H H H G ^%V.++;+>+^+}+9+h+o+p+R+S+Z+Z+#@>@>@^@^@[@6@7@7@b@g@h@i@i@i@i@i@i@i@i@h@g@b@7@7@6@[@^@^@>@>@;@Z+Z+S+R+p+p+h+9+}+^+>+>+++V.K.L.q.T+}@/%6.H H H H H H (%E$5 3 1 | [ : ( { ! ' > - = % # + + + ", -" + + + $ & = - > ! { ( _ [ } 1 2 4 6 7 f f s K V@b.H H H H H H _%U.V.;+>+^+^+}+9+h+p+p+R+S+Z+Z+#@;@>@]@^@[@[@6@7@7@7@b@b@b@b@b@b@b@b@7@7@7@6@[@[@^@^@>@>@;@Z+Z+S+R+p+p+h+9+8+}+^+>+;+V.U.L.L.q.T+K+:%H H H H H H G <%6 5 3 1 | [ _ ( { ! > ; = & $ + + + + ", -" + + + $ & = - > ' { / _ : [ | 1 3 5 6 7 f r K [%}%H H H H H H G |%U.V.;+>+^+}+8+9+h+p+p+R+S+S+Z+#@;@>@>@^@^@^@[@[@6@7@7@7@7@7@7@7@7@6@[@[@^@^@^@>@>@;@#@Z+Z+S+R+p+p+o+9+9+}+^+>+;+V.V.K.L.q.T+}@1%(@H H H H H H )$b$5 3 2 1 } < _ ( { ) > - = & $ + + + + ", -" + + + # $ & = ; > ! { ( _ [ | 1 3 5 6 7 f q s K R.(@H H H H H H 2%3%V.++;+>+^+}+8+9+h+p+p+R+S+S+Z+Z+#@;@>@>@]@^@^@^@[@[@[@[@[@[@[@[@^@^@^@^@>@>@>@;@#@Z+S+S+R+p+p+o+9+9+}+^+>+;+++V.U.L.r.q.T+j$4%H H H H H H G 5%6 5 3 1 | [ : ( { ! ' > - = % # + + + + ", -" + + + + $ & = - > ) { ( _ < } | 2 3 5 6 7 f r K .@6%H H H H H H H 7%X$V.++>+>+^+}+8+9+h+p+p+R+R+S+Z+Z+Z+#@;@>@>@>@]@^@^@^@^@^@^@^@^@]@>@>@>@;@;@#@Z+Z+S+S+R+p+p+o+9+9+}+^+>+>+;+V.U.L.L.q.T+}@8%j H H H H H H 9%0%5 4 2 1 } [ _ ( { ! > - = & $ + + + + + ", -" + + + + $ % = - > ' ! { ( : [ | 1 3 5 6 7 f q s K a%Z H H H H H H j b%U.V.;+>+>+^+}+8+9+h+o+p+G+R+S+S+Z+Z+Z+#@;@;@>@>@>@>@>@>@>@>@>@>@;@;@#@Z+Z+Z+S+S+R+G+p+p+h+9+9+}+^+^+>+;+V.U.K.L.q.T+}@c%S H H H H H H G d%6 5 3 1 | [ : _ / { ' > - = & $ + + + + + ", -" + + + + + $ & = - > ! { ( _ [ } 1 2 3 5 6 7 f r K K e%k H H H H H H f%g%U.V.;+>+>+^+}+8+9+h+o+p+p+R+R+S+S+S+Z+Z+Z+#@#@#@;@;@;@;@#@#@#@Z+Z+Z+Z+S+S+R+R+p+p+o+h+9+8+}+^+^+>+;+V.V.K.L.q.T+T+h%i%H H H H H H H j%2@5 4 2 1 } [ _ ( { ! > ; = = % # + + + + + ", -" + + + + + $ & = - > ' { / ( : [ | 1 3 5 6 7 8 f s K B.k%H H H H H H H h#l%U.V.;+>+>+^+}+}+9+9+h+o+p+p+R+R+S+S+S+S+Z+Z+Z+Z+Z+Z+Z+Z+Z+Z+S+S+S+S+R+R+p+p+p+h+9+9+8+}+^+>+>+;+V.V.K.L.r.q.T+K+m%G H H H H H H u$n%6 5 3 1 | [ : _ / { ) > - = & $ + + + + + + ", -" + + + + + # $ & = ; > ! { ( _ < } 1 1 3 5 6 7 f q K K o%u$H H H H H H H p%L.U.V.;+;+>+^+^+}+8+9+9+o+o+p+p+G+R+R+R+S+S+S+S+S+S+S+S+S+S+R+R+R+G+p+p+p+o+h+9+9+}+^+^+>+>+;+V.V.K.L.r.q.T+q%r%V H H H H H H H s%4 5 3 2 1 } [ _ ( { ! > ; - = % # + + + + + + ", -" + + + + + + $ & = - > ' { { ( _ [ | 1 3 4 6 6 7 f r K q x$H H H H H H H G t%7+U.V.++;+>+>+^+}+}+9+9+9+h+o+p+p+p+p+G+R+R+R+R+R+R+R+R+G+p+p+p+p+o+h+h+9+9+}+}+^+^+>+;+;+V.U.K.L.r.q.T+}@u%=@H H H H H H H v%w%6 5 3 1 | [ : _ / { ) > - = & $ + + + + + + + ", -" + + + + + + # % = = ; > ! { ( _ < } | 1 3 5 6 7 f f s K 2+x%H H H H H H H G y%z%U.V.V.;+>+>+^+^+}+}+9+9+9+h+h+o+o+p+p+p+p+p+p+p+p+p+p+o+o+h+h+9+9+9+8+}+^+^+>+>+;+++V.I+A%.+z%q.T+}@O.B%H H H H H H H (@C%6 5 3 1 1 } [ _ ( { ! > ; - = & $ + + + + + + + ", -" + + + + + + + $ & = - > ' { { ( _ [ } 1 2 3 5 6 7 f q s K D%E%H H H H H H H G F%L.U.V.V.;+;+>+>+^+^+}+}+8+9+9+9+9+h+h+h+h+h+h+h+h+h+h+9+9+9+9+8+}+}+^+^+>+>+;+;+/+G%H%I%J%K%L%M%N%O%3@H H H H H H H e.P%6 5 4 2 1 | [ : ( / { ) > - = & $ + + + + + + + + ", -" + + + + + + + # % & = - > ) { / _ : [ | 1 3 4 6 6 7 f q s K Q%3@H H H H H H H H R%S%K.U.V.V.;+;+>+>+^+^+^+}+}+}+8+9+9+9+9+9+9+9+9+9+9+8+8+}+}+^+^+^+>+>+>+;+/+T%i.G H H H H H G U%~%H H H H H H H G V%2@6 5 3 1 | [ < _ ( { ! > ; - = % $ + + + + + + + + ", -" + + + + + + + + $ & = - > > ! { ( _ [ } | 1 3 5 6 6 7 f r K K *@W%H H H H H H H H X%Y%L.U.V.V.V.;+;+>+>+>+^+^+^+^+}+}+}+}+}+}+}+}+}+}+^+^+^+^+>+>+>+;+;+++;+Z%j H H H H H H H H H H H H H H H H H C#b$6 5 3 1 1 } [ _ ( { ! ' > - = & $ + + + + + + + + + ", -" + + + + + + + + # $ & = - > ) { { ( _ [ } 1 1 3 5 6 7 8 f r K q `%*+H H H H H H H H ). &.&K.U.V.V.V.;+;+;+>+>+>+>+^+^+^+^+^+^+^+^+^+^+>+>+>+>+;+;+;+V.V./++&k H H H H H H H H H H H H H H H H H @&w%6 5 3 2 1 | [ : ( / { ) > - = = % # + + + + + + + + + ", -" + + + + + + + + + $ & = = ; > ! { / _ : [ } 1 2 3 5 6 7 8 f r K q #&*+H H H H H H H H G $&u.z%K.U.U.V.V.++;+;+;+;+>+>+>+>+>+>+>+>+>+>+;+;+;+;+++V.V.V.K.%&G H H H H H H H H H H H H H H H H H &&*&6 5 4 2 1 | [ < _ ( { ! > > - = & $ + + + + + + + + + + ", -" + + + + + + + + + + $ & = - > > ! { ( _ < [ | 1 3 4 5 6 7 8 f r K q =&U H H H H H H H H H 3@-&S%L.K.K.U.V.V.V.V.V.++++;+;+;+;+;+;+++++V.V.V.V.V.U.K.K.;&2%H H H H H H H H H H H H H H H H H n$>&6 5 4 3 1 | } < _ ( { ! ' > - = & $ # + + + + + + + + + + ", -" + + + + + + + + + + # % & = - > ' { { ( _ < [ | 1 3 4 5 6 7 8 f r s q ,&(@H H H H H H H H H H %.'&;&z%L.K.K.U.U.U.V.V.V.V.V.V.V.V.V.V.U.U.U.K.K.L.L.L.)&H H H H H H H H H H H H H H H H H !&b$6 5 4 3 1 | } [ _ ( { { ) > - = = % $ + + + + + + + + + + + ", -" + + + + + + + + + + + $ & = = ; > ) { / ( _ [ } | 1 3 4 5 6 7 8 f q s K ~&{&H H H H H H H H H H H ]&^&/&I.L.L.L.L.K.K.K.K.K.K.K.K.K.K.L.L.L.L.L.r.q.M.(&H H H H H H H H H H H H H H H H H ` J#5 4 3 1 1 } [ : ( / { ! > ; - = & $ + + + + + + + + + + + + ", -" + + + + + + + + + + + + $ & = - ; > ! { / ( _ [ } | 1 3 4 5 6 7 7 f f s K _&:&G H H H H H H H H H H H W <&[&}&|&1&L.L.L.L.L.L.L.L.L.L.r.r.q.q.q.2&3&4&5&H H H H H H H H H H H H H H H H H u$6&4 3 1 1 } [ : _ / { ! > > - = & $ # + + + + + + + + + + + + ", -" + + + + + + + + + + + + # $ & = - > > ! { / ( _ [ } | 1 3 4 5 6 6 7 f f r K q 7&).H H H H H H H H H H H H H '.8&9&0&a&b&c&d&G@G@e&G@f&W.q.g&h& &i&j&0.H H H H H H H H H H H H H H H H H H e.k&3 1 1 } [ : _ ( { ! ' > - = & % $ + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + $ % & = - > ' ! { ( _ _ [ } | 1 2 3 5 6 6 7 8 f q s r l&m&P+H H H H H H H H H H H H H H H H W T n&o&p&X+q&r&s&t&U G H H H H H H H H H H H H H H H H H H H H H H *+u&1 | } [ : _ ( { ! ' > - = = & $ + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + $ % = = - > ' ! { ( _ _ [ } | 1 2 3 5 5 6 7 7 f f r s v v&w&H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H z.0 | } [ : _ ( { ! ' > ; = = & $ + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + $ & = = - > ' ! { ( ( _ [ [ | 1 1 3 4 5 6 6 7 8 f f r s x&y&z&k H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H A&3.} [ : _ ( { ! ' > ; - = & $ + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + $ & = = - > ' ! { / ( _ < [ } 1 1 3 3 5 5 6 7 7 8 f f r s B&C&D&l H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H E&} [ _ _ ( { ! ' > ; - = & $ # + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + # $ & = = - > ' ! { / ( _ < [ } | 1 1 3 4 5 6 6 7 7 8 f f q s D F&G&5+H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H&I&< _ ( / { ! ' > ; - = & $ # + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + # $ & = = - > ' ! { / ( _ : [ } | 1 1 2 3 5 5 6 6 7 7 8 f f q r v J&K&L&M&D.H H H H H H H H H H H H H H H H H H H P+b.Q {.H H H H H H H H H H H H H D.N&: _ ( / { ! ' > ; - = & $ $ + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + # $ & = = - > > ! { { ( _ _ < [ } | 1 1 3 3 5 5 6 6 6 7 7 8 f f f q v O&z v&P&q@D$&+D.P+G G H b+G Q&'.3@M+R&..S&T&f U&V&x@H H H H H H H H H H H W&X&Y&_ ( { { ! ' > - - = & $ # + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + # $ & = = - > > ) ! { / ( _ : [ [ } | 1 1 3 3 5 5 6 6 6 7 7 7 8 f f f f f f O&Z&J&`& *.*+*@*#*$*%*&***O&=*p#f 7 7 7 !+-*;*H H H H H H H H H 6.>*Y&( ( { { ) > > - = = & $ # + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + # $ & = = - ; > ' ! { { ( _ _ < [ } | 1 1 1 3 3 4 5 5 6 6 6 6 7 7 7 8 8 f f f f f f f f f f f f 8 8 7 7 7 6 6 6 6 5 5 ,*'*{&j H H H l )*!*~*( ( / { ! ) > > - = = & $ # + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + $ % & = - - > > ! { { / ( _ _ < [ } } | 1 1 2 3 3 4 5 5 5 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 5 5 5 4 3 3 2 1 } {*]*^*/*(*p Y&( ( { { ! ' > ; - = = & $ # + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + $ % & = = - > > ' ! { { ( ( _ _ < [ } } | 1 1 1 2 3 3 3 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 3 3 3 2 1 1 1 | | } [ [ : _ ( ( { { ! ) > > - - = & % $ + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + $ $ & = = - ; > > ) ! { { ( ( _ _ < [ [ } | | 1 1 1 1 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 2 1 1 1 1 | | } [ [ < : _ ( ( { { { ) > > ; - = = & $ $ + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + # $ & & = = - > > ' ) ! { { ( ( _ _ : [ [ [ } } | | 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 | | | } [ [ [ : _ _ ( ( { { { ! ' > > - - = & & $ # + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ & = = - - > > ' ) ! { { / ( ( _ _ : < [ [ [ } } } | | | 1 1 1 1 1 1 1 1 1 1 | | | | } } [ [ [ < : _ _ ( ( ( { { { ! ' > > ; - = = & % $ + + + + + + + + + + + + + + + + + + + + + + + + + + + # ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ % & = = - - > > ' ) ! { { { ( ( ( _ _ : : < [ [ [ [ [ } } } } } } } } } } [ [ [ [ [ < : : _ _ ( ( ( / { { ! ! ' > > ; - = = & & $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + _* ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ & & = = - - > > > ) ! { { { { / ( ( ( _ _ _ _ : : < < < < < < < < < < : : _ _ _ _ ( ( ( ( { { { { ! ) > > > ; - = = & & $ $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" :*+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ & & = = - - ; > > ' ) ! ! { { { { / ( ( ( ( ( _ _ _ _ _ _ _ _ _ _ ( ( ( ( ( / { { { { { ! ) ' > > > - - = = & & % $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ & & = = = - - > > > > ' ) ! ! { { { { { { / / / / / / / / / / { { { { { { { ! ! ) ' > > > ; - - = = & & % $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ & & = = = - - - > > > > > ' ) ! ! ! ! { { { { { { { { { { ! ! ! ! ) ' ' > > > > ; - - = = = & & % $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" ^ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ $ % & & = = = = - - ; ; > > > > > > ' ' ' ' ' ' ' ' ' ' > > > > > > > ; - - - = = = & & % $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # ", -" :*+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ % & & = = = = = - - - - ; ; > > > > > > > > > > ; ; - - - - - = = = = & & & $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ % & & & & = = = = = = = = = = = = = = = = = = = = = = & & & & % $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ $ $ % & & & & & & & & = = = = & & & & & & & & % $ $ $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # ", -" :*+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # $ $ $ $ $ $ $ $ $ % % $ $ $ $ $ $ $ $ $ # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + :*+ ", -" # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <*[* ", -" ", -" "}; +"128 128 18 1", +" c None", +". c #000000", +"+ c #25A9E0", +"@ c #26A9E0", +"# c #27AAE1", +"$ c #25AAE0", +"% c #26A8E0", +"& c #25A8DF", +"* c #26AAE0", +"= c #26A9DF", +"- c #26ABE1", +"; c #26A9E1", +"> c #25A9E2", +", c #25A9E1", +"' c #27A9E0", +") c #27A8DF", +"! c #26A8DF", +"~ c #27A9E1", +" ", +" ", +" ", +" ", +" ", +" ", +" ...... ", +" .... ........... ", +" ...................... .............. ", +" .............................. ................. ", +" ..................................................... ", +" ......................................................... ", +" ............................................................ ", +" .............................................................. ", +" ................................................................. ", +" ................................................................... ", +" ....................... .............................. ", +" .................... ......................... ", +" ................... ........................ ", +" ................. ........................ ", +" ............... ........................ ", +" .............. ........................ ", +" .............. ........................ ", +" .............. ......................... ", +" .............. .......................... ", +" ............ ......................... ", +" ............ ......................... ", +" ............ .......................... ", +" ............ ......................... ", +" ........... ........... ........... ", +" ........... ...... ........... ", +" ........... .......... ", +" ........... .......... ", +" ........... ........... ", +" .......... .......... ", +" .......... .......... ", +" .......... .......... ", +" .......... .......... ", +" .......... .......... ", +" .......... ......... ", +" .......... .......... ", +" ......... ......... ", +" ......... ......... ", +" ......... ......... ", +" ......... ......... ", +" ......... ......... ", +" ......... ......... ", +" ......... ......... ", +" ......... +@#$$%& ......... ", +" ......... *@$$$$$$$$$$= ......... ", +" ......... -$$$$$$$$$$$$$$$@ ........ ", +" ........ @$$$$$$$$$$$$$$$$$$@ ........ ", +" ......... @$$$$$$$$$$$$$$$$$$$$= ......... ", +" ......... @$$$$$$$$$$$$$$$$$$$$$$$ ......... ", +" ......... %$$$$$$$$$$$$$$$$$$$$$$$$+ ........ ", +" ........... +$$$$$$$$$$$$$$$$$$$$$$$$$$ ........ ", +" ............... $$$$$$$$$$$$$$$$$$$$$$$$$$$; ........ ", +" ................. +$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ........ ", +" ................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$$# ......... ", +" ..................... >$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ......... ", +" ..................... ,$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ......... ", +" ....................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$; ......... ", +" ....................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ......... ", +" ........................ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ......... ", +" ......................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ........ ", +" ......................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ ......... ", +" ......................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ ......... ", +" ......................... %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$' ......... ", +" ......................... ,$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ......... ", +" ....................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ......... ", +" ....................... ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$, ........ ", +" ....................... $$$$$$$$$$$$$$$$$$$$$$$$$$$$ ........ ", +" ..................... =$$$$$$$$$$$$$$$$$$$$$$$$$$% ........ ", +" .................... $$$$$$$$$$$$$$$$$$$$$$$$$) ........ ", +" ................... $$$$$$$$$$$$$$$$$$$$$$$@ ......... ", +" ................. *$$$$$$$$$$$$$$$$$$$$$$ ......... ", +" .............. !$$$$$$$$$$$$$$$$$$$% ........ ", +" ............ ~$$$$$$$$$$$$$$$$@ ........ ", +" ......... @$$$$$$$$$$$$, ......... ", +" ......... %@$$$$$$~' ......... ", +" ......... ........ ", +" ......... ......... ", +" ......... ......... ", +" ......... ........ ", +" ......... ......... ", +" .......... ......... ", +" ......... ......... ", +" .......... ......... ", +" ......... ......... ", +" .......... .......... ", +" ......... ......... ", +" .......... .......... ", +" .......... .......... ", +" ........... .......... ", +" .......... .......... ", +" .......... .......... ", +" ........... ........... ", +" ........... ........... ", +" ........... ......... ........... ", +" ........... ............. ........... ", +" ............ .......................... ", +" ............ .......................... ", +" ............. .......................... ", +" ............. .......................... ", +" ............. ......................... ", +" .............. ......................... ", +" .............. ........................ ", +" ............... ........................ ", +" ................ ........................ ", +" ................. ........................ ", +" ................... ......................... ", +" ..................... ........................... ", +" .......................... .................................. ", +" .................................................................. ", +" ............................................................... ", +" ............................................................. ", +" .......................................................... ", +" ....................................................... ", +" .................................................... ", +" .......................... ................ ", +" .............. ............. ", +" ......... ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/share/pixmaps/ion16.png b/share/pixmaps/ion16.png index 838337def2257..b800f70c7b2ba 100644 Binary files a/share/pixmaps/ion16.png and b/share/pixmaps/ion16.png differ diff --git a/share/pixmaps/ion16.xpm b/share/pixmaps/ion16.xpm index cf566257e9dbd..007c271d9937a 100644 --- a/share/pixmaps/ion16.xpm +++ b/share/pixmaps/ion16.xpm @@ -1,72 +1,25 @@ /* XPM */ static char * ion16_xpm[] = { -"16 16 53 1", +"16 16 6 1", " c None", -". c #0D1229", -"+ c #0D122A", -"@ c #0E142C", -"# c #0E142D", -"$ c #0E152E", -"% c #0F1731", -"& c #101833", -"* c #101935", -"= c #0D132B", -"- c #0F1630", -"; c #111B38", -"> c #111C3B", -", c #ADB0BB", -"' c #E6E8EB", -") c #747A8C", -"! c #FFFFFF", -"~ c #FEFEFF", -"{ c #101A36", -"] c #121D3B", -"^ c #FDFDFD", -"/ c #152345", -"( c #142244", -"_ c #4C5670", -": c #142346", -"< c #15254A", -"[ c #16274C", -"} c #9198A8", -"| c #9096A6", -"1 c #152447", -"2 c #172A51", -"3 c #182B54", -"4 c #F6F6F7", -"5 c #202945", -"6 c #192D57", -"7 c #1A305C", -"8 c #206C9D", -"9 c #142143", -"0 c #238CC0", -"a c #238BBF", -"b c #15264C", -"c c #238CC1", -"d c #1C426F", -"e c #238BC0", -"f c #D4D6DC", -"g c #444C63", -"h c #303D5C", -"i c #36415D", -"j c #BABEC8", -"k c #122041", -"l c #2D3651", -"m c #FEFEFE", -"n c #D9DBE0", -".....+@##@+.....", -"...+$%&**&%$+...", -"..=-*;>,')!~-=..", -".+-{]!^/(_!!{-+.", -".$*]!:<[[<}|!*$.", -"+%;!1[2332[:45%+", -"@&]!<267862<9!&@", -"#*!![3700a3[(!*#", -"#*!!b370ca3[(!*#", -"@&>!<26de62<9!&@", -"+%;!:[2332[:fg%+", -".$*]!:<[[ c #0E142C", -", c #0E142D", -"' c #0C122A", -") c #0E152D", -"! c #0E152E", -"~ c #0E152F", -"{ c #0F152F", -"] c #0F162F", -"^ c #0F1630", -"/ c #0C1229", -"( c #0F1631", -"_ c #0E122A", -": c #0F1731", -"< c #0C1129", -"[ c #0F1732", -"} c #0F1832", -"| c #0F1833", -"1 c #101833", -"2 c #0E1129", -"3 c #101834", -"4 c #101934", -"5 c #101935", -"6 c #101936", -"7 c #101A36", -"8 c #101A37", -"9 c #111A37", -"0 c #111B38", -"a c #111B39", -"b c #111935", -"c c #111A36", -"d c #0F1834", -"e c #0D1632", -"f c #0B1430", -"g c #0A122E", -"h c #0B122F", -"i c #0D1430", -"j c #111C39", -"k c #111C3A", -"l c #111B37", -"m c #0D1733", -"n c #09112F", -"o c #101734", -"p c #262D47", -"q c #444A60", -"r c #5D6276", -"s c #6B7182", -"t c #6D7383", -"u c #62687A", -"v c #4C5166", -"w c #2E344C", -"x c #141B36", -"y c #09102C", -"z c #0C132F", -"A c #121B38", -"B c #0B1432", -"C c #0F1734", -"D c #9296A3", -"E c #CED0D6", -"F c #EDEEF0", -"G c #F7F8F8", -"H c #FDFDFD", -"I c #FEFEFE", -"J c #FAFAFA", -"K c #F0F1F2", -"L c #DADCE0", -"M c #A4A7B1", -"N c #5A5F71", -"O c #181E38", -"P c #111C3B", -"Q c #121C38", -"R c #0E1835", -"S c #0F1634", -"T c #5E6377", -"U c #C9CBD2", -"V c #F8F8F9", -"W c #FEFEFF", -"X c #FFFFFF", -"Y c #FCFCFC", -"Z c #DDDEE2", -"` c #7F8391", -" . c #1C213B", -".. c #0A122D", -"+. c #101933", -"@. c #121C3B", -"#. c #121D3B", -"$. c #131E3C", -"%. c #101B3A", -"&. c #101B39", -"*. c #111B3A", -"=. c #121D3C", -"-. c #131D3C", -";. c #121C39", -">. c #3D435B", -",. c #C3C5CD", -"'. c #DEDFE3", -"). c #626778", -"!. c #0C122D", -"~. c #0F1A39", -"{. c #0C1737", -"]. c #0A1535", -"^. c #0D1737", -"/. c #16213F", -"(. c #1E2846", -"_. c #252F4C", -":. c #2D3752", -"<. c #333C57", -"[. c #37405A", -"}. c #3B435D", -"|. c #3B445D", -"1. c #3A425C", -"2. c #363F59", -"3. c #313A55", -"4. c #2B3450", -"5. c #232D49", -"6. c #1B2643", -"7. c #141F3D", -"8. c #0F1938", -"9. c #0C1635", -"0. c #091434", -"a. c #0B1534", -"b. c #0E1635", -"c. c #777C8D", -"d. c #F0F1F3", -"e. c #FEFFFF", -"f. c #FBFBFB", -"g. c #A6A9B3", -"h. c #191E38", -"i. c #0E1631", -"j. c #0E1838", -"k. c #192342", -"l. c #2E3753", -"m. c #4A5269", -"n. c #6A7185", -"o. c #8B91A0", -"p. c #A6AAB6", -"q. c #B9BDC6", -"r. c #CCCED5", -"s. c #DCDEE2", -"t. c #E7E8EB", -"u. c #EFEFF2", -"v. c #F3F4F5", -"w. c #F5F5F7", -"x. c #F6F6F7", -"y. c #F6F6F8", -"z. c #F6F7F8", -"A. c #F5F6F7", -"B. c #F4F5F6", -"C. c #F2F3F4", -"D. c #EDEDF0", -"E. c #E4E5E9", -"F. c #D7D9DF", -"G. c #C6C9D0", -"H. c #B4B7C1", -"I. c #9FA3B0", -"J. c #828897", -"K. c #60677B", -"L. c #404961", -"M. c #26304C", -"N. c #141E3C", -"O. c #0B1635", -"P. c #0A1435", -"Q. c #0D1837", -"R. c #121B39", -"S. c #9A9FAB", -"T. c #FBFBFC", -"U. c #C7C9D0", -"V. c #252A43", -"W. c #0E1530", -"X. c #0F1A3A", -"Y. c #0B1636", -"Z. c #0C1736", -"`. c #1B2542", -" + c #696F83", -".+ c #9A9FAC", -"++ c #BFC2CA", -"@+ c #DEE0E4", -"#+ c #F3F3F5", -"$+ c #F9F9FA", -"%+ c #FDFEFE", -"&+ c #FCFCFD", -"*+ c #EEEFF1", -"=+ c #D5D7DC", -"-+ c #8B909F", -";+ c #596075", -">+ c #2F3853", -",+ c #141E3D", -"'+ c #0A1534", -")+ c #0C1636", -"!+ c #111A39", -"~+ c #A3A7B2", -"{+ c #FEFFFE", -"]+ c #D1D2D7", -"^+ c #252A44", -"/+ c #111D3C", -"(+ c #1A2442", -"_+ c #414962", -":+ c #7C8293", -"<+ c #B5B8C2", -"[+ c #DEDFE4", -"}+ c #F1F2F4", -"|+ c #D2D4DA", -"1+ c #A6AAB5", -"2+ c #686E82", -"3+ c #323A55", -"4+ c #131A38", -"5+ c #9095A3", -"6+ c #C4C5CC", -"7+ c #101832", -"8+ c #262F4C", -"9+ c #5F667C", -"0+ c #A7ABB7", -"a+ c #DADCE1", -"b+ c #F7F7F9", -"c+ c #FCFDFD", -"d+ c #F2F2F4", -"e+ c #D0D2D8", -"f+ c #9C9FAB", -"g+ c #0C122E", -"h+ c #0E1938", -"i+ c #232C4A", -"j+ c #656B80", -"k+ c #B4B8C2", -"l+ c #E8E9ED", -"m+ c #565B6F", -"n+ c #0B132F", -"o+ c #0B1536", -"p+ c #151F3E", -"q+ c #4E566E", -"r+ c #A8ACB8", -"s+ c #E6E7EB", -"t+ c #D1D3D8", -"u+ c #171E38", -"v+ c #27304D", -"w+ c #7D8394", -"x+ c #FAFAFB", -"y+ c #6C7182", -"z+ c #38415C", -"A+ c #9EA3B0", -"B+ c #EAEBEE", -"C+ c #CBCDD3", -"D+ c #121935", -"E+ c #101A35", -"F+ c #0C1637", -"G+ c #424A63", -"H+ c #B1B4BF", -"I+ c #F7F8F9", -"J+ c #434A60", -"K+ c #101B3B", -"L+ c #404862", -"M+ c #B3B7C1", -"N+ c #F7F7F8", -"O+ c #8D919E", -"P+ c #09112E", -"Q+ c #111C3C", -"R+ c #343D57", -"S+ c #A8ADB8", -"T+ c #C1C4CB", -"U+ c #0E1632", -"V+ c #121D3D", -"W+ c #0C1738", -"X+ c #222C49", -"Y+ c #9297A5", -"Z+ c #E4E5E8", -"`+ c #1E2640", -" @ c #111B3B", -".@ c #697083", -"+@ c #323A52", -"@@ c #38415B", -"#@ c #BBBEC7", -"$@ c #FBFCFC", -"%@ c #D2D4DB", -"&@ c #CCCFD7", -"*@ c #C9CCD4", -"=@ c #CACDD5", -"-@ c #CED1D8", -";@ c #D4D7DD", -">@ c #DDDFE4", -",@ c #E7E8EC", -"'@ c #F9FAFB", -")@ c #424960", -"!@ c #0D1734", -"~@ c #DCDEE3", -"{@ c #BEC2CB", -"]@ c #A2A7B5", -"^@ c #7F8699", -"/@ c #606880", -"(@ c #47526C", -"_@ c #36415E", -":@ c #283553", -"<@ c #1F2C4C", -"[@ c #192647", -"}@ c #162344", -"|@ c #142142", -"1@ c #131F42", -"2@ c #132042", -"3@ c #142143", -"4@ c #172445", -"5@ c #1B2849", -"6@ c #222E4E", -"7@ c #2C3856", -"8@ c #3B4662", -"9@ c #4E5872", -"0@ c #697187", -"a@ c #8990A1", -"b@ c #ABB0BC", -"c@ c #C7CAD2", -"d@ c #E5E6EA", -"e@ c #4A5066", -"f@ c #0D1634", -"g@ c #131E3D", -"h@ c #C0C3CC", -"i@ c #F8F9FA", -"j@ c #E4E6EA", -"k@ c #BABEC8", -"l@ c #8B92A2", -"m@ c #576179", -"n@ c #323E5B", -"o@ c #1A2848", -"p@ c #0F1D40", -"q@ c #0B1A3D", -"r@ c #0C1B3E", -"s@ c #111F41", -"t@ c #122042", -"u@ c #132143", -"v@ c #142244", -"w@ c #142344", -"x@ c #152344", -"y@ c #152345", -"z@ c #142243", -"A@ c #132142", -"B@ c #121F41", -"C@ c #101D40", -"D@ c #0E1B3E", -"E@ c #0C193C", -"F@ c #121E41", -"G@ c #202C4C", -"H@ c #666F84", -"I@ c #9BA1AF", -"J@ c #C8CBD3", -"K@ c #EDEFF1", -"L@ c #464D63", -"M@ c #0E1734", -"N@ c #6A7184", -"O@ c #FDFDFE", -"P@ c #C3C7CF", -"Q@ c #878FA0", -"R@ c #48526C", -"S@ c #0E1C3F", -"T@ c #0C1A3E", -"U@ c #152244", -"V@ c #152243", -"W@ c #0E1C3E", -"X@ c #111F40", -"Y@ c #59637A", -"Z@ c #F2F3F5", -"`@ c #3A425A", -" # c #0F1835", -".# c #0F1B3B", -"+# c #1B2442", -"@# c #A3A7B3", -"## c #EFF0F2", -"$# c #B9BDC7", -"%# c #6E778C", -"&# c #2D3957", -"*# c #0C1A3D", -"=# c #111F42", -"-# c #142245", -";# c #101E40", -"># c #0B1437", -",# c #EDEDEF", -"'# c #262F49", -")# c #101A38", -"!# c #0D1838", -"~# c #CFD2D8", -"{# c #CACED5", -"]# c #778093", -"^# c #2B3756", -"/# c #0D1B3E", -"(# c #142345", -"_# c #152143", -":# c #0B193C", -"<# c #D1D3D9", -"[# c #141D3A", -"}# c #121E3D", -"|# c #5A6277", -"1# c #E9EAED", -"2# c #ECEDF0", -"3# c #A3A9B6", -"4# c #444F6A", -"5# c #111E41", -"6# c #142346", -"7# c #646C83", -"8# c #0A1332", -"9# c #0E1939", -"0# c #7E8495", -"a# c #E1E3E7", -"b# c #878EA0", -"c# c #2A3655", -"d# c #0C193D", -"e# c #293655", -"f# c #5E6479", -"g# c #0C1735", -"h# c #9DA1AE", -"i# c #7A8295", -"j# c #0D1A3D", -"k# c #132144", -"l# c #152347", -"m# c #152447", -"n# c #B8BCC6", -"o# c #6F7486", -"p# c #0B1433", -"q# c #1B2443", -"r# c #B1B5C0", -"s# c #7F8799", -"t# c #0F1E41", -"u# c #59637B", -"v# c #7B8091", -"w# c #0D1635", -"x# c #101C3B", -"y# c #212A48", -"z# c #C2C5CD", -"A# c #F1F1F3", -"B# c #979DAC", -"C# c #283453", -"D# c #152448", -"E# c #152446", -"F# c #8C919F", -"G# c #0E1736", -"H# c #252E4B", -"I# c #BDC1CA", -"J# c #3E4965", -"K# c #0D1A3E", -"L# c #101F42", -"M# c #525D76", -"N# c #979BA8", -"O# c #0E1836", -"P# c #CFD1D8", -"Q# c #6D758A", -"R# c #121F42", -"S# c #152549", -"T# c #0E1D41", -"U# c #A0A6B4", -"V# c #9A9EAB", -"W# c #CFD1D7", -"X# c #B2B7C2", -"Y# c #2C3756", -"Z# c #0E1B3F", -"`# c #1E2C4D", -" $ c #989CA9", -".$ c #0D1735", -"+$ c #202947", -"@$ c #CACCD3", -"#$ c #EDEEF1", -"$$ c #70788D", -"%$ c #122144", -"&$ c #15254A", -"*$ c #112044", -"=$ c #33405E", -"-$ c #E0E2E7", -";$ c #9196A3", -">$ c #0C1534", -",$ c #192241", -"'$ c #BFC2CB", -")$ c #CDD0D7", -"!$ c #3A4461", -"~$ c #0D1B3F", -"{$ c #15264A", -"]$ c #101F43", -"^$ c #3C4765", -"/$ c #E0E2E6", -"($ c #838897", -"_$ c #121C3C", -":$ c #AEB2BD", -"<$ c #A3A8B5", -"[$ c #1A2648", -"}$ c #111F43", -"|$ c #16264B", -"1$ c #162447", -"2$ c #303C5B", -"3$ c #CBCED6", -"4$ c #F9FAFA", -"5$ c #6F7587", -"6$ c #0B1533", -"7$ c #979CAA", -"8$ c #F3F4F6", -"9$ c #777F93", -"0$ c #0F1C40", -"a$ c #122145", -"b$ c #1B284B", -"c$ c #989EAD", -"d$ c #555C72", -"e$ c #131F3D", -"f$ c #7A8092", -"g$ c #E8EAED", -"h$ c #545E77", -"i$ c #16264C", -"j$ c #0E1C41", -"k$ c #46516D", -"l$ c #BCC0CA", -"m$ c #DBDDE2", -"n$ c #3C445C", -"o$ c #0E1735", -"p$ c #535B72", -"q$ c #DBDEE3", -"r$ c #3D4864", -"s$ c #16274C", -"t$ c #48546F", -"u$ c #A5AAB8", -"v$ c #EBEDEF", -"w$ c #616A80", -"x$ c #192444", -"y$ c #6E758A", -"z$ c #D6D8DD", -"A$ c #242C47", -"B$ c #313A56", -"C$ c #D0D3DA", -"D$ c #2D3958", -"E$ c #101E41", -"F$ c #16274D", -"G$ c #122044", -"H$ c #0D1C40", -"I$ c #1F2D4F", -"J$ c #4C5771", -"K$ c #7F879A", -"L$ c #A7ADBA", -"M$ c #BCC1CA", -"N$ c #C6C9D1", -"O$ c #C0C3CD", -"P$ c #B0B4C0", -"Q$ c #8C93A3", -"R$ c #5A637B", -"S$ c #0E1C3D", -"T$ c #0C193B", -"U$ c #5B637B", -"V$ c #EEEFF2", -"W$ c #B5B9C2", -"X$ c #172141", -"Y$ c #C8CBD2", -"Z$ c #253151", -"`$ c #112042", -" % c #0C1B40", -".% c #112043", -"+% c #122043", -"@% c #0F1D41", -"#% c #0F1D3F", -"$% c #0D193B", -"%% c #4F5871", -"&% c #8A909E", -"*% c #121B3A", -"=% c #121F3D", -"-% c #999FAC", -";% c #C6CAD2", -">% c #222E4F", -",% c #16274E", -"'% c #16284E", -")% c #152346", -"!% c #4B546E", -"~% c #565C71", -"{% c #0C1634", -"]% c #0C1838", -"^% c #5E657B", -"/% c #C9CDD4", -"(% c #122143", -"_% c #0D193C", -":% c #4D566F", -"<% c #E2E3E7", -"[% c #272F4A", -"}% c #101938", -"|% c #101C3C", -"1% c #2A3451", -"2% c #D1D4DB", -"3% c #273352", -"4% c #17284F", -"5% c #555E76", -"6% c #B3B6C0", -"7% c #B5B8C3", -"8% c #DEE0E5", -"9% c #303B5A", -"0% c #17284E", -"a% c #646C82", -"b% c #0A1432", -"c% c #6E7589", -"d% c #EBECEF", -"e% c #404B67", -"f% c #172950", -"g% c #17294F", -"h% c #0C193A", -"i% c #7C8395", -"j% c #EBECEE", -"k% c #2F3650", -"l% c #0F1937", -"m% c #2D3652", -"n% c #5A637C", -"o% c #0E1C40", -"p% c #172951", -"q% c #0E1A3C", -"r% c #B6B9C3", -"s% c #ADB2BC", -"t% c #7C8397", -"u% c #172A51", -"v% c #132041", -"w% c #162142", -"x% c #BBBFC9", -"y% c #666D80", -"z% c #0D1939", -"A% c #596177", -"B% c #A9AFBB", -"C% c #142446", -"D% c #172A52", -"E% c #121E3F", -"F% c #283251", -"G% c #E0E1E5", -"H% c #222A46", -"I% c #1A2443", -"J% c #D3D5DB", -"K% c #1E2B4C", -"L% c #132245", -"M% c #0F1B3D", -"N% c #4C556E", -"O% c #969BA7", -"P% c #0B1738", -"Q% c #7F8597", -"R% c #F1F1F4", -"S% c #414C68", -"T% c #182A53", -"U% c #0C183A", -"V% c #808798", -"W% c #3C435B", -"X% c #0F1836", -"Y% c #293350", -"Z% c #E6E7EA", -"`% c #0D1C3E", -" & c #182B53", -".& c #142041", -"+& c #131E3F", -"@& c #BBBFC8", -"#& c #B3B7C0", -"$& c #0B1737", -"%& c #111E3F", -"&& c #313B58", -"*& c #4F566C", -"=& c #313B56", -"-& c #333F5D", -";& c #182B54", -">& c #71798C", -",& c #101937", -"'& c #0B1637", -")& c #0D1C3F", -"!& c #182C54", -"~& c #142141", -"{& c #101C3D", -"]& c #565D72", -"^& c #313A57", -"/& c #182C55", -"(& c #111D3F", -"_& c #3A445F", -":& c #C3C6CD", -"<& c #131F3E", -"[& c #999EAC", -"}& c #4A556F", -"|& c #0B183A", -"1& c #9096A5", -"2& c #51576E", -"3& c #111D3D", -"4& c #28334F", -"5& c #A6ACB9", -"6& c #182C56", -"7& c #202B4A", -"8& c #BABDC5", -"9& c #0A1637", -"0& c #858B9C", -"a& c #313E5C", -"b& c #182D56", -"c& c #192D56", -"d& c #70778B", -"e& c #40475F", -"f& c #0E1837", -"g& c #121E3E", -"h& c #192443", -"i& c #9197A8", -"j& c #192D57", -"k& c #172343", -"l& c #A1A5B1", -"m& c #0C1839", -"n& c #646B80", -"o& c #E6E8EB", -"p& c #646C81", -"q& c #EAEBED", -"r& c #252D49", -"s& c #8D94A5", -"t& c #192D58", -"u& c #192E58", -"v& c #162242", -"w& c #CED1D7", -"x& c #787D8E", -"y& c #0A1433", -"z& c #38415D", -"A& c #2B3857", -"B& c #0D1A3C", -"C& c #687084", -"D& c #CDCFD5", -"E& c #8C92A1", -"F& c #9AA1AF", -"G& c #0C1B3F", -"H& c #192E59", -"I& c #1A2645", -"J& c #D7D9DE", -"K& c #424961", -"L& c #152140", -"M& c #D8DADF", -"N& c #3A4662", -"O& c #7D8496", -"P& c #969BA8", -"Q& c #091231", -"R& c #0E1A3A", -"S& c #4B536B", -"T& c #B8BCC7", -"U& c #0E1D40", -"V& c #192F5A", -"W& c #121F40", -"X& c #283350", -"Y& c #DDDFE3", -"Z& c #161F3C", -"`& c #989DAB", -" * c #5A657C", -".* c #1A2F5A", -"+* c #4D536A", -"@* c #172242", -"#* c #DADCE2", -"$* c #1A2849", -"%* c #1A2F5B", -"&* c #1A2F5C", -"** c #101D3E", -"=* c #48526A", -"-* c #999DAA", -";* c #091232", -">* c #454E67", -",* c #9197A7", -"'* c #1A305B", -")* c #1A2D58", -"!* c #1A2C58", -"~* c #1A2D59", -"{* c #1A2D5A", -"]* c #1A2C57", -"^* c #192E5A", -"/* c #D9DADF", -"(* c #141D3B", -"_* c #888E9E", -":* c #3F4B67", -"<* c #1A305C", -"[* c #1A2E5A", -"}* c #1A3460", -"|* c #1C4471", -"1* c #1E5887", -"2* c #1F6899", -"3* c #2174A6", -"4* c #227CAE", -"5* c #227EB1", -"6* c #227FB2", -"7* c #227EB0", -"8* c #217AAC", -"9* c #2071A2", -"0* c #1F6393", -"a* c #1D5080", -"b* c #1C3D6A", -"c* c #192C57", -"d* c #858C9C", -"e* c #3F465E", -"f* c #C7CAD1", -"g* c #CFD2D9", -"h* c #1A315E", -"i* c #1C4A79", -"j* c #206C9E", -"k* c #2283B7", -"l* c #238DC1", -"m* c #238FC3", -"n* c #238EC2", -"o* c #238CC0", -"p* c #238CBF", -"q* c #238EC3", -"r* c #238ABF", -"s* c #227CB0", -"t* c #1F6192", -"u* c #1B406D", -"v* c #39445F", -"w* c #808596", -"x* c #2B3451", -"y* c #1A3360", -"z* c #1E5888", -"A* c #238DC2", -"B* c #238BBF", -"C* c #238BC0", -"D* c #2174A7", -"E* c #1C4976", -"F* c #CBCED5", -"G* c #BCBFC7", -"H* c #5E667B", -"I* c #414D68", -"J* c #16264A", -"K* c #1D5181", -"L* c #2281B4", -"M* c #238BC1", -"N* c #2073A5", -"O* c #192C56", -"P* c #0B1839", -"Q* c #898F9F", -"R* c #E8E9EC", -"S* c #212945", -"T* c #959AA9", -"U* c #162547", -"V* c #1B3A67", -"W* c #2072A4", -"X* c #238CC1", -"Y* c #238ABE", -"Z* c #1E5E8E", -"`* c #444E68", -" = c #4C5369", -".= c #0F1B3C", -"+= c #C9CCD3", -"@= c #A5ABB8", -"#= c #0A1A3E", -"$= c #1A305D", -"%= c #1C4A78", -"&= c #2285B9", -"*= c #2175A7", -"== c #1A3763", -"-= c #828797", -";= c #252F4D", -">= c #636D83", -",= c #1E5585", -"'= c #2281B5", -")= c #1B3E6A", -"!= c #192B57", -"~= c #B2B6C0", -"{= c #4A526B", -"]= c #303D5B", -"^= c #1A2E59", -"/= c #1E5989", -"(= c #2386B9", -"_= c #1A406C", -":= c #727A8D", -"<= c #17203D", -"[= c #0B1838", -"}= c #777E90", -"|= c #D5D8DE", -"1= c #1E5483", -"2= c #2384B8", -"3= c #1A3B67", -"4= c #3E4863", -"5= c #323953", -"6= c #091131", -"7= c #A1A6B2", -"8= c #AAB0BC", -"9= c #0B1B3E", -"0= c #1C4775", -"a= c #227DB0", -"b= c #19325E", -"c= c #1C2847", -"d= c #575D73", -"e= c #4F576E", -"f= c #A9AEB9", -"g= c #727B8F", -"h= c #0B183C", -"i= c #1A3764", -"j= c #2284B7", -"k= c #206C9D", -"l= c #192B56", -"m= c #C4C7CF", -"n= c #808595", -"o= c #0D1736", -"p= c #50586F", -"q= c #C5C7CF", -"r= c #505B75", -"s= c #1A315D", -"t= c #206EA0", -"u= c #1D4F7D", -"v= c #0A1738", -"w= c #979CAB", -"x= c #212946", -"y= c #A4A9B4", -"z= c #A4A9B7", -"A= c #222F51", -"B= c #1D4B7A", -"C= c #0D1A3B", -"D= c #697186", -"E= c #C5C8CF", -"F= c #3D455D", -"G= c #D6D8DE", -"H= c #3E4A67", -"I= c #101E43", -"J= c #162549", -"K= c #227CAF", -"L= c #1E5F8F", -"M= c #192B55", -"N= c #455069", -"O= c #17213E", -"P= c #121C3A", -"Q= c #4C536A", -"R= c #E7E9EC", -"S= c #4B5672", -"T= c #0F1F44", -"U= c #1D507F", -"V= c #2386BA", -"W= c #1A3561", -"X= c #2A3552", -"Y= c #272F4B", -"Z= c #434B63", -"`= c #434F6C", -" - c #112146", -".- c #2178AB", -"+- c #1D5A89", -"@- c #192544", -"#- c #3B425B", -"$- c #0F1936", -"%- c #0F1A38", -"&- c #2A324D", -"*- c #2A3859", -"=- c #142448", -"-- c #1C4271", -";- c #0F1C3D", -">- c #4F576D", -",- c #B8BBC4", -"'- c #B6BBC6", -")- c #122248", -"!- c #1B416E", -"~- c #B9BCC6", -"{- c #656C7F", -"]- c #6E7385", -"^- c #6B768D", -"/- c #0F2045", -"(- c #1E5D8D", -"_- c #192A55", -":- c #091739", -"<- c #A1A6B3", -"[- c #787E8F", -"}- c #1E2642", -"|- c #DDDEE3", -"1- c #DCDEE4", -"2- c #1F2F52", -"3- c #1B3B69", -"4- c #238ABD", -"5- c #8B91A1", -"6- c #868B9B", -"7- c #767B8D", -"8- c #757F95", -"9- c #0F2046", -"0- c #1A325D", -"a- c #7A8193", -"b- c #9397A5", -"c- c #0A1331", -"d- c #131C39", -"e- c #CFD0D7", -"f- c #CED1D9", -"g- c #17274C", -"h- c #1E5A8B", -"i- c #248CC1", -"j- c #248CC2", -"k- c #1A3C68", -"l- c #6D7589", -"m- c #9EA2AE", -"n- c #41485F", -"o- c #424F6D", -"p- c #132349", -"q- c #1F6798", -"r- c #1C4673", -"s- c #646D82", -"t- c #858A99", -"u- c #858DA1", -"v- c #0E1F45", -"w- c #1C4D7B", -"x- c #0E1B3C", -"y- c #5E677D", -"z- c #ACB0BA", -"A- c #0C1432", -"B- c #B7BAC3", -"C- c #B7BBC7", -"D- c #0F1F46", -"E- c #17274D", -"F- c #1A2E5B", -"G- c #2172A4", -"H- c #1D517F", -"I- c #5A637A", -"J- c #AFB3BD", -"K- c #151E3A", -"L- c #D9DBDF", -"M- c #D9DBE2", -"N- c #1D5180", -"O- c #B0B3BD", -"P- c #ECEDEF", -"Q- c #243356", -"R- c #2070A1", -"S- c #5D657C", -"T- c #AEB1BB", -"U- c #2C344E", -"V- c #2E3C5E", -"W- c #15264B", -"X- c #206A9B", -"Y- c #626B80", -"Z- c #A8ACB7", -"`- c #2F3750", -" ; c #F4F4F6", -".; c #313F60", -"+; c #15254C", -"@; c #1F5F8F", -"#; c #1B3F6C", -"$; c #6A7286", -"%; c #29314C", -"&; c #F1F2F5", -"*; c #2B395C", -"=; c #2387BA", -"-; c #1A3560", -";; c #767D90", -">; c #0A1231", -",; c #1D2642", -"'; c #1F2F53", -"); c #1B406E", -"!; c #217BAD", -"~; c #8A8F9E", -"{; c #CFD2DA", -"]; c #142449", -"^; c #2282B5", -"/; c #1F6697", -"(; c #192B54", -"_; c #999FAD", -":; c #7E8393", -"<; c #A8ACB6", -"[; c #A8AEBC", -"}; c #0D1E44", -"|; c #206B9D", -"1; c #1C4B78", -"2; c #6C7285", -"3; c #0B1532", -"4; c #6D7384", -"5; c #6D778E", -"6; c #102046", -"7; c #1D4D7B", -"8; c #2284B8", -"9; c #1A335E", -"0; c #C8CAD2", -"a; c #575E73", -"b; c #2D354F", -"c; c #2E3D5E", -"d; c #152141", -"e; c #D9DBE0", -"f; c #414960", -"g; c #0C1533", -"h; c #B4B7C0", -"i; c #B3B8C4", -"j; c #232F4D", -"k; c #2E3550", -"l; c #51586D", -"m; c #525D79", -"n; c #112247", -"o; c #1B3865", -"p; c #3B4560", -"q; c #F8F9F9", -"r; c #E3E4E8", -"s; c #1C2541", -"t; c #111C38", -"u; c #101836", -"v; c #BEC1C9", -"w; c #FFFEFE", -"x; c #BCC1CB", -"y; c #122247", -"z; c #1F5D8D", -"A; c #1B3E6B", -"B; c #5D657B", -"C; c #F1F2F3", -"D; c #F0F1F4", -"E; c #3F4C69", -"F; c #1A325E", -"G; c #1F6394", -"H; c #0B1739", -"I; c #878D9D", -"J; c #AFB2BC", -"K; c #848999", -"L; c #828A9E", -"M; c #0E1E43", -"N; c #1C4674", -"O; c #19315C", -"P; c #0A1739", -"Q; c #B6BAC4", -"R; c #091332", -"S; c #111A38", -"T; c #B1B4BE", -"U; c #AFB4C0", -"V; c #132247", -"W; c #1E5C8D", -"X; c #248EC3", -"Y; c #2389BD", -"Z; c #D9DAE0", -"`; c #656B7F", -" > c #1C2441", -".> c #C0C4CE", -"+> c #1E2B4E", -"@> c #142347", -"#> c #1C507E", -"$> c #121F3F", -"%> c #303B57", -"&> c #0E1936", -"*> c #1E2643", -"=> c #B9BEC8", -"-> c #1F2D4E", -";> c #2173A5", -">> c #248DC1", -",> c #0E1B3B", -"'> c #5F677D", -")> c #E5E7EA", -"!> c #1E2743", -"~> c #151E3B", -"{> c #969CAC", -"]> c #172548", -"^> c #1A325F", -"/> c #2071A3", -"(> c #1D5787", -"_> c #9DA2B0", -":> c #C4C7CE", -"<> c #0C1535", -"[> c #575E74", -"}> c #566079", -"|> c #2387BB", -"1> c #1C4E7C", -"2> c #D0D3D9", -"3> c #9398A6", -"4> c #091331", -"5> c #787E90", -"6> c #1D5281", -"7> c #217AAD", -"8> c #333D59", -"9> c #5E6579", -"0> c #182240", -"a> c #575F75", -"b> c #A5A9B5", -"c> c #2F3B5A", -"d> c #132244", -"e> c #1B3B68", -"f> c #2070A2", -"g> c #2388BC", -"h> c #091435", -"i> c #40455F", -"j> c #6E768C", -"k> c #1C4876", -"l> c #2178AA", -"m> c #1F6999", -"n> c #1A3966", -"o> c #B8BBC6", -"p> c #206B9B", -"q> c #238AC0", -"r> c #217EB1", -"s> c #1A3965", -"t> c #273250", -"u> c #9499A7", -"v> c #131E3E", -"w> c #0A1636", -"x> c #9DA2AF", -"y> c #2B3757", -"z> c #1C4877", -"A> c #1F6292", -"B> c #2176A9", -"C> c #2283B6", -"D> c #238CC2", -"E> c #1E5A89", -"F> c #687085", -"G> c #53596F", -"H> c #5B6379", -"I> c #737B90", -"J> c #1A2B57", -"K> c #1C4270", -"L> c #1C4370", -"M> c #1C416E", -"N> c #1B3C69", -"O> c #1A3662", -"P> c #19305B", -"Q> c #0E1A3B", -"R> c #BABEC7", -"S> c #1E2744", -"T> c #111E3D", -"U> c #222D4A", -"V> c #C6C9D2", -"W> c #192D59", -"X> c #313C58", -"Y> c #F0F0F2", -"Z> c #B0B4BF", -"`> c #3F4A66", -" , c #848A9C", -"., c #676D80", -"+, c #9AA0AF", -"@, c #D5D7DD", -"#, c #242C48", -"$, c #232D4A", -"%, c #243151", -"&, c #5C647A", -"*, c #B2B5BF", -"=, c #A9ADB9", -"-, c #BDC0C9", -";, c #FAFBFB", -">, c #192649", -",, c #454F69", -"', c #1B2440", -"), c #152040", -"!, c #D8DAE0", -"~, c #677086", -"{, c #AEB2BE", -"], c #848A9B", -"^, c #172447", -"/, c #404A64", -"(, c #3B435B", -"_, c #697288", -":, c #BFC1C9", -"<, c #A7ACB8", -"[, c #D6D8DF", -"}, c #1B284A", -"|, c #49526B", -"1, c #5E6478", -"2, c #434B65", -"3, c #7C8497", -"4, c #C1C4CC", -"5, c #D5D6DC", -"6, c #E5E7EB", -"7, c #2A3656", -"8, c #636B80", -"9, c #757A8C", -"0, c #515970", -"a, c #A1A6B4", -"b, c #1E2948", -"c, c #4D5772", -"d, c #101E42", -"e, c #9398A7", -"f, c #0E1A39", -"g, c #525A72", -"h, c #192547", -"i, c #101C3E", -"j, c #434D66", -"k, c #1F2743", -"l, c #8D94A4", -"m, c #152445", -"n, c #CCCFD6", -"o, c #777C8E", -"p, c #0F1B3A", -"q, c #495169", -"r, c #49536D", -"s, c #19213F", -"t, c #1E2A4B", -"u, c #4D566E", -"v, c #61677B", -"w, c #303A55", -"x, c #A8ADBA", -"y, c #0F1C3F", -"z, c #25304D", -"A, c #737B8F", -"B, c #121D3E", -"C, c #B3B7C2", -"D, c #D2D5DA", -"E, c #48526D", -"F, c #101D41", -"G, c #0D193A", -"H, c #888E9F", -"I, c #9599A6", -"J, c #0B1332", -"K, c #525A71", -"L, c #2D3857", -"M, c #61697E", -"N, c #DBDCE1", -"O, c #9FA4B1", -"P, c #1D294A", -"Q, c #454E68", -"R, c #585E74", -"S, c #212B48", -"T, c #DBDDE1", -"U, c #AFB4BF", -"V, c #323C58", -"W, c #E0E1E6", -"X, c #545C72", -"Y, c #9EA3B2", -"Z, c #27314F", -"`, c #D3D6DC", -" ' c #959AA7", -".' c #9198A8", -"+' c #4F556C", -"@' c #16203F", -"#' c #CACDD4", -"$' c #0F1B3E", -"%' c #152245", -"&' c #121E40", -"*' c #C4C8D0", -"=' c #8B8F9E", -"-' c #EAECEE", -";' c #9096A6", -">' c #0F1B3F", -",' c #101F41", -"'' c #122041", -")' c #202B49", -"!' c #C6CAD1", -"~' c #BDC0C8", -"{' c #131B39", -"]' c #999FAE", -"^' c #172648", -"/' c #34415E", -"(' c #566179", -"_' c #727A90", -":' c #82899B", -"<' c #838B9D", -"[' c #788094", -"}' c #5F687F", -"|' c #3E4864", -"1' c #0C1A3C", -"2' c #0D1B3D", -"3' c #DFE1E5", -"4' c #29304B", -"5' c #A9AEBA", -"6' c #162345", -"7' c #0D1D40", -"8' c #182648", -"9' c #57617A", -"0' c #B6BBC5", -"a' c #6E768B", -"b' c #0A1638", -"c' c #343E5A", -"d' c #4B5168", -"e' c #B1B5BF", -"f' c #232E4E", -"g' c #182649", -"h' c #737B91", -"i' c #D7DAE0", -"j' c #9CA1AF", -"k' c #6F7487", -"l' c #1E2845", -"m' c #D2D5DC", -"n' c #394360", -"o' c #4E5973", -"p' c #9195A3", -"q' c #0D1534", -"r' c #5C647C", -"s' c #132145", -"t' c #8A91A2", -"u' c #ABAEB9", -"v' c #121937", -"w' c #3E4760", -"x' c #8C92A3", -"y' c #18203D", -"z' c #BEC2CC", -"A' c #323D5B", -"B' c #B1B5C1", -"C' c #C8CAD1", -"D' c #202743", -"E' c #697287", -"F' c #9DA4B2", -"G' c #252C47", -"H' c #586076", -"I' c #6C748A", -"J' c #272E49", -"K' c #0F1837", -"L' c #131D3D", -"M' c #777E92", -"N' c #2E3A59", -"O' c #CFD2D7", -"P' c #262D49", -"Q' c #4E556D", -"R' c #4C5670", -"S' c #A7ACB9", -"T' c #232A46", -"U' c #434B64", -"V' c #E3E5E8", -"W' c #394460", -"X' c #BBBEC6", -"Y' c #1D2441", -"Z' c #343C58", -"`' c #A1A7B4", -" ) c #35405D", -".) c #9CA2B0", -"+) c #161E3B", -"@) c #A5A9B6", -"#) c #E3E5E9", -"$) c #484E65", -"%) c #172140", -"&) c #A1A5B2", -"*) c #B7BBC5", -"=) c #555E77", -"-) c #4E5871", -";) c #D3D5DC", -">) c #0F1C3E", -",) c #0B193B", -"') c #C5C7CE", -")) c #4C536B", -"!) c #BBBEC8", -"~) c #6C7489", -"{) c #2B3655", -"]) c #1F2843", -"^) c #262E4B", -"/) c #B2B5C0", -"() c #798194", -"_) c #3C4662", -":) c #172345", -"<) c #0F1E3F", -"[) c #1E2C4B", -"}) c #F5F5F6", -"|) c #343B54", -"1) c #0F1939", -"2) c #757B8E", -"3) c #A4A9B6", -"4) c #6F778C", -"5) c #243150", -"6) c #4B556E", -"7) c #808799", -"8) c #434A61", -"9) c #373F5A", -"0) c #C3C6CF", -"a) c #9CA1B0", -"b) c #515B73", -"c) c #34405D", -"d) c #212D4D", -"e) c #0B183B", -"f) c #0A183B", -"g) c #0A193B", -"h) c #0A183A", -"i) c #101E3F", -"j) c #182546", -"k) c #263351", -"l) c #3C4762", -"m) c #5B657C", -"n) c #838B9C", -"o) c #A7ADB9", -"p) c #D0D2D9", -"q) c #495066", -"r) c #0C1633", -"s) c #7A8091", -"t) c #B5BAC4", -"u) c #A6ACB8", -"v) c #9399A9", -"w) c #878E9F", -"x) c #868D9E", -"y) c #8890A0", -"z) c #8E95A5", -"A) c #969CAA", -"B) c #9EA4B1", -"C) c #ABB0BB", -"D) c #454C62", -"E) c #0D1633", -"F) c #0B1535", -"G) c #303854", -"H) c #383F57", -"I) c #0E1733", -"J) c #596076", -"K) c #242B45", -"L) c #182140", -"M) c #797F90", -"N) c #121A35", -"O) c #232C49", -"P) c #A2A6B0", -"Q) c #29324E", -"R) c #8E93A2", -"S) c #5B6174", -"T) c #27304C", -"U) c #838898", -"V) c #E1E2E5", -"W) c #1E253F", -"X) c #1D2644", -"Y) c #C7C9D1", -"Z) c #9195A2", -"`) c #0A102D", -" ! c #454C65", -".! c #2C314A", -"+! c #1E2745", -"@! c #5F667B", -"#! c #838795", -"$! c #0A112C", -"%! c #252F4B", -"&! c #636A7E", -"*! c #B0B3BE", -"=! c #E2E4E8", -"-! c #CACCD2", -";! c #161C36", -">! c #0A1434", -",! c #1C2643", -"'! c #4C546B", -")! c #8D92A1", -"!! c #E1E2E6", -"~! c #767C8D", -"{! c #3E445D", -"]! c #E9EAEC", -"^! c #363B52", -"/! c #0D1530", -"(! c #252E4A", -"_! c #858A9A", -":! c #B9BCC5", -"~ c #09102D", -",~ c #0B112E", -"'~ c #0B122E", -")~ c #08102B", -"!~ c #09112D", -"~~ c #0C1530", -"{~ c #111934", -"]~ c #0E1329", -" ", -" ", -" . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . # ", -" $ + @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % ", -" $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % % % % & & & & & & & & & & & & & & & & & & & % % % % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & & & & & & & * * * * = = = = = = = = = = = = = = = = = = = = * * * * * & & & & & & & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ - ", -" - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & & & & & * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * & & & & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & & & & * * = = = = = = = = = > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > = = = = = = = = = = * * & & & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & & & * * = = = = = = = > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > = = = = = = = = * * & & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & & * * = = = = = = > > > > > > > > > > > > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > > > > > > > > > > > = = = = = = = * & & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % ", -" ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & & * = = = = = = > > > > > > > > > , , , , , , , , , , , ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , , , , , , , , , , , > > > > > > > > > > = = = = = * & & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & & * = = = = = > > > > > > > > , , , , , , , , ) ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) , , , , , , , , > > > > > > > > = = = = = * & & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & * * = = = = > > > > > > > , , , , , , , ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) , , , , , , > > > > > > > = = = = = * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * * = = = = > > > > > > , , , , , , ) ) ! ! ! ! ! ! ! ! ! ! ! ! ~ ~ ~ ~ { { { { { { { { { { { { { { { { { { { { ~ ~ ~ ~ ~ ! ! ! ! ! ! ! ! ! ! ! ) ) , , , , , , > > > > > > = = = = = * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & * = = = = > > > > > > , , , , , ) ) ! ! ! ! ! ! ! ! ! ~ ~ ~ { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { ~ ~ ~ ! ! ! ! ! ! ! ! ! ) ) , , , , , > > > > > > = = = = * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & * = = = = > > > > > , , , , , ) ! ! ! ! ! ! ! ! ~ ~ ~ { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] { { { ~ ~ ! ! ! ! ! ! ! ! ) , , , , , > > > > > > = = = * * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & & * = = = = > > > > > , , , , ) ! ! ! ! ! ! ! ~ ~ { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] { { ~ ! ! ! ! ! ! ! ) , , , , , > > > > > = = = * * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ ", -" / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & & * = = = > > > > > , , , , ) ! ! ! ! ! ! ! ~ { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ( ( ( : : : : : : : : : : : : : : : : : : : : : : : : : : ( ( ( ( ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { ~ ~ ! ! ! ! ! ! ) , , , , > > > > > = = = * * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & & * = = = > > > > > , , , ) ) ! ! ! ! ! ! ~ { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ( ( ( : : : : : : : : : : [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ : : : : : : : : : : : ( ( ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { ~ ~ ! ! ! ! ! ! ) , , , , > > > > = = = * * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > , , , , ) ! ! ! ! ! ! ~ { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ( ( : : : : : : : : [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ : : : : : : : : ( ( ^ ^ ^ ^ ^ ^ ^ ] ] ] { ~ ~ ! ! ! ! ! ) , , , , > > > > = = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > > , , , ) ! ! ! ! ! ~ { { ] ] ] ^ ^ ^ ^ ^ ^ ( ( : : : : : : : [ [ [ [ [ [ [ [ } } } } } | | | | | | | | | | | | | | | | } } } } } [ [ [ [ [ [ [ [ [ : : : : : : ( ( ^ ^ ^ ^ ^ ^ ] ] ] { { ~ ! ! ! ! ! ) ) , , , > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ ", -" / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > > , , , ) ! ! ! ! ~ ~ { ] ] ] ^ ^ ^ ^ ^ ^ ( ( : : : : : [ [ [ [ [ [ [ } } } | | | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | | | | } } [ [ [ [ [ [ [ : : : : : : ( ( ^ ^ ^ ^ ^ ] ] ] { ~ ~ ! ! ! ! ! ) , , , > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & = = = > > > > > , , , ) ! ! ! ! ~ { { ] ] ^ ^ ^ ^ ^ ^ ( : : : : : [ [ [ [ [ [ } } | | | 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 | | | } } [ [ [ [ [ [ : : : : : ( ( ^ ^ ^ ^ ^ ] ] ] { ~ ! ! ! ! ! ) , , , > > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > , , , ) ! ! ! ! ~ { ] ] ] ^ ^ ^ ^ ^ ( ( : : : : [ [ [ [ [ } } | | 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 | | } } [ [ [ [ [ : : : : : ( ^ ^ ^ ^ ^ ] ] ] { ~ ! ! ! ! ! ) , , , > > > > = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > > , , , ) ! ! ! ! ~ { ] ] ] ^ ^ ^ ^ ^ ( : : : : [ [ [ [ [ } | | 1 1 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 3 3 1 1 1 1 1 1 | | } [ [ [ [ [ : : : : : ( ^ ^ ^ ^ ^ ] ] { ~ ! ! ! ! ) ) , , > > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & * = = = > > > , , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ^ ^ ( ( : : : : [ [ [ [ } | | 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 1 1 1 1 1 | | } } [ [ [ [ : : : : ( ^ ^ ^ ^ ^ ] ] { ~ ! ! ! ! ) , , , > > > > = = = & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > > , , , ! ! ! ! ~ { ] ] ^ ^ ^ ^ ^ ( : : : : [ [ [ [ } } | 1 1 1 1 1 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 3 1 1 1 1 | | } [ [ [ [ [ : : : ( ( ^ ^ ^ ^ ] ] { ~ ! ! ! ! ) , , , > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & * = = > > > > , , , ) ! ! ! ~ { ] ] ^ ^ ^ ^ ^ ( : : : : [ [ [ } } | 1 1 1 1 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 3 1 1 1 1 | | } [ [ [ [ : : : : ( ^ ^ ^ ^ ] ] { ~ ! ! ! ! ) , , > > > > = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = > > > > , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ^ ( : : : : [ [ [ } } | 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 5 5 5 5 4 4 3 3 3 1 1 1 1 1 | } [ [ [ [ : : : ( ( ^ ^ ^ ] ] { ~ ! ! ! ! ) , , , > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > , , , ) ! ! ! ~ { ] ] ^ ^ ^ ^ ( : : : : [ [ [ } | 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 5 5 6 6 7 7 7 7 7 7 7 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 | } } [ [ [ : : : ( ^ ^ ^ ^ ] ] { ~ ! ! ! ! ) , , > > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > > , , ) ! ! ! ! ~ { ] ^ ^ ^ ^ ( : : : [ [ [ [ } | 1 1 1 3 3 3 4 4 4 5 5 5 5 5 5 6 6 7 7 7 7 7 7 8 8 9 9 9 9 9 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9 8 8 7 7 7 7 7 7 7 6 5 5 5 5 5 5 4 4 4 3 3 3 1 1 1 | | } [ [ [ : : : ( ^ ^ ^ ^ ] ] { ~ ! ! ! ) , , , > > > = = * & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & * = = > > > , , , ) ! ! ! ~ { ] ] ^ ^ ^ ( : : : : [ [ [ } | 1 1 1 3 3 3 4 4 5 5 5 5 5 5 6 6 7 7 7 7 7 8 9 9 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 8 8 7 7 7 7 7 6 6 5 5 5 5 5 4 4 4 3 3 1 1 1 1 | } [ [ [ : : : ( ^ ^ ^ ^ ] { ~ ! ! ! ! ) , , > > > = = = & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > , , , ! ! ! ! ~ { ] ^ ^ ^ ^ ( : : : [ [ [ } | 1 1 1 3 3 4 4 4 5 5 5 5 5 6 6 7 7 7 7 8 8 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 a a a a a a a a a a a a a a a a a 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 8 8 7 7 7 7 7 6 5 5 5 5 5 4 4 4 3 3 3 1 1 1 | } [ [ [ : : : ( ^ ^ ^ ] ] { ~ ! ! ! ) , , , > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > , , ) ! ! ! ~ { ] ] ^ ^ ^ ( : : : [ [ [ } | 1 1 1 3 3 4 4 4 5 5 5 5 5 6 7 7 7 7 8 8 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 0 0 0 0 0 0 0 0 0 9 9 9 9 9 8 8 7 7 7 7 7 6 5 b c d e f g g h i [ 1 4 } [ [ [ : : : ( ^ ^ ^ ^ ] { ~ ! ! ! ! , , , > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , , ) ! ! ! ~ { ] ^ ^ ^ ^ ( : : [ [ [ } | 1 1 1 3 3 4 4 5 5 5 5 5 6 6 7 7 7 8 8 9 9 9 9 0 0 0 0 0 0 0 0 a a a a a a a a j j j j j k k k k k k k k k k k k k k k k j j j j j a a a a a a a a 0 0 0 0 0 0 0 0 9 9 9 9 8 8 7 7 l m n o p q r s t u v w x y z 1 | [ [ [ : : : ( ^ ^ ^ ] ] { ~ ! ! ! ) , , > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ! ~ { ] ] ^ ^ ^ ( : : : [ [ [ } | 1 1 3 3 4 4 5 5 5 5 5 6 7 7 7 7 8 9 9 9 9 0 0 0 0 0 0 0 a a a a a a j j j k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k j j j a a a a a a 0 0 0 0 0 0 0 9 9 9 A B C q D E F G H I I I J K L M N O y | } [ [ [ : : ( ^ ^ ^ ^ ] { ~ ! ! ! ) , , > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ! ~ { ] ^ ^ ^ ^ : : : [ [ [ } | 1 1 3 3 4 4 5 5 5 5 5 6 7 7 7 8 8 9 9 9 9 0 0 0 0 0 0 a a a a a j j k k k k k k k k k k k k k P P P P P P P P P P P P P P P P P k k k k k k k k k k k k j j a a a a a a 0 0 0 0 Q R S T U V W X W W X X X X I W X W Y Z ` ...+.[ [ [ : : : ( ^ ^ ^ ] ] ~ ! ! ! ! , , , > > = = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ! ~ { ] ^ ^ ^ ( : : : [ [ } | 1 1 1 3 3 4 4 5 5 5 5 6 7 7 7 8 8 9 9 9 0 0 0 0 0 0 a a a a a j k k k k k k k k P P P @.@.@.#.#.#.@.#.#.$.$.$.$.#.#.k %.&.&.&.&.%.*.k @.#.=.-.-.@.P k k k k k k k k j j a a a a 0 ;.B >.,.Y I I X X X X X X X X X X X X W W I '.).!.| } [ [ [ : : ( ^ ^ ^ ] ] { ! ! ! ! , , , > > = = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = = > > > , , ) ! ! ! ~ ] ] ^ ^ ^ ( : : [ [ [ } | 1 1 3 3 4 4 5 5 5 5 6 7 7 7 8 8 9 9 9 0 0 0 0 0 a a a a j k k k k k k k k P P @.@.#.#.#.#.#.=.$.$.k ~.{.].].^.%./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.^.~.P #.#.k k k k k k k j a a b.c.d.e.W X X X X X X X X X X X X X X X X X I f.g.h.i.| [ [ [ : : : ^ ^ ^ ^ ] { ~ ! ! ! ) , , > > = = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = = > > > , , ) ! ! ! { ] ] ^ ^ ^ : : : [ [ } | 1 1 1 3 3 4 5 5 5 5 6 7 7 7 8 9 9 9 9 0 0 0 0 a a a a j j k k k k k k P P @.@.#.#.#.#.=.$.=.%.{.].j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.y.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.&.#.k k k k k R.S.T.I X X X X X X X X X X X X X X X X X X X X e.I U.V.W.| } [ [ : : : ( ^ ^ ^ ] { ~ ! ! ! ) , , > > > = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = = > > , , , ! ! ! ~ { ] ^ ^ ^ ( : : [ [ [ } | 1 1 3 3 4 4 5 5 5 5 6 7 7 8 8 9 9 9 0 0 0 0 a a a a j k k k k k k P @.@.#.#.#.#.#.=.=.X.Y.Z.`.}. +.+++@+#+$+%+X X W W X X X X X X X X X X X X X X X W W X X &+V *+=+H.-+;+>+,+'+)+~.@.!+~+H e.X X X X X X X X X X X X X X X X X X X X X X X {+]+^+i.1 } [ [ [ : : ( ^ ^ ^ ] ] ~ ! ! ! ) , , > > > = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = = > > , , , ! ! ! ~ { ] ^ ^ ^ ( : : [ [ [ | 1 1 1 3 3 4 5 5 5 5 6 7 7 7 8 9 9 9 0 0 0 0 a a a j j k k k k k P P @.#.#.#.=.=.=./+^.O.(+_+:+<+[+x.H X W e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W W X f.}+|+1+2+3+4+5+H X X X X X X X X X X X X X X X X X X X X X X X X X X I 6+O 7+1 | } [ [ : : ( ^ ^ ^ ] ] { ! ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = = > > , , , ! ! ! ~ { ] ^ ^ ^ ( : : [ [ } | 1 1 3 3 4 4 5 5 5 6 7 7 7 8 9 9 9 0 0 0 0 a a a j k k k k k P P @.#.#.#.=.=.=./+^.Z.8+9+0+a+b+I W W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W X c+d+e+V I X X X X X X X X X X X X X X X X X X X X X X X X X X X I f+g+1 1 | } [ [ : : : ^ ^ ^ ] ] { ! ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > , , ) ! ! ! ~ { ] ^ ^ ^ : : : [ [ } | 1 1 3 3 4 5 5 5 5 6 7 7 8 9 9 9 0 0 0 0 a a a j k k k k k P @.@.#.#.=.=.=.=.h+].i+j+k+l+Y X W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X G m+n+3 1 1 } [ [ : : : ^ ^ ^ ^ ] { ~ ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > , , ) ! ! ! ~ ] ] ^ ^ ( : : : [ [ } 1 1 1 3 4 4 5 5 5 6 7 7 7 8 9 9 9 0 0 0 a a a j k k k k k P @.#.#.#.=.=.=.P o+p+q+r+s+&+W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W t+u+3 3 1 1 | [ [ [ : : ( ^ ^ ^ ] { ~ ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > , , , ! ! ! ~ ] ] ^ ^ ( : : [ [ [ } 1 1 1 3 4 4 5 5 5 6 7 7 8 9 9 9 0 0 0 0 a a a j k k k k P @.#.#.#.=.=.=.%.P.v+w+|+x+e.W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X &+y+g 3 3 1 1 | [ [ [ : : ( ^ ^ ^ ] { ! ! ! ) , , > > = = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > > , , ! ! ! ~ { ] ^ ^ ^ : : [ [ [ | 1 1 3 3 4 4 5 5 5 6 7 7 8 9 9 0 0 0 0 a a a j k k k k P @.#.#.=.=.=.=.X.o+z+A+B+I W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I C+D+E+4 3 1 1 | } [ [ : : ( ^ ^ ^ ] { ~ ! ! ) , , > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > > , , ! ! ! ~ { ] ^ ^ ^ : : [ [ } | 1 1 3 3 4 5 5 5 6 7 7 7 9 9 9 0 0 0 a a a j k k k k P @.#.#.=.=.=.=.X.F+G+H+B.I W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I+J+e 4 4 3 1 1 | } [ [ : : ( ^ ^ ^ ] { ~ ! ! ) , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & * = = > > > , , ! ! ! ~ ] ] ^ ^ ^ : : [ [ } | 1 1 3 3 4 5 5 5 6 7 7 8 9 9 9 0 0 0 a a j k k k k P @.#.#.=.=.=.=.K+F+L+M+N+I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I O+P+5 4 4 3 1 1 | } [ [ : : ( ^ ^ ^ ] { ! ! ! ) , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , , ) ! ! ~ ] ] ^ ^ ^ : : [ [ } | 1 1 3 3 4 5 5 5 6 7 7 8 9 9 0 0 0 a a a j k k k k P @.#.#.=.=.=.Q+Y.R+S+w.I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I T+U+c 5 5 4 3 1 1 | } [ [ : : ( ^ ^ ^ ] { ! ! ! ) , , > > = = * & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = > > > , , ) ! ! ~ { ] ^ ^ ^ : : [ [ } | 1 1 3 4 4 5 5 5 6 7 7 8 9 9 0 0 0 a a a k k k k P @.#.#.=.=.=.V+W+X+Y+u.I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Z+`+6 5 5 5 4 3 1 1 | } [ [ : : ( ^ ^ ^ ] { ! ! ! ) , , > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > , , ) ! ! ~ { ] ^ ^ ^ : : [ [ } | 1 1 3 4 4 5 5 5 7 7 7 9 9 9 0 0 0 a a j k k k k @.#.#.=.=.=.V+%. @.@@+I W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X e.W W W e.W W W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X B.+@R 6 5 5 5 4 3 1 1 | } [ [ : : ( ^ ^ ] ] ~ ! ! ! , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > , , ) ! ! ! { ] ^ ^ ^ : : [ [ } | 1 1 3 4 4 5 5 5 7 7 8 9 9 9 0 0 a a a j k k k P @.#.#.=.=.=.V+F+@@#@T.I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W X I $@$+A.F E.a+%@&@*@*@=@-@;@>@,@d.N+'@c+X X I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X V )@!@7 6 5 5 5 4 3 1 1 | } [ [ : : ( ^ ^ ] ] ~ ! ! ! , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , ) ! ! ! { ] ^ ^ ^ : : [ [ } | 1 1 3 4 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k k @.#.#.=.=.=.V+K+-.w+F I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W X f.#+~@{@]@^@/@(@_@:@<@[@}@|@1@1@2@3@4@5@6@7@8@9@0@a@b@c@d@z.c+X e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X $+e@f@7 7 6 5 5 5 4 3 1 1 | } [ [ : : ( ^ ^ ] ] ~ ! ! ) , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + % & & * = > > > , , ! ! ! ~ ] ^ ^ ^ : : [ [ } | 1 1 3 4 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k P @.#.#.=.=.=.g@{.<.h@H W X X X X X X X X X X X X X X X X X X X X X X X X X X W X i@j@k@l@m@n@o@p@q@r@p@s@t@u@v@w@x@y@y@x@x@x@x@v@z@A@B@C@D@E@E@F@G@8@H@I@J@K@T.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X i@L@M@8 7 7 6 5 5 5 4 3 1 1 | } [ [ : : ^ ^ ^ ] { ~ ! ! ) , , > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > , , ) ! ! ~ ] ] ^ ^ ( : [ [ [ | 1 1 3 4 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k P @.#.=.=.=.=.V+^.N@B+I X X X X X X X X X X X X X X X X X X X X X X X X e.W O@d.P@Q@R@<@S@T@C@u@U@y@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@z@z@V@U@3@B@W@E@X@:@Y@I@Z@X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X N+`@ #9 9 7 7 6 5 5 5 4 3 1 1 | } [ [ : : ^ ^ ^ ] { ! ! ! ) , , > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + % & * = = > > , , ) ! ! ~ ] ] ^ ^ ( : : [ [ | 1 1 3 4 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k P #.#.=.=.=.V+.#+#@#f.I X X X X X X X X X X X X X X X X X X X X X X e.e.I ##$#%#&#C@*#=#v@y@v@v@v@v@v@-#-#-#-#-#-#-#-#-#-#-#-#-#v@v@v@v@v@v@v@v@v@v@v@z@z@3@z@U@3@;#>#{@e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ,#'#)#9 9 9 7 7 6 5 5 5 4 3 1 1 | } [ [ : ( ^ ^ ^ ] { ! ! ! , , > > > = * & & + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + % & & = = > > , , ) ! ! ~ { ] ^ ^ ( : : [ [ } 1 1 3 3 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k @.#.#.=.=.=.g@!#2.~#I W X X X X X X X X X X X X X X X X X X X X X W W V {#]#^#/#S@u@y@-#v@-#-#-#-#-#-#-#(#(#(#(#(#(#(#(#(#(#(#(#(#-#-#-#-#-#-#-#v@v@v@v@v@v@v@v@z@z@_#:#I@{+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X e.<#[#;.0 0 9 9 7 7 6 5 5 5 4 3 1 1 | [ [ : : ( ^ ^ ] ] ~ ! ! ) , , > > = = * & % + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + & & * = > > > , , ! ! ! { ] ^ ^ ^ : : [ [ } 1 1 3 3 4 5 5 5 7 7 8 9 9 0 0 a a a k k k P @.#.=.=.=.=.}#F+|#1#I X X X X X X X X X X X X X X X X X X X X X e.I 2#3#4#5#/#u@y@-#-#-#-#(#(#(#(#(#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#(#(#(#(#(#(#-#-#-#-#v@v@v@v@v@v@S@7#O@X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 1+8#a 0 0 9 9 9 7 7 6 5 5 5 4 3 1 1 | [ [ : : ( ^ ^ ] { ~ ! ! ) , , > > = = & & % + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + % & * = = > > , , ) ! ! ~ ] ^ ^ ^ : : [ [ } 1 1 3 3 4 5 5 5 7 7 8 9 9 0 0 a a a k k k P @.#.=.=.=.V+}#9#0#y.I X X X X X X X X X X X X X X X X X X X X e.%+a#b#c#d#=#y@-#-#-#(#(#(#(#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#(#(#(#(#-#-#-#v@v@v@u@e###X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X T.f#g#a a 0 0 9 9 9 7 7 6 5 5 5 4 3 1 1 } [ [ : : ( ^ ^ ] { ! ! ! ) , > > > = * & & + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + % & & = = > > , , ) ! ! ~ ] ] ^ ^ ( : [ [ } | 1 1 3 4 5 5 5 7 7 8 9 9 0 0 a a a k k k P @.#.=.=.=.V+/+,+h#$@I X X X X X X X X X X X X X X X X X X X I %+>@i#<@j#k#y@-#-#(#(#(#6#6#6#6#6#6#6#6#6#l#l#l#l#m#m#m#m#m#m#m#m#m#m#l#l#l#l#6#6#6#6#6#6#6#6#6#6#(#(#(#-#-#-#y@/#n#W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X T.o#p#;.a a 0 0 9 9 8 7 7 6 5 5 4 4 3 1 1 } [ [ : : ^ ^ ^ ] { ! ! ! , , > > = = * & % + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + & & * = = > > , , ! ! ! { ] ^ ^ ( : : [ [ | 1 1 3 4 5 5 5 6 7 8 9 9 0 0 0 a a k k k P @.#.=.=.=.V+/+q#r#I X X X X X X X X X X X X X X X X X X X W I E.s#<@/#v@-#-#(#(#(#6#6#6#6#6#6#l#l#l#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#l#l#l#6#6#6#6#6#6#6#(#(#(#-#t#u#T.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X z.v#w#j a a 0 0 9 9 8 7 7 6 5 5 4 3 3 1 1 } [ [ : ( ^ ^ ] ] ~ ! ! ) , , > > = = & & % + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + % & & = = > > , , ) ! ! ~ ] ^ ^ ^ : : [ [ | 1 1 3 4 4 5 5 6 7 7 9 9 0 0 0 a a k k k P @.#.=.=.=.V+x#y#z#I X X X X X X X X X X X X X X X X X X X W A#B#C#/#-#(#(#(#(#6#6#6#6#6#6#l#l#m#m#m#m#m#m#m#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#m#m#m#m#m#m#m#l#l#6#6#6#6#6#6#6#(#E#v@=@W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I x+F#G#j a a 0 0 9 9 8 7 7 6 5 5 4 3 3 1 | [ [ : : ( ^ ^ ] { ~ ! ! , , > > = = * & % + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + & & = = > > , , ) ! ! ~ ] ] ^ ^ : : [ [ } 1 1 3 4 4 5 5 6 7 7 9 9 0 0 0 a a k k k P @.#.=.=.=.}#K+H#r.I X X X X X X X X X X X X X X X X X X I Y I#J#K#k#-#(#(#(#6#6#6#6#6#l#m#m#m#m#m#m#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#m#m#m#m#m#l#6#6#6#6#6#6#L#M#I+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I Y N#O#j a 0 0 0 9 9 8 7 7 5 5 5 4 3 1 1 | [ [ : : ( ^ ^ ] { ! ! ! , , > > = = & & % + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + % & * = = > > , , ! ! ! { ] ^ ^ ( : : [ } | 1 3 3 4 5 5 6 7 7 8 9 0 0 0 a a j k k P @.#.=.=.=.V+K+v+P#I X X X X X X X X X X X X X X X X X X I s+Q#R#=#(#(#(#6#6#6#6#6#l#m#m#m#m#m#D#D#D#D#D#D#D#D#D#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#D#D#D#D#D#D#D#D#D#D#m#m#m#m#l#6#6#6#m#T#U#I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W H V#G#j a 0 0 0 9 9 8 7 7 5 5 5 4 3 1 1 } [ [ : : ^ ^ ] ] ~ ! ! ) , , > > = * & & + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + % & & = = > > , , ) ! ! ~ ] ^ ^ ^ : : [ [ | 1 1 3 4 5 5 5 7 7 8 9 9 0 0 a a j k k P @.#.=.=.=.}#x#H#W#I X X X X X X X X X X X X X X X X X W Y X#Y#Z#(#(#(#6#6#6#6#l#l#m#m#m#m#D#D#D#D#D#D#D#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#D#D#D#D#D#D#D#m#m#m#l#l#6#6#`#-@W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X H $.$j a 0 0 0 9 9 7 7 6 5 5 4 3 3 1 1 } [ : : ( ^ ^ ] { ! ! ! , , > > = = * & % + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + & & * = > > > , ) ! ! ~ ] ] ^ ^ ( : [ [ } 1 1 3 4 5 5 5 6 7 8 9 9 0 0 a a j k k P @.#.=.=.=.V+P +$@$I X X X X X X X X X X X X X X X X X I #$$$C@%$(#(#6#6#6#6#l#l#m#m#m#D#D#D#D#D#D#D#S#S#S#S#S#S#S#S#&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$S#S#S#S#S#S#S#S#S#D#D#D#D#D#D#m#m#m#m#l#*$=$-$W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X c+;$>$;.a 0 0 0 9 9 7 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ^ ] ~ ! ! ) , , > > = = & & + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + % & & = = > > , , ! ! ! { ] ^ ^ ( : [ [ } | 1 3 3 4 5 5 6 7 7 9 9 0 0 a a j k k k @.#.=.=.=.V+/+,$'$I X X X X X X X X X X X X X X X X X I )$!$~$(#(#(#6#6#6#l#m#m#m#m#D#D#D#D#D#S#S#S#S#S#S#S#S#&$&$&$&$&$&$&$&$&${${${${${${${${${$&$&$&$&$&$&$&$&$&$S#S#S#S#S#S#S#D#D#D#D#D#m#m#m#m#]$^$/$W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I $@($p#;.a 0 0 9 9 8 7 7 5 5 5 4 3 1 1 } [ [ : : ^ ^ ] ] ~ ! ! ) , > > = = * & % + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + & & * = > > , , ) ! ! ~ ] ^ ^ ^ : : [ [ | 1 1 3 4 5 5 6 7 7 9 9 0 0 0 a j k k k @.#.=.=.=.V+}#_$:$I X X X X X X X X X X X X X X X X X T.<$[$}$(#(#6#6#6#6#m#m#m#m#D#D#D#D#D#S#S#S#S#S#S#&$&$&$&$&${${${$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|${${${$&$&$&$&$&$&$S#S#S#S#S#S#D#D#D#D#m#m#1$}$2$3$I e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W 4$5$6$;.a 0 0 9 9 8 7 7 5 5 4 4 3 1 1 } [ : : ( ^ ^ ] { ! ! ! , , > > = = & & % + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + % & * = = > > , , ! ! ~ { ] ^ ^ ( : [ [ } 1 1 3 4 5 5 5 7 7 8 9 9 0 0 a a k k k @.#.=.=.=.V+}#j.7$I X X X X X X X X X X X X X X X X W 8$9$0$-#(#6#6#6#6#l#m#m#m#D#D#D#D#S#S#S#S#S#S#&$&$&$&${${$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|${${$&$&$&$&$&$S#S#S#S#S#D#D#D#D#m#m#a$b$c$A.W X X X X X X X X X X X X X X X X W X X X X X X X X X X X X X X X X I v.d$>$a 0 0 0 9 9 7 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ^ ] ~ ! ! ) , , > > = * & & + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + & & * = > > > , ) ! ! { ] ^ ^ ( : : [ } | 1 3 3 4 5 5 6 7 8 9 9 0 0 a a j k k P #.#.=.=.V+e${.f$T.X X X X X X X X X X X X X X X X I g$h$K#(#(#6#6#6#l#m#m#m#D#D#D#D#S#S#S#S#S#&$&$&$&${${$|$|$|$|$|$|$|$|$|$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$|$|$|$|$|$|$|$|${${$&$&$&$&$S#S#S#S#S#D#D#D#D#m#m#j$k$l$V e.e.X X X X X X X X X X X I T.m$N+X X X X X X X X X X X X X X X X X 1#n$o$a 0 0 0 9 8 7 7 5 5 5 4 3 1 1 } [ [ : : ^ ^ ] { ! ! ! , , > > = = & & % + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + % & & = = > > , ) ! ! ~ ] ] ^ ^ : : [ [ | 1 1 3 4 5 5 6 7 7 9 9 0 0 a a j k k P @.#.=.=.V+}#!#p$B.I X X X X X X X X X X X X X X X X q$r$0$(#6#6#6#6#l#m#m#D#D#D#D#S#S#S#S#S#&$&$&${${$|$|$|$|$|$|$|$i$i$i$i$i$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$i$i$i$i$i$|$|$|$|$|$|${${$&$&$&$&$S#S#S#S#D#D#D#D#m#%$]$t$u$-$'@I X X W e.I W W T.v$q.w$x$y$v.I X X X X X X X X X X X X X X X I z$A$)#a 0 0 9 9 8 7 7 5 5 4 4 3 1 | } [ : : ( ^ ^ ] ~ ! ! ) , , > > = * & & + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + & & * = > > , , ! ! ! { ] ^ ^ ( : [ [ } 1 1 3 4 5 5 5 7 7 8 9 0 0 0 a a k k k @.#.=.=.=.}#K+B$d@I X X X X X X X X X X X X X X X X C$D$E$(#6#6#6#l#m#m#m#D#D#D#D#S#S#S#S#&$&$&${$|$|$|$|$|$|$i$i$i$i$s$s$s$s$s$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$s$s$s$s$s$i$i$i$|$|$|$|$|$|${$&$&$&$&$S#S#S#S#D#D#D#m#m#G$H$I$J$K$L$M$N$c@O$P$Q$R$c#W@S$A@T$U$V$I X X X X X X X X X X X X X X X I W$R.a a 0 0 9 9 7 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ] { ~ ! ! , , > > = = & & % + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + % & & = = > > , ) ! ! ~ ] ^ ^ ^ : : [ [ | 1 3 3 4 5 5 6 7 8 9 9 0 0 a a k k k @.#.=.=.=.}#}#X$Y$I X X X X X X X X X X X X X X X X *@Z$`$6#6#6#6#l#m#m#D#D#D#D#S#S#S#S#&$&$&${$|$|$|$|$|$i$i$i$s$s$s$s$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$s$s$s$s$i$i$|$|$|$|$|${$&$&$&$&$S#S#S#S#D#D#D#m#m#l#}$H$ %T#.%+%@%r@T@#%2@3@3@A@A@$%%%2#I X X X X X X X X X X X X X X X H &%p#*%0 0 0 9 8 7 7 5 5 5 4 3 1 1 } [ [ : ( ^ ^ ] { ! ! ) , , > > = * & & + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + & & * = > > > , ! ! ! { ] ^ ^ ( : [ [ } 1 1 3 4 5 5 6 7 7 9 9 0 0 a a j k k P #.#.=.=.V+=%F+-%I X X X X X X X X X X X X X X X X ;%>%+%(#6#6#6#m#m#m#D#D#D#S#S#S#S#&$&$&${$|$|$|$|$|$i$i$s$s$s$F$F$F$F$F$F$F$F$F$,%,%,%,%'%'%'%'%'%'%'%'%,%,%,%,%F$F$F$F$F$F$F$F$F$s$s$s$i$i$|$|$|$|$|${$&$&$&$S#S#S#S#D#D#D#m#m#m#6#6#m#E#E#)%-#v@v@v@3@3@A@A@A@$%!%2#I X X X X X X X X X X X X X X X x.~%{%a 0 0 9 9 8 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ] { ~ ! ! , , > > = = & & % + + + + + + + + + + + + ", -" + + + + + + + + + + + + % & & = = > > , ) ! ! ~ ] ^ ^ ^ : : [ [ | 1 3 4 4 5 5 7 7 8 9 0 0 0 a j k k P @.#.=.=.V+}#]%^%x+X X X X X X X X X X X X X X X X /%>%(%(#6#6#6#m#m#m#D#D#D#S#S#S#S#&$&${$|$|$|$|$i$i$i$s$s$F$F$F$F$F$F$F$,%,%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%,%,%F$F$F$F$F$F$F$s$s$s$i$i$|$|$|$|${$&$&$&$S#S#S#D#D#D#D#m#m#l#6#6#6#(#-#-#v@v@v@3@3@A@A@A@_%:%*+I X X X X X X X X X X X X X X W <%[%}%a 0 0 9 9 7 7 6 5 5 4 3 1 1 } [ [ : ( ^ ^ ] { ! ! ) , , > > = * & % + + + + + + + + + + + + ", -" + + + + + + + + + + + + & & * = > > , , ) ! ! { ] ^ ^ ( : [ [ } 1 1 3 4 5 5 6 7 7 9 9 0 0 a a k k k @.#.=.=.=.}#|%1%d@e.X X X X X X X X X X X X X X W 2%3%(%(#6#6#6#m#m#D#D#D#D#S#S#S#&$&$&$|$|$|$|$i$i$i$s$s$F$F$F$F$F$,%,%'%'%'%'%'%'%'%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%'%'%'%'%'%'%,%,%F$F$F$F$F$F$s$s$i$i$|$|$|$|${$&$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#-#v@v@v@3@3@A@A@A@$%5%C.X X X X X X X X X X X X X X X I 6%M@a 0 0 0 9 8 7 7 5 5 4 3 3 1 | [ [ : : ^ ^ ] { ~ ! ! , , > > = = & & + + + + + + + + + + + + ", -" + + + + + + + + + + + % & & = = > > , , ! ! ~ ] ^ ^ ^ : : [ } | 1 3 4 5 5 5 7 7 8 9 0 0 0 a j k k P #.=.=.=.}#}#X.7%I X X X X X X X X X X X X X X I 8%9%.%6#6#6#l#m#m#D#D#D#S#S#S#S#&$&${$|$|$|$|$i$i$s$s$F$F$F$F$,%,%'%'%'%'%'%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%0%'%'%'%'%,%,%F$F$F$F$F$s$s$i$i$|$|$|$|$&$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#-#v@v@v@3@3@A@A@A@T$a%N+X X X X X X X X X X X X X X X c+5$b%a 0 0 9 9 7 7 6 5 5 4 3 1 1 } [ [ : ( ^ ^ ] { ! ! ) , , > > = * & % + + + + + + + + + + + ", -" + + + + + + + + + + + % & * = > > > , ) ! ! { ] ^ ^ ( : [ [ | 1 1 3 4 5 5 6 7 8 9 9 0 0 a a k k k @.#.=.=.V+}#{.c%Y X X X X X X X X X X X X X X I d%e%E$6#6#6#l#m#m#D#D#D#S#S#S#&$&$&$|$|$|$|$i$i$s$s$F$F$F$F$,%,%'%'%'%'%4%4%4%4%4%4%4%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%g%4%4%4%4%4%4%4%'%'%'%'%,%F$F$F$F$F$s$i$i$|$|$|$|${$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#-#v@v@z@3@3@A@A@|@h%i%T.X X X X X X X X X X X X X X I j%k%l%0 0 0 9 8 7 7 5 5 4 3 3 1 | [ [ : : ^ ^ ] ] ~ ! ! , , > > = = & & + + + + + + + + + + + ", -" + + + + + + + + + + + & & = = > > , , ! ! ~ ] ] ^ ^ : : [ } 1 1 3 4 5 5 5 7 7 9 9 0 0 a a j k k @.#.=.=.=.}#Q+m%t.I X X X X X X X X X X X X X X w.n%o%E#6#6#l#m#m#D#D#D#S#S#S#&$&${$|$|$|$i$i$s$s$F$F$F$F$,%'%'%'%'%4%4%4%4%4%4%f%f%f%f%f%f%f%f%f%f%p%p%p%p%p%p%f%f%f%f%f%f%f%f%f%f%f%4%4%4%4%4%4%'%'%'%,%F$F$F$F$s$s$i$i$|$|$|${$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#-#v@v@z@3@3@A@A@|@q%I@I X X X X X X X X X X X X X X I r%o$a 0 0 9 9 8 7 6 5 5 4 3 1 1 } [ [ : ( ^ ^ ] ~ ! ! ) , > > = = * & % + + + + + + + + + + ", -" + + + + + + + + + + % & * = = > > , ) ! ! { ] ^ ^ ( : [ [ | 1 1 3 4 5 5 6 7 8 9 9 0 0 a a k k P #.#.=.=.V+}#9#s%I X X X X X X X X X X X X X X T.t%~$6#6#6#l#m#m#D#D#D#S#S#S#&$&${$|$|$|$i$i$s$s$F$F$F$,%'%'%'%'%4%4%4%4%4%f%f%f%f%f%f%p%p%p%p%p%p%p%u%u%u%u%u%u%p%p%p%p%p%p%p%f%f%f%f%f%f%f%4%4%4%4%4%'%'%'%,%F$F$F$F$s$s$i$|$|$|$|${$&$&$S#S#D#D#D#m#m#l#6#6#6#(#-#-#v@v@z@3@3@A@A@v%w%x%I X X X X X X X X X X X X X X T.y%6$a 0 0 9 9 7 7 5 5 4 4 3 1 | [ [ : : ^ ^ ] { ! ! ! , , > > = * & & + + + + + + + + + + ", -" + + + + + + + + + + & & * = > > , , ! ! ~ { ] ^ ^ : : [ } | 1 3 4 5 5 5 7 7 9 9 0 0 a a j k k @.#.=.=.V+}#z%A%$+X X X X X X X X X X X X X X I B%E$C%6#6#l#m#m#D#D#D#S#S#&$&$&${$|$|$|$i$s$s$F$F$F$F$,%'%'%'%4%4%4%4%f%f%f%f%f%f%p%p%p%u%u%u%u%u%u%u%D%D%D%D%D%D%D%u%u%u%u%u%u%p%p%p%p%f%f%f%f%f%4%4%4%4%4%'%'%'%,%F$F$F$F$s$i$i$|$|$|${$&$&$S#S#D#D#D#m#m#l#6#6#6#(#-#v@v@v@z@3@A@A@A@E%F%~@I X X X X X X X X X X X X X e.G%H%)#0 0 9 9 8 7 6 5 5 4 3 1 1 } [ [ : ( ^ ^ ] ~ ! ! ) , > > = = & & % + + + + + + + + + ", -" + + + + + + + + + % & & = = > > , ) ! ! ~ ] ^ ^ ( : [ [ } 1 1 3 4 5 5 6 7 8 9 0 0 0 a j k k P #.=.=.=.}#}#I%J%W X X X X X X X X X X X X X I %@K%L%6#6#l#m#m#D#D#D#S#S#S#&$&$|$|$|$|$i$s$s$F$F$F$,%'%'%'%4%4%4%4%f%f%f%f%f%p%p%p%u%u%u%u%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%u%u%u%p%p%p%f%f%f%f%f%4%4%4%4%4%'%'%,%F$F$F$F$s$i$i$|$|$|${$&$&$S#S#S#D#D#m#m#l#6#6#6#(#-#v@v@v@3@3@A@A@A@M%N%Z@X X X X X X X X X X X X X X I O%B a 0 0 9 9 7 7 5 5 4 3 3 1 | [ [ : : ^ ^ ] { ! ! ! , , > > = * & % + + + + + + + + + ", -" + + + + + + + + + % & * = > > , , ! ! ! { ] ^ ^ : : [ [ | 1 3 4 4 5 5 7 7 9 9 0 0 a a k k k @.#.=.=.V+}#P%Q%H X X X X X X X X X X X X X X R%S%=#6#6#l#m#m#D#D#D#S#S#&$&$&$|$|$|$i$i$s$s$F$F$F$'%'%'%4%4%4%4%f%f%f%f%p%p%p%u%u%u%D%D%D%D%D%D%D%D%D%D%T%T%T%T%T%T%D%D%D%D%D%D%D%D%D%D%D%u%u%u%p%p%f%f%f%f%4%4%4%4%'%'%'%,%F$F$F$s$s$i$|$|$|${$&$&$S#S#D#D#D#m#m#l#6#6#(#(#-#v@v@z@3@3@A@A@|@U%V%H X X X X X X X X X X X X X W A#W%X%0 0 9 9 8 7 6 5 5 4 3 1 1 } [ : : ( ^ ^ ] ~ ! ! , , > > = = & & + + + + + + + + + ", -" + + + + + + + + + & & = = > > , , ! ! ~ ] ^ ^ ^ : : [ } 1 1 3 4 5 5 6 7 8 9 0 0 0 a j k k P #.=.=.=.}#/+Y%Z%W X X X X X X X X X X X X X H i#`%E#6#6#m#m#D#D#D#S#S#S#&$&$|$|$|$i$i$s$F$F$F$,%'%'%'%4%4%4%f%f%f%f%p%p%u%u%u%D%D%D%D%D%D%D%T%T% & & & & & & & & & & & & & &T%T%T%D%D%D%D%D%D%u%u%u%p%p%f%f%f%f%4%4%4%4%'%'%,%F$F$F$s$s$i$|$|$|${$&$&$S#S#D#D#D#m#m#l#6#6#(#-#-#v@v@z@3@3@A@A@.&+&@&I X X X X X X X X X X X X X I #&b.a 0 0 9 9 7 7 5 5 4 3 3 1 | [ [ : ( ^ ^ ] { ! ! ) , > > = = & & % + + + + + + + + ", -" + + + + + + + + % & & = = > , , ) ! ! { ] ^ ^ ( : [ [ | 1 3 4 4 5 5 7 7 9 9 0 0 a a k k k @.#.=.=.V+}#$&7$I X X X X X X X X X X X X X W l$=#E#6#6#m#m#D#D#D#S#S#&$&$&$|$|$|$i$i$s$F$F$F$,%'%'%4%4%4%f%f%f%f%p%p%u%u%u%D%D%D%D%D%T%T% & & & & & & & & & & & & & & & & & & & & & & &T%D%D%D%D%D%D%u%u%p%p%f%f%f%f%4%4%4%'%'%'%F$F$F$F$s$i$|$|$|${$&$&$S#S#D#D#D#m#m#l#6#6#(#-#-#v@v@3@3@A@A@v%%&&&B+I X X X X X X X X X X X X X I+*&w#0 0 9 9 8 7 6 5 5 4 3 1 1 } [ : : ( ^ ] { ~ ! ! , , > > = * & % + + + + + + + + ", -" + + + + + + + + & & * = > > , , ! ! ~ { ] ^ ^ : : [ } 1 1 3 4 5 5 6 7 8 9 0 0 0 a j k k P #.=.=.V+}#Q+=&*+W X X X X X X X X X X X X W 2#-&%$6#6#l#m#m#D#D#S#S#S#&$&$|$|$|$i$i$s$F$F$F$,%'%'%4%4%4%f%f%f%f%p%p%u%u%D%D%D%D%T%T% & & & & & & &;&;&;&;&;&;&;&;&;&;&;&;&;&;& & & & & & & & &T%D%D%D%D%D%u%u%p%p%f%f%f%4%4%4%4%'%'%,%F$F$F$s$i$i$|$|${$&$&$S#S#D#D#D#m#m#6#6#6#(#-#v@v@v@3@3@A@A@v%T$>&H X X X X X X X X X X X X X I T+,&a 0 0 9 9 7 7 5 5 4 3 1 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = = & & + + + + + + + + ", -" + + + + + + + + & & = = > > , ) ! ! ~ ] ^ ^ ( : [ [ | 1 1 3 4 5 5 7 7 9 9 0 0 a a k k k @.#.=.=.V+e$'&A+e.X X X X X X X X X X X X X H i#)&6#6#l#m#m#D#D#S#S#S#&$&$|$|$|$i$i$s$F$F$F$,%'%'%4%4%4%f%f%f%p%p%u%u%D%D%D%D%T%T% & & & & &;&;&;&;&;&;&;&;&;&!&!&!&!&!&;&;&;&;&;&;&;&;& & & & & & &T%D%D%D%D%D%u%p%p%f%f%f%4%4%4%4%'%'%,%F$F$F$s$i$|$|$|${$&$&$S#S#D#D#D#m#l#6#6#(#(#-#v@v@z@3@A@A@A@~&{&h@I X X X X X X X X X X X X X 4$]&w#0 0 9 9 7 7 6 5 5 4 3 1 | [ [ : : ^ ^ ] { ! ! ) , > > > = * & % + + + + + + + ", -" + + + + + + + % & * = = > , , ) ! ! { ] ^ ^ ( : [ [ | 1 3 4 5 5 5 7 8 9 9 0 0 a j k k @.#.=.=.V+}#Q+^&##W X X X X X X X X X X X X X =@y@E#6#6#m#m#D#D#S#S#S#&$&${$|$|$i$i$s$F$F$F$'%'%4%4%4%f%f%f%f%p%u%u%D%D%D%D%T% & & & & &;&;&;&;&;&!&!&/&/&/&/&/&/&/&/&/&/&/&/&/&/&!&!&;&;&;&;&;& & & & & &T%D%D%D%D%u%u%p%p%f%f%f%4%4%4%'%'%,%F$F$F$s$i$|$|$|${$&$S#S#S#D#D#m#m#l#6#6#(#-#v@v@v@3@3@A@A@v%(&_&d+W X X X X X X X X X X X X W :&,&;.0 0 9 8 7 6 5 5 4 3 1 1 } [ : : ( ^ ^ ] ~ ! ! , , > > = * & % + + + + + + + ", -" + + + + + + + % & * = > > , , ! ! ~ ] ] ^ ^ : : [ } 1 1 3 4 5 5 6 7 8 9 0 0 a a j k k @.#.=.=.}#<&'&[&W X X X X X X X X X X X X e.y.}&L#6#6#l#m#D#D#D#S#S#&$&${$|$|$i$i$s$F$F$F$'%'%4%4%4%f%f%f%p%p%u%u%D%D%D%T% & & & & &;&;&;&!&!&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&!&!&;&;&;&;& & & & &T%D%D%D%D%u%p%p%f%f%f%4%4%4%'%'%,%F$F$F$s$i$|$|$|$&$&$S#S#S#D#D#m#m#6#6#6#(#-#v@v@z@3@3@A@A@|@|&1&I X X X X X X X X X X X X X $+2&.$0 0 9 9 7 7 5 5 4 3 3 1 | [ [ : ( ^ ^ ] { ! ! ) , > > = = & & + + + + + + + ", -" + + + + + + + & & = = > > , ) ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 5 7 7 9 9 0 0 a a k k P #.=.=.V+}#3&4&d%X X X X X X X X X X X X X I 5&S@E#6#l#m#m#D#D#S#S#&$&${$|$|$|$i$s$F$F$F$'%'%4%4%4%f%f%f%p%p%u%D%D%D%D%T% & & & &;&;&;&!&/&/&/&/&/&/&/&6&6&6&6&6&6&6&6&6&6&6&6&6&6&/&/&/&/&/&/&/&!&;&;&;&;& & & & &T%D%D%D%u%p%p%f%f%f%4%4%4%'%'%,%F$F$F$s$i$|$|${$&$&$S#S#D#D#D#m#l#6#6#(#(#-#v@v@z@3@A@A@v%v%7&@+W X X X X X X X X X X X X I 8&b.;.0 0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = * & % + + + + + + ", -" + + + + + + + & * = = > > , ) ! ! { ] ^ ^ : : [ [ | 1 3 4 5 5 6 7 8 9 0 0 0 a j k k @.#.=.=.V+}#9&0&I X X X X X X X X X X X X e.2#a&%$6#6#m#m#D#D#S#S#S#&$&$|$|$|$i$s$F$F$F$,%'%4%4%4%f%f%f%p%p%u%D%D%D%T% & & & &;&;&;&!&/&/&/&/&/&/&6&6&6&6&b&b&b&b&c&c&c&c&b&b&b&b&b&6&6&6&6&/&/&/&/&/&!&;&;&;&;& & & &T%D%D%D%u%u%p%f%f%f%4%4%4%'%'%,%F$F$s$s$i$|$|${$&$&$S#S#D#D#m#m#l#6#6#(#-#v@v@v@3@3@A@A@v%$%d&c+X X X X X X X X X X X X X x.e&f&0 0 9 9 7 7 5 5 4 3 1 1 } [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + + + + + ", -" + + + + + + % & * = > > , , ! ! ~ ] ^ ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a a k k P #.=.=.=.}#g&h&@+W X X X X X X X X X X X X I i&~$6#6#l#m#D#D#D#S#S#&$&$|$|$|$i$s$F$F$F$,%'%4%4%4%f%f%f%p%u%u%D%D%D%T% & & &;&;&;&!&/&/&/&/&/&6&6&6&b&b&c&c&j&j&j&j&j&j&j&j&j&j&j&j&j&c&c&b&b&6&6&6&/&/&/&/&!&;&;&;& & & & &T%D%D%D%u%p%f%f%f%4%4%4%'%'%,%F$F$s$i$i$|$|${$&$S#S#S#D#D#m#m#6#6#6#(#-#v@v@z@3@A@A@v%v%k&<#W X X X X X X X X X X X X W l&8#;.0 9 9 7 7 6 5 4 4 3 1 | [ [ : ( ^ ^ ] { ! ! , , > > = = & & + + + + + + ", -" + + + + + + & & = = > > , ) ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 5 7 7 9 9 0 0 a j k k @.#.=.=.V+}#m&n&H X X X X X X X X X X X X e.o&e#L%6#l#m#m#D#D#S#S#&$&${$|$|$i$s$s$F$F$,%'%4%4%4%f%f%f%p%u%u%D%D%D%T% & & &;&;&!&/&/&/&/&6&6&6&b&c&c&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&c&b&b&6&6&/&/&/&/&!&;&;&;& & & &T%D%D%D%u%p%f%f%f%4%4%4%'%'%F$F$F$s$i$|$|$|$&$&$S#S#D#D#D#m#l#6#6#(#-#v@v@v@3@3@A@A@v%q%p&T.X X X X X X X X X X X X e.q&r&0 0 0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + + + + ", -" + + + + + + & & = = > > , ) ! ! { ] ^ ^ : : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a j k k @.#.=.=.}#<&z%h@W X X X X X X X X X X X X I s&)&6#6#m#m#D#D#D#S#S#&${$|$|$i$i$s$F$F$,%'%'%4%4%f%f%f%p%u%u%D%D%D% & & &;&;&;&!&/&/&/&6&6&b&b&c&j&j&j&j&j&j&t&t&t&t&u&u&u&u&u&u&t&t&t&t&j&j&j&j&j&j&j&c&b&6&6&/&/&/&/&!&;&;& & & &T%D%D%D%u%p%f%f%f%4%4%4%'%'%F$F$F$s$i$|$|${$&$&$S#S#D#D#m#m#6#6#6#(#-#v@v@z@3@A@A@v%v%v&w&W X X X X X X X X X X X X I x&y&0 0 9 9 7 7 5 5 4 3 1 1 } [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + + + + ", -" + + + + + % & * = > > , , ! ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a a k k P #.=.=.V+}#|%z&B.W X X X X X X X X X X X X 1#A&L%6#l#m#m#D#D#S#S#&$&$|$|$|$i$s$F$F$F$'%'%4%4%f%f%f%p%u%u%D%D%D% & & &;&;&;&/&/&/&/&6&6&b&c&j&j&j&j&j&t&t&u&u&u&u&u&u&u&u&u&u&u&u&u&u&u&u&t&t&j&j&j&j&j&j&c&b&6&6&/&/&/&!&;&;& & & &T%D%D%D%u%p%f%f%f%4%4%'%'%,%F$F$s$i$i$|$|${$&$S#S#S#D#D#m#l#6#6#(#-#v@v@v@3@3@A@A@v%B&C&Y X X X X X X X X X X X X W D&,&;.0 9 9 7 7 6 5 4 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = = & % + + + + + ", -" + + + + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 1 4 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.V+}#9&E&W X X X X X X X X X X X X I F&G&6#6#m#m#D#D#S#S#&$&${$|$|$i$s$F$F$F$'%'%4%4%4%f%f%p%p%u%D%D%D% & & &;&;&!&/&/&/&6&6&b&c&j&j&j&j&t&t&u&u&u&u&u&H&H&H&H&H&H&H&H&H&H&H&H&u&u&u&u&u&u&t&j&j&j&j&j&c&6&6&/&/&/&!&;&;&;& & &T%D%D%D%u%p%f%f%f%4%4%'%'%,%F$F$s$i$|$|$|$&$&$S#S#D#D#m#m#6#6#6#(#-#v@v@z@3@A@A@v%v%I&J&e.X X X X X X X X X X X X V K&O#0 0 9 8 7 6 5 5 4 3 1 | } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + + + ", -" + + + + + & & = = > > , ) ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a k k P @.#.=.=.}#}#L&M&W X X X X X X X X X X X X 8$N&%$6#l#m#m#D#D#S#S#&$&$|$|$|$i$s$F$F$,%'%4%4%4%f%f%p%p%u%D%D%T% & & &;&;&!&/&/&/&6&b&c&j&j&j&j&t&u&u&u&u&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&u&u&u&t&j&j&j&j&c&b&6&6&/&/&/&;&;&;& & &T%D%D%D%u%p%f%f%4%4%4%'%'%F$F$F$s$i$|$|${$&$S#S#S#D#D#m#l#6#6#(#-#v@v@v@3@3@A@A@v%h%O&O@X X X X X X X X X X X X X P&Q&;.0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = * & % + + + + ", -" + + + + + & & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a a k k P #.=.=.V+}#R&S&i@W X X X X X X X X X X X W T&U&6#6#l#m#D#D#S#S#&$&${$|$|$i$s$F$F$,%'%'%4%4%f%f%f%p%u%D%D%D% & & &;&;&!&/&/&6&6&b&c&j&j&j&t&u&u&u&H&H&H&H&H&H&H&V&V&V&V&V&V&V&V&V&V&V&V&V&H&H&H&H&H&H&u&u&u&t&j&j&j&j&b&6&6&/&/&/&!&;&;& & &T%D%D%u%u%p%f%f%4%4%4%'%,%F$F$s$i$|$|$|$&$&$S#S#D#D#m#m#6#6#6#(#-#v@v@3@3@A@A@v%W&X&1#X X X X X X X X X X X X X Y&Z&a 0 9 9 7 7 5 5 5 3 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + + + ", -" + + + + + & * = > > , , ! ! ~ { ] ^ ( : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.V+<&9&`&I X X X X X X X X X X X X $@ *t#6#l#m#m#D#D#S#S#&$&$|$|$i$i$s$F$F$'%'%4%4%f%f%f%p%u%D%D%D% & & &;&;&!&/&/&6&6&b&j&j&j&j&t&u&u&H&H&H&H&H&V&V&V&V&V&.*.*.*.*.*.*.*.*.*.*V&V&V&V&V&H&H&H&H&H&u&u&u&t&j&j&j&c&6&6&/&/&/&;&;& & & &T%D%D%u%p%f%f%f%4%4%'%'%,%F$F$s$i$|$|${$&$S#S#S#D#D#m#l#6#6#(#-#v@v@z@3@A@A@v%v%|&<$W X X X X X X X X X X X W x++*.$0 0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + + + ", -" + + + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a j k P @.#.=.=.}#g&@*a+e.X X X X X X X X X X X W #*$*6#6#l#m#D#D#S#S#&$&${$|$|$i$s$F$F$,%'%'%4%4%f%f%p%u%u%D%D%T% & &;&;&!&/&/&6&6&c&j&j&j&t&u&u&u&H&H&H&H&V&V&V&V&.*%*%*%*%*%*%*%*%*%*%*&*&*%*%*%*V&V&V&V&H&H&H&H&H&u&u&t&j&j&j&c&6&6&/&/&/&;&;& & & &D%D%D%u%p%f%f%4%4%4%'%'%F$F$s$i$|$|$|$&$&$S#S#D#D#m#m#6#6#(#(#-#v@v@3@3@A@A@v%**=*V X X X X X X X X X X X X W -*;*;.0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + + ", -" + + + + % & * = > > , ) ! ! { ] ^ ^ : : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a k k P #.=.=.V+}#.#>*N+I X X X X X X X X X X X I ,*r@6#6#m#m#D#D#S#S#&$&$|$|$i$s$s$F$F$'%'%4%4%f%f%f%p%u%D%D%T% & &;&;&!&/&/&6&6&c&j&j&j&t&u&u&H&H&H&H&V&V&V&.*%*%*%*%*%*'*'*'*'*.*)*!*~*%*'*'*%*{*!*]*t&H&V&V&^*H&H&H&u&u&t&j&j&j&c&6&6&/&/&/&;&;& & & &D%D%u%u%p%f%f%4%4%'%'%,%F$F$s$i$|$|${$&$S#S#S#D#D#m#l#6#6#(#-#v@v@z@3@A@A@v%v%~&~#W X X X X X X X X X X X X /*(*a 0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + + ", -" + + + + & & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.V+}#9&_*W X X X X X X X X X X X X I+:**$6#l#m#D#D#S#S#S#&${$|$|$i$s$F$F$,%'%4%4%4%f%f%p%u%D%D%D% & & &;&;&/&/&6&6&c&j&j&j&t&u&u&H&H&H&V&V&V&.*%*%*%*%*'*<*<*<*[*~*}*|*1*2*3*4*5*6*7*8*9*0*a*b*%*c*H&V&H&H&H&H&u&t&j&j&j&c&6&6&/&/&!&;&;& & &T%D%D%u%p%f%f%f%4%4%'%'%F$F$s$i$|$|$|$&$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@3@A@v%v%|&d*I X X X X X X X X X X X W z.e*O#0 9 9 7 7 6 5 5 4 3 1 | [ [ : ( ^ ] ] ~ ! ) , , > > = * & % + + + ", -" + + + + & & = = > , , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.}#g&.#f*X X X X X X X X X X X X W g*k#6#6#m#m#D#D#S#S#&$&$|$|$i$i$s$F$F$'%'%4%4%f%f%p%p%u%D%D%T% & &;&;&/&/&/&6&b&j&j&j&t&u&u&H&H&H&V&V&V&.*%*%*%*'*<*<*<*~*h*i*j*k*l*m*n*l*o*p*p*p*o*l*n*q*r*s*t*u*t&t&V&H&H&H&u&u&j&j&j&c&6&6&/&/&!&;&;& & &T%D%D%u%p%f%f%4%4%4%'%,%F$F$s$i$|$|${$&$S#S#D#D#m#m#l#6#6#(#-#v@v@3@3@A@A@v%%&v*B.X X X X X X X X X X X X W w*8#0 0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + + ", -" + + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 1 4 5 5 5 7 8 9 0 0 a a k k P #.=.=.=.}#/+x*2#W X X X X X X X X X X X e.a@G&6#6#m#m#D#D#S#S#&${$|$|$i$s$F$F$,%'%4%4%4%f%f%p%u%D%D%T% & &;&;&!&/&/&6&b&j&j&j&t&u&u&H&H&H&V&V&.*%*%*%*'*<*<*<*~*y*z*6*n*A*B*B*B*B*B*B*B*B*B*B*B*B*B*B*C*A*C*D*E*t&t&H&H&H&u&u&j&j&j&c&6&/&/&/&;&;& & & &D%D%u%p%f%f%f%4%4%'%'%F$F$s$i$|$|${$&$&$S#S#D#D#m#l#6#6#(#-#v@v@z@3@A@A@v%v%%&F*W X X X X X X X X X X X W G*>$;.0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ] ~ ! ! , , > > = = & & + + + ", -" + + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a k k P #.=.=.V+}#z%H*&+X X X X X X X X X X X X '@I*.%6#l#m#D#D#S#S#&$&$J*|$|$i$s$F$F$'%'%4%4%f%f%p%u%u%D%D% & & &;&!&/&/&6&b&c&j&j&t&u&u&H&H&H&V&V&.*%*%*'*<*<*<*%*%*K*L*m*o*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*M*A*N*u*O*H&H&H&u&t&j&j&j&b&6&/&/&!&;&;& & &T%D%D%u%p%f%f%4%4%'%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%P*Q*I X X X X X X X X X X X e.R*S*0 0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + ", -" + + + % & * = > > , ) ! ! { ] ^ ^ : : [ [ | 1 3 4 5 5 6 7 9 9 0 0 a j k k @.#.=.=.V+<&9&T*W X X X X X X X X X X X W #*U*6#6#m#m#D#D#S#S#&$&$|$|$i$s$F$F$,%'%4%4%4%f%f%p%u%D%D%T% & &;&;&/&/&/&6&c&j&j&t&u&u&H&H&H&V&V&%*%*%*'*<*<*<*[*V*W*n*o*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*X*Y*Z*V&t&H&H&u&t&j&j&c&b&6&/&/&!&;& & & &D%D%D%p%f%f%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#l#6#6#(#-#v@v@3@3@A@A@v%**`*x+X X X X X X X X X X X e.$+ =o$0 9 9 7 7 5 5 4 3 3 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + ", -" + + + & & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.}#g&.=+=X X X X X X X X X X X X X @=#=6#6#m#m#D#D#S#S#&${$|$|$i$s$F$F$'%'%4%4%f%f%p%u%u%D%D% & &;&;&!&/&/&6&b&j&j&j&u&u&H&H&H&V&V&%*%*%*<*<*<*$={*%=&=l*B*B*B*B*B*B*B*C*C*C*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*r*A**===c*H&u&u&t&j&j&c&6&/&/&/&;&;& & &T%D%D%u%p%f%f%4%4%'%'%F$F$s$i$i$|$|$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%I&@+W X X X X X X X X X X X W -=8#0 0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ] { ! ! ) , > > = = * & % + + ", -" + + + & & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 8 9 0 0 0 a k k k @.#.=.=.}#3&;=R*W X X X X X X X X X X X I >=T#6#l#m#D#D#S#S#&$&${$|$i$s$s$F$F$'%'%4%4%f%f%p%u%D%D%T% & &;&;&/&/&6&6&c&j&j&t&u&H&H&H&V&V&%*%*%*<*<*<*$={*,=o*C*B*B*B*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*B*B*B*B*r*r*o*'=)=!=H&u&u&j&j&j&b&6&/&/&!&;& & & &D%D%u%p%f%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%P*~=X X X X X X X X X X X X W 6%p#;.0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + ", -" + + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ } 1 1 3 4 5 5 7 8 9 0 0 a a k k P #.=.=.V+}#.#{=$+W X X X X X X X X X X e.d+]=L%6#l#m#D#D#S#S#&$&$|$|$i$s$F$F$,%'%4%4%f%f%f%p%u%D%D% & &;&;&!&/&/&6&b&j&j&t&u&u&H&H&V&V&.*%*%*<*<*<*$=^=/=n*B*B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*B*B*B*r*r*B*(=_=c*H&u&t&j&j&c&6&/&/&/&;&;& & &T%D%D%u%p%f%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#D#m#6#6#6#(#v@v@z@3@A@A@v%v%h%:=I X X X X X X X X X X X X Y&<=0 0 9 8 7 7 5 5 4 3 1 | [ [ : : ^ ^ ] ~ ! ! , , > > = * & % + + ", -" + + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a k k P #.=.=.V+}#[=}=W X X X X X X X X X X X e.|=(#6#6#m#m#D#D#S#S#&${$|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D%T% & &;&;&/&/&6&b&j&j&j&u&u&H&H&V&V&.*%*%*<*<*<*$=[*1=n*B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*B*B*r*r*B*2=3=t&u&u&t&j&j&b&6&/&/&!&;& & & &D%D%u%p%f%f%4%4%'%'%F$F$F$i$|$|$|$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%%&4=x+X X X X X X X X X X X W K 5=l%0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] ~ ! ! , , > > = * & % + + ", -" + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 9 9 0 0 a j k k @.#.=.=.}#R&6=7=W X X X X X X X X X X X X 8=9=6#l#m#m#D#D#S#S#&${$|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D% & & &;&!&/&/&6&b&j&j&t&u&H&H&H&V&V&%*%*<*<*<*$=%*0=o*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*B*r*Y*B*a=b=H&u&u&j&j&c&b&/&/&/&;&;& & &T%D%D%p%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%c=<%W X X X X X X X X X X X $@d=!@0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + % & * = > > , ) ! ! { ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 9 9 0 0 a j k k @.#.V+j.P e=f=#+X X X X X X X X X X X X e.g=h=m#l#m#D#D#S#S#&$&$|$|$i$s$F$F$,%'%4%4%f%f%f%p%u%D%D% & &;&;&/&/&6&6&j&j&j&u&u&H&H&V&V&.*%*'*<*<*$=<*i=j=o*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*r*r*Y*l*k=l=H&u&t&j&j&b&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%h%m=X X X X X X X X X X X X e.n=b%0 9 9 7 7 5 5 4 4 3 1 } [ [ : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + % & * = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k @.P o=p=q=$+W X X X X X X X X X X X X X X -@r=T#6#m#D#D#S#S#&$&$|$|$i$s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&b&j&j&t&u&H&H&H&V&.*%*'*<*<*<*s=[*t=A*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*r*r*Y*A*u=l=u&u&j&j&c&6&/&/&!&;& & & &D%D%u%p%f%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%v=w=W X X X X X X X X X X X W ~+8#;.0 9 8 7 6 5 5 4 3 1 | [ [ : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + % & * = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 0 0 0 a k k P f&x=y=V I X X X X X X X X X X X X X X X X X V z=A=*$D#D#S#S#&${$|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D% & & &;&!&/&/&6&c&j&j&u&u&H&H&V&V&%*%*<*<*<*$=%*B=n*B*C*C*C*C*C*C*C*C*C*C*C*C*C*o*o*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*r*Y*Y*k*b=u&u&t&j&j&b&6&/&/&;&;& & &D%D%D%p%p%f%4%4%'%'%F$F$F$s$|$|$|$&$&$S#S#D#D#m#l#6#6#-#v@v@z@3@A@A@v%v%C=D=W X X X X X X X X X X X X E=.$A 0 9 8 7 6 5 5 4 3 1 | [ [ : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + % & * = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 0 0 a a k #.)+F=G=I I X X X X X X X X X X X X X X X X X X e.I G=H=I=J=S#S#&${$|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&b&j&j&t&u&u&H&H&V&.*%*'*<*<*$=s=h*K=o*C*C*C*C*C*C*C*C*C*C*o*o*o*o*X*X*o*o*o*o*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*r*Y*A*L=M=u&t&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%**N=Y X X X X X X X X X X X X @+O=0 0 9 8 7 6 5 5 4 3 1 | [ [ : ^ ^ ^ ] ! ! ! , , > > = * & % + ", -" + + & & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 0 0 a a P=9.Q=R*I X X X X X X X X X X X X X X X X X X X X X X I R=S=T=S#S#&${$|$|$s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&;&/&/&6&b&j&j&t&u&H&H&V&V&%*%*<*<*<*$=%*U=n*B*C*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*X*o*o*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*r*Y*Y*V=W=u&u&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%W&X=##W X X X X X X X X X X I B+Y=8 0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ^ : [ [ } 1 3 4 4 5 5 7 7 9 0 0 a a o=Z=q&X X X X X X X X X X X X X X X X X X X X X X X X X X g$`= -&$&$|$|$i$s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&j&u&u&H&H&V&V&%*'*<*<*$=s=&*.-X*C*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*A*+-M=u&t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%@-@+I X X X X X X X X X X W v.#-$-0 9 9 7 7 5 5 4 3 1 1 [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a %-&-@+X X X X X X X X X X X X X X X X X X X X X X X X X X X X >@*-=-&$|$|$i$s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&t&u&u&H&H&V&.*%*'*<*<*$=<*--o*B*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*r*Y*B*a=H&u&t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%;-P#X X X X X X X X X X X X f.>-.$0 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a ,&,-I X X X X X X X X X X X X X X X X X X X X X X X X X X X X I '-)-{$|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&b&j&j&t&u&H&H&V&V&%*%*<*<*$=s=[*t*n*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*C*B*B*B*B*B*B*r*r*Y*Y*o*!-j&u&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%P*~-X X X X X X X X X X X X I {-6$0 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a.]-Y X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Y ^-/-|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&b&j&j&u&u&H&H&V&V&%*%*<*<*$=s=$=4*X*C*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*A*(-_-u&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%4%4%'%'%F$F$s$i$i$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%:-<-e.X X X X X X X X X X X X [-b%0 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 }-|-I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I 1-2-|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*$=$=3-4-C*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*B**=O*u&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%P*5-I X X X X X X X X X X X e.6-8#Q 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 B 7-H X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X H 8-9-i$i$s$F$,%'%'%4%4%f%f%p%D%D%D% & &;&;&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*$=%*B=n*C*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*o*C*C*C*C*C*C*C*B*B*B*B*B*B*r*Y*Y*Y*k*0-u&j&j&c&6&6&/&!&;&;& &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%U%a-W X X X X X X X X X X X W b-c-j 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 Q d-e-I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W f-|$g-s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*$=[*h-q*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*X*i-j-j-i-X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*r*r*Y*Y*Y*k-j&t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%C=l-X X X X X X X X X X X X W m-c-a 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 O#n-N+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X N+o-p-i$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&t&u&u&H&H&V&.*%*'*<*<*$={*q-q*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*i-j-j-j-j-j-X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*l*r-O*t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%C=s-X X X X X X X X X X X X I 1+8#j 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! ) , > > = = & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 c-t-e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X u-v-s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&j&j&t&u&H&H&V&V&%*%*<*<*<*s=[*t=A*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*j-j-j-j-j-j-i-X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*l*w-O*t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%x-y-W X X X X X X X X X X X W z-b%j 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! ) , > > = = & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 A A-B-W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X e.C-D-E-F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&j&j&t&u&H&H&V&V&%*%*<*<*<*s=F-G-l*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*j-j-j-j-j-j-j-X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*A*H-M=t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%x-I-X X X X X X X X X X X X X J-b%;.9 9 7 7 5 5 5 3 1 1 } [ : ( ^ ^ ] ~ ! ! ) , > > = = & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 A K-L-X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X M-E-E-F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&j&j&t&u&u&H&V&V&.*%*<*<*<*s=F-W*l*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*j-j-j-j-j-j-i-X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*l*N-M=t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%x-I-X X X X X X X X X X X X X O-b%;.9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! ) , > > = = & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 H%P-X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 2#Q-i$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*s=F-R-A*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*i-j-j-j-j-j-X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*A*u=M=t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%x-S-W X X X X X X X X X X X e.T-8#;.9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! ) , > > = = & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 6 U-#+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X #+V-W-F$F$,%'%4%4%f%f%p%u%D%D%D% & &;&;&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*$=[*X-n*C*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*i-i-j-i-X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*r*r*Y*Y*l*E*O*t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%B&Y-W X X X X X X X X X X X W Z-8#j 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 6 `- ;X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ;.;+;s$F$F$'%'%4%f%f%f%p%u%D%D% & &;&;&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*$=[*@;q*C*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*C*C*C*C*C*C*C*C*B*B*B*B*B*B*r*r*Y*4-o*#;j&j&j&c&6&/&/&!&;&;& &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%$%$;X X X X X X X X X X X X I l&c-a 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & & + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 6 %;}+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X &;*;i$s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*$=%*a*q*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*Y*=;-;t&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#(#-#v@v@z@3@A@A@v%v%h%;;W X X X X X X X X X X X W N#>;j 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 ,;t.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ,@';i$s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&b&j&j&t&u&H&H&V&V&%*%*<*<*$=<*);C*B*C*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*B*!;t&u&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#l#6#(#-#v@v@z@3@A@A@v%v%P*0&W X X X X X X X X X X X W ~;c-;.9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 A 9 E e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X e.{;];E-s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&b&j&j&t&u&H&H&V&V&%*%*<*<*<*s=y*^;C*C*C*C*C*C*C*C*C*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*l*/;(;u&j&j&b&6&/&/&!&;& & &T%D%D%u%p%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%v=_;W X X X X X X X X X X X X :;8#0 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 4 5 6 7 7 A c-<;W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W [;};E-s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&j&u&u&H&H&V&.*%*'*<*<*$=[*|;l*C*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*o*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*r*Y*Y*l*1;O*t&j&j&b&6&/&/&;&;& & &D%D%u%p%f%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%v=r#X X X X X X X X X X X X I 2;6$0 9 9 7 7 5 5 4 3 1 1 } [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + & & = = > > , ! ! ! { ^ ^ ^ : [ [ } 1 1 3 4 5 5 7 7 9 3;4;H X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O@5;6;|$s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&j&u&u&H&H&V&V&%*%*<*<*$=%*7;n*B*C*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*X*X*X*o*o*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*Y*Y*Y*8;9;u&j&j&c&6&/&/&/&;&;& & &D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%C=0;X X X X X X X X X X X X &+a;f@0 9 8 7 7 5 5 4 3 1 1 [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + % & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 ,&b;##X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ##c;&$|$s$F$F$,%'%4%4%4%f%p%u%u%D%D% & &;&;&/&/&6&b&j&j&t&u&H&H&V&V&%*%*'*<*<*$=}*^;p*C*C*C*C*C*C*C*C*C*C*o*o*X*X*X*X*X*X*X*X*X*o*o*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*r*Y*Y*X*q-(;u&j&j&c&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%d;e;W X X X X X X X X X X W z.f;O#0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + ", -" + + % & * = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 A g;h;W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W i;/-g-|$i$s$F$F$'%'%4%4%f%f%p%u%D%D% & &;&;&/&/&6&6&j&j&j&u&u&H&H&V&.*%*%*<*<*$={*@;q*B*C*C*C*C*C*C*C*C*C*C*C*o*o*o*X*X*o*o*o*o*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*r*Y*4-o*#;j&t&j&j&b&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#6#-#-#v@z@3@3@A@A@v%v%j;1#W X X X X X X X X X X W F k;8 0 9 8 7 6 5 5 4 3 1 | [ [ : ^ ^ ^ ] ! ! ! , > > > = & & % + ", -" + + % & * = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 !@l;$+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W $+m;n;|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&j&u&u&H&H&V&V&%*%*'*<*<*$=o;V=B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*o*o*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*r*r*Y*Y*o*R-M=u&j&j&j&b&6&/&/&;&;& & &D%D%u%u%f%f%4%4%'%'%F$F$s$i$|$|$|$&$S#S#S#D#D#m#l#6#6#-#v@v@z@3@A@A@v%v%%&p;q;X X X X X X X X X X X e.r;s;0 0 9 8 7 6 5 5 4 3 1 | [ [ : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + % & * = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 t;u;v;e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X w;x;y;|$|$|$i$s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&b&j&j&t&u&u&H&H&V&.*%*%*<*<*<*{*z;q*B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*r*r*Y*Y*B*A;j&t&j&j&c&6&/&/&!&;& & & &D%D%u%p%f%f%4%4%'%'%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%x-B;I X X X X X X X X X X X X W#8 0 0 9 8 7 6 5 5 4 3 1 | [ [ : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 9 9 0 R e&C;I X X X X X X X X X X X X X X X X X X X X X X X X X X X X W D;E;)-&$|$|$i$s$F$F$,%'%4%4%4%f%p%p%u%D%D% & &;&;&/&/&/&6&c&j&j&u&u&H&H&V&V&.*%*'*<*<*$=F;6*o*B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*r*r*Y*Y*A*G;_-u&j&j&j&b&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#m#6#6#(#-#v@v@3@3@A@A@v%v%H;I;e.X X X X X X X X X X X W J;b%;.9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + + & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 9 9 0 0 p#K;c+X X X X X X X X X X X X X X X X X X X X X X X X X X X X &+L;M;&$&${$|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D%T% & &;&!&/&/&6&c&j&j&t&u&u&H&H&V&V&%*%*<*<*<*F-N;o*B*B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*r*r*Y*Y*B*5*O;u&t&j&j&c&6&/&/&/&;&;& & &D%D%u%u%f%f%f%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%P;Q;X X X X X X X X X X X X W -+R;Q 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + ", -" + + + & & = = > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a S;T;I X X X X X X X X X X X X X X X X X X X X X X X X X X I U;V;S#S#&${$|$|$i$s$F$F$,%'%4%4%f%f%p%u%D%D%T% & &;&;&/&/&6&b&c&j&j&u&u&H&H&V&V&.*%*%*<*<*<*~*W;X;B*B*B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*B*B*r*Y*Y*Y*Y;!-c*u&t&j&j&b&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%'%'%F$F$s$i$|$|$|$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%d;Z;e.X X X X X X X X X X X %+`;6$0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] ~ ! ! , , > > = * & % + + ", -" + + + & & = = > , , ) ! ~ ] ^ ^ ^ : : [ } 1 3 3 4 5 6 7 8 9 0 0 a )# >z#I X X X X X X X X X X X X X X X X X X X X X X X X I .>+>@>S#S#&$&$|$|$i$s$F$F$,%'%'%4%4%f%f%p%u%D%D% & & &;&!&/&/&6&b&j&j&t&u&u&H&H&V&V&.*%*%*<*<*<*F-j*n*B*B*B*B*B*C*C*C*C*C*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*B*B*B*r*r*Y*Y*o*#>l=u&t&j&j&c&6&/&/&/&;&;& & &D%D%D%u%p%f%f%4%4%'%,%F$F$s$i$|$|${$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%$>%>v.X X X X X X X X X X X W B.F=&>0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ] ~ ! ! , , > > = * & % + + ", -" + + + & & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a )#*>8&I I X X X X X X X X X X X X X X X X X X X X I O@=>->6#D#S#S#S#&$|$|$|$i$s$F$F$'%'%4%4%f%f%p%u%D%D%T% & &;&;&/&/&6&6&c&j&j&t&u&u&H&H&V&V&%*%*%*<*<*<*h*;>n*B*B*B*B*B*B*C*C*C*C*C*C*C*C*C*C*B*B*B*B*B*B*B*B*B*B*B*B*B*r*r*Y*Y*>>1*l=u&u&j&j&j&b&6&/&/&!&;& & &T%D%D%u%p%f%f%4%4%4%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%,>'>I X X X X X X X X X X X W )>!>0 0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + ", -" + + + % & * = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j &.~>P&q;I X X X X X X X X X X X X X X X X X X W V {>]>6#m#D#D#S#S#&${$|$|$i$s$F$F$,%'%4%4%f%f%p%u%u%D%D% & & &;&!&/&/&6&b&j&j&j&u&u&H&H&H&V&V&%*%*%*<*<*<*^>/>n*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*r*Y*Y*o*(>l=u&u&t&j&j&c&6&/&/&/&;&;& & &T%D%D%u%p%f%f%4%4%'%'%F$F$s$s$i$|${$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%P;_>W X X X X X X X X X X X X :>.$;.0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ { ! ! ) , > > = = & & + + + ", -" + + + % & * = > > , , ! ! { ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 9 9 0 0 a j k k <>[>z$I e.X X X X X X X X X X X X X X X X o&}>o%6#m#m#D#D#S#S#&$&$|$|$i$s$F$F$,%'%'%4%4%f%f%p%u%D%D%T% & &;&;&/&/&/&6&c&j&j&j&u&u&H&H&H&V&V&.*%*%*'*<*<*<*/;n*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*r*r*Y*C*|>1>l=u&u&t&j&j&c&b&6&/&/&!&;& & &T%D%D%u%p%p%f%f%4%4%'%,%F$F$s$i$|$|${$&$S#S#D#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%E%2>e.X X X X X X X X X X X W 3>4>;.9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + ", -" + + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a k k @.o=+#5>M&Y W X X X X X X X X X X X X X X *@j#m#6#l#m#D#D#S#S#S#&${$|$|$i$s$F$F$'%'%4%4%f%f%p%u%u%D%D% & & &;&!&/&/&6&6&c&j&j&t&u&u&H&H&H&V&V&.*%*%*'*<*<*~*6>|>l*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*r*Y*Y*n*7>A;l=u&u&t&j&j&j&b&6&/&/&!&;&;& & &D%D%D%u%p%f%f%4%4%'%'%F$F$F$s$i$|$|$&$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%%&8> ;X X X X X X X X X X X X &+9>{%0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + ", -" + + + + & & = > > , , ! ! ~ ] ^ ^ ( : : [ } 1 1 3 4 5 5 7 8 9 0 0 a a k k k #.#.)+0>a>b>a#X X X X X X X X X X X X e.d+c>d>6#6#m#m#D#D#S#S#&${$|$|$i$s$F$F$,%'%'%4%4%f%f%p%u%D%D%T% & &;&;&!&/&/&6&b&c&j&j&t&u&u&H&H&H&V&V&.*%*%*%*'*<*~*e>f>n*l*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*r*r*Y*l*g>(-V&c*H&u&u&j&j&j&c&6&/&/&/&;&;& & &T%D%D%u%p%p%f%4%4%4%'%,%F$F$s$i$|$|${$&$&$S#S#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%h%d&I X X X X X X X X X X X W ##b;8 0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ] ~ ! ! , , > > = * & % + + + ", -" + + + + & & = > > , , ) ! ~ ] ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.9#h>i>8$W X X X X X X X X X X X I j>)&6#6#m#m#D#D#S#S#&$&$|$|$|$s$s$F$F$'%'%4%4%f%f%p%p%u%D%D%T% & &;&;&/&/&/&6&b&j&j&j&t&u&u&H&H&H&V&V&V&.*%*%*%*'*%*^=k>l>A*n*B*B*B*B*B*B*B*B*B*B*B*B*B*B*r*r*B*n*Y;m>n>M=H&u&u&u&j&j&j&c&6&/&/&/&!&;& & & &D%D%D%u%p%f%f%4%4%'%'%,%F$F$s$i$|$|$&$&$S#S#D#D#m#m#l#6#(#(#-#v@v@3@3@A@A@v%v%h%o>e.X X X X X X X X X X X X W#,&R.0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + + ", -" + + + + & & = = > > , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k P #.=.=.V+g&L&M&X X X X X X X X X X X X e.l$)&6#6#l#m#D#D#D#S#S#&${$|$|$i$s$F$F$,%'%'%4%4%f%f%p%u%D%D%D% & & &;&;&/&/&/&6&b&j&j&j&t&u&u&H&H&H&H&V&V&.*%*%*%*%*%*^=^=|*p>&=q*n*o*B*B*B*B*B*B*B*r*q>X*q*o*r>(-s>M=t&H&u&u&u&j&j&j&c&6&/&/&/&!&;&;& & &T%D%D%u%p%f%f%4%4%4%'%,%F$F$s$i$|$|${$&$&$S#S#D#D#m#m#6#6#(#-#v@v@z@3@A@A@v%v%W&t>B+W X X X X X X X X X X X W u>Q&;.9 9 7 7 5 5 5 4 3 1 | [ [ : ( ^ ] { ~ ! ! , , > > = * & % + + + ", -" + + + + % & * = > > , , ! ! { ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a k k P #.=.=.=.v>w>x>I X X X X X X X X X X X X #$y>L%6#6#m#m#D#D#S#S#&$&$|$|$|$s$s$F$F$'%'%4%4%f%f%f%p%u%D%D%D% & &;&;&!&/&/&/&6&b&j&j&j&j&u&u&u&H&H&H&H&V&V&V&.*%*%*%*%*^=]*y*z>A>B>C>Y;C*A*D>X*B*|>6*f>E>u*V&M=t&H&H&u&u&t&j&j&j&c&b&/&/&/&!&;&;& & &T%D%D%u%u%p%f%f%4%4%'%'%,%F$F$s$i$|$|${$&$S#S#D#D#D#m#l#6#6#(#-#v@v@3@3@A@A@v%v%C=F>H X X X X X X X X X X X I f.G>!@0 9 9 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + + ", -" + + + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 9 0 a a j k k @.#.=.=.}#z%H>$@X X X X X X X X X X X X I I>)&6#6#l#m#D#D#S#S#S#&${$|$|$i$s$F$F$,%'%'%4%4%f%f%p%p%u%D%D%T% & &;&;&!&/&/&/&6&b&c&j&j&j&t&u&u&H&H&H&H&H&V&V&V&.*.*%*%*%*%*~*J>)*s=o;A;K>L>M>N>O>P>6&l=t&H&H&H&u&u&u&t&j&j&j&c&6&/&/&/&!&;&;& & & &D%D%D%u%p%f%f%4%4%4%'%,%F$F$s$i$|$|$|$&$&$S#S#D#D#m#m#6#6#(#-#-#v@v@3@3@A@A@v%v%Q>R>W X X X X X X X X X X X I t.S>0 0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & + + + + ", -" + + + + + & & = > > , , ! ! ~ ] ^ ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.V+T>U>,@W X X X X X X X X X X X W V>=#6#6#6#m#m#D#D#S#S#&$&$|$|$|$i$s$F$F$,%'%4%4%4%f%f%p%u%u%D%D%T% & &;&;&!&/&/&/&6&b&c&j&j&j&t&u&u&u&H&H&H&H&H&V&V&V&V&V&V&.*.*.*.*.*.*H&W>W>W>H&V&V&H&H&H&H&H&u&u&u&j&j&j&j&c&6&/&/&/&!&;&;& & & &D%D%D%u%p%f%f%f%4%4%'%'%F$F$F$s$i$|$|${$&$S#S#S#D#D#m#l#6#6#(#-#v@v@z@3@A@A@v%v%%&X>Y>X X X X X X X X X X X X e.O-8#;.0 9 8 7 6 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & % + + + + ", -" + + + + + & & = = > > , ) ! ! { ] ^ ^ : : [ } | 1 3 4 5 5 7 7 8 9 0 0 a a k k P #.=.=.V+<&$&Z>W X X X X X X X X X X X X y.`>(%6#6#l#m#D#D#S#S#S#&${$|$|$i$s$F$F$F$'%'%4%4%f%f%f%p%u%D%D%D% & & &;&;&!&/&/&/&6&b&c&j&j&j&j&t&u&u&u&H&H&H&H&H&H&V&V&V&V&V&V&V&V&V&V&V&V&H&H&H&H&H&H&H&u&u&u&t&j&j&j&c&b&6&/&/&/&!&;&;& & & &T%D%D%u%p%p%f%f%4%4%'%'%,%F$F$s$i$|$|${$&$&$S#S#D#D#m#m#6#6#(#(#-#v@v@3@3@A@A@v%v%U% ,I X X X X X X X X X X X X O@.,6$0 9 9 7 7 5 5 4 4 3 1 | [ [ : ( ^ ^ { ~ ! ! , , > > = * & % + + + + ", -" + + + + + & & = = > > , ) ! ! { ] ^ ^ ( : [ [ | 1 3 4 5 5 6 7 8 9 0 0 a a k k k @.#.=.=.}#!#p&H X X X X X X X X X X X X I +,r@6#6#6#m#m#D#D#S#S#&$&$|$|$|$i$s$F$F$,%'%'%4%4%f%f%f%p%u%D%D%D% & & &;&;&!&/&/&/&6&6&b&c&j&j&j&j&t&u&u&u&u&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&H&u&u&u&u&t&j&j&j&j&c&b&6&/&/&/&!&;&;& & & &T%D%D%u%u%p%f%f%4%4%4%'%'%F$F$s$s$i$|$|$&$&$S#S#D#D#D#m#l#6#6#(#-#v@v@z@3@A@A@A@v%v%x$@,W X X X X X X X X X X X W P-#,)#0 9 8 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ) , > > = = & & % + + + + ", -" + + + + + % & * = > > , , ! ! ~ ] ^ ^ ( : [ [ } 1 3 3 4 5 5 7 7 9 9 0 0 a j k k @.#.=.=.V+}#$,R*W X X X X X X X X X X X X d@%,-#6#6#l#m#D#D#S#S#S#&${$|$|$i$s$s$F$F$,%'%4%4%4%f%f%p%p%u%D%D%D% & & &;&;&!&/&/&/&6&6&b&c&j&j&j&j&j&t&u&u&u&u&u&H&H&H&H&H&H&H&H&H&H&H&H&u&u&u&u&u&u&t&j&j&j&j&c&b&6&6&/&/&/&!&;&;& & & &T%D%D%u%u%p%f%f%f%4%4%'%'%F$F$F$s$i$|$|${$&$&$S#S#D#D#m#m#6#6#6#(#-#v@v@3@3@A@A@v%v%x-&,f.X X X X X X X X X X X X W *,c-;.0 9 8 7 6 5 5 4 3 1 | [ [ : : ^ ^ ] ~ ! ! ) , > > = = & & + + + + + ", -" + + + + + % & * = > > , , ) ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 7 7 9 9 0 0 a a k k P #.=.=.=.<&'&=,W X X X X X X X X X X X X O@9$)&6#6#6#m#m#D#D#S#S#&$&${$|$|$i$s$F$F$F$'%'%4%4%4%f%f%p%p%u%D%D%D% & & &;&;&;&!&/&/&/&6&6&b&c&j&j&j&j&j&j&t&u&u&u&u&u&u&u&u&u&u&u&u&u&u&u&u&t&t&j&j&j&j&j&c&b&6&6&/&/&/&/&!&;&;& & & &T%D%D%D%u%p%f%f%f%4%4%'%'%,%F$F$s$i$i$|$|$&$&$S#S#D#D#D#m#l#6#6#(#-#v@v@v@3@3@A@A@v%~&|%-,W X X X X X X X X X X X X &+f#{%0 9 9 7 7 5 5 4 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! , , > > = * & & + + + + + ", -" + + + + + + & & = = > > , ) ! ! { ] ^ ^ : : [ [ | 1 3 4 5 5 6 7 8 9 0 0 0 a k k k @.#.=.=.V+R&p$;,W X X X X X X X X X X X W ;@>,(#6#6#l#m#D#D#D#S#S#&$&$|$|$|$i$s$F$F$,%'%'%4%4%4%f%f%p%p%u%D%D%D%T% & &;&;&;&!&/&/&/&/&6&6&b&c&j&j&j&j&j&j&j&t&t&t&u&u&u&u&u&u&u&t&t&j&j&j&j&j&j&j&c&b&6&6&6&/&/&/&!&;&;&;& & & &T%D%D%D%u%p%f%f%f%4%4%4%'%,%F$F$s$s$i$|$|${$&$S#S#S#D#D#m#m#6#6#6#(#-#v@v@z@3@A@A@v%v%**,,y.X X X X X X X X X X X X e.<%',0 0 9 8 7 7 5 5 4 3 1 1 } [ : : ^ ^ ] { ! ! ! , > > > = * & % + + + + + ", -" + + + + + + & & * = > > , , ! ! ~ ] ^ ^ ( : [ [ } 1 3 3 4 5 6 7 7 9 9 0 0 a j k k P #.=.=.V+e$),!,e.X X X X X X X X X X X X Y ~,U&6#6#6#m#m#D#D#S#S#S#&${$|$|$i$s$s$F$F$,%'%'%4%4%f%f%f%p%p%u%D%D%D%T% & & &;&;&;&!&/&/&/&/&6&6&b&b&c&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&j&c&c&b&6&6&6&/&/&/&/&!&;&;& & & & &T%D%D%u%u%p%f%f%f%4%4%4%'%'%F$F$F$s$i$|$|${$&$&$S#S#D#D#D#m#l#6#6#(#-#v@v@z@3@3@A@A@v%~&C={,X X X X X X X X X X X X X X N#4>;.0 9 8 7 6 5 5 4 3 1 | [ [ : : ^ ^ ] { ! ! ) , > > = = & & % + + + + + ", -" + + + + + + % & * = > > , , ! ! ! { ^ ^ ^ : : [ } 1 1 3 4 5 5 7 7 8 9 0 0 a a k k P @.#.=.=.}#w>],I X X X X X X X X X X X X W C$^,(#6#6#l#m#D#D#D#S#S#&$&${$|$|$i$s$F$F$F$,%'%'%4%4%f%f%f%p%p%u%D%D%D%T% & & & &;&;&;&!&/&/&/&/&6&6&6&b&b&c&c&c&c&j&j&j&j&j&j&j&j&c&c&c&c&b&b&6&6&6&/&/&/&/&/&!&;&;&;& & & &T%D%D%D%u%u%p%f%f%f%4%4%4%'%'%F$F$F$s$i$|$|$|$&$&$S#S#S#D#D#m#m#6#6#(#-#-#v@v@3@3@A@A@v%v%**/,B.X X X X X X X X X X X X W A.(,$-0 9 9 7 7 5 5 5 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! ) , > > = = & & + + + + + + ", -" + + + + + + + & & = = > > , ) ! ! { ] ^ ^ : : [ [ | 1 3 4 5 5 6 7 8 9 9 0 0 a j k k @.#.=.=.V+/+x**+X X X X X X X X X X X X X &+_,U&(#6#6#l#m#D#D#D#S#S#&$&$|$|$|$i$s$F$F$F$,%'%'%4%4%f%f%f%p%p%u%D%D%D%D% & & & &;&;&;&;&!&/&/&/&/&/&/&6&6&6&6&6&6&b&b&b&b&b&b&b&6&6&6&6&6&6&/&/&/&/&/&/&!&;&;&;& & & & &T%D%D%D%u%u%p%f%f%f%4%4%4%'%'%F$F$F$s$i$i$|$|${$&$S#S#S#D#D#m#m#l#6#6#(#-#v@v@z@3@3@A@A@v%|@Q>Z>W X X X X X X X X X X X X I :,f@;.0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ^ ] ~ ! ! , , > > = * & % + + + + + + ", -" + + + + + + + & & = = > > , ) ! ! ~ ] ^ ^ ( : [ [ | 1 1 3 4 5 5 7 7 9 9 0 0 a a k k P #.=.=.=.<&w><,I X X X X X X X X X X X X I [,},(#6#6#6#m#m#D#D#S#S#S#&${$|$|$|$i$s$F$F$F$'%'%'%4%4%f%f%f%p%p%u%u%D%D%D%T% & & & &;&;&;&;&!&/&/&/&/&/&/&/&/&/&6&6&6&6&6&6&6&6&6&/&/&/&/&/&/&/&/&!&!&;&;&;&;& & & & &D%D%D%D%u%p%p%f%f%f%4%4%4%'%'%F$F$F$s$i$i$|$|${$&$&$S#S#D#D#D#m#l#6#6#(#-#v@v@v@3@3@A@A@v%v%**|,z.X X X X X X X X X X X X X T.1,{%0 9 9 8 7 6 5 5 4 3 1 | [ [ : : ^ ^ ] { ! ! ) , > > = = * & % + + + + + + ", -" + + + + + + + % & * = > > , , ! ! ! { ] ^ ^ : : [ } 1 1 3 4 5 5 6 7 8 9 0 0 0 a j k k @.#.=.=.V+.#2,N+W X X X X X X X X X X X X H 3,~$(#6#6#l#m#D#D#D#S#S#S#&${$|$|$|$i$s$F$F$F$'%'%'%4%4%4%f%f%f%p%u%u%D%D%D%D%T% & & & &;&;&;&;&!&!&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&/&!&!&;&;&;&;& & & & & &D%D%D%D%u%u%p%p%f%f%f%4%4%4%'%'%F$F$F$s$s$i$|$|$|$&$&$S#S#S#D#D#m#m#6#6#6#(#-#v@v@z@3@3@A@A@v%|@3&4,W X X X X X X X X X X X X X 5,Z&;.0 9 9 7 7 5 5 4 4 3 1 | [ [ : ( ^ ^ ] ~ ! ! ) , > > = = & & + + + + + + + ", -" + + + + + + + % & & = = > > , ) ! ! { ] ^ ^ : : [ [ | 1 3 4 5 5 6 7 7 9 9 0 0 a j k k P #.=.=.=.<&9##@I X X X X X X X X X X X X I 6,7,d>6#6#6#m#m#D#D#D#S#S#&$&${$|$|$|$i$s$F$F$F$,%'%'%4%4%4%f%f%f%p%p%u%u%D%D%D%T%T% & & & & &;&;&;&;&;&!&!&!&!&/&/&/&/&/&/&/&/&!&!&!&!&;&;&;&;&;&;& & & & & &T%D%D%D%D%u%u%p%f%f%f%f%4%4%'%'%'%F$F$F$s$s$i$|$|$|$&$&$S#S#S#D#D#m#m#l#6#6#(#-#v@v@v@3@3@A@A@v%v%C=8,T.X X X X X X X X X X X X X H 9,p#0 0 9 8 7 6 5 5 4 3 1 1 } [ : : ^ ^ ^ ] ~ ! ! , , > > = * & % + + + + + + + ", -" + + + + + + + + & & = = > > , , ! ! ~ ] ^ ^ ( : : [ } 1 1 3 4 5 5 7 7 8 9 0 0 a a k k k @.#.=.=.V+R&0,$+X X X X X X X X X X X X X I a,Z#E#6#6#6#m#m#D#D#D#S#S#&$&${$|$|$i$i$s$F$F$F$,%'%'%4%4%4%f%f%f%f%p%u%u%D%D%D%D%D%T% & & & & & & &;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;& & & & & & & &D%D%D%D%D%u%u%p%p%f%f%f%4%4%4%'%'%'%F$F$F$s$s$i$|$|$|$&$&$S#S#S#D#D#m#m#l#6#6#(#-#-#v@v@z@3@A@A@A@v%v%b,m$I X X X X X X X X X X X X W '.}-0 0 9 9 7 7 5 5 5 4 3 1 | [ [ : : ^ ^ ] { ! ! ) , > > = = * & + + + + + + + + ", -" + + + + + + + + % & * = > > , , ! ! ! { ] ^ ^ : : [ } | 1 3 4 5 5 6 7 8 9 9 0 0 a j k k P #.=.=.=.v>K+4,I X X X X X X X X X X X X W y.c,d,(#6#6#l#m#m#D#D#S#S#S#&$&${$|$|$i$s$s$F$F$F$,%'%'%4%4%4%f%f%f%f%p%p%u%u%D%D%D%D%D%T%T% & & & & & & & & &;&;&;&;&;&;&;&;&;& & & & & & & & & &T%T%D%D%D%D%u%u%p%p%f%f%f%f%4%4%4%'%'%'%F$F$F$s$s$i$|$|$|${$&$&$S#S#D#D#D#m#l#6#6#6#(#-#v@v@z@3@3@A@A@v%|@P*e,I X X X X X X X X X X X X X O@:;B 0 0 9 8 7 7 5 5 4 3 1 1 } [ [ : ( ^ ^ ] ~ ! ! , , > > = = & & + + + + + + + + ", -" + + + + + + + + % & & = = > > , ) ! ! ~ ] ^ ^ ( : [ [ | 1 1 3 4 5 5 7 7 8 9 0 0 a a k k k @.#.=.=.V+f,g,$+X X X X X X X X X X X X X W 2>h,(#(#6#6#l#m#m#D#D#S#S#S#&$&${$|$|$|$i$s$F$F$F$,%'%'%4%4%4%4%f%f%f%f%p%p%u%u%D%D%D%D%D%D%T%T% & & & & & & & & & & & & & & & & & & & & &T%T%D%D%D%D%D%u%u%p%p%p%f%f%f%f%4%4%4%'%'%,%F$F$F$s$s$i$|$|$|${$&$&$S#S#D#D#D#m#m#6#6#6#(#-#v@v@v@3@3@A@A@v%v%i,j, ;I X X X X X X X X X X X X I '.k,0 0 9 9 7 7 6 5 5 4 3 1 | } [ : : ^ ^ ] { ! ! ! , , > > = * & % + + + + + + + + ", -" + + + + + + + + + & & = = > > , , ! ! ~ ] ] ^ ^ : : [ } 1 1 3 4 5 5 6 7 8 9 9 0 0 a j k k P #.=.=.=.v>X.-,I X X X X X X X X X X X X X I l,T@m,6#6#6#m#m#D#D#D#S#S#S#&$&${$|$|$|$i$s$F$F$F$,%'%'%'%4%4%4%4%f%f%f%f%p%p%u%u%u%D%D%D%D%D%D%D%T%T%T%T% & & & & & & & & &T%T%T%D%D%D%D%D%D%D%u%u%u%p%p%p%f%f%f%f%4%4%4%'%'%'%,%F$F$F$s$i$i$|$|$|${$&$&$S#S#D#D#D#m#m#6#6#6#(#-#v@v@v@z@3@A@A@A@v%v%w%n,W X X X X X X X X X X X X X H o,p#0 0 9 8 7 7 5 5 4 3 1 1 } [ [ : ( ^ ^ ] { ! ! ) , > > = = & & + + + + + + + + + ", -" + + + + + + + + + % & * = > > > , ) ! ! { ] ^ ^ ( : [ [ | 1 3 3 4 5 5 7 7 9 9 0 0 a a k k k @.#.=.=.V+p,q,y.X X X X X X X X X X X X X W B.r,E$(#6#6#6#m#m#D#D#D#S#S#S#&$&${$|$|$|$i$s$s$F$F$F$,%'%'%'%4%4%4%4%f%f%f%f%p%p%p%u%u%u%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%u%u%u%u%p%p%f%f%f%f%f%4%4%4%4%'%'%'%F$F$F$F$s$i$i$|$|$|${$&$&$S#S#S#D#D#m#m#l#6#6#(#-#-#v@v@z@3@3@A@A@v%|@P*E&I X X X X X X X X X X X X X W =+s,0 0 9 9 7 7 6 5 5 4 3 1 1 } [ : : ^ ^ ^ ] ~ ! ! , , > > = = & & + + + + + + + + + ", -" + + + + + + + + + + & & = = > > , ) ! ! ~ ] ^ ^ ( : : [ } 1 1 3 4 5 5 6 7 8 9 9 0 0 a j k k P #.#.=.=.v>]%f=I X X X X X X X X X X X X X W !,t,L%(#6#6#l#m#m#D#D#D#S#S#S#&$&${$|$|$|$i$s$s$F$F$F$,%'%'%'%4%4%4%4%f%f%f%f%f%f%p%p%p%u%u%u%u%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%D%u%u%u%u%u%p%p%p%f%f%f%f%f%4%4%4%4%'%'%'%,%F$F$F$s$s$i$i$|$|$|$&$&$&$S#S#S#D#D#m#m#l#6#6#(#(#-#v@v@z@3@3@A@A@v%v%x-u,w.W X X X X X X X X X X X X X f.v,g;0 0 9 8 7 7 5 5 4 3 1 1 | [ [ : ( ^ ^ ] { ! ! ) , > > > = * & % + + + + + + + + + ", -" + + + + + + + + + + % & * = > > , , ! ! ! { ] ^ ^ : : [ [ | 1 3 3 5 5 5 7 7 9 9 0 0 a a j k k @.#.=.=.V+|%w,d%W X X X X X X X X X X X X X W x,y,)%(#6#6#l#m#m#D#D#D#S#S#S#&$&${$|$|$|$i$i$s$F$F$F$F$,%'%'%'%4%4%4%4%4%f%f%f%f%f%p%p%p%p%p%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%p%p%p%p%p%f%f%f%f%f%f%4%4%4%4%4%'%'%,%F$F$F$F$s$s$i$|$|$|$|$&$&$&$S#S#S#D#D#m#m#l#6#6#(#(#-#v@v@v@3@3@A@A@A@v%W&z,~@I X X X X X X X X X X X X X I :,u;0 0 9 9 7 7 6 5 5 4 3 1 1 } [ : : ( ^ ^ ] ~ ! ! ) , > > = = & & + + + + + + + + + + ", -" + + + + + + + + + + % & & = > > > , ) ! ! ~ ] ^ ^ ( : : [ } 1 1 3 4 5 5 6 7 8 9 9 0 0 a a k k P @.#.=.=.}#Y.],O@X X X X X X X X X X X X X X $@A,K#(#(#6#6#l#m#m#D#D#D#S#S#S#&$&${$|$|$|$i$i$s$s$F$F$F$F$,%'%'%'%4%4%4%4%4%f%f%f%f%f%f%f%f%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%f%f%f%f%f%f%f%f%4%4%4%4%4%'%'%'%,%,%F$F$F$s$s$i$i$|$|$|${$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#v@v@v@z@3@A@A@A@v%v%B,C,I X X X X X X X X X X X X X X #+e&R 0 0 9 8 7 7 5 5 4 4 1 1 | [ [ : : ^ ^ ] { ! ! ) , , > > = * & % + + + + + + + + + + ", -" + + + + + + + + + + + & & * = > > , , ! ! ! { ] ^ ^ : : [ [ | 1 3 3 5 5 5 7 7 9 9 0 0 0 a j k k P #.=.=.=.}#(+D,W X X X X X X X X X X X X X W d.E,F,(#(#6#6#l#m#m#D#D#D#S#S#S#&$&$&${$|$|$|$i$i$s$F$F$F$F$F$,%'%'%'%4%4%4%4%4%4%4%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%4%4%4%4%4%4%'%'%'%,%,%F$F$F$F$s$s$i$i$|$|$|${$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#v@v@v@z@3@3@A@A@v%|@G,H,H X X X X X X X X X X X X X X I I,J,0 0 9 9 7 7 6 5 5 4 3 1 1 } [ : : ( ^ ^ ] ~ ! ! ) , > > = = * & + + + + + + + + + + + ", -" + + + + + + + + + + + % & * = > > > , ) ! ! { ] ^ ^ ( : [ [ } 1 1 3 4 5 5 6 7 8 9 9 0 0 a a k k k @.#.=.=.V+9#K,N+X X X X X X X X X X X X X X I 8%L,+%(#(#6#6#l#m#m#D#D#D#S#S#S#S#&$&${$|$|$|$i$i$s$s$F$F$F$F$F$,%'%'%'%'%4%4%4%4%4%4%4%4%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%4%4%4%4%4%4%4%4%'%'%'%,%,%F$F$F$F$s$s$i$i$|$|$|$|${$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#v@v@v@z@3@3@A@A@v%v%$%M,z.W X X X X X X X X X X X X X I N,*>)#0 0 9 8 7 7 5 5 4 4 1 1 | [ [ : : ^ ^ ] { ! ! ! , , > > = = & & + + + + + + + + + + + ", -" + + + + + + + + + + + + & & = = > > , , ! ! ~ { ] ^ ^ : : [ [ | 1 3 3 4 5 5 7 7 8 9 0 0 0 a j k k P #.#.=.=.g@{.O,I X X X X X X X X X X X X X X I N$P,k#(#(#6#6#l#m#m#D#D#D#D#S#S#S#&$&${$|$|$|$|$i$i$s$s$F$F$F$F$F$,%'%'%'%'%'%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%'%'%'%'%'%,%F$F$F$F$F$s$s$i$i$|$|$|$|${$&$&$&$S#S#S#D#D#D#m#m#l#6#6#6#(#-#v@v@v@z@3@3@A@A@A@v%M%Q,2#e.X X X X X X X X X X X X X X $+R,>$0 0 9 9 7 7 6 5 5 4 3 1 1 } [ : : ( ^ ^ ] ~ ! ! ) , > > > = * & % + + + + + + + + + + + ", -" + + + + + + + + + + + + % & * = > > , , ) ! ! ~ ] ^ ^ ( : [ [ } 1 1 3 4 5 5 6 7 7 9 9 0 0 a a j k k P #.=.=.=.Q+S,T,I X X X X X X X X X X X X X X I U,V@-#(#(#6#6#6#m#m#m#D#D#D#S#S#S#&$&$&${$|$|$|$|$i$i$s$s$F$F$F$F$F$F$,%'%'%'%'%'%'%'%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%4%'%'%'%'%'%'%,%F$F$F$F$F$F$s$s$i$i$|$|$|$|$|${$&$&$S#S#S#S#D#D#D#m#m#l#6#6#6#(#-#v@v@v@z@3@3@A@A@A@v%i,V,W,I X X X X X X X X X X X X X X I ~+B 0 0 9 9 8 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ] { ! ! ! , , > > = = & & + + + + + + + + + + + + ", -" + + + + + + + + + + + + + & & = = > > , , ! ! ~ { ] ^ ^ : : [ [ | 1 3 3 4 5 5 7 7 8 9 9 0 0 a a k k k @.#.=.=.V+!#X,N+X X X X X X X X X X X X X X X O@Y,5#-#(#(#6#6#6#l#m#m#D#D#D#S#S#S#S#&$&$&${$|$|$|$|$i$i$s$s$s$F$F$F$F$F$F$,%,%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%'%,%,%F$F$F$F$F$F$s$s$s$i$i$|$|$|$|$|${$&$&$&$S#S#S#D#D#D#m#m#m#6#6#6#(#(#-#v@v@v@z@3@3@A@A@A@v%%&Z,`,I X X X X X X X X X X X X X X I T,k,)#0 0 9 9 7 7 5 5 5 4 3 1 1 } [ : : ( ^ ^ ] ~ ! ! ) , > > > = * & % + + + + + + + + + + + + ", -" + + + + + + + + + + + + + % & * = > > , , ) ! ! ~ ] ^ ^ ( : [ [ } 1 1 3 4 5 5 6 7 7 9 9 0 0 0 a j k k P @.#.=.=.V+Y. 'I X X X X X X X X X X X X X X W &+.'y,-#(#(#6#6#6#l#m#m#D#D#D#D#S#S#S#S#&$&${${$|$|$|$|$i$i$i$s$s$s$F$F$F$F$F$F$F$F$,%,%,%,%'%'%'%'%'%'%'%'%'%,%,%,%F$F$F$F$F$F$F$F$F$s$s$s$i$i$|$|$|$|$|${$&$&$&$S#S#S#S#D#D#D#m#m#m#6#6#6#(#(#-#v@v@v@z@3@3@A@A@A@v%%&7&+=I X X X X X X X X X X X X X X W x.+'f@0 0 9 9 7 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ] ] ! ! ! , , > > = = & & + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + % & & = = > > , , ! ! ~ { ] ^ ^ : : [ [ | 1 1 3 4 5 5 6 7 8 9 9 0 0 a a j k k P #.#.=.=.V+@'#'I X X X X X X X X X X X X X X W $@Q$$'%'(#(#6#6#6#l#m#m#m#D#D#D#S#S#S#S#&$&$&${${$|$|$|$|$|$i$i$i$s$s$s$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$s$s$s$s$i$i$i$|$|$|$|$|${$&$&$&$S#S#S#S#D#D#D#D#m#m#l#6#6#6#(#(#-#v@v@v@z@3@3@A@A@A@v%&'b,*'I X X X X X X X X X X X X X X X %+='J,Q 0 0 9 8 7 7 5 5 5 4 3 1 | } [ : : ( ^ ^ ] ~ ! ! ) , > > > = * & % + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + & & * = > > , , ) ! ! ~ ] ^ ^ ( : : [ } | 1 3 4 5 5 5 7 7 8 9 9 0 0 a a k k k @.#.=.=.=..#R+-'X X X X X X X X X X X X X X X e.Y ;'>'-#-#(#6#6#6#6#l#m#m#D#D#D#D#S#S#S#S#&$&$&$&${$|$|$|$|$|$|$i$i$i$s$s$s$s$s$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$F$s$s$s$s$i$i$i$i$|$|$|$|$|$|${$&$&$&$S#S#S#S#D#D#D#D#m#m#m#6#m#m#a$,')&r@r@/#p@''3@U@A@A@A@v%%&)'!'I X X X X X X X X X X X X X X X X ~'{'0 0 0 9 9 7 7 6 5 5 4 3 1 1 } [ [ : ( ^ ^ ] { ! ! ! , , > > = = & & + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + % & & = = > > , , ! ! ! { ] ^ ^ : : [ [ } 1 1 3 4 5 5 6 7 7 9 9 0 0 0 a j k k k @.#.=.=.V+{.^%V e.X X X X X X X X X X X X X X W H ]'C@v@-#(#(#6#6#6#l#m#m#m#D#D#D#D#S#S#S#S#&$&$&$&${$|$|$|$|$|$|$|$|$i$i$i$i$i$i$i$s$s$s$s$s$s$s$s$s$s$s$i$i$i$i$i$i$i$|$|$|$|$|$|$|${$&$&$&$&$S#S#S#S#D#D#D#D#D#m#m#l#m#L#G&^'/'('_':'<'['}'|'t,1'2'A@|@**Z,n,I X X X X X X X X X X X X X X X I 3'4'l%0 0 9 9 7 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ^ ] ~ ! ! ) , > > > = * & % + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + % & * = > > > , ) ! ! ~ ] ^ ^ ( : : [ [ | 1 3 3 4 5 5 6 7 7 9 9 0 0 a a j k k P @.#.=.=.g@F+o.H X X X X X X X X X X X X X X X W %+5'6'u@-#(#(#6#6#6#6#l#m#m#D#D#D#D#D#S#S#S#S#S#&$&$&$&${$|$|$|$|$|$|$|$|$|$|$|$i$i$i$i$i$i$i$i$i$i$i$i$i$|$|$|$|$|$|$|$|$|$|${${$&$&$&$&$S#S#S#S#S#D#D#D#D#m#m#m#l#7'8'9'5&>@w.Y X X X X O@b+,@0'a'j;b'c'J&I X X X X X X X X X X X X X X X X C;d'w#0 0 9 9 8 7 7 5 5 5 4 3 1 1 } [ [ : ( ^ ^ ] { ! ! ! , , > > = = & & + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + % & & = = > > , , ! ! ! { ] ^ ^ ( : [ [ } 1 1 3 4 4 5 5 7 7 8 9 9 0 0 a a j k k P #.#.=.=.V+ @e'W X X X X X X X X X X X X X X X X I l$f's@-#-#(#(#6#6#6#l#m#m#m#D#D#D#D#D#S#S#S#S#S#&$&$&$&$&${${$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|${${$&$&$&$&$&$S#S#S#S#S#D#D#D#D#D#m#m#m#m#]$g'h'i'T.W X X X X X X X X W X W O@t.j'/$I X X X X X X X X X X X X X X X I $+k'p#a 0 0 9 8 7 7 6 5 5 4 3 1 1 | [ [ : : ^ ^ ^ ] ~ ! ! ) , > > > = * & % + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + % & * = > > > , ) ! ! ~ ] ] ^ ^ : : [ [ } 1 1 3 4 5 5 6 7 7 8 9 0 0 0 a a k k k P #.#.=.=./+l'#'I X X X X X X X X X X X X X X X X I m'n'S@-#-#(#(#6#6#6#6#l#m#m#m#D#D#D#D#D#S#S#S#S#S#S#S#&$&$&$&$&$&${${${${$|$|$|$|$|$|$|$|$|$|$|$|${${${${$&$&$&$&$&$&$&$S#S#S#S#S#S#D#D#D#D#D#m#m#m#l#l#o%o'C$H W e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X H p'q';.0 0 9 9 7 7 6 5 5 4 3 3 1 | } [ : : ( ^ ^ ] { ! ! ) , , > > = = & & + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + & & = = > > , , ! ! ! { ] ^ ^ ( : : [ [ | 1 1 3 4 5 5 6 7 7 9 9 0 0 0 a a k k k P #.=.=.=..#l.~@I X X X X X X X X X X X X X X X X I R=r'D@v@-#-#(#(#6#6#6#6#l#m#m#m#D#D#D#D#D#D#S#S#S#S#S#S#S#S#&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$&$S#S#S#S#S#S#S#D#D#D#D#D#D#m#m#m#l#6#L%s't'w.I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I u'v'a 0 0 9 9 8 7 6 5 5 5 4 3 1 1 } [ [ : ( ^ ^ ] { ~ ! ! , , > > = = * & % + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + % & * = > > > , , ! ! ~ { ] ^ ^ ( : [ [ } 1 1 3 4 4 5 5 6 7 8 9 9 0 0 0 a j k k k @.#.=.=.=.9#w't.I X X X X X X X X X X X X X X X X I y.x'U@t@v@-#-#(#(#6#6#6#6#l#l#m#m#m#D#D#D#D#D#D#S#S#S#S#S#S#S#S#S#S#S#S#&$&$&$&$&$&$&$&$&$&$&$S#S#S#S#S#S#S#S#S#S#S#D#D#D#D#D#D#m#m#m#m#l#6#6#L%g'b@H W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W G*y')#0 0 9 9 8 7 7 5 5 5 4 3 1 1 | [ [ : : ^ ^ ^ ] ~ ! ! ) , , > > = = & & + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + & & * = > > , , ) ! ! ~ ] ^ ^ ^ : : [ [ | 1 1 3 4 5 5 5 7 7 8 9 9 0 0 a a j k k k @.#.=.=.=.!#S&D.W X X X X X X X X X X X X X X X X W H z'A'D@(#-#-#(#(#(#6#6#6#6#l#l#m#m#m#m#D#D#D#D#D#D#D#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#S#D#D#D#D#D#D#D#D#m#m#m#m#l#6#6#6#6#1$B'I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X w;C'D'}%0 0 0 9 8 7 7 6 5 5 4 3 3 1 | } [ : : ( ^ ^ ] { ! ! ! , , > > = = * & % + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + % & * = = > > , , ! ! ! { ] ^ ^ ( : : [ [ | 1 1 3 4 5 5 6 7 7 8 9 9 0 0 a a j k k k @.#.=.=.V+{.X,Y>X X X X X X X X X X X X X X X X X X I ,@E'#%u@v@-#-#(#(#(#6#6#6#6#6#l#m#m#m#m#m#D#D#D#D#D#D#D#D#D#D#D#S#S#S#S#S#S#S#S#S#S#S#S#S#D#D#D#D#D#D#D#D#D#D#m#m#m#m#m#l#l#6#6#6#6#E#t#F'O@X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W W#G'l%0 0 0 9 9 7 7 6 5 5 4 4 3 1 1 } [ [ : : ^ ^ ] ] ~ ! ! ) , > > > = * & & + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + & & * = > > > , ) ! ! ~ { ] ^ ^ ( : : [ } | 1 3 3 4 5 5 6 7 7 9 9 0 0 0 a a j k k k @.#.=.=.-.{.H'C;W X X X X X X X X X X X X X X X X X W ;,r#L,/#v@v@-#-#-#(#(#6#6#6#6#6#6#l#m#m#m#m#m#m#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#m#m#m#m#m#m#l#l#6#6#6#6#6#6#(#o%I'x+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W |+J'K'a 0 0 9 9 7 7 6 5 5 5 4 3 1 1 | [ [ : : ^ ^ ^ ] { ! ! ) , , > > = = & & % + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + % & & = = > > , , ) ! ! ~ ] ^ ^ ^ : : [ [ } 1 1 3 4 4 5 5 6 7 7 9 9 0 0 0 a a j k k k @.#.=.=.L'F+d$d.I X X X X X X X X X X X X X X X X X X I g$M'3@;#v@v@-#-#-#(#(#(#6#6#6#6#6#6#l#l#m#m#m#m#m#m#m#m#m#D#D#D#D#D#D#D#D#D#D#D#D#m#m#m#m#m#m#m#m#m#l#l#6#6#6#6#6#6#6#(#(#-#k#N'g$W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O'P'K'a 0 0 9 9 8 7 6 5 5 5 4 3 1 1 | [ [ : : ( ^ ^ ] { ! ! ! , , > > = = * & % + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + % & * = = > > , , ! ! ! { ] ^ ^ ( : : [ [ | 1 1 3 4 4 5 5 7 7 8 9 9 0 0 0 a a j k k k @.#.=.=.$.F+Q'2#I X X X X X X X X X X X X X X X X X X W H =@R'/#t@v@v@v@-#-#(#(#(#6#6#6#6#6#6#6#6#l#l#l#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#m#l#l#6#6#6#6#6#6#6#6#(#(#(#-#-#y@/#S'W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X C'T'K'a 0 0 9 9 8 7 7 5 5 5 4 3 3 1 | } [ [ : ( ^ ^ ] { ~ ! ! ) , > > > = = & & + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + & & = = > > > , ) ! ! ~ { ] ^ ^ ( : : [ [ | 1 1 3 4 5 5 5 7 7 8 9 9 0 0 0 a a j k k k @.#.#.=.=.F+U'V'I X X X X X X X X X X X X X X X X X X X W i@U,W'*#t@v@v@v@-#-#-#(#(#(#(#6#6#6#6#6#6#6#6#6#6#6#l#l#l#l#l#l#l#l#l#l#l#l#l#6#6#6#6#6#6#6#6#6#6#6#(#(#(#-#-#-#v@v@t@8@ ;e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I X'Y'l%a 0 0 9 9 8 7 7 5 5 5 4 3 3 1 1 } [ [ : : ^ ^ ^ ] ~ ! ! ) , , > > = = * & % + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + % & & = = > > , , ) ! ! ~ ] ^ ^ ^ ( : : [ } | 1 1 3 4 5 5 5 7 7 8 9 9 0 0 0 a a j k k k @.#.#.=.=.j.Z'z$I X X X X X X X X X X X X X X X X X X X X I d+`' )j#=#v@v@v@v@-#-#-#-#(#(#(#(#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#(#(#(#(#(#-#-#-#v@v@v@v@y@q@.)W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X H <;+)}%a 0 0 9 9 8 7 7 6 5 5 4 4 3 1 1 } [ [ : : ^ ^ ^ ] { ! ! ! , , > > > = * & & + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + % & * = = > > , , ! ! ! { ] ^ ^ ^ : : [ [ } | 1 1 3 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k P #.#.=.=.~.H#'$I X X X X X X X X X X X X X X X X X X X X W I d.@)|'W@C@v@v@v@v@v@v@-#-#-#-#(#(#(#(#(#(#(#6#6#6#6#6#6#6#6#6#6#6#6#(#(#(#(#(#(#(#-#-#-#-#-#v@v@v@v@v@v@z@z@5@#)X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X $+$).$0 0 0 9 9 8 7 7 6 5 5 4 4 3 1 1 | [ [ : : ( ^ ^ ] { ~ ! ! ) , > > > = = & & + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + & & = = > > > , ) ! ! ! { ] ^ ^ ( : : [ [ } 1 1 3 3 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k P #.#.=.=.*.%)&)T.X X X X X X X X X X X X X X X X X X X X X I I ;*)=)6'j#t@v@v@v@v@v@v@v@-#-#-#-#-#-#(#(#(#(#(#(#(#(#(#(#(#(#(#(#-#-#-#-#-#-#-#v@v@v@v@v@v@v@z@z@3@3@C@-)T.e.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I Y+4>0 0 9 9 8 7 7 6 5 5 4 4 3 1 1 | [ [ : : ( ^ ^ ] { ~ ! ! ) , , > > = = * & % + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , ) ! ! ~ { ] ^ ^ ( : : [ [ } 1 1 3 3 4 5 5 6 7 7 8 9 9 0 0 0 a a j k k k P @.#.=.=.=.8.[-}+W X X X X X X X X X X X X X X X X X X X X X X W x+;)^@A'>)W@u@v@v@v@v@v@v@v@v@v@v@v@-#-#-#-#-#-#-#-#-#-#-#-#-#v@v@v@v@v@v@v@v@v@v@v@z@z@3@3@3@3@3@,)l@X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I ') #;.9 9 8 7 7 6 5 5 5 4 3 1 1 | } [ [ : ( ^ ^ ] ] ~ ! ! ) , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + % & * = = > > , , ) ! ! ~ ] ] ^ ^ ( : : [ [ | 1 1 3 3 4 5 5 6 7 7 8 9 9 0 0 0 a a a k k k P @.#.#.=.=.)+))s.I e.X X X X X X X X X X X X X X X X X X X X X X W I *+!)~){)y,j#s@v@x@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@v@z@z@3@3@3@3@3@u@|@z@z@b'X#W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X d@])9 9 8 7 7 6 5 5 5 4 3 1 1 | } [ [ : : ^ ^ ^ ] { ! ! ! , , > > > = = & & + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > , , ! ! ! ~ ] ^ ^ ^ ( : : [ [ | 1 1 3 3 4 5 5 6 7 7 8 9 9 0 0 0 a a a k k k k P #.#.=.=.j.^)/)Y I X X X X X X X X X X X X X X X X X X X X X X X W e.O@d%l$()_):)E@/#B@z@U@U@z@v@v@v@v@v@v@v@v@v@v@v@v@v@z@z@z@3@3@3@3@3@3@3@3@z@z@t@<),)B&[)q+a#X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X })|) #8 7 7 6 5 5 5 4 3 1 1 | } [ [ : : ^ ^ ^ ] { ! ! ! , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , , ! ! ! { ] ^ ^ ^ ( : : [ [ | 1 1 3 4 4 5 5 6 7 7 8 9 9 0 0 0 0 a a j k k k P @.#.=.=.P 1)2)*+W X X X X X X X X X X X X X X X X X X X X X X X X X W e.I 8$e;3)4)r$P,>)h=j#C@R#3@_#U@U@U@U@U@3@3@3@3@3@U@U@U@U@z@3@2@X@W@,),)X@5)6)7)Q;#)$+X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X V 8)!@7 7 6 5 5 5 4 3 3 1 1 } [ [ : : ^ ^ ^ ] { ~ ! ! ) , , > > = = * & % + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , , ! ! ! { ] ^ ^ ^ ( : : [ [ | 1 1 3 3 4 5 5 5 7 7 7 9 9 9 0 0 0 a a j k k k P @.#.#.=.g@Y.9)z#H I X X X X X X X X X X X X X X X X X X X X X X X X X X W X W I A.)>0)a)M'b)c)d)U@y,1'e)e)f),):#:#:#g)f)h),)1'i)j)k)l)m)n)o)p)P-$+W W X W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X $+q)r)7 6 5 5 5 4 3 3 1 1 } [ [ : : ^ ^ ^ ] { ~ ! ! ) , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + % & * = = > > , , ) ! ! ~ { ] ^ ^ ^ : : [ [ [ | 1 1 3 3 4 5 5 5 7 7 7 8 9 9 0 0 0 a a a k k k k P @.#.#.=.%.*%s)P-I I X X X X X X X X X X X X X X X X X X X X X X X X X X X X e.X e.I e.T.8$d%m$J@t)u)I@v)Q$w)x)y)z)A)B)C)x%~#a#V$A.H X I X W W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q;D)E)5 5 5 4 4 3 1 1 1 } [ [ : : ^ ^ ^ ] { ~ ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > , , ) ! ! ~ { ] ^ ^ ^ : : : [ [ | 1 1 3 3 4 5 5 5 6 7 7 8 9 9 0 0 0 0 a a j k k k P @.#.#.=.g@F)G)~=x+I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W W X X W W W X e.X X X X X X I W W X X W W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X z.H)I)5 5 4 4 3 1 1 1 } [ [ : : ^ ^ ^ ] ] ~ ! ! ! , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > , , ) ! ! ~ { ] ^ ^ ^ : : : [ [ | 1 1 3 3 4 5 5 5 6 7 7 8 9 9 0 0 0 0 a a j k k k k P @.#.#.=.K+^.J)J%H I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X j%K)5 5 4 4 3 1 1 | } [ [ : : ( ^ ^ ] ] ~ ! ! ! , , > > > = = * & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , , ) ! ! ~ ] ] ^ ^ ^ : : [ [ [ | 1 1 3 3 4 5 5 5 6 7 7 8 9 9 9 0 0 0 a a a j k k k k P @.#.#.g@!#L)M)r;I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W E N)c 4 4 3 1 1 | } [ [ : : ( ^ ^ ] ] ~ ! ! ! ) , > > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , , ) ! ! ~ ] ] ^ ^ ^ : : : [ [ } 1 1 1 3 4 4 5 5 6 7 7 7 8 9 9 0 0 0 0 a a j k k k k P @.#.#.#.=.Y.O)-+R*I W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X P)P+4 3 3 1 1 | } [ [ : : ^ ^ ^ ] ] ~ ! ! ! ) , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & = = > > > , , ) ! ! ~ ] ] ^ ^ ^ : : : [ [ } | 1 1 3 4 4 5 5 5 6 7 7 8 9 9 9 0 0 0 0 a a j k k k k P @.#.#.=.P F)Q)R)Z%I I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X T.S)f 3 3 1 1 | } [ [ : : ^ ^ ^ ] ] ~ ! ! ! ) , , > > = = * & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > > , , ) ! ! ~ ] ] ^ ^ ^ ( : : [ [ } | 1 1 3 3 4 5 5 5 6 7 7 7 9 9 9 0 0 0 0 a a a j k k k k P @.#.#.=.P F)T)U)s.H W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W V)W)3 3 1 1 | } [ [ : : ^ ^ ^ ] ] ~ ! ! ! ) , , > > = = = & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & * = = > > > , , ) ! ! ~ ] ] ^ ^ ^ ( : : [ [ } | 1 1 3 3 4 5 5 5 5 7 7 7 8 9 9 9 0 0 0 0 a a a j k k k k P @.@.#.=.P Y.X) +Y)N+I W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I Z)`)3 1 1 | [ [ [ : : ^ ^ ^ ] ] ~ ! ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ~ { ] ^ ^ ^ ( : : [ [ [ | 1 1 3 3 4 4 5 5 5 6 7 7 7 8 9 9 9 0 0 0 0 a a a j k k k k k P @.#.#.#.{.*. !x>r;H e.W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X e.1#.![ 1 | } [ [ : : ( ^ ^ ^ ] ] ~ ! ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ~ { ] ^ ^ ^ ( : : [ [ [ } | 1 1 3 3 4 5 5 5 5 6 7 7 8 9 9 9 0 0 0 0 0 a a a j k k k k k P @.@.#.#.~.].+!@!H.q&I e.I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O@#!$!1 | } [ [ : : ( ^ ^ ^ ] { ~ ! ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ~ { ] ^ ^ ^ ( : : : [ [ } | 1 1 3 3 4 4 5 5 5 6 7 7 7 8 9 9 9 0 0 0 0 0 a a a j k k k k k k P @.@.#.#.Q.F)%!&!*!=!&+W X W X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W X I x+W X X X X X X X X X X X X X X X X X X X X X X X X X X X X I -!;!1 | [ [ [ : : ( ^ ^ ^ ] { ~ ! ! ! ) , , > > > = = & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ~ { ] ^ ^ ^ ^ : : : [ [ } | 1 1 1 3 4 4 5 5 5 5 6 7 7 7 8 9 9 9 0 0 0 0 0 a a a j k k k k k k P P @.@.#.P o=>!,!'!)!0;j%H I X I X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X W W X I x+!!,-~!{!:&W X X X X X X X X X X X X X X X X X X X X X X X X X X I ]!^!/!} [ [ [ : : ( ^ ^ ^ ] { ~ ! ! ! ) , , > > > = = * & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ! { ] ] ^ ^ ^ ( : : [ [ [ } | 1 1 3 3 4 4 5 5 5 6 7 7 7 7 8 9 9 9 0 0 0 0 0 a a a a j k k k k k k k P P @.#.#.h+>!Q.(!e=_!:!/*}+&+%+X X I W X X X X X X X X X X X X X X X X X X X W W X I H ;,B+e+!2!3!z$I X X X X X X X X X X X X X X X X X X X X X X X X I d+4!..} [ [ : : : ^ ^ ^ ] ] { ~ ! ! ! , , , > > > = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ! ~ ] ] ^ ^ ^ ( : : : [ [ } | 1 1 1 3 3 4 4 5 5 5 6 7 7 7 7 8 9 9 9 0 0 0 0 0 0 a a a a j k k k k k k k k P P @.@.P f&>!O.5!6!e=7!8!9!e+0!Y>V T.Y H O@I I I I I I %+H c+Y f.x.P-a!@$#&5+2+b!(!a c!d!h+k k j j G#e!f!I X X X X X X X X X X X X X X X X X X X X X X I ##g!h!} [ [ : : ( ^ ^ ^ ] ] { ! ! ! ) , , , > > > = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , ) ! ! ! ~ { ] ^ ^ ^ ^ ( : : [ [ [ } | 1 1 3 3 4 4 5 5 5 5 6 7 7 7 7 8 9 9 9 9 0 0 0 0 0 0 a a a a j j k k k k k k k k k P P @.@.%.Q.F)0.O.P=i!4.j!'!k!l!m!n!_!o!~;p!U)q!r!s!t!u!v!w!x!8.1!c!y!z!*.P k j j a a a a a R A!B!H I X X X X X X X X X X X X X X X X X X X I '.C!$![ [ : : : ( ^ ^ ^ ] { ~ ! ! ! ) , , > > > = = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , , ! ! ! ~ { ] ] ^ ^ ^ ( : : : [ [ } | 1 1 1 3 3 4 4 5 5 5 5 6 7 7 7 7 8 9 9 9 9 0 0 0 0 0 0 a a a a a j j k k k k k k k k k k k k k P P P P %.1)f&Z.O.'+>!0.0.1!1!0.>!F)O.Z.z!%-&.k D!k k k k j j a a a a a 0 0 0 0 $-E!F!*+I X X X X X X X X X X X X X X X X I $+G!H!I!J![ : : : ^ ^ ^ ^ ] { ~ ! ! ! ) , , > > > = = = & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > > , , ! ! ! ! ~ ] ] ^ ^ ^ ( : : : [ [ [ } | 1 1 1 3 3 4 4 5 5 5 5 6 7 7 7 7 8 8 9 9 9 9 0 0 0 0 0 0 a a a a a a a j j k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k j j a a a a a a a 0 0 0 0 0 0 0 9 9 K!L!M!#+I W X X X X X X X X X X X W $+N!O!P!Q![ : : : ( ^ ^ ^ ] ] { ~ ! ! ! ) , , > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & = = = > > > , , ) ! ! ! ~ { ] ^ ^ ^ ^ ( : : : [ [ [ } | 1 1 1 3 3 4 4 5 5 5 5 6 6 7 7 7 7 8 9 9 9 9 9 0 0 0 0 0 0 0 a a a a a a a a a j j j j k k k k k k k k k k k k k k k k k j j j j a a a a a a a a 0 0 0 0 0 0 0 0 9 9 9 9 8 8 R!f H)D S!x.H X e.W I W X I $+T!U!V!W!I![ [ : : ( ^ ^ ^ ^ ] { ~ ! ! ! ! , , , > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & = = = > > > , , ) ! ! ! ! { ] ] ^ ^ ^ ^ : : : [ [ [ } | 1 1 1 1 3 3 4 4 5 5 5 5 5 6 7 7 7 7 7 8 9 9 9 9 9 9 0 0 0 0 0 0 0 0 a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 0 0 0 0 0 0 0 0 0 9 9 9 9 9 8 7 7 7 7 7 c I)P+X!Y!Z!`! ~.~+~@~#~$~%~&~h!*~[ [ : : : ( ^ ^ ^ ] ] { ~ ! ! ! ) , , > > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > , , , ! ! ! ! ~ { ] ] ^ ^ ^ ( : : : [ [ [ } | 1 1 1 1 3 3 4 4 5 5 5 5 5 5 6 7 7 7 7 7 8 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 a a a a a a a a a a a a a a a a a a 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 8 8 7 7 7 7 6 6 5 5 5 5 =~-~n+;~>~,~'~y )~!~~~[ [ [ : : : ( ^ ^ ^ ^ ] ] { ! ! ! ! ) , , > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > > , , ) ! ! ! ~ { ] ] ^ ^ ^ ^ ( : : : [ [ [ } | 1 1 1 1 3 3 4 4 4 5 5 5 5 5 5 6 7 7 7 7 7 8 8 9 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 8 8 7 7 7 7 7 6 6 5 5 5 5 5 5 4 4 3 3 3 {~{~{~+.| [ [ [ : : : ( ^ ^ ^ ^ ] ] { ~ ! ! ! ) , , , > > > = = = & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ^ ( : : : [ [ [ } | 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 5 6 6 7 7 7 7 7 8 8 8 9 9 9 9 9 9 9 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 8 8 8 7 7 7 7 7 7 6 6 5 5 5 5 5 5 4 4 4 3 3 1 1 1 1 | } [ [ [ : : : : ( ^ ^ ^ ^ ] { ~ ! ! ! ! ) , , > > > > = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & = = = > > > > , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ( : : : : [ [ [ } } | 1 1 1 1 3 3 3 4 4 4 5 5 5 5 5 5 5 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 7 7 7 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 | } [ [ [ : : : : ( ^ ^ ^ ^ ] ] { ~ ! ! ! ) , , , > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = > > > > , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ^ ( : : : : [ [ [ [ } | 1 1 1 1 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 5 5 5 5 4 4 4 3 3 3 1 1 1 1 | | } [ [ [ : : : : ( ^ ^ ^ ^ ] ] { ~ ! ! ! ! ) , , > > > > = = = & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > , , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ^ ( : : : : [ [ [ [ } | | 1 1 1 1 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 3 3 1 1 1 1 1 | } } [ [ [ : : : : ( ^ ^ ^ ^ ] ] { ~ ~ ! ! ! ) , , , > > > > = = * & & & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & & & * = = > > > > , , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ^ ( ( : : : : [ [ [ [ } | | 1 1 1 1 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 3 3 1 1 1 1 1 | } } [ [ [ [ : : : ( ( ^ ^ ^ ^ ] ] ] { ~ ! ! ! ! ) , , > > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & = = = > > > > , , , ) ! ! ! ! ~ { ] ] ^ ^ ^ ^ ^ ( : : : : [ [ [ [ [ } | | 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 | | } } [ [ [ [ : : : : ( ^ ^ ^ ^ ^ ] ] ] { ~ ! ! ! ! ) , , , > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > , , , ) ! ! ! ! ! ~ { ] ] ^ ^ ^ ^ ^ ( : : : : : [ [ [ [ [ } | | 1 1 1 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 1 1 1 1 1 1 1 | | } } [ [ [ [ [ : : : : ( ^ ^ ^ ^ ^ ] ] ] { ~ ! ! ! ! ) , , , > > > > = = = * & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > > , , , ) ! ! ! ! ! ~ { ] ] ] ^ ^ ^ ^ ^ ( : : : : : [ [ [ [ [ } } | | | 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 | | } } [ [ [ [ [ [ : : : : ( ^ ^ ^ ^ ^ ^ ] ] { { ~ ! ! ! ! ) , , , > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > , , , ) ! ! ! ! ! ~ { { ] ] ^ ^ ^ ^ ^ ^ ( : : : : : [ [ [ [ [ [ [ } } | | | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | | } } } [ [ [ [ [ [ : : : : : ( ^ ^ ^ ^ ^ ^ ] ] ] { ~ ~ ! ! ! ! ) , , , > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" _ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > , , , ) ! ! ! ! ! ~ ~ { ] ] ] ^ ^ ^ ^ ^ ^ ( ( : : : : : [ [ [ [ [ [ [ [ } } } | | | | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | | | | } } } } [ [ [ [ [ [ [ : : : : : : ( ^ ^ ^ ^ ^ ^ ^ ] ] ] { ~ ! ! ! ! ! ) , , , > > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & * = = = > > > > > , , , ) ) ! ! ! ! ! ~ { { ] ] ^ ^ ^ ^ ^ ^ ^ ( ( : : : : : : : [ [ [ [ [ [ [ [ [ [ [ } } } } } } } } } } } } } } } } } } [ [ [ [ [ [ [ [ [ [ [ : : : : : : : ( ( ^ ^ ^ ^ ^ ^ ^ ] ] ] { ~ ~ ! ! ! ! ! ) , , , > > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" & + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > > , , , , ) ! ! ! ! ! ~ ~ { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ( ( : : : : : : : : : [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ : : : : : : : : ( ( ( ^ ^ ^ ^ ^ ^ ^ ] ] ] { { ~ ! ! ! ! ! ! ) , , , > > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > > , , , , ) ! ! ! ! ! ! ~ ~ { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ( ( ( : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ( ( ( ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { ~ ! ! ! ! ! ! ) ) , , , > > > > > = = = * & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * = = = > > > > > > , , , , ) ! ! ! ! ! ! ! ~ { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ( ( ( ( ( : : : : : : : : : : : : : : : : : : : ( ( ( ( ( ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { ~ ~ ! ! ! ! ! ! ) ) , , , , > > > > > = = = * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ' ", -" - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * * = = = > > > > > , , , , , ) ! ! ! ! ! ! ! ~ ~ { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] { { ~ ~ ! ! ! ! ! ! ! ! ) , , , , > > > > > = = = = * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & * * = = = > > > > > > , , , , ) ) ! ! ! ! ! ! ! ~ ~ ~ { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] { { ~ ~ ~ ! ! ! ! ! ! ! ! ) , , , , , > > > > > = = = = * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & * = = = = > > > > > > , , , , , ) ) ! ! ! ! ! ! ! ! ~ ~ ~ { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { ~ ~ ~ ! ! ! ! ! ! ! ! ! ) ) , , , , , > > > > > = = = = = * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" ]~+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & * * = = = > > > > > > > , , , , , , ) ) ! ! ! ! ! ! ! ! ! ! ! ~ ~ ~ ~ { { { { { { { { { { { { { { { { { { { { { ~ ~ ~ ~ ! ! ! ! ! ! ! ! ! ! ! ) ) , , , , , > > > > > > > = = = = * & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]~ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & * = = = = = > > > > > > > , , , , , , ) ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) , , , , , , > > > > > > > = = = = * * & & & & % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % & & & & * * = = = = = > > > > > > > , , , , , , , , ) ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) ) , , , , , , , > > > > > > > > = = = = = * & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / ", -" ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & * * = = = = = = > > > > > > > > , , , , , , , , , , , ) ) ) ) ) ) ) ) ! ! ! ! ) ) ) ) ) ) ) ) ) , , , , , , , , , , > > > > > > > > > = = = = = = * & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & & * * = = = = = = = > > > > > > > > > > > > > , , , , , , , , , , , , , , , , , , , , , , , > > > > > > > > > > > > > = = = = = = = * * & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & & & * * = = = = = = = = > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > = = = = = = = = * * * & & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % & & & & & & * * * = = = = = = = = = = > > > > > > > > > > > > > > > > > > > > > > > > = = = = = = = = = = = * * * & & & & & & % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % % & & & & & & & & * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * & & & & & & & % % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ + ", -" $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % % & & & & & & & & & & & * * * * * * * * = = = = = = * * * * * * * * * & & & & & & & & & & % % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + & ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % % % % % % % & & & & & & & & & % % % % % % % % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % ", -" $ + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $ ", -" ", -" ", -" ", -" "}; +"256 256 21 1", +" c None", +". c #000000", +"+ c #26A9E0", +"@ c #27A8DF", +"# c #25AAE0", +"$ c #25A9E1", +"% c #26A8DF", +"& c #25A9E0", +"* c #27A9E1", +"= c #26A9DF", +"- c #26AADF", +"; c #26ABE1", +"> c #27AAE1", +", c #25A8E0", +"' c #26A9E1", +") c #26A8E0", +"! c #26A8E1", +"~ c #27ABDF", +"{ c #27A9DF", +"] c #27A9E0", +"^ c #25A8DF", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ....... ", +" ............... ", +" ..................... ", +" ........................ ......................... ", +" ...................................... ............................ ", +" ................................................. .............................. ", +" .......................................................... ................................. ", +" ................................................................ ................................... ", +" ......................................................................................................... ", +" ............................................................................................................. ", +" ................................................................................................................. ", +" .................................................................................................................... ", +" ....................................................................................................................... ", +" .......................................................................................................................... ", +" ............................................................................................................................ ", +" ............................................................................................................................... ", +" ................................................................................................................................. ", +" ................................................................................................................................... ", +" ...................................................................................................................................... ", +" ....................................................................................................................................... ", +" ................................................. ............................................................... ", +" ............................................ ......................................................... ", +" ......................................... ..................................................... ", +" ...................................... ................................................. ", +" ..................................... ................................................. ", +" ................................... ................................................. ", +" .................................. ................................................. ", +" ................................. ................................................. ", +" ................................ ................................................. ", +" ............................... ................................................. ", +" .............................. ................................................ ", +" ............................. ................................................ ", +" ............................. ................................................. ", +" ............................ ................................................. ", +" ............................ .................................................. ", +" ........................... ................................................... ", +" ........................... ................................................... ", +" .......................... .................................................... ", +" .......................... .................................................... ", +" .......................... .................................................... ", +" ......................... .................................................... ", +" ........................ .................................................... ", +" ........................ .................................................... ", +" ........................ .................................................... ", +" ....................... ................................................... ", +" ....................... ................................................... ", +" ....................... ........................ ...................... ", +" ...................... .................... ...................... ", +" ...................... ............... ...................... ", +" ...................... ...... ...................... ", +" ...................... ..................... ", +" ..................... ..................... ", +" ...................... ..................... ", +" ...................... ..................... ", +" ..................... .................... ", +" ..................... ..................... ", +" ..................... .................... ", +" .................... .................... ", +" ..................... .................... ", +" .................... .................... ", +" .................... .................... ", +" .................... ................... ", +" .................... ................... ", +" .................... .................... ", +" .................... ................... ", +" .................... ................... ", +" ................... ................... ", +" .................... ................... ", +" ................... ................... ", +" ................... .................. ", +" ................... ................... ", +" .................. .................. ", +" ................... ................... ", +" .................. .................. ", +" ................... .................. ", +" .................. .................. ", +" .................. .................. ", +" ................... .................. ", +" .................. .................. ", +" .................. ................. ", +" .................. .................. ", +" .................. ................. ", +" .................. ................. ", +" .................. .................. ", +" .................. ++@###+$%& ................. ", +" ................. +*################= ................. ", +" .................. &+######################% .................. ", +" .................. +###########################- ................. ", +" ................. ;################################ ................. ", +" ................. >##################################= ................. ", +" .................. ,#####################################+ ................. ", +" .................. +#######################################+ ................. ", +" ................. '########################################## ................. ", +" ................. +############################################& ................. ", +" ................. >############################################## ................ ", +" .................. +################################################ ................. ", +" ................. +################################################## ................. ", +" ................... ###################################################) ................. ", +" ...................... #####################################################) ................. ", +" .......................... +###################################################### ................ ", +" ............................. #######################################################- ................ ", +" ................................ +######################################################## ................. ", +" .................................. #########################################################+ ................. ", +" .................................... +########################################################## ................. ", +" ...................................... ###########################################################! ................. ", +" ....................................... )############################################################ ................. ", +" ........................................ ############################################################# ................ ", +" .......................................... #############################################################& ................ ", +" ........................................... ~############################################################## ................ ", +" ............................................ +############################################################## ................ ", +" ............................................. ############################################################### ................ ", +" .............................................. ###############################################################{ ................ ", +" ............................................... ###############################################################+ ................ ", +" ................................................ ################################################################ ................. ", +" ................................................ =################################################################ ................. ", +" ................................................ ,################################################################ ................. ", +" ................................................. $################################################################ ................. ", +" ................................................. =################################################################ ................. ", +" ................................................. ################################################################ ................. ", +" .................................................. ###############################################################= ................. ", +" .................................................. ###############################################################+ ................ ", +" .................................................. ###############################################################, ................ ", +" ................................................. ############################################################### ................ ", +" ................................................. +############################################################## ................ ", +" ................................................. %############################################################## ................ ", +" ................................................ #############################################################' ................ ", +" ................................................ +############################################################ ................ ", +" ................................................ +############################################################ ................. ", +" ............................................... ###########################################################+ ................. ", +" .............................................. $########################################################## ................. ", +" ............................................. #########################################################' ................. ", +" ............................................ '######################################################## ................. ", +" ............................................ #######################################################= ................ ", +" .......................................... &###################################################### ................ ", +" ......................................... =#################################################### ................. ", +" ........................................ ###################################################] ................. ", +" ...................................... +#################################################> ................. ", +" .................................... +###############################################= ................. ", +" .................................. '############################################## ................ ", +" ................................ &############################################ ................. ", +" .............................. +#########################################+ ................. ", +" .......................... +#######################################+ ................. ", +" ........................ =####################################+ ................. ", +" ..................... ]#################################= ................. ", +" .................. *##############################] ................. ", +" .................. +##########################) ................. ", +" .................. &#####################+ .................. ", +" ................. )'##############+ ................. ", +" .................. #=^+++$ ................. ", +" .................. .................. ", +" ................. ................. ", +" .................. ................. ", +" .................. .................. ", +" .................. ................. ", +" .................. .................. ", +" ................... .................. ", +" .................. .................. ", +" .................. .................. ", +" ................... .................. ", +" .................. .................. ", +" ................... .................. ", +" .................. .................. ", +" ................... ................... ", +" ................... .................. ", +" ................... ................... ", +" ................... .................. ", +" ................... ................... ", +" ................... .................. ", +" ................... ................... ", +" ................... ................... ", +" .................... ................... ", +" ................... ................... ", +" .................... .................... ", +" .................... ................... ", +" ..................... .................... ", +" .................... .................... ", +" .................... .................... ", +" ..................... ..................... ", +" ..................... .................... ", +" ..................... .................... ", +" ...................... ..................... ", +" ..................... ..................... ", +" ..................... ..................... ", +" ...................... ....... ...................... ", +" ...................... ................ ...................... ", +" ...................... ..................... ...................... ", +" ...................... ......................... ...................... ", +" ....................... ................................................... ", +" ....................... ................................................... ", +" ........................ .................................................... ", +" ........................ .................................................... ", +" ........................ .................................................... ", +" ........................ .................................................... ", +" ........................ ................................................... ", +" ......................... ................................................... ", +" .......................... .................................................... ", +" ........................... ................................................... ", +" ........................... ................................................... ", +" ........................... .................................................. ", +" ........................... ................................................ ", +" ............................ ................................................ ", +" ............................. ................................................ ", +" .............................. ................................................ ", +" ............................... ................................................. ", +" ................................ ................................................. ", +" ................................ ................................................. ", +" ................................. ................................................. ", +" ................................... ................................................. ", +" .................................... ................................................. ", +" ...................................... ................................................. ", +" ......................................... .................................................... ", +" ........................................... ......................................................... ", +" ................................................ ............................................................... ", +" ....................................................................................................................................... ", +" ..................................................................................................................................... ", +" ................................................................................................................................... ", +" ................................................................................................................................. ", +" ............................................................................................................................... ", +" ............................................................................................................................ ", +" .......................................................................................................................... ", +" ....................................................................................................................... ", +" ................................................................................................................... ", +" ................................................................................................................. ", +" ............................................................................................................. ", +" ......................................................................................................... ", +" ................................................................ ................................... ", +" ........................................................ ................................. ", +" ................................................ .............................. ", +" .................................... ............................ ", +" ...................... ........................ ", +" .................... ", +" ............... ", +" ...... ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/share/pixmaps/ion32.png b/share/pixmaps/ion32.png index 50587b99e353e..15d11b55582f7 100644 Binary files a/share/pixmaps/ion32.png and b/share/pixmaps/ion32.png differ diff --git a/share/pixmaps/ion32.xpm b/share/pixmaps/ion32.xpm index e1b9fe061829d..408c0c78b573d 100644 --- a/share/pixmaps/ion32.xpm +++ b/share/pixmaps/ion32.xpm @@ -1,202 +1,43 @@ /* XPM */ static char * ion32_xpm[] = { -"32 32 167 2", -" c None", -". c #0C132A", -"+ c #0D1229", -"@ c #0D122A", -"# c #0E132B", -"$ c #0E142C", -"% c #0E142D", -"& c #0E152D", -"* c #0E152E", -"= c #0E122A", -"- c #0D132A", -"; c #0F152F", -"> c #0F1630", -", c #0F1731", -"' c #0F1732", -") c #0C112A", -"! c #0F162F", -"~ c #0F1833", -"{ c #101834", -"] c #101935", -"^ c #101936", -"/ c #101A36", -"( c #101833", -"_ c #111B38", -": c #111B39", -"< c #111C3A", -"[ c #1F2742", -"} c #999DA8", -"| c #4C5266", -"1 c #0E152F", -"2 c #101934", -"3 c #141F3E", -"4 c #A3A7B3", -"5 c #FEFEFE", -"6 c #FFFFFF", -"7 c #D2D4DA", -"8 c #BCBEC5", -"9 c #111A37", -"0 c #131E3D", -"a c #ECEDF0", -"b c #FEFFFF", -"c c #F4F5F6", -"d c #FDFDFD", -"e c #111C3B", -"f c #50586F", -"g c #E6E7EB", -"h c #243151", -"i c #142345", -"j c #142346", -"k c #142245", -"l c #CED1D8", -"m c #0F1631", -"n c #60677C", -"o c #313D5C", -"p c #152447", -"q c #152448", -"r c #152549", -"s c #15254A", -"t c #E4E5E8", -"u c #111B37", -"v c #232E4B", -"w c #152346", -"x c #15264A", -"y c #16274C", -"z c #16274D", -"A c #16284E", -"B c #16264B", -"C c #132245", -"D c #142143", -"E c #D8DAE0", -"F c #ABAEB9", -"G c #121D3C", -"H c #1D2B4C", -"I c #16264C", -"J c #172950", -"K c #172A51", -"L c #172A52", -"M c #FBFCFC", -"N c #1C2541", -"O c #0D132B", -"P c #0F1832", -"Q c #596177", -"R c #9DA3B2", -"S c #17284F", -"T c #182B53", -"U c #182C55", -"V c #182C56", -"W c #1A2647", -"X c #F0F1F3", -"Y c #121D3B", -"Z c #152347", -"` c #182B54", -" . c #192D57", -".. c #192E59", -"+. c #192F5A", -"@. c #EEEFF1", -"#. c #101A37", -"$. c #121D3D", -"%. c #EFF0F2", -"&. c #1B3966", -"*. c #238BBF", -"=. c #1E5F8F", -"-. c #142244", -";. c #4F5971", -">. c #5E6578", -",. c #F1F1F3", -"'. c #F2F2F4", -"). c #1A305C", -"!. c #238BC0", -"~. c #1C4A77", -"{. c #121F40", -"]. c #B8BBC4", -"^. c #E4E6EA", -"/. c #16274E", -"(. c #1D4F7E", -"_. c #238CC1", -":. c #2389BD", -"<. c #132142", -"[. c #E7E8EB", -"}. c #1D5080", -"|. c #238ABE", -"1. c #C1C3CB", -"2. c #C1C6CF", -"3. c #172951", -"4. c #192E58", -"5. c #1C4E7C", -"6. c #BBBEC6", -"7. c #ADB1BB", -"8. c #FAFAFB", -"9. c #192D56", -"0. c #1B3C6A", -"a. c #1F6798", -"b. c #4A536C", -"c. c #63697C", -"d. c #E8EAED", -"e. c #626A7F", -"f. c #9298A9", -"g. c #182C54", -"h. c #162344", -"i. c #182749", -"j. c #152548", -"k. c #F8F8F9", -"l. c #212A45", -"m. c #111C39", -"n. c #2A3450", -"o. c #132144", -"p. c #CCCFD6", -"q. c #B9BCC5", -"r. c #71778A", -"s. c #263353", -"t. c #ECEDEF", -"u. c #61687D", -"v. c #D7D9DF", -"w. c #1A2749", -"x. c #C8CBD3", -"y. c #17213F", -"z. c #F6F6F7", -"A. c #E4E6E9", -"B. c #F2F3F5", -"C. c #1B2543", -"D. c #E6E7EA", -"E. c #C8CAD0", -"F. c #2A324C", -"G. c #ADB0B9", -"H. c #616678", -"I. c #0E1129", -"J. c #0E1329", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" + + + + + + + + + @ # $ % & * * & % $ # @ + + + + + + + + + ", -"= + + + + + + + - $ & ; > , ' ' ' ' , > ; & $ - + + + + + + + ) ", -"+ + + + + + + # & ! , ~ { ] ^ / / ^ ] { ~ , ! & # + + + + + + + ", -"+ + + + + + $ * , ( ] / _ : < < < < : _ [ } | , 1 $ + + + + + + ", -"+ + + + + $ ! ' 2 / _ < 3 4 5 6 6 6 6 7 6 6 6 8 ' ! $ + + + + + ", -"+ + + + $ ; ' ] 9 < 0 a 6 6 6 b c d 6 6 6 6 6 6 ] ' ! $ + + + + ", -"+ + + # * ' ] _ e f 6 6 g h i j j i k l 6 6 6 6 _ ] ' 1 # + + + ", -"+ + @ % m 2 9 < n 6 6 o p q r s s r q p 6 6 6 6 t u 2 , & - + + ", -"+ + $ ! ( / < v 6 6 w q x y z A A z y B q C D E 6 F / ( ! $ + + ", -"+ + % , ] _ G 6 6 H r I A J K L L K J A I r j D M 6 N ] , & @ + ", -"+ O 1 P / < Q 6 R q B S K T U V V U T K S I q k W 6 X / ~ ; # + ", -"+ $ > { _ Y d 6 Z x A K ` ...+.+... .` K A x p D @.6 #.{ > $ + ", -"+ % m ] : $.6 %.q I J T .+.&.*.*.*.=. .T J y q -.;.6 >.] m % + ", -"+ % , ] : ,.6 '.r z K U ..).!.!.!.!.*.~.U K z r i {.6 ].] , & @ ", -"@ & , ] t 6 6 6 ^./.L V +.(.!._._.!.*.:.V L A s j <.6 [.^ ' & - ", -"@ & , ] 6 6 6 6 6 /.L U +.}.!._._.!.*.|.V L A s j <.6 [.^ ' & - ", -"+ % , ] 1.6 6 6 2.z 3.U 4.).!.!.!.!.*.5.U K z r i {.6 6.] , % @ ", -"+ $ > 2 _ 7.6 8.q I S T 9...0.*.*.*.a.9.T J I q -.b.6 c.] m % + ", -"+ $ > ( 9 Y 5 6 j s /.3.` 9.4.....4.9.` 3./.s Z D d.6 #.{ > $ + ", -"+ - * ' / < e.6 f.q B A 3.T g.U U g.T 3.A B q k h.6 c / P 1 O + ", -"+ + % m 2 _ G 6 6 i.q B z S 3.L L 3.S /.B j.i <.k.6 l.] , % + + ", -"+ + # ; P / m.n.6 6 k q s I z z z z I s q o.D p.6 q./ ~ ! # + + ", -"+ + + % > { 9 < r.6 6 s.j q r r r r q j b 6 6 6 t.9 { > % @ + + ", -"+ + + O * , 2 9 < u.6 6 v.w.k i i k -.x.6 6 6 6 9 2 , * # + + + ", -"+ + + + # 1 ' 2 9 m.y.z.6 6 6 M A.B.6 6 6 6 6 6 2 ' 1 $ + + + + ", -"+ + + + + $ 1 , { / _ < C.].6 6 6 6 6 D.6 6 6 E., 1 $ + + + + + ", -"+ + + + + + # * > P 2 / 9 _ : m.m.: _ 9 F.G.H.> * $ + + + + + + ", -"+ + + + + + + O % ; m ' ( 2 ] ] ] ] 2 ( ' m ; % O + + + + + + + ", -" + + + + + + + + # % * ! > , , , , > ! * % # + + + + + + + + ", -" + + + + + + + + + + - # $ % % % % $ # - + + + + + + + + + + ", -" I.I.I.I.I.I.I.I.I.I.I.I.J.J.I.I.I.I.I.I.I.I.I.I.I.I. "}; +"32 32 8 1", +" c None", +". c #000000", +"+ c #26AADF", +"@ c #26A9E0", +"# c #25A9E0", +"$ c #25AAE0", +"% c #25A8DF", +"& c #26A8E0", +" ", +" ", +" ............. ", +" ................ ", +" ..... ....... ", +" ... ...... ", +" ... ...... ", +" ... .. .. ", +" ... ... ", +" ... ... ", +" .. .. ", +" .. .. ", +" ... +@@ .. ", +" .. #$$$$@ .. ", +" .... $$$$$$@ .. ", +" ...... $$$$$$$$ .. ", +" ...... %$$$$$$$ .. ", +" ...... $$$$$$& .. ", +" .... #$$$$$ .. ", +" ... @&$@ .. ", +" .. .. ", +" .. .. ", +" ... ... ", +" ... .. ", +" .. . .. ", +" .... ....... ", +" .... ...... ", +" .... ....... ", +" ................ ", +" ............. ", +" . ", +" "}; diff --git a/share/pixmaps/ion48.png b/share/pixmaps/ion48.png index 71dc67b50281f..50d92394aeddb 100644 Binary files a/share/pixmaps/ion48.png and b/share/pixmaps/ion48.png differ diff --git a/share/pixmaps/ion48.xpm b/share/pixmaps/ion48.xpm index 17a3039887b79..d290e4dc12c2d 100644 --- a/share/pixmaps/ion48.xpm +++ b/share/pixmaps/ion48.xpm @@ -1,333 +1,66 @@ /* XPM */ static char * ion48_xpm[] = { -"48 48 282 2", -" c None", -". c #0C1228", -"+ c #0D1229", -"@ c #0D132A", -"# c #0D122A", -"$ c #0E132B", -"% c #0E142C", -"& c #0E142D", -"* c #0E152E", -"= c #0F152F", -"- c #0F162F", -"; c #0E152F", -"> c #0F1630", -", c #0F1731", -"' c #0F1732", -") c #101833", -"! c #101834", -"~ c #101934", -"{ c #101935", -"] c #0E152D", -"^ c #0F1833", -"/ c #101A36", -"( c #101A37", -"_ c #111A37", -": c #0F1832", -"< c #111B38", -"[ c #111B39", -"} c #111C3A", -"| c #6E7385", -"1 c #A8AAB5", -"2 c #888B99", -"3 c #1C243D", -"4 c #0D132B", -"5 c #111C39", -"6 c #111C3B", -"7 c #2A334F", -"8 c #757B8D", -"9 c #ADB0BB", -"0 c #D3D5DB", -"a c #E7E8EB", -"b c #E6E8EB", -"c c #D3D5DA", -"d c #ACB0BB", -"e c #747A8C", -"f c #313A54", -"g c #EEEFF1", -"h c #FFFFFF", -"i c #FEFEFF", -"j c #454B60", -"k c #121C3B", -"l c #172240", -"m c #8B909F", -"n c #F6F6F8", -"o c #F9FAFA", -"p c #101936", -"q c #121D3C", -"r c #8E93A2", -"s c #FEFEFE", -"t c #FAFBFB", -"u c #FBFBFB", -"v c #3A4158", -"w c #121D3B", -"x c #2F3954", -"y c #EDEEF0", -"z c #FDFDFD", -"A c #A8ADB9", -"B c #4C5771", -"C c #152345", -"D c #142244", -"E c #142345", -"F c #142144", -"G c #162345", -"H c #4C5670", -"I c #3F465E", -"J c #515970", -"K c #FBFBFC", -"L c #757D91", -"M c #142245", -"N c #142346", -"O c #152347", -"P c #152447", -"Q c #CDD0D7", -"R c #51586E", -"S c #545C72", -"T c #BFC3CC", -"U c #182648", -"V c #152448", -"W c #152549", -"X c #15254A", -"Y c #263454", -"Z c #F9F9FA", -"` c #52596F", -" . c #363F5A", -".. c #878EA0", -"+. c #16264B", -"@. c #16264C", -"#. c #16274C", -"$. c #1B2A4C", -"%. c #9198A8", -"&. c #C9CCD4", -"*. c #AAAFBB", -"=. c #9096A5", -"-. c #343C55", -";. c #141F3E", -">. c #F3F4F5", -",. c #828A9C", -"'. c #152346", -"). c #16274D", -"!. c #16284E", -"~. c #17284F", -"{. c #142143", -"]. c #848A9C", -"^. c #F3F3F5", -"/. c #121C39", -"(. c #A3A8B4", -"_. c #B4B8C3", -":. c #172950", -"<. c #172951", -"[. c #172A51", -"}. c #172A52", -"|. c #132142", -"1. c #B5B9C3", -"2. c #A1A5B1", -"3. c #222D4A", -"4. c #F5F6F7", -"5. c #182B53", -"6. c #182B54", -"7. c #142242", -"8. c #212A45", -"9. c #A8ACB8", -"0. c #5D677F", -"a. c #182C54", -"b. c #182C56", -"c. c #192D56", -"d. c #192D57", -"e. c #182C55", -"f. c #5D667C", -"g. c #A7AAB5", -"h. c #192E58", -"i. c #192E59", -"j. c #132041", -"k. c #F3F4F6", -"l. c #4D556D", -"m. c #868D9F", -"n. c #1A2F5A", -"o. c #1A305C", -"p. c #1D5382", -"q. c #206D9E", -"r. c #206C9D", -"s. c #1D5281", -"t. c #878E9E", -"u. c #4A5168", -"v. c #9CA1AE", -"w. c #293756", -"x. c #1A2F5B", -"y. c #1B3D6A", -"z. c #2388BC", -"A. c #238BC0", -"B. c #238BBF", -"C. c #2387BB", -"D. c #1A3A66", -"E. c #16274E", -"F. c #142243", -"G. c #2A3553", -"H. c #9A9EAB", -"I. c #60677C", -"J. c #384462", -"K. c #1A325E", -"L. c #2389BE", -"M. c #2389BD", -"N. c #192F5A", -"O. c #122041", -"P. c #D7D9DE", -"Q. c #848999", -"R. c #424F6C", -"S. c #1F6091", -"T. c #238CC0", -"U. c #238CC1", -"V. c #1E5E8D", -"W. c #ECEDF0", -"X. c #111B37", -"Y. c #131D39", -"Z. c #E6E8EC", -"`. c #227FB2", -" + c #227DAF", -".+ c #3F475E", -"++ c #14254B", -"@+ c #2283B7", -"#+ c #2281B4", -"$+ c #D0D2D9", -"%+ c #2B344D", -"&+ c #15264C", -"*+ c #206A9B", -"=+ c #E3E4E8", -"-+ c #E9EAEC", -";+ c #A7ADBA", -">+ c #1B3C69", -",+ c #238ABF", -"'+ c #1A3965", -")+ c #FCFCFD", -"!+ c #E6E7EA", -"~+ c #262F4A", -"{+ c #F1F2F3", -"]+ c #CFD2D9", -"^+ c #162549", -"/+ c #1E5988", -"(+ c #1D5785", -"_+ c #182545", -":+ c #AFB3BC", -"<+ c #828898", -"[+ c #656E85", -"}+ c #1C426F", -"|+ c #217AAC", -"1+ c #2179AB", -"2+ c #1B406D", -"3+ c #666E83", -"4+ c #666C7F", -"5+ c #182442", -"6+ c #D6D8DE", -"7+ c #142347", -"8+ c #D7D9DF", -"9+ c #17203D", -"0+ c #D2D4DA", -"a+ c #2F3C5B", -"b+ c #2F3A57", -"c+ c #D1D3D9", -"d+ c #475068", -"e+ c #D2D5DB", -"f+ c #15264A", -"g+ c #454C64", -"h+ c #D9DBE0", -"i+ c #6A7389", -"j+ c #152548", -"k+ c #6B7387", -"l+ c #D8D9DE", -"m+ c #2B3551", -"n+ c #394462", -"o+ c #39445F", -"p+ c #29324C", -"q+ c #777D8F", -"r+ c #36425F", -"s+ c #656F85", -"t+ c #46506B", -"u+ c #35405C", -"v+ c #747A8B", -"w+ c #A9ADB9", -"x+ c #5E677F", -"y+ c #C4C7D0", -"z+ c #A8ACB6", -"A+ c #AEB1BC", -"B+ c #C1C5CE", -"C+ c #222F4F", -"D+ c #9BA1B0", -"E+ c #ACAFBA", -"F+ c #828798", -"G+ c #B9BDC7", -"H+ c #444E69", -"I+ c #132143", -"J+ c #2E3750", -"K+ c #363E59", -"L+ c #E1E2E7", -"M+ c #B3B7C2", -"N+ c #9EA3B1", -"O+ c #B3B8C2", -"P+ c #E1E3E7", -"Q+ c #444B62", -"R+ c #60687C", -"S+ c #EAEBEE", -"T+ c #151D38", -"U+ c #2E3752", -"V+ c #8D92A1", -"W+ c #DBDCE1", -"X+ c #DADCE1", -"Y+ c #969AA8", -"Z+ c #9295A1", -"`+ c #0F1A39", -" @ c #141E3C", -".@ c #0F1A38", -"+@ c #3A4159", -"@@ c #D5D6DB", -"#@ c #ECEDEF", -"$@ c #6C7080", -" . + + + + + + + + + + + + + + + + + + @ @ @ @ @ @ # + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + # @ $ % % % & & & & % % % $ @ # + + + + + + + + + + + + + + + ", -". + + + + + + + + + + + + + @ $ % & * * = - - - - - - = * * & % $ @ + + + + + + + + + + + + + . ", -"+ + + + + + + + + + + + @ $ & * ; - > , , ' ' ' ' ' ' , , > - ; * & $ @ + + + + + + + + + + + + ", -"+ + + + + + + + + + # $ % * = > , ' ) ) ! ~ { { { { ~ ! ) ) ' , > = * % $ # + + + + + + + + + + ", -"+ + + + + + + + + @ % ] ; > , ^ ! { { / ( _ _ _ _ _ _ ( / { { ! ^ , > = ] % @ + + + + + + + + + ", -"+ + + + + + + + @ % * - , : ! { / _ < [ [ } } } } } } [ [ < _ | 1 2 3 , - * % 4 + + + + + + + + ", -"+ + + + + + + 4 % * > ' ) { / _ < 5 } 6 7 8 9 0 a b c d e f g h h h i j ' > * & 4 + + + + + + + ", -"+ + + + + + @ % * > ' ! { _ < } k l m n h h h h h h h h h h h h h h h o ^ ' > * & 4 + + + + + + ", -"+ + + + + @ % * > ' ! p _ [ 6 q r s h h h h h h t u h h h h h h h h h h v ! ' > * % @ + + + + + ", -"+ + + + # % * > ' ! / < 5 w x y h h h z A B C D E D F G H h h h h h h h I / ! ' > * % # + + + + ", -"+ + + + $ ] - ' ! p < } w J h h h K L M N O P P P P O N E Q h h h h h h R < / ! ' > ] $ + + + + ", -"+ + + @ % ; , ) { _ 5 w S h h h T U N V V W X X X X W V V Y Z h h h h h h ` _ { ) , = % @ + + + ", -"+ + + $ * > : { _ [ w .h h h ..N V W X +.@.#.#.#.#.@.+.X W $.%.&.*.=.h h h -._ { : > * $ + + + ", -"+ + @ & = , ! / < 6 ;.>.h h ,.'.V X +.#.).!.~.~.~.~.!.).#.+.X V O M {.].h h ^././ ! , = & @ + + ", -"+ + $ * > ^ { _ } q (.h h _.O V X @.).~.:.<.[.}.}.[.<.:.~.).@.X V O D |.1.h h 2._ { ^ > * $ + + ", -"+ # % ; , ! / < k 3.h h 4.P V X #.!.:.[.}.5.6.6.6.6.5.}.[.:.!.#.X V N D 7.4.h h 8./ ! , ; % # + ", -"+ @ & - ' { _ 5 q 9.h h 0.V X @.!.:.}.5.a.b.c.d.d.c.b.e.5.}.:.!.@.X V E {.f.h h g._ { ' > & @ + ", -"+ $ * > ) { < } q s h ^.N W +.).:.}.5.e.d.h.i.i.i.i.h.d.e.6.}.:.).+.W N D j.k.h s ( { ) > * $ + ", -"+ % * , ) / [ w l.h h m.V X #.~.[.5.e.d.i.n.o.p.q.r.s.i.d.e.5.[.~.#.X V E {.t.h h u./ ) , * % + ", -"+ % = , ! ( [ q v.h h w.V +.).:.}.a.d.i.x.y.z.A.A.B.B.C.D.d.e.}.:.E.+.V N F.G.h h H.( ! , = % # ", -"@ % - ' ~ _ } I.>.h h J.W @.!.<.5.b.h.n.K.L.A.A.A.A.A.B.M.N.b.5.<.!.@.W O D O.i h P._ ~ ' - & @ ", -"@ & - ' { _ Q.h h h h h R.#.~.[.6.c.i.o.S.A.T.U.U.T.A.B.B.V.c.6.[.~.#.X P D |.W.h Z X.{ ' - & @ ", -"@ & - ' { Y.h h h h h h Z.).~.}.6.d.i.o.`.A.U.U.U.U.A.A.B. +d.6.}.~.).X P M |.0 h s ( { ' - & @ ", -"@ & - ' { .+h h h h h h h ++~.}.6.d.i.o.@+A.U.U.U.U.A.A.B.#+d.6.}.~.).X P M |.$+h h ( { ' - & @ ", -"@ & - ' { %+h h h h h h s &+~.[.6.c.i.o.q.A.T.U.U.U.A.B.B.*+c.6.[.~.#.X P D |.=+h z _ { ' - & @ ", -"@ % - ' ~ ( -+h h h h h ;+@.!.<.5.b.h.n.>+A.A.A.A.A.A.B.,+'+b.5.<.!.@.W O D j.)+h !+_ ~ ' - & @ ", -"# % = , ! ( ~+{+h h h ]+^++.).:.}.e.d.i.x./+B.A.A.B.B.,+(+d.e.}.:.E.+.V N F._+h h :+( ~ , = % # ", -"+ % * , ) / [ 6 <+h h [+V X #.~.[.5.e.d.i.n.}+|+T.A.1+2+d.e.5.[.~.#.X V E {.3+h h 4+/ ) , * % + ", -"+ $ * > ) { < } 5+h h 6+O W +.).:.}.6.e.d.h.i.i.i.i.h.d.e.6.}.:.E.+.W 7+D |.8+h h 9+{ ) > * $ + ", -"+ @ & - ' { _ } q 0+h h a+V X @.!.:.}.5.e.b.c.d.d.c.b.e.5.}.:.!.@.X V E {.b+h h c+_ { ' > & @ + ", -"+ # % ; , ! / < k d+h h e+N V X #.!.:.[.}.5.6.6.6.6.5.}.[.:.!.#.f+V N D |.0 h h g+/ ! , ; % # + ", -"+ + $ * > ^ { _ } q h+h h i+O V X @.).~.:.<.[.}.}.[.<.:.~.E.@.f+j+O M |.k+h h l+_ { ^ > * $ + + ", -"+ + @ & = , ! / < 6 m+h h h n+O V X +.#.E.!.~.~.~.~.!.E.#.+.X V O M {.o+h h h p+/ ! , - & @ + + ", -"+ + + $ * > : { _ [ w q+h h )+r+N V W X +.@.#.).).#.@.+.X W V a+s+t+u+)+h h v+_ { : > * $ + + + ", -"+ + + @ % = , ) { _ } q w+h h i x+E N V V W X X X X W V V N y+h h h h h h z+< { ) , = & @ + + + ", -"+ + + + $ ] - ' ! / < } w A+h h h B+C+E N O P P P P O N E D+h h h h h h E+< / ! ' > ] $ + + + + ", -"+ + + + # % * > ' ! / < } w F+h h h h G+H+I+D M M D D F.O.z h h h h h h J+/ ! ' > * % # + + + + ", -"+ + + + + @ % * > ' ! / _ [ 6 K+a h h h h h L+M+N+N+O+P+h h h h h h h h Q+! ' > * % @ + + + + + ", -"+ + + + + + 4 & * > ' ! { _ < } 6 R+S+h h h h h h h h h h h h h h h h h T+' > * & 4 + + + + + + ", -"+ + + + + + + 4 & * > ' ) { / _ [ } } U+V+W+s h h h h s X+Y+h h h h h Z+' > * & 4 + + + + + + + ", -"+ + + + + + + + 4 % * > , : ! { / _ < [ [ } } `+ @ @.@[ [ < +@@@s #@$@, > * % 4 + + + + + + + + ", -"+ + + + + + + + + @ % ] = > , ^ ! { { / ( _ _ _ _ _ _ ( / { { ! ^ , > = ] % @ + + + + + + + + + ", -"+ + + + + + + + + + # $ % * = > , ' ) ) ! ~ { { { { ~ ~ ) ) ' , > - * & $ # + + + + + + + + + + ", -"+ + + + + + + + + + + + @ $ & * ; > > , , ' ' ' ' ' ' , , > > ; * & $ @ + + + + + + + + + + + + ", -". + + + + + + + + + + + + + @ $ % & * * = - - - - - - = * * & % $ @ + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + # @ $ % % & & & & & & % % $ @ # + + + + + + + + + + + + + + + ", -" . + + + + + + + + + + + + + + + + + # @ @ @ @ @ @ # + + + + + + + + + + + + + + + + + . "}; +"48 48 15 1", +" c None", +". c #000000", +"+ c #26A9E0", +"@ c #26AAE0", +"# c #25A9E1", +"$ c #26AADF", +"% c #25AAE0", +"& c #26A9DF", +"* c #26A8DF", +"= c #26A9E1", +"- c #26A8E0", +"; c #27A8E0", +"> c #25A9DF", +", c #27AAE1", +"' c #27A9E1", +" ", +" ", +" .. ", +" ........... ...... ", +" ...................... ", +" ......................... ", +" ........ .......... ", +" ...... ......... ", +" ..... ......... ", +" ..... .......... ", +" ..... .......... ", +" .... . .... ", +" .... .... ", +" .... .... ", +" .... .... ", +" .... ... ", +" ... ... ", +" .... .... ", +" ... ++@# ... ", +" ... $%%%%%%+ ... ", +" .... +%%%%%%%%& ... ", +" ...... *%%%%%%%%%% .... ", +" ........ =%%%%%%%%%%* ... ", +" ......... %%%%%%%%%%%- ... ", +" ......... %%%%%%%%%%%; ... ", +" ......... &%%%%%%%%%%& ... ", +" ......... @%%%%%%%%%% ... ", +" ........ +%%%%%%%%> ... ", +" ...... ,%%%%%%* ... ", +" ... *'%%- ... ", +" .... ... ", +" ... ... ", +" ... ... ", +" .... .... ", +" .... .... ", +" ... ... ", +" .... .... ", +" .... .......... ", +" ..... .......... ", +" ..... ......... ", +" ...... ......... ", +" ....... .......... ", +" ......................... ", +" ...................... ", +" ................... ", +" .... ", +" ", +" "}; diff --git a/share/pixmaps/ion64.png b/share/pixmaps/ion64.png index a80a4b8df77ac..0bc0462822066 100644 Binary files a/share/pixmaps/ion64.png and b/share/pixmaps/ion64.png differ diff --git a/share/pixmaps/ion64.xpm b/share/pixmaps/ion64.xpm index c0ac3f4ea2490..d51991e22589e 100644 --- a/share/pixmaps/ion64.xpm +++ b/share/pixmaps/ion64.xpm @@ -1,492 +1,81 @@ /* XPM */ static char * ion64_xpm[] = { -"64 64 425 2", -" c None", -". c #0D1229", -"+ c #0D122A", -"@ c #0D132A", -"# c #0D132B", -"$ c #0E132B", -"% c #0E142C", -"& c #0E142D", -"* c #0D1228", -"= c #0E152D", -"- c #0E152E", -"; c #0E152F", -"> c #0F162F", -", c #0F1630", -"' c #0F1631", -") c #0F1731", -"! c #0F152F", -"~ c #0F1732", -"{ c #0F1832", -"] c #0F1833", -"^ c #101833", -"/ c #101834", -"( c #101934", -"_ c #101935", -": c #101936", -"< c #101A36", -"[ c #101A37", -"} c #111A37", -"| c #111B38", -"1 c #111B39", -"2 c #0F1935", -"3 c #171F3A", -"4 c #212842", -"5 c #111C3A", -"6 c #121D3B", -"7 c #101B3A", -"8 c #111C3B", -"9 c #17223F", -"0 c #192441", -"a c #15203E", -"b c #101B39", -"c c #41485F", -"d c #C2C4CC", -"e c #FBFCFC", -"f c #FFFFFF", -"g c #EEEEF0", -"h c #9093A0", -"i c #181F39", -"j c #16203F", -"k c #4D556C", -"l c #898E9D", -"m c #B9BCC5", -"n c #E0E1E5", -"o c #F5F6F7", -"p c #FDFDFD", -"q c #FCFCFC", -"r c #F0F1F3", -"s c #D4D6DC", -"t c #AAAEB9", -"u c #767C8E", -"v c #686F82", -"w c #F9FAFA", -"x c #CCCDD3", -"y c #171F39", -"z c #121C3B", -"A c #3F4761", -"B c #A1A5B2", -"C c #8B8F9C", -"D c #404962", -"E c #BFC2CB", -"F c #FEFEFF", -"G c #E8E9EB", -"H c #1D2845", -"I c #9FA4B0", -"J c #FDFDFE", -"K c #DDDFE4", -"L c #B0B5C0", -"M c #9299A8", -"N c #81889A", -"O c #7C8497", -"P c #858C9E", -"Q c #9BA0AF", -"R c #BDC1CA", -"S c #ECEEF0", -"T c #FEFEFE", -"U c #1A233E", -"V c #121D3C", -"W c #3F4861", -"X c #E1E2E6", -"Y c #C4C7D0", -"Z c #6C758A", -"` c #273453", -" . c #132144", -".. c #142345", -"+. c #142245", -"@. c #142244", -"#. c #132143", -"$. c #7E8597", -"%. c #F6F7F8", -"&. c #131D3A", -"*. c #5C6479", -"=. c #F7F7F8", -"-. c #B4B9C4", -";. c #3C4864", -">. c #132245", -",. c #142346", -"'. c #152347", -"). c #152447", -"!. c #2F3C5A", -"~. c #ECECEF", -"{. c #2C344F", -"]. c #656C81", -"^. c #FCFCFD", -"/. c #E2E4E8", -"(. c #505B74", -"_. c #152448", -":. c #152549", -"<. c #9399A9", -"[. c #E4E5E8", -"}. c #2E3751", -"|. c #555D74", -"1. c #B8BCC6", -"2. c #202E4F", -"3. c #15254A", -"4. c #16264B", -"5. c #15264A", -"6. c #162548", -"7. c #9198A9", -"8. c #DFE0E4", -"9. c #232C47", -"0. c #353E59", -"a. c #F3F4F5", -"b. c #9EA4B2", -"c. c #162447", -"d. c #16264C", -"e. c #16274C", -"f. c #16274D", -"g. c #2C3A5A", -"h. c #6B748A", -"i. c #798194", -"j. c #545E77", -"k. c #2E3957", -"l. c #D8DADF", -"m. c #C5C7CE", -"n. c #141D3A", -"o. c #111C39", -"p. c #162140", -"q. c #D4D6DB", -"r. c #A3A8B6", -"s. c #16274E", -"t. c #16284E", -"u. c #17284F", -"v. c #142143", -"w. c #263251", -"x. c #898D9C", -"y. c #848A9A", -"z. c #C3C7D0", -"A. c #172648", -"B. c #172950", -"C. c #172951", -"D. c #172A51", -"E. c #343F5C", -"F. c #F2F3F4", -"G. c #FBFBFC", -"H. c #39415A", -"I. c #293350", -"J. c #EEEFF1", -"K. c #293656", -"L. c #172A52", -"M. c #182A53", -"N. c #182B53", -"O. c #172850", -"P. c #132142", -"Q. c #646C82", -"R. c #C1C3CB", -"S. c #111A38", -"T. c #9A9FAC", -"U. c #182B54", -"V. c #182C54", -"W. c #182C55", -"X. c #132041", -"Y. c #B9BDC7", -"Z. c #4A5268", -"`. c #202B48", -" + c #F6F6F8", -".+ c #D3D6DC", -"++ c #182C56", -"@+ c #192D56", -"#+ c #192D57", -"$+ c #36415D", -"%+ c #B8BBC4", -"&+ c #747B8D", -"*+ c #616B82", -"=+ c #192E58", -"-+ c #192E59", -";+ c #192D58", -">+ c #132042", -",+ c #B1B5BF", -"'+ c #28304B", -")+ c #111D3C", -"!+ c #C6C9D1", -"~+ c #EAECEF", -"{+ c #192F5A", -"]+ c #1A2F5B", -"^+ c #1A305C", -"/+ c #1B3D6A", -"(+ c #1C426F", -"_+ c #1A3864", -":+ c #4D5770", -"<+ c #757B8C", -"[+ c #1E2947", -"}+ c #9CA2B1", -"|+ c #1A3460", -"1+ c #1F6192", -"2+ c #2286B9", -"3+ c #238BBF", -"4+ c #238BC0", -"5+ c #227CAF", -"6+ c #1D4F7D", -"7+ c #142142", -"8+ c #EAEBEE", -"9+ c #BBBEC6", -"0+ c #515A71", -"a+ c #58637C", -"b+ c #1B3A67", -"c+ c #227EB1", -"d+ c #1F6899", -"e+ c #A8ACB8", -"f+ c #F2F2F4", -"g+ c #121B38", -"h+ c #464F67", -"i+ c #C9CCD3", -"j+ c #555F79", -"k+ c #1A315E", -"l+ c #217AAD", -"m+ c #238ABF", -"n+ c #1E5C8B", -"o+ c #727A8D", -"p+ c #2D354F", -"q+ c #6F7588", -"r+ c #717A90", -"s+ c #182D56", -"t+ c #1D5483", -"u+ c #238CC0", -"v+ c #238CC1", -"w+ c #2388BC", -"x+ c #1A3560", -"y+ c #4B546D", -"z+ c #4E566B", -"A+ c #373F58", -"B+ c #3A4867", -"C+ c #1A2F5A", -"D+ c #2174A6", -"E+ c #1D5381", -"F+ c #303B58", -"G+ c #656B7E", -"H+ c #999DA9", -"I+ c #9AA1B1", -"J+ c #2284B8", -"K+ c #248CC2", -"L+ c #1F6393", -"M+ c #232F4E", -"N+ c #6F7587", -"O+ c #C5C9D3", -"P+ c #248CC1", -"Q+ c #1F6494", -"R+ c #232F4D", -"S+ c #707687", -"T+ c #BCBEC7", -"U+ c #BCC1CC", -"V+ c #2176A8", -"W+ c #238ABE", -"X+ c #1D5584", -"Y+ c #2E3A57", -"Z+ c #666C7F", -"`+ c #7D8292", -" @ c #7F889C", -".@ c #1E5786", -"+@ c #2389BD", -"@@ c #1A3762", -"#@ c #48526B", -"$@ c #50586D", -"%@ c #1D2641", -"&@ c #E4E5EA", -"*@ c #202F52", -"=@ c #1A325F", -"-@ c #1F6191", -";@ c #6E768A", -">@ c #303852", -",@ c #363E57", -"'@ c #DDDFE3", -")@ c #DEE0E5", -"!@ c #384563", -"~@ c #1B3D6B", -"{@ c #2282B6", -"]@ c #206FA0", -"^@ c #192F59", -"/@ c #A3A8B4", -"(@ c #F4F5F6", -"_@ c #131C39", -":@ c #17213F", -"<@ c #666D82", -"[@ c #FCFDFD", -"}@ c #959CAB", -"|@ c #1B3763", -"1@ c #20699A", -"2@ c #238ABD", -"3@ c #2283B6", -"4@ c #1D5786", -"5@ c #E5E6EA", -"6@ c #C0C3CB", -"7@ c #CDCFD6", -"8@ c #1A335F", -"9@ c #1C4573", -"0@ c #1C4A78", -"a@ c #1B3F6C", -"b@ c #465069", -"c@ c #7C8191", -"d@ c #7B8193", -"e@ c #58627B", -"f@ c #142243", -"g@ c #2D364F", -"h@ c #252F4C", -"i@ c #CACDD5", -"j@ c #FAFAFB", -"k@ c #A4A8B4", -"l@ c #5F6880", -"m@ c #ADB2BD", -"n@ c #545B70", -"o@ c #303A55", -"p@ c #E7E8EC", -"q@ c #223050", -"r@ c #565F77", -"s@ c #CBCDD4", -"t@ c #9196A5", -"u@ c #B6BAC5", -"v@ c #152346", -"w@ c #2B3654", -"x@ c #EBECEF", -"y@ c #434A62", -"z@ c #1A2443", -"A@ c #9298A8", -"B@ c #1F2B4B", -"C@ c #D3D5DB", -"D@ c #969AA8", -"E@ c #F8F9F9", -"F@ c #8B92A3", -"G@ c #1F2D4F", -"H@ c #56617A", -"I@ c #656E85", -"J@ c #404B66", -"K@ c #212D4C", -"L@ c #CBCED5", -"M@ c #D1D3D9", -"N@ c #17203D", -"O@ c #656C80", -"P@ c #A5AAB7", -"Q@ c #1A2849", -"R@ c #7D8598", -"S@ c #F4F5F7", -"T@ c #E8E9EC", -"U@ c #2B344E", -"V@ c #777D8F", -"W@ c #D5D7DD", -"X@ c #3F4A66", -"Y@ c #838A9D", -"Z@ c #EDEEF0", -"`@ c #6E7588", -" # c #A0A5B3", -".# c #2C3857", -"+# c #293655", -"@# c #EFEFF1", -"## c #373E57", -"$# c #4E566D", -"%# c #FBFBFB", -"&# c #59627A", -"*# c #1B2849", -"=# c #142144", -"-# c #727A8E", -";# c #F4F4F6", -"># c #121C38", -",# c #26304C", -"'# c #B4B7C1", -")# c #F8F8F9", -"!# c #C8CBD3", -"~# c #9CA1B0", -"{# c #7E8598", -"]# c #6D758A", -"^# c #697187", -"/# c #71798D", -"(# c #868D9E", -"_# c #A9AEBA", -":# c #DADCE1", -"<# c #535B71", -"[# c #D2D4DA", -"}# c #ECEDEF", -"|# c #525A70", -"1# c #B6B9C3", -"2# c #9699A5", -"3# c #1F2946", -"4# c #61687C", -"5# c #9DA2AE", -"6# c #CED1D7", -"7# c #E9EAED", -"8# c #BFC2CA", -"9# c #8A8F9E", -"0# c #7D8293", -"a# c #D9DADE", -"b# c #1C243D", -"c# c #111B3A", -"d# c #1B2542", -"e# c #27304C", -"f# c #2A344F", -"g# c #232D49", -"h# c #16213E", -"i# c #0F1A38", -"j# c #50576C", -"k# c #D5D7DC", -"l# c #A4A6B1", -"m# c #1F263F", -"n# c #111B37", -"o# c #272E47", -"p# c #343B52", -"q# c #0E1229", -"r# c #0D1129", -" ", -" . . . . . . . . . . . . . . . . . . . . . . + @ @ @ # # # # # @ @ + . . . . . . . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . . . . + @ $ $ % % % & & & & & & % % % $ $ @ + . . . . . . . . . . . . . . . . . . . * ", -" . . . . . . . . . . . . . . . . . . @ $ % % & = - - - ; ; ; ; ; ; - - - = & % % $ @ . . . . . . . . . . . . . . . . . . ", -" + . . . . . . . . . . . . . . . . @ $ % & - - ; > , , , ' ) ) ) ) ' , , , > ! - - & % $ @ + . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . @ $ % & - ; > , ' ) ~ ~ { ] ^ ^ ^ ^ ] { ~ ~ ) ' , > ! - & % $ @ . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . + $ % & - ! , ' ) ~ ] ^ / ( ( _ _ _ _ _ _ ( ( / ^ ] ~ ) ' , ! - & % $ @ . . . . . . . . . . . . . ", -" . . . . . . . . . . . . @ $ & - ; , ' ~ { ^ / _ _ : < < [ } } } } [ < < : _ _ / ^ ] ~ ) , ! - & $ @ . . . . . . . . . . . . ", -" . . . . . . . . . . . @ % & - > , ~ ] / ( _ < [ } | | | 1 1 1 1 1 1 | | | } [ < 2 3 4 ^ ~ ' > - & % # . . . . . . . . . . . ", -" . . . . . . . . . . # % = ; , ) ~ ^ ( _ < } | 1 1 5 5 5 6 7 8 9 0 a b b 5 1 1 c d e f g h i ) , ! = % $ . . . . . . . . . . ", -" . . . . . . . . . $ % - ! , ~ ] / _ < } | 1 5 5 6 j k l m n o p p q r s t u v w f f f f f x y ~ , > - % $ . . . . . . . . . ", -" . . . . . . . . # % - > , ~ ^ ( : [ | 1 5 z 8 A B r f f f f f f f f f f f f f f f f f f f f C ^ ~ ' > - % $ . . . . . . . . ", -" . . . . . . . @ % - > , ~ ^ _ < } | 5 8 6 D E F f f f f f f f f f f f f f f f f f f f f f f G / ^ ~ ' > - % # . . . . . . . ", -" . . . . . . @ % = ! , ~ ^ _ < | 1 5 6 H I J f f f f f J K L M N O P Q R S f f f f f f f f f T U _ / ~ ' > = % @ . . . . . . ", -" . . . . . + $ & ; , ~ ^ _ < | 1 5 V W X f f f f T Y Z ` ...+.+.+.+.@.@.#.$.f f f f f f f f %.&.< _ ^ ~ , ! & $ @ . . . . . ", -" . . . . . # % - , ) ^ _ < | 1 8 V *.=.f f f T -.;.>.,.,.'.).).).).'.,.,...!.q f f f f f f f ~.{.| < _ ^ ~ , - & $ . . . . . ", -" . . . . @ % - > ) ] ( < | 1 8 V ].^.f f f /.(.+.,.)._._.:.:.:.:.:.:._._.).,.<.f f f f f f f f [.}.| < ( ^ ) > - % @ . . . . ", -" . . . . $ & ; , ~ / _ } 1 5 V |.q f f f 1.2.,.)._.:.3.3.4.4.4.4.4.4.5.3.:._.6.7.e f f f p f f f 8.9.} : / { ' ! & $ . . . . ", -" . . . @ % - , ) ^ _ [ | 5 V 0.a.f f f b.c.)._.:.3.4.d.e.f.f.f.f.f.f.e.d.4.3.:._.g.h.i.j.k.l.f f f m.n.} _ ^ ~ , - % @ . . . ", -" . . . $ & ; ' { ( < | o.6 p.q.f f f r.,.).:.3.4.d.f.s.t.u.u.u.u.u.u.t.s.f.d.4.3.:.).,.+.v.w.K f f f x.| < ( ] ) ! & $ . . . ", -" . . @ % - , ) ^ _ } 1 8 V y.f f f z.A.).:.3.4.f.s.u.u.B.C.C.D.D.D.C.B.B.u.t.f.4.3.:.).,.@.v.E.F.f f G.H.} _ ^ ~ , - % @ . . ", -" . . # & - , { ( < | 5 V I.%.f f J.K.).:.3.d.f.t.u.B.D.L.M.N.N.N.N.M.L.D.B.O.t.f.d.5.:.).,.@.P.Q.f f f R.S.< ( { ' ; & $ . . ", -" . . $ = > ) ^ _ } 1 8 V T.f f f h.)._.3.d.f.u.B.D.L.N.U.V.W.W.W.W.V.U.N.L.D.B.u.f.d.3.:.)...@.X.Y.f f f Z.} _ ^ ) > = % + . ", -" . @ % - , ~ / : | o.6 `. +f f .+)._.3.4.f.t.B.D.M.U.W.++@+#+#+#+#+@+++W.U.N.L.B.u.f.4.3._.,.+.v.$+^.f f %+} < / ~ , - % @ . ", -" . # % - , { ( < | 5 V &+f f f *+).:.4.e.t.B.D.N.U.W.@+#+=+-+-+-+-+=+;+#+W.U.N.L.B.t.f.4.:.)...@.>+,+f f q '+< _ ] ' ; & # . ", -" . $ & ! ) ^ _ } 1 z )+!+f f ~+A._.3.d.f.u.C.M.U.++#+=+-+{+]+^+/+(+_+-+=+#+++U.N.D.u.s.d.3._.,.@.P.:+f f f <+} _ ^ ) > & $ . ", -" . $ = > ) ^ _ } o.6 [+G.f f }+).:.4.f.t.B.L.U.W.#+=+{+]+|+1+2+3+3+4+5+6+=+#+W.U.L.B.u.f.4.:.)...v.7+8+f f 9+} : / ~ , - % + ", -" + % - , ~ / : | 5 V 0+f f f a+).:.4.f.u.D.N.W.@+=+{+]+b+c+4+4+4+4+3+3+3+d+-+#+W.N.D.u.f.d.3._.,.@.P.e+f f f+g+< / ~ , - % @ ", -" @ % - , ~ ( < | 5 h+i+f f f j+_.3.d.t.B.L.U.W.#+-+]+k+l+4+4+4+4+4+4+3+3+m+n+#+++U.L.B.t.e.3._.,.@.P.o+f f f p+< ( ~ , - % @ ", -" @ % - , ~ ( < | q+p f f f f p r+3.e.t.B.L.U.s+=+{+^+t+4+4+u+v+v+u+4+4+3+3+w+x+s+U.L.C.u.e.5._.,.@.P.y+f f f z+< ( { , - % @ ", -" @ % - , { ( < A+G.f f f f f f G.B+f.u.C.M.V.@+=+C+^+D+4+u+v+v+v+v+u+4+4+3+m+E+#+W.N.C.u.f.4.:.'.+.v.F+f f f G+[ _ ] , - % @ ", -" @ % - , { ( [ H+f f f f f f f f I+f.u.C.N.W.#+-+]+^+J+4+v+v+K+K+v+v+4+4+3+m+L+#+W.N.D.u.f.4.:.).+.v.M+f f f N+[ _ ] , ; & # ", -" @ % - , { ( [ m.f f f f f f f f O+f.u.C.N.W.#+-+]+^+J+4+v+v+v+P+v+v+4+4+3+m+Q+#+W.N.D.u.f.4.:.).+.v.R+f f f S+[ _ ] , - % @ ", -" @ % - , { ( [ T+f f f f f f f f U+f.u.C.M.V.@+=+C+^+V+4+4+v+v+v+v+u+4+3+3+W+X+#+W.N.C.u.f.4.:.'.+.v.Y+f f f Z+[ _ ] , - % @ ", -" @ % - , ~ ( < `+f f f f f f f f @e.t.B.L.U.++=+{+^+.@4+4+4+v+v+4+4+4+3+3++@@@s+U.L.B.t.e.5._.,.@.P.#@f f f $@< ( { , - % @ ", -" @ % - , ~ / < %@[.f f f f f f &@*@d.s.B.L.N.W.#+-+]+=@c+4+4+4+4+4+4+3+3+m+-@#+W.N.L.B.t.d.3._.,.@.P.;@f f f >@< ( ~ , - % @ ", -" + % - , ~ / : | ,@'@f f f f )@!@:.4.f.u.C.M.U.++;+-+]+~@{@3+4+4+3+3+3+m+]@^@s+V.N.D.u.f.4.:.)...@.P./@f f (@_@< / ~ , - % + ", -" . $ & > ) ^ _ } 1 :@<@[@f f }@'.:.5.e.t.B.L.N.W.@+=+-+C+|@1@2@3+3+3+3@4@-+#+W.N.L.B.t.e.4.:.).+.v.X.5@f f 6@} _ ^ ) > = $ . ", -" . $ & ! ' ] _ [ 1 8 )+7@f f 5@)._.3.4.f.u.C.L.U.W.@+;+-+{+{+8@9@0@a@^@=+#+W.U.L.C.u.f.d.3._.,.@.P.b@f f f c@} _ ^ ) ! & $ . ", -" . @ % - , ~ ( < | 5 V d@f f f e@).:.5.e.t.u.C.L.U.W.++#+;+=+=+-+=+;+#+s+W.U.M.D.B.t.e.4.:.)...f@X.e+f f J g@< ( { , - % # . ", -" . @ % - , ~ / _ } o.6 h@w f f i@,._.:.4.f.t.B.C.L.N.U.W.++s+@+@+s+++W.V.N.L.D.B.t.f.4.:._.,.@.P.Y+j@f f 6@[ : / ~ , - % @ . ", -" . . $ & ! ) ^ _ [ | 5 V k@f f f l@,._.3.4.f.t.u.C.L.M.N.U.U.V.V.U.U.N.M.L.C.u.t.f.4.3._.'.+.v.X.m@f f f n@} _ ^ ) > & $ . . ", -" . . @ % - , ~ / < | o.6 o@j@f f p@q@)._.3.4.e.s.u.B.C.D.L.L.M.M.L.L.L.C.B.u.t.f.4.3._.)...@.P.r@F f f s@| < ( ~ , - & # . . ", -" . . + % = > ) ^ _ [ | 5 V t@f f f u@v@)._.3.4.e.f.t.u.B.B.B.C.C.B.B.B.u.t.f.e.4.3._.).,.@.P.w@x@f f J y@} _ ^ ) , - % @ . . ", -" . . . # & - , ~ / : } 1 z z@'@f f f A@+.'._.:.5.4.e.f.s.t.t.u.u.t.t.s.f.e.4.5.:._.).,.@.v.B@C@f f f D@} < ( { , ; & $ . . . ", -" . . . @ % - > ) ^ _ < | 5 6 W E@f f f F@+.,.).:.:.5.4.d.e.e.f.f.e.e.d.4.5.3.:._.G@H@I@J@K@L@f f f M@N@< _ ^ ) > - % @ . . . ", -" . . . . # & - , ~ ^ _ [ | 5 V O@T f f f P@Q@,.'._._.:.3.3.5.5.5.5.3.3.:._._.'.R@S@f f f %.f f f T@U@} _ / ~ , - & $ . . . . ", -" . . . . + $ & ! ' { / : } 1 5 6 V@T f f f W@X@+.,.v@)._._._._._._._._.).'.,.Y@f f f f f f f f Z@H.} : ( { ) > = % @ . . . . ", -" . . . . . @ % - > ) ] ( < } 1 5 z `@q f f f ^. #.#@...,.,.,.,.,.,.,.,...+.+#w f f f f f f f @###} < ( ^ ) , - % # . . . . . ", -" . . . . . . $ & - , ) ^ ( < } 1 5 6 $#x@f f f f %#L &#*#=#@.@.@.@.@.@.f@>+-#f f f f f f f f ;#>#< _ ^ ) , - & $ . . . . . . ", -" . . . . . . + $ & - , ) ^ ( : } | 5 8 ,#'#f f f f f f )#!#~#{#]#^#/#(#_#:#T f f f f f f f f T U _ ^ ~ , ; & $ @ . . . . . . ", -" . . . . . . . @ % & ; , ) ^ ( _ } | 1 5 8 <#[#f f f f f f f f f f f f f f f f f f f f f f f }#/ ^ ~ , ; = % @ . . . . . . . ", -" . . . . . . . . @ % & ; , ) ] / _ < } | o.5 6 |#1#j@f f f f f f f f f f f f f f f f f f f f 2#^ ) , ; = % @ . . . . . . . . ", -" . . . . . . . . . @ % & - , ) ~ ^ _ : [ } | 1 5 5 3#4#5#6#F.T f f f ^.7#8#9#0#p f f f f f a#b#) , ; = % @ . . . . . . . . . ", -" . . . . . . . . . . @ % & - > ' ~ ^ / _ : < } | 1 1 o.5 c#c#d#e#f#g#h#i#1 1 | j#k#T f )#l#m#' > - & % @ . . . . . . . . . . ", -" . . . . . . . . . . . @ $ & - ! , ) ~ ^ / _ _ < [ } } | | | | | | | | n#} [ < _ / o#p#y ) , ! - & $ @ . . . . . . . . . . . ", -" . . . . . . . . . . . . + $ % & - > , ) ~ ] ^ ( _ _ _ < < < < < < < < : _ _ ( ^ ] ~ ) , > - = % $ @ . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . @ $ % = - > , ) ) ~ ] ^ ^ / ( ( ( ( ( ( / / ^ ] ~ ) ) , > - - & % @ . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . + # % & = - ! , , ' ) ) ~ ~ ~ ~ { ~ ~ ~ ~ ) ' , , ! - = & % $ + . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . @ # $ % & - - ; > > , , , , , , , , > > ; - - & % % # @ . . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . . + @ $ % % & & = - - - - - - - - = & & % % $ @ + . . . . . . . . . . . . . . . . . . ", -" q#. . . . . . . . . . . . . . . . . . . + @ # $ $ % % % % % % % % $ $ # @ + . . . . . . . . . . . . . . . . . . . . ", -" r#. . . . . . . . . . . . . . . . . . . . . . . + @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . q# ", -" "}; +"64 64 14 1", +" c None", +". c #000000", +"+ c #26A9E0", +"@ c #25A9DF", +"# c #25A8E0", +"$ c #25AAE0", +"% c #27A8E0", +"& c #26A9DF", +"* c #26ABE1", +"= c #26A9E1", +"- c #27ABDF", +"; c #27A9E1", +"> c #26A8E0", +", c #25A9E0", +" ", +" ", +" ", +" .... ", +" .............. ........ ", +" ............................ ", +" .............................. ", +" ................................. ", +" ........... .............. ", +" ......... ............ ", +" ....... ............ ", +" ....... ............. ", +" ....... ............. ", +" ...... ............. ", +" ...... ............ ", +" ..... ..... ", +" ...... ..... ", +" ..... ..... ", +" ..... ..... ", +" .... .... ", +" ..... ..... ", +" .... .... ", +" ..... ..... ", +" .... .... ", +" .... +@++# .... ", +" ..... +$$$$$$$% ..... ", +" ..... +$$$$$$$$$& .... ", +" ...... +$$$$$$$$$$$+ .... ", +" ........ +$$$$$$$$$$$$$* .... ", +" .......... $$$$$$$$$$$$$$& .... ", +" ........... $$$$$$$$$$$$$$$ .... ", +" ............ $$$$$$$$$$$$$$$ .... ", +" ............ $$$$$$$$$$$$$$$ .... ", +" ............ $$$$$$$$$$$$$$$ .... ", +" ............ $$$$$$$$$$$$$$$ .... ", +" ........... =$$$$$$$$$$$$$- .... ", +" .......... $$$$$$$$$$$$+ .... ", +" ......... $$$$$$$$$$$ .... ", +" ...... +$$$$$$$; ..... ", +" ..... >$$$, .... ", +" .... .... ", +" ..... ..... ", +" .... .... ", +" ..... ..... ", +" ..... ..... ", +" ..... ..... ", +" ..... .... ", +" ..... ..... ", +" ..... ..... ", +" ..... ...... ..... ", +" ...... ............. ", +" ....... ............. ", +" ....... ............. ", +" ........ ............ ", +" ........ ............ ", +" .......... ............. ", +" ................................. ", +" ................................ ", +" ............................ ", +" .............. ........ ", +" ...... ", +" ", +" ", +" "}; diff --git a/share/pixmaps/ion_regtest.ico b/share/pixmaps/ion_regtest.ico index 88a5e0894712c..99a8e962648dd 100644 Binary files a/share/pixmaps/ion_regtest.ico and b/share/pixmaps/ion_regtest.ico differ diff --git a/share/pixmaps/ion_regtest128.png b/share/pixmaps/ion_regtest128.png index d55ddd2d6f623..5bbe7fc138064 100644 Binary files a/share/pixmaps/ion_regtest128.png and b/share/pixmaps/ion_regtest128.png differ diff --git a/share/pixmaps/ion_regtest128.xpm b/share/pixmaps/ion_regtest128.xpm index 00b513636f246..0719cf880659d 100644 --- a/share/pixmaps/ion_regtest128.xpm +++ b/share/pixmaps/ion_regtest128.xpm @@ -1,354 +1,227 @@ /* XPM */ static char * ion_regtest128_xpm[] = { -"128 128 223 2", +"128 128 96 2", " c None", -". c #00000F", -"+ c #000010", -"@ c #000011", -"# c #000012", -"$ c #000013", -"% c #000014", -"& c #000015", -"* c #000016", -"= c #000017", -"- c #000018", -"; c #000019", -"> c #00001A", -", c #00001B", -"' c #00001C", -") c #000034", -"! c #000040", -"~ c #000036", -"{ c #00001E", -"] c #000055", -"^ c #0000B3", -"/ c #0000EC", -"( c #0000FB", -"_ c #0000FD", -": c #0000F0", -"< c #0000BE", -"[ c #000063", -"} c #000020", -"| c #000026", -"1 c #00002B", -"2 c #00002E", -"3 c #00002C", -"4 c #000028", -"5 c #000022", -"6 c #00002F", -"7 c #0000BC", -"8 c #0000FC", -"9 c #0000FE", -"0 c #0000CD", -"a c #00003B", -"b c #000037", -"c c #000061", -"d c #00008A", -"e c #0000AD", -"f c #0000CC", -"g c #0000E0", -"h c #0000EF", -"i c #0000F6", -"j c #0000F9", -"k c #0000F8", -"l c #0000F2", -"m c #0000E6", -"n c #0000D4", -"o c #0000B9", -"p c #000097", -"q c #00006F", -"r c #000045", -"s c #00003D", -"t c #0000E3", -"u c #00004E", -"v c #000031", -"w c #00006E", -"x c #0000AF", -"y c #0000C3", -"z c #000085", -"A c #0000E1", -"B c #0000EE", -"C c #000038", -"D c #00002A", -"E c #000074", -"F c #0000C5", -"G c #0000F7", -"H c #0000C7", -"I c #000044", -"J c #0000A5", -"K c #0000F1", -"L c #000059", -"M c #00004A", -"N c #0000BA", -"O c #0000FA", -"P c #0000B2", -"Q c #0000B4", -"R c #0000E7", -"S c #00008E", -"T c #0000F5", -"U c #0000E4", -"V c #0000E5", -"W c #0000EB", -"X c #0000F4", -"Y c #00004C", -"Z c #0000D8", -"` c #0000D1", -" . c #0000A2", -".. c #000077", -"+. c #000056", -"@. c #00003C", -"#. c #000024", -"$. c #00001F", -"%. c #000029", -"&. c #000035", -"*. c #00006A", -"=. c #000092", -"-. c #0000C1", -";. c #00001D", -">. c #000088", -",. c #0000E8", -"'. c #0000BD", -"). c #00005F", -"!. c #000021", -"~. c #0000C0", -"{. c #0000DC", -"]. c #0000DB", -"^. c #0000A1", -"/. c #00003E", -"(. c #00007E", -"_. c #00004B", -":. c #0000EA", -"<. c #0000AB", -"[. c #00003A", -"}. c #000087", -"|. c #000051", -"1. c #000050", -"2. c #000084", -"3. c #000091", -"4. c #000090", -"5. c #000023", -"6. c #0000BB", -"7. c #000042", -"8. c #0000ED", -"9. c #0000B8", -"0. c #000081", -"a. c #0000E2", -"b. c #000066", -"c. c #0000CA", -"d. c #000073", -"e. c #0000DA", -"f. c #00007D", -"g. c #000078", -"h. c #0000F3", -"i. c #00006B", -"j. c #0000DE", -"k. c #000027", -"l. c #000065", -"m. c #000025", -"n. c #00006D", -"o. c #0000B0", -"p. c #000030", -"q. c #0000C2", -"r. c #0000B1", -"s. c #00009F", -"t. c #00005A", -"u. c #0000A7", -"v. c #000075", -"w. c #000049", -"x. c #00006C", -"y. c #000053", -"z. c #000083", -"A. c #0000D7", -"B. c #0000DF", -"C. c #000098", -"D. c #000072", -"E. c #0000A4", -"F. c #000099", -"G. c #000069", -"H. c #000032", -"I. c #00002D", -"J. c #00003F", -"K. c #000064", -"L. c #00004F", -"M. c #000096", -"N. c #000076", -"O. c #000060", -"P. c #000043", -"Q. c #00005C", -"R. c #000041", -"S. c #0000C6", -"T. c #000071", -"U. c #000068", -"V. c #00009B", -"W. c #00005B", -"X. c #00007B", -"Y. c #0000A0", -"Z. c #000046", -"`. c #000062", -" + c #0000B7", -".+ c #00009D", -"++ c #000070", -"@+ c #000067", -"#+ c #000079", -"$+ c #0000D0", -"%+ c #0000D6", -"&+ c #000082", -"*+ c #000093", -"=+ c #000033", -"-+ c #00008B", -";+ c #00008F", -">+ c #00004D", -",+ c #000048", -"'+ c #0000BF", -")+ c #00005D", -"!+ c #000094", -"~+ c #000089", -"{+ c #000052", -"]+ c #000047", -"^+ c #0000A8", -"/+ c #000080", -"(+ c #000058", -"_+ c #0000D5", -":+ c #000039", -"<+ c #000057", -"[+ c #0000AC", -"}+ c #0000CF", -"|+ c #0000D2", -"1+ c #0000AE", -"2+ c #0000C8", -"3+ c #00008C", -"4+ c #000095", -"5+ c #0000AA", -"6+ c #0000D9", -"7+ c #0000E9", -"8+ c #0000CE", -"9+ c #0000C4", -"0+ c #0000CB", +". c #840000", +"+ c #9B0000", +"@ c #A60000", +"# c #B10000", +"$ c #AF0000", +"% c #A30000", +"& c #960000", +"* c #000000", +"= c #990000", +"- c #C50000", +"; c #C80000", +"> c #BD0000", +", c #8C0000", +"' c #890000", +") c #C30000", +"! c #B70000", +"~ c #830000", +"{ c #660000", +"] c #400000", +"^ c #C70000", +"/ c #050000", +"( c #AD0000", +"_ c #9A0000", +": c #550000", +"< c #9F0000", +"[ c #910000", +"} c #140000", +"| c #B00000", +"1 c #3E0000", +"2 c #5B0000", +"3 c #8E0000", +"4 c #C60000", +"5 c #A90000", +"6 c #AB0000", +"7 c #640000", +"8 c #1F0000", +"9 c #B40000", +"0 c #790000", +"a c #8F0000", +"b c #C40000", +"c c #320000", +"d c #940000", +"e c #BF0000", +"f c #870000", +"g c #C10000", +"h c #B20000", +"i c #270000", +"j c #970000", +"k c #BB0000", +"l c #8B0000", +"m c #A40000", +"n c #A10000", +"o c #930000", +"p c #FF0000", +"q c #020000", +"r c #0D0000", +"s c #B30000", +"t c #450000", +"u c #C00000", +"v c #BA0000", +"w c #B50000", +"x c #8D0000", +"y c #BE0000", +"z c #9E0000", +"A c #C20000", +"B c #A70000", +"C c #980000", +"D c #A50000", +"E c #A00000", +"F c #900000", +"G c #BC0000", +"H c #690000", +"I c #160000", +"J c #5D0000", +"K c #700000", +"L c #7D0000", +"M c #6D0000", +"N c #570000", +"O c #2A0000", +"P c #010000", +"Q c #AA0000", +"R c #860000", +"S c #090000", +"T c #070000", +"U c #850000", +"V c #470000", +"W c #9C0000", +"X c #2D0000", +"Y c #B80000", +"Z c #7A0000", +"` c #0A0000", +" . c #2C0000", +".. c #AE0000", +"+. c #B90000", +"@. c #8A0000", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & ", +" * * * * = - ; ; ; ; ; ; ; ; > , ", +" * * * * * * * * * * * * * * * * * * * * * * ' ) ; ; ; ; ; ; ; ; ; ; ; ; ! ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * & ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ) ~ ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * { ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ] ^ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; > ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / ( ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; _ ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ^ ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * < ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; [ ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * } ^ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; | ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ^ ", +" * * * * * * * * * * * * * * * * * * * * 2 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * ' ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ^ ", +" * * * * * * * * * * * * * * 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5 ", +" * * * * * * * * * * * * * * 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 7 ", +" * * * * * * * * * * * * * * ' ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4 8 * * ", +" * * * * * * * * * * * * * * 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 0 * * * * ", +" * * * * * * * * * * * * ^ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ! } * * * * ", +" * * * * * * * * * * * * a ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; b c * * * * * * ", +" * * * * * * * * * * * * d ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; e ] * * * * * * * * ", +" * * * * * * * * * * * * f g ; ; ; ; ; ; ; ; ; ; ; ; h i * * * * * * * * * * ", +" * * * * * * * * * * * j - ; ; ; ; ; ; ; ; k l * * * * * * * * * * * ", +" * * * * * * * * * * * ~ = m | ( n o * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * p p p p p * * * * * * * * * ", +" * * * * * * * * * p p p p p p p p p p p p * * * * * * * * * ", +" * * * * * * * * * p p p p p p p p p p p p p p p p * * * * * * * * ", +" * * * * * * * * p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" * * * * * * * * * p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" * * q r * * * * * p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" f a s - ; ) | ~ t r p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" , u ; ; ; ; ; ; ; ; ; v , p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" ! ; ; ; ; ; ; ; ; ; ; ; ; ; $ p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" g ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; v p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" e ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ! p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" w ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; @ p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" x ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" y ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ( p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" = ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; l p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" 5 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; = p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" w ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; % p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" k ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5 p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" | ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; z p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" m ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; d p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" x ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; A p p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" B ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; C p p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" ^ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; g p p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" & ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ' p p p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" D ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; _ p p p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" E ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; C p p p p p p p p p p p p p p p p p p p p p p * * * * * * * * * ", +" F ) ; ; ; ; ; ; ; ; ; ; ; G f p p p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" C e ; ; ; ; ; ; ; 9 H I p p p p p p p p p p p p p p p p p p * * * * * * * * ", +" J K L M N O P * * p p p p p p p p p p p p p p * * * * * * * * * ", +" * * * * * * * * * p p p p p p p p * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * . * * * * * * * * * * * ", +" * * * * * * * * * * * d w ; ; ; ; ; 4 Q , * * * * * * * * * * * ", +" * * * * * * * * * * * & b ; ; ; ; ; ; ; ; ; ; k R P * * * * * * * * * * ", +" * * * * * * * * * * * * h ; ; ; ; ; ; ; ; ; ; ; ; ; ; R S * * * * * * * * * ", +" * * * * * * * * * * * * y ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; + T * * * * * * * ", +" * * * * * * * * * * * * * s ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; U P * * * * * ", +" * * * * * * * * * * * * * + ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; V * * * * ", +" * * * * * * * * * * * * * 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; $ / * * ", +" * * * * * * * * * * * * * * W ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; V * ", +" * * * * * * * * * * * * * * e ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; l ", +" * * * * * * * * * * * * * * * ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; u ", +" * * * * * * * * * * * * * * * * U ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * L ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * * * * * V ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * X ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; u ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * q Y ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; z ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * L ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; . ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 8 - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; w ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Z ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ~ ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ` @ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; + ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * .k ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5 ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * ..; ; ; ; ; ; ; ; ; ; ; ; ; ; z ", +" * * * * * * * * * * * * * * o b ; ; ; ; ; ; ; ; ; ; +.f ", +" [ | ; ; ; ; ; 4 B @. ", +" ", +" ", +" ", " ", -" . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ + ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ # # # # # # # # # # @ @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ # # # # # # # # # # # # # # # # # # # # # # # # @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % % % % & & & & & & & & & & & & & & % % % % % % % % $ $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % % & & & & & & & & & * * * * * * * * * * * * * * & & & & & & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % % & & & & & & * * * * * * * * * * * * * * * * * * * * * * * * * * & & & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ % % % % & & & & & & * * * * * * = = = = = = = = = = = = = = = = = = = = * * * * * * * & & & & & % % % % $ $ $ # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % & & & & & * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * & & & & & % % % % $ $ $ # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ % % % & & & & * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * & & & & % % % $ $ $ $ # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + # # # $ $ $ % % % & & & & * * * * = = = = = = = = = = = = - - - - - - - - - - - - - - - - = = = = = = = = = = = = * * * * & & & & % % % $ $ $ # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ % % & & & & * * * = = = = = = = = = = = - - - - - - - - ; ; ; ; ; ; ; ; - - - - - - - - - = = = = = = = = = = * * * & & & & % % % $ $ $ # # @ + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + @ # # $ $ $ % % % & & & * * * = = = = = = = = = - - - - - - ; ; > > > > > > > > > > > > > > > > ; ; ; - - - - - = = = = = = = = = * * * & & & % % % $ $ $ # # @ + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + @ # # $ $ $ % % & & & & * * * = = = = = = = = - - - - ; ; > > > > > > > > , , , , , , , , > > > > > > > > > ; - - - - - & ' ) ! ~ { % * * * & & & & % % $ $ $ # # # + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + # # # $ $ $ % % & & & * * * = = = = = = = - - - - ; > > > > > > , , , , , , , , , , , , , , , , , , , , , > > > > > ; - ] ^ / ( _ ( : < [ - * * * & & & % % % $ $ # # # + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + # # # $ $ % % % & & & * * = = = = = = = - - - - ; > > > > , , , , , , , , , , ; - > } | 1 2 3 4 5 , - - > , , , , > > 6 7 8 9 9 9 9 9 9 9 _ 0 a * * * & & & & % % $ $ # # # + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + # # # $ $ % % & & & & * * = = = = = = - - - ; > > > > , , , , , , , , ; ' b c d e f g h i j j j k l m n o p q r 5 = > s t 9 9 9 9 9 9 9 9 9 9 9 h u * * * * & & & % % $ $ $ # # + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + # # # $ $ % % & & & * * * = = = = = = - - - ; > > > , , , , , , , ; v w x t ( 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ h y z A 9 9 9 9 9 9 9 9 9 9 9 9 9 B C = = * * & & & % % $ $ # # # + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + @ # # $ $ % % & & & * * = = = = = = - - - ; > > > , , , , , , ; D E F G 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 H = = = * * & & & % % $ $ $ # # + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + @ # # $ $ % % & & & * * = = = = = = - - ; > > > , , , , , , ; I J K _ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ L = = = * * & & & % % $ $ # # # + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + @ # # $ $ % % & & & * * = = = = = - - - ; > > , , , , , , ; M N O 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 P % = = = * * & & & % % $ $ # # @ + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + @ # # $ $ % % & & & * * = = = = = - - - > > > , , , , , > a Q ( 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 R > = = = = * * & & & % % $ $ # # @ + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + # # $ $ % % & & & * * = = = = = - - ; > > , , , , , , 5 S T 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ ( G B m U V W X O _ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 k 1 = = = = = * * & & & % % $ $ # # @ + + + + + + + + + + + + + ", -" + + + + + + + + + + + + # # $ $ $ % & & & * * = = = = = - - ; > > , , , , , > Y Z _ 9 9 9 9 9 9 9 9 9 9 9 9 _ T ` ...+.@.3 #.} $.} 5 %.&.Y *.=.-./ 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 O v - = = = = = * * & & & % % $ $ # # + + + + + + + + + + + + + ", -" + + + + + + + + + + + @ # # $ $ % % & & * * = = = = = - - ; > > , , , , , ;.>.k 9 9 9 9 9 9 9 9 9 9 9 _ ,.J c 2 ;.{ } } } } } } } } } } } } } $.' #.Y W 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 i 4 - - = = = = = * * & & % % $ $ # # @ + + + + + + + + + + + + ", -" + + + + + + + + + + @ # # $ $ % % & & * * = = = = = - - ; > > , , , , , D '._ 9 9 9 9 9 9 9 9 9 9 k o ).#.{ } } } !.!.!.!.!.!.!.!.!.!.} } } } } } } ' ~.9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 {.- > - - = = = = = * * & & % % $ $ # # @ + + + + + + + + + + + ", -" + + + + + + + + + + # # $ $ % % & & & * * = = = = - - ; > > , , , , , @.].9 9 9 9 9 9 9 9 9 9 T ^./.;.} !.!.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 !.!.} } } (.9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 P = > > - - = = = = = * * & & % % $ $ # # + + + + + + + + + + + ", -" + + + + + + + + + @ # # $ $ % & & & * * = = = = - - ; > > , , , , , _.:.9 9 9 9 9 9 9 9 9 O <.[.{ !.!.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 !.!.6 h 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ( }.; > ; - - = = = = = * & & & % $ $ $ # @ + + + + + + + + + + ", -" + + + + + + + + + # # $ $ % % & & * * = = = = - - ; > > , , , , , |.: 9 9 9 9 9 9 9 9 9 n 1.{ !.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 } 2._ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 3.; > ; - - = = = = * * & & % % $ $ # # @ + + + + + + + + + ", -" + + + + + + + + @ # $ $ % % & & * * = = = = = - ; > > , , , , , u K 9 9 9 9 9 9 9 9 j 4.#.!.5 5 5 5 5 5 5 5 5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5 5 5 5 5 5 5.6.9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ 4.; > ; - - = = = = * * & & % % $ $ # # + + + + + + + + + ", -" + + + + + + + + # # $ $ % % & & * * = = = = - - > > , , , , , 7.8.9 9 9 9 9 9 9 9 m ] $.!.5 5 5 5 5 5 5.5.5.5.5.5.5.#.#.#.#.#.#.#.#.5.5.5.5.5.5.5.5 5 5 5 %.9._ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 0.- > ; - = = = = = * & & & % $ $ # # @ + + + + + + + + ", -" + + + + + + + @ # $ $ % % & & * * = = = = - - > > , , , , , v a.9 9 9 9 9 9 9 9 0 &.!.5 5 5 5 5 5 5.5.5.5.5.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.5.5.5.5.5 5 5 5.(./ 9 9 9 9 9 9 9 X 8 9 9 9 9 9 9 9 O b.; > - - = = = = * * & & % % $ $ # # + + + + + + + + ", -" + + + + + + @ # # $ $ % & & & * = = = = - - ; > > , , , , !.c.9 9 9 9 9 9 9 9 o 4 !.5 5 5 5 5 5.5.5.5.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.5.5.5.5.5 5 !.3 d.^ e.t {.N f.v g.j 9 9 9 9 9 9 9 h.I > ; - - = = = = * * & & % $ $ # # @ + + + + + + + ", -" + + + + + + @ # $ $ % % & & * * = = = = - ; > > , , , , , ^.9 9 9 9 9 9 9 9 x 5.5 5 5 5 5 5.5.5.5.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.5.5.5.5 5 5 $.{ $.;.;.$.$.;.i.k 9 9 9 9 9 9 9 j.k.> ; - = = = = * * & & % % $ $ # # + + + + + + + ", -" + + + + + + # # $ $ % & & & * = = = = - - > > , , , , , l.8 9 9 9 9 9 9 9 P 5.5 5 5 5 5 5.5.5.#.#.#.#.#.#.#.#.#.m.m.m.m.m.m.m.m.m.m.m.m.m.#.#.#.#.#.#.#.#.5.5.5.5 5 5 5 5 !.} } $.$.;.n.O 9 9 9 9 9 9 9 o.; > - - = = = = * * & & % $ $ # # @ + + + + + + ", -" + + + + + @ # $ $ % % & & * * = = = = - ; > > , , , , p.:.9 9 9 9 9 9 9 q.m.5 5 5 5 5.5.5.#.#.#.#.#.#.#.m.m.m.m.m.m.m.m.| | | | | m.m.m.m.m.m.m.#.#.#.#.#.#.#.5.5.5.5 5 5 5 !.} } $.$.;.f.8 9 9 9 9 9 9 _ *.; ; - - = = = * * & & % % $ $ # # + + + + + + ", -" + + + + + # # $ $ % & & & * = = = = - - > > , , , , > r.9 9 9 9 9 9 9 ].2 5 5 5 5 5.5.5.#.#.#.#.#.#.m.m.m.m.m.| | | | | | | | | | | | | | m.m.m.m.m.#.#.#.#.#.#.5.5.5.5 5 5 5 !.} } $.$.;.s.9 9 9 9 9 9 9 :.3 > - - = = = = * * & & % $ $ # # @ + + + + + ", -" + + + + @ # # $ % % & & * * = = = = - ; > , , , , ' t.8 9 9 9 9 9 9 l r 5 5 5 5 5.5.5.#.#.#.#.#.m.m.m.m.| | | | k.k.k.k.k.k.k.k.k.k.k.k.| | | | m.m.m.m.#.#.#.#.#.5.5.5.5 5 5 5 !.} } $.$.!.H 9 9 9 9 9 9 9 u.- ; - - = = = * * & & % % $ $ # @ + + + + + ", -" + + + + # # $ $ % % & & * = = = = - - > > , , , , $.Z 9 9 9 9 9 9 _ v.!.5 5 5 5.5.5.#.#.#.#.#.m.m.m.| | | | k.k.k.k.k.4 4 4 4 4 4 k.k.k.k.k.k.| | | m.m.m.#.#.#.#.#.#.5.5.5 5 5 5 } } } $.$.~ / 9 9 9 9 9 9 O w.> - - = = = = * * & & % $ $ # # + + + + + ", -" + + + + # # $ $ % & & * * = = = = - ; > , , , , , v._ 9 9 9 9 9 9 9.} 5 5 5 5.5.5.#.#.#.#.#.m.m.m.| | k.k.k.k.4 4 4 4 4 4 %.%.4 4 4 4 4 4 k.k.k.k.| | | m.m.m.#.#.#.#.#.5.5.5 5 5 5 } } $.$.{ x.8 9 9 9 9 9 9 q.- ; - - = = = * * & & % % $ # # @ + + + + ", -" + + + @ # $ $ % % & & * = = = = - - > > , , , , 5 a.9 9 9 9 9 9 : C 5 5 5 5 5.5.#.#.#.#.#.m.m.| | | k.k.k.4 4 4 %.%.%.D D D D D D %.%.%.4 4 4 k.k.k.| | | m.m.m.#.#.#.#.5.5.5.5 5 5 !.} } $.$.;.6.9 9 9 9 9 9 8 y.> - - = = = = * & & % % $ $ # @ + + + + ", -" + + + # # $ $ % & & * * = = = = - ; > , , , , ' d._ 9 9 9 9 9 _ z.} 5 5 5 5.5.#.#.#.#.m.m.m.| | k.k.k.4 4 %.%.D D D D D D D D D D D D D D %.%.4 4 k.k.k.| | m.m.m.#.#.#.#.5.5.5 5 5 5 !.} } $.$.@.T 9 9 9 9 9 9 -.- ; - = = = = * * & & % $ $ # # + + + + ", -" + + + # # $ $ % & & * * = = = - - > > , , , , ' A.9 9 9 9 9 9 B.| 5 5 5 5.5.#.#.#.#.#.m.m.| | k.k.4 4 4 %.D D D D D 1 1 1 1 1 1 1 1 D D D D D %.%.4 4 k.k.| | m.m.m.#.#.#.#.5.5.5 5 5 5 } } $.$.' C.9 9 9 9 9 9 ( I > - - = = = * * & & % % $ # # @ + + + ", -" + + @ # $ $ % % & & * = = = = - - > > , , , ' +._ 9 9 9 9 9 _ D.!.5 5 5.5.#.#.#.#.#.m.m.| | k.k.4 4 %.D D D D 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D D D D %.4 4 k.k.| | m.m.m.#.#.#.#.5.5.5 5 5 !.} } $.{ p.: 9 9 9 9 9 9 E.- ; - = = = = * & & % % $ $ # @ + + + ", -" + + @ # $ $ % % & & * = = = = - ; > , , , , > x 9 9 9 9 9 9 A #.5 5 5 5.5.#.#.#.#.m.m.| | k.k.4 4 %.D D D 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D D D %.4 4 k.k.| | m.m.#.#.#.#.5.5.5 5 5 5 } } $.$.' F.9 9 9 9 9 9 h m.; - - = = = * * & & % $ $ # # + + + ", -" + + # # $ $ % & & * * = = = - - > > , , , , %.l 9 9 9 9 9 9 z.!.5 5 5.5.#.#.#.#.m.m.| | k.k.4 4 %.D D D 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 D D %.4 4 k.k.| | m.m.#.#.#.#.5.5.5 5 5 !.} } $.{ [.k 9 9 9 9 9 9 G.> - - = = = * * & & % $ $ # # + + + ", -" + + # # $ % % & & * = = = = - - > > , , , ' G.9 9 9 9 9 9 h.H.5 5 5 5.5.#.#.#.#.m.m.| k.k.4 4 %.D D 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 D D %.4 4 k.k.| | m.m.#.#.#.5.5.5 5 5 5 } } $.$., 6.9 9 9 9 9 9 9.= ; - = = = = * & & % % $ # # @ + + ", -" + @ # # $ % % & & * = = = = - ; > , , , , ; P 9 9 9 9 9 9 ^ $.5 5 5.5.#.#.#.#.m.m.| | k.k.4 %.D D 1 1 1 1 1 1 3 3 3 3 I.3 v J.w.Y _.7.&.1 1 1 1 1 1 1 D D %.4 4 k.| | m.m.#.#.#.#.5.5.5 5 5 !.} $.$.{ K._ 9 9 9 9 9 K m.; - = = = = * & & % % $ $ # @ + + ", -" + @ # $ $ % % & & * = = = = - ; > , , , , !.:.9 9 9 9 9 _ l.5 5 5 5.5.#.#.#.#.m.m.| k.k.4 %.D D 1 1 1 1 1 3 3 3 I.I.I.r K.v.g.......g...x.L.p.1 1 1 1 1 D D %.4 k.k.| | m.m.#.#.#.5.5.5 5 5 !.} } $.{ k.B 9 9 9 9 9 _ L > - - = = = * * & & % $ $ # @ + + ", -" + # # $ $ % & & * * = = = - - > > , , , ' M _ 9 9 9 9 9 l 3 5 5 5 5.#.#.#.#.m.m.| | k.4 4 %.D D 1 1 1 1 3 3 3 I.3 @.*.g.....................D._.1 1 1 1 1 D D 4 4 k.k.| m.m.#.#.#.#.5.5.5 5 5 } } $.$., Q 9 9 9 9 9 9 M.; - - = = = * * & & % $ $ # # + + ", -" + # # $ $ % & & * * = = = - - > > , , , ' (.9 9 9 9 9 9 q.{ 5 5 5.5.#.#.#.#.m.m.| k.k.4 %.D D 1 1 1 1 3 3 3 I.3 Y N.............................O.2 1 1 1 D D %.4 k.k.| | m.m.#.#.#.5.5.5 5 5 } } $.$.{ D.9 9 9 9 9 9 0 = ; - = = = * * & & % % $ # # + + ", -" + # # $ $ % & & * = = = = - ; > , , , , ; r.9 9 9 9 9 9 >.!.5 5 5.5.#.#.#.m.m.| | k.4 4 D D 1 1 1 1 3 3 3 I.I.L.................................N.l.I.1 1 1 D D 4 4 k.| | m.m.#.#.#.5.5.5 5 5 !.} $.$.{ @.8 9 9 9 9 9 K 5 ; - = = = = * & & % % $ # # + + ", -" + # # $ % % & & * = = = = - ; > , , , > M U 9 9 9 9 9 _ ] 5 5 5 5.5.#.#.#.m.m.| k.k.4 %.D D 1 1 1 1 3 3 I.I.P...................................N.N.Q.D 1 1 D D %.4 k.k.| m.m.#.#.#.#.5.5 5 5 !.} } $.{ $.,.9 9 9 9 9 _ R.; - = = = = * & & % % $ $ # @ + ", -" @ # # $ % % & & * = = = = - ; > , > J.y 8 9 9 9 9 9 9 9 S.P.!.5 5.#.#.#.#.m.m.| k.k.4 %.D D 1 1 1 3 3 I.I.H.T.....................................N.N.P.1 1 1 D %.4 4 k.| | m.#.#.#.#.5.5.5 5 5 } } $.$.> -.9 9 9 9 9 9 K.> - - = = = * & & % % $ $ # @ + ", -" @ # $ $ % % & & * = = = = - ; > > K.h.9 9 9 9 9 9 9 9 9 9 h.U.!.5.#.#.#.#.m.| | k.4 4 D D 1 1 1 1 3 3 I.I.+...........g.g.g.g.g.g...................N.n.3 1 1 D D %.4 k.| | m.m.#.#.#.5.5.5 5 5 } } $.$.;.V.9 9 9 9 9 9 z ; - - = = = * & & & % $ $ # @ + ", -" @ # $ $ % % & & * = = = - - ; ; W.k 9 9 9 9 9 9 9 9 9 9 9 9 k c 5 #.#.#.m.m.| | k.4 %.D D 1 1 1 3 3 I.I.v d.........g.g.g.g.g.g.g.g.................N...P.1 1 D D %.4 k.k.| m.m.#.#.#.5.5.5 5 5 } } $.$.{ X.9 9 9 9 9 9 Y.- - - = = = * * & & % $ $ # @ + ", -" @ # $ $ % % & * * = = = - - > I.W 9 9 9 9 9 9 9 9 9 9 9 9 9 9 W &.#.#.#.m.m.| k.k.4 %.D D 1 1 1 3 3 I.I.Z.g.......g.g.g.g.g.g.g.g.g.g...............N.N.).D 1 1 D %.4 k.k.| m.m.#.#.#.5.5.5 5 5 !.} $.$.{ `.9 9 9 9 9 9 += - - = = = * * & & % $ $ # @ + ", -" @ # $ $ % % & * * = = = - - - .+9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ^.5 #.#.m.m.| k.k.4 %.D D 1 1 1 3 3 I.I.t.........g.g.g.g.g.g.g.g.g.g.g.............N.N.++1 1 1 D %.4 k.k.| m.m.#.#.#.#.5.5 5 5 !.} $.$.{ L._ 9 9 9 9 9 S.* - - = = = * * & & % $ $ # # + ", -" @ # $ $ % % & * * = = = - - #.h 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 h 2 #.#.m.m.| k.k.4 %.D D 1 1 1 3 3 I.3 @+......g.g.g.g.g.#+#+g.g.g.g.g...............N.N.H.1 1 D D 4 4 k.| m.m.#.#.#.#.5.5 5 5 !.} $.$.{ I _ 9 9 9 9 9 $+* - - = = = * * & & % $ $ # # + ", -" @ # $ $ % % & * * = = = - - L 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ O.#.#.m.m.| k.k.4 %.D 1 1 1 1 3 I.I.3 n.......g.g.g.g.g.#+#+#+g.g.g.g...............N...b 1 1 D D 4 4 k.| m.m.#.#.#.#.5.5 5 5 !.} $.$.{ J._ 9 9 9 9 9 %+* - - = = = * * & & % $ $ # # + ", -" @ # $ $ % % & * * = = = - - &+9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 }.#.#.m.m.| k.k.4 %.D 1 1 1 1 3 3 I.3 n.......g.g.g.g.g.#+#+g.g.g.g.g...............N...C 1 1 D D 4 4 k.| m.m.#.#.#.#.5.5 5 5 !.} $.$.{ /._ 9 9 9 9 9 %+* - - = = = * * & & % $ $ # # + ", -" @ # $ $ % % & * * = = = - = *+9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 p 5.#.m.m.| k.k.4 %.D D 1 1 1 3 3 I.3 U.......g.g.g.g.g.g.g.g.g.g.g.g.............N.N...=+1 1 D %.4 k.k.| m.m.#.#.#.#.5.5 5 5 !.} $.$.{ P._ 9 9 9 9 9 ` * - - = = = * * & & % $ $ # # + ", -" @ # $ $ % % & * * = = = - - -+9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ;+#.#.m.m.| k.k.4 %.D D 1 1 1 3 3 I.I.Q.........g.g.g.g.g.g.g.g.g.g...............N.N.D.3 1 1 D %.4 k.k.| m.m.#.#.#.5.5.5 5 5 !.} $.$.{ >+_ 9 9 9 9 9 H * - - = = = * * & & % $ $ # @ + ", -" @ # $ $ % % & * * = = = - - U._ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 w #.#.m.m.| | k.4 %.D D 1 1 1 3 3 I.I.M ..........g.g.g.g.g.g.g.g.g...............N.N.[ D 1 D D %.4 k.k.| m.m.#.#.#.5.5.5 5 5 } } $.$.{ ).9 9 9 9 9 9 N * - - = = = * * & & % $ $ # @ + ", -" @ # $ $ % % & & * = = = = - =+j 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 j s #.#.m.m.| | k.4 4 D D 1 1 1 1 3 3 I.=+v...........g.g.g.g.g.g.g.................N.N.,+1 1 D D %.4 k.| | m.m.#.#.#.5.5.5 5 5 } } $.$.{ N.9 9 9 9 9 9 E.- - - = = = * * & & % $ $ # @ + ", -" @ # # $ % % & & * = = = = - = '+9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 q.!.#.#.#.m.m.| k.k.4 %.D 1 1 1 1 3 3 I.3 )+..............g.g.....................N.N.T.2 1 1 D D 4 4 k.| | m.#.#.#.#.5.5.5 5 5 } } $.$.;.!+9 9 9 9 9 9 ~+; - - = = = * & & % % $ $ # @ + ", -" + # # $ % % & & * = = = = - ; _.O 9 9 9 9 9 9 9 9 9 9 9 9 9 9 O {+#.#.#.#.m.m.| k.k.4 %.D D 1 1 1 1 3 3 I.~ v.....................................N.N._.1 1 D D %.4 k.k.| m.m.#.#.#.#.5.5.5 5 !.} } $.$.> N 9 9 9 9 9 9 *.; - = = = = * & & % % $ $ # @ + ", -" + # # $ $ % & & * = = = = - ; - =._ 9 9 9 9 9 9 9 9 9 9 9 9 _ M.!.5.#.#.#.m.m.| | k.4 4 D D 1 1 1 1 3 3 I.I.Y ..................................N.N.K.1 1 1 D D %.4 k.k.| m.m.#.#.#.#.5.5 5 5 !.} } $.{ ;.a.9 9 9 9 9 _ ]+; - = = = = * & & % % $ $ # @ + ", -" + # # $ $ % & & * * = = = - - > ' ^+_ 9 9 9 9 9 9 9 9 9 9 _ <.5.5.5.#.#.#.#.m.| | k.k.4 %.D D 1 1 1 1 3 3 I.I.t...............................N.N.n.v 1 1 D D %.4 4 k.| | m.m.#.#.#.5.5.5 5 5 !.} $.$.{ &.O 9 9 9 9 9 X | ; - = = = = * & & % % $ # # + + ", -" + # # $ $ % & & * * = = = - - > > , /+h.9 9 9 9 9 9 9 9 G z.5 5 5.5.#.#.#.#.m.m.| k.k.4 %.D D 1 1 1 1 1 3 3 I.I.(+..........................N.N.*.H.1 1 1 D D %.4 k.k.| m.m.#.#.#.#.5.5.5 5 5 } } $.$.{ U.9 9 9 9 9 9 _+= - - = = = * * & & % $ $ # # + + ", -" + @ # $ $ % & & * * = = = - - ; > , > ) !+g 9 9 9 9 9 9 / | 5 5 5 5.5.#.#.#.m.m.| | k.k.4 %.D D 1 1 1 1 1 3 3 3 3 ]+D.....................N.N.(+I.1 1 1 D D %.4 4 k.| | m.m.#.#.#.#.5.5 5 5 !.} } $.$.' ^+9 9 9 9 9 9 Y.- - - = = = * * & & % $ $ # # + + ", -" + @ # $ $ % % & & * = = = = - ; > , , , > m.: 9 9 9 9 9 _ L 5 5 5 5.5.#.#.#.#.m.m.| | k.4 4 %.D D 1 1 1 1 1 3 3 3 3 v {+q g.............d.)+:+D 1 1 1 D D D 4 4 k.k.| m.m.#.#.#.#.5.5.5 5 5 !.} $.$.{ !.R 9 9 9 9 9 9 K.; - - = = = * & & % % $ $ # @ + + ", -" + + # # $ % % & & * = = = = - - > > , , , ; '.9 9 9 9 9 9 J $.5 5 5 5.5.#.#.#.m.m.| | k.k.4 4 %.D D 1 1 1 1 1 1 3 3 3 3 I.[._.+.t.(+1.R.6 D 1 1 1 1 D D D %.4 k.k.| | m.m.#.#.#.#.5.5 5 5 5 } } $.$.{ <+_ 9 9 9 9 9 i 3 ; - = = = = * & & % % $ $ # @ + + ", -" + + # # $ $ % & & * * = = = - - > > , , , ' v.9 9 9 9 9 9 8.D 5 5 5 5.5.#.#.#.#.m.m.| | k.k.4 %.D D D 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 D D D %.4 k.k.| | m.m.#.#.#.#.5.5.5 5 5 !.} } $.$.' [+9 9 9 9 9 9 F = - - = = = = * & & % % $ # # + + + ", -" + + # # $ $ % & & * * = = = = - ; > , , , , v G 9 9 9 9 9 _ d.!.5 5 5 5.5.#.#.#.#.m.m.| | k.k.4 %.%.D D 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D D D %.4 4 k.| | m.m.#.#.#.#.#.5.5 5 5 5 } } $.$.{ 6 l 9 9 9 9 9 9 ..; - - = = = * * & & % $ $ # # + + + ", -" + + @ # $ $ % % & & * = = = = - ; > , , , , ; < 9 9 9 9 9 9 n } 5 5 5 5.5.#.#.#.#.m.m.m.| | k.k.4 4 %.D D D 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D D D %.%.4 4 k.k.| | m.m.#.#.#.#.5.5.5 5 5 !.} } $.$.;.}.9 9 9 9 9 9 T I.; - = = = = * & & % % $ $ # # + + + ", -" + + + # # $ % % & & * * = = = - - > > , , , ' l._ 9 9 9 9 9 _ ).!.5 5 5 5.5.#.#.#.#.m.m.| | | k.k.4 4 %.D D D D D 1 1 1 1 1 1 1 1 1 1 1 D D D D %.4 4 k.k.| | | m.m.#.#.#.#.5.5.5 5 5 5 } } $.$.{ | R 9 9 9 9 9 9 ^ = - - = = = = * & & % % $ $ # @ + + + ", -" + + + # # $ $ % & & * * = = = = - ; > , , , , !.t 9 9 9 9 9 9 }+} 5 5 5 5 5.5.#.#.#.#.m.m.| | | k.k.4 4 4 %.D D D D D D D D D D D D D D D D %.%.4 4 k.k.| | | m.m.#.#.#.#.#.5.5.5 5 5 !.} } $.$.;.z.9 9 9 9 9 9 _ y.; - - = = = * * & & % $ $ # # + + + + ", -" + + + @ # $ $ % % & & * = = = = - - > > , , , , z _ 9 9 9 9 9 _ n.!.5 5 5 5.5.#.#.#.#.#.m.m.m.| | k.k.k.4 4 4 %.%.D D D D D D D D D D %.%.4 4 4 k.k.k.| | | m.m.#.#.#.#.#.5.5.5 5 5 5 } } $.$.{ 2 8.9 9 9 9 9 9 |+; ; - = = = = * & & & % $ $ # # + + + + ", -" + + + @ # # $ % % & & * * = = = - - ; > , , , , D / 9 9 9 9 9 9 U 1 5 5 5 5 5.5.#.#.#.#.#.m.m.m.| | | k.k.k.4 4 4 4 %.%.%.%.%.%.%.%.4 4 4 4 k.k.k.| | | m.m.m.#.#.#.#.#.5.5.5 5 5 5 !.} } $.$.' E.9 9 9 9 9 9 _ l.; - - = = = = * & & % % $ $ # @ + + + + ", -" + + + + # # $ $ % & & & * = = = = - - > > , , , > ~+9 9 9 9 9 9 9 ^.$.5 5 5 5 5.5.#.#.#.#.#.m.m.m.m.| | | k.k.k.k.4 4 4 4 4 4 4 4 4 4 k.k.k.k.| | | | m.m.m.#.#.#.#.#.5.5.5 5 5 5 !.} } $.$.{ ] O 9 9 9 9 9 9 n , ; - = = = = * * & & % $ $ # # + + + + + ", -" + + + + @ # $ $ % % & & * * = = = - - ; > , , , , | m 9 9 9 9 9 9 O Q.!.5 5 5 5 5.5.#.#.#.#.#.#.m.m.m.| | | | | k.k.k.k.k.k.k.k.k.k.k.k.k.| | | | m.m.m.#.#.#.#.#.#.5.5.5 5 5 5 !.} } $.$.{ %.B.9 9 9 9 9 9 8 Q.> - - = = = = * & & % % $ $ # # + + + + + ", -" + + + + + # # $ $ % & & * * = = = = - - > > , , , , ++_ 9 9 9 9 9 9 R =+!.5 5 5 5 5.5.#.#.#.#.#.#.#.m.m.m.m.| | | | | | k.k.k.k.| | | | | | | m.m.m.m.#.#.#.#.#.#.5.5.5 5 5 5 !.} } $.$.$.;.1+9 9 9 9 9 9 9 '.- ; - = = = = * * & & % % $ # # @ + + + + + ", -" + + + + + # # $ $ % % & & * * = = = - - ; > , , , , ' H 9 9 9 9 9 9 9 H #.!.5 5 5 5 5.5.5.#.#.#.#.#.#.#.m.m.m.m.m.| | | | | | | | | | m.m.m.m.m.m.#.#.#.#.#.#.5.5.5.5 5 5 5 5 } } } $.$.' 0._ 9 9 9 9 9 9 X [.> - - = = = = * & & & % $ $ # # + + + + + + ", -" + + + + + @ # # $ $ % & & * * = = = = - - > > , , , , ! X 9 9 9 9 9 9 9 u.} !.5 5 5 5 5.5.5.#.#.#.#.#.#.#.#.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.#.#.#.#.#.#.#.#.5.5.5.5 5 5 5 !.} } } $.$.;.).j 9 9 9 9 9 9 _ z.- ; - = = = = * * & & % % $ $ # @ + + + + + + ", -" + + + + + + # # $ $ % % & & * * = = = = - ; > > , , , > /+_ 9 9 9 9 9 9 _ *+$.!.5 5 5 5 5 5.5.5.#.#.#.#.#.#.#.#.#.#.#.#.m.m.m.m.m.#.#.#.#.#.#.#.#.#.#.#.5.5.5.5.5 5 5 5 !.} } } $.$.{ 1.l 9 9 9 9 9 9 9 2+, ; - - = = = = * & & & % $ $ # # + + + + + + + ", -" + + + + + + @ # # $ $ % & & * * = = = = - - > > , , , , ' 6.9 9 9 9 9 9 9 8 S $.!.5 5 5 5 5 5.5.5.5.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.5.5.5.5.5 5 5 5 !.{ ' ;.$.$.$.;.>+B 9 9 9 9 9 9 9 8.&.> - - = = = = * * & & % % $ $ # @ + + + + + + + ", -" + + + + + + + # # $ $ % % & & * * = = = = - - > > , , , , 1 B.9 9 9 9 9 9 9 _ C.} } 5 5 5 5 5 5 5.5.5.5.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.5.5.5.5.5 5 5 5 !.L.3+^ q. +=.<+} (+: 9 9 9 9 9 9 9 O )+; ; - = = = = = * & & % % $ $ # # + + + + + + + + ", -" + + + + + + + @ # # $ $ % & & & * = = = = - - ; > > , , , , P.: 9 9 9 9 9 9 9 _ x | } !.5 5 5 5 5 5 5.5.5.5.5.5.#.#.#.#.#.#.#.#.#.#.#.#.5.5.5.5.5.5.5 5 5 5 } t.|+8 9 9 9 9 9 _ B.i 9 9 9 9 9 9 9 _ 2.- ; - - = = = = * * & & % % $ $ # @ + + + + + + + + ", -" + + + + + + + + # # $ $ % % & & * * = = = = - - ; > > , , , , W.G 9 9 9 9 9 9 9 9 }+a $.} !.5 5 5 5 5 5 5 5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5 5 5 5 5 5 5 4+O 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ^.; > - - = = = = * * & & % % $ $ # # + + + + + + + + + ", -" + + + + + + + + @ # # $ $ % % & & * * = = = = - - > > , , , , > *.O 9 9 9 9 9 9 9 9 B i.{ } !.!.5 5 5 5 5 5 5 5 5 5.5.5.5.5.5.5.5.5.5.5 5 5 5 5 5 5 5 5 } .+_ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 o.' > - - = = = = * * & & & % $ $ # # @ + + + + + + + + + ", -" + + + + + + + + + @ # $ $ % % & & & * = = = = = - - > > , , , , > q j 9 9 9 9 9 9 9 9 8 Q ~ $.} !.!.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 !.} x.8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 P { > - - = = = = = * * & & % % $ $ # # + + + + + + + + + + ", -" + + + + + + + + + + # # $ $ % % & & * * = = = = = - - > > , , , , > G.i 9 9 9 9 9 9 9 9 9 h z | $.} } !.!.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 !.!.} } k.V 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ 5+;.> ; - - = = = = * * & & % % $ $ # # @ + + + + + + + + + + ", -" + + + + + + + + + + @ # # $ $ % % & & * * = = = = = - - > > , , , , > +.B 9 9 9 9 9 9 9 9 9 9 t X.k.$.} } } } !.!.5 5 5 5 5 5 5 5 5 5 !.!.!.} } } } } ++_ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 N ; > ; - - = = = = * * & & & % $ $ # # @ + + + + + + + + + + + ", -" + + + + + + + + + + + # # $ $ $ % & & & * * = = = = = - - > > , , , , , /.6+9 9 9 9 9 9 9 9 9 9 _ 7+=.s ;.} } } } } } } } } } } } } } } } } } } $.$.' +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 n = ; - - = = = = * * & & & % % $ $ # # + + + + + + + + + + + + ", -" + + + + + + + + + + + + # # $ $ % % & & & * * = = = = = - - > > > , , , , | e 8 9 9 9 9 9 9 9 9 9 9 9 j c.(./.{ ;.} } } } } } } } } } } $.$.$.$.{ ' I.U 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 X #.- - = = = = * * & & & % % $ $ # # @ + + + + + + + + + + + + ", -" + + + + + + + + + + + + @ # # $ $ % % & & & * * = = = = = - - ; > > , , , , > w 8.9 9 9 9 9 9 9 9 9 9 9 9 9 O B.<.X.{+) 5.;., , , , , ' } 3 ]+i.F.8+T 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 O v - = = = = = * * & & % % $ $ # # @ + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + @ # # $ $ % % & & & * * = = = = = - - ; > > , , , , > H.Q 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ j h j.$+2+9+S.0 Z :.i _ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 j I.= = = = * * * & & % % $ $ # # @ + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + # # # $ $ % % & & & * * = = = = = - - ; > > > , , , , > t.%+_ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 / ' = = = = * * & & % % $ $ $ # # + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + # # $ $ $ % % & & & * * = = = = = - - - ; > > , , , , , ;.w {._ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 < % = = * * * & & % % $ $ $ # # + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + # # $ $ $ % % & & & * * = = = = = = - - ; > > > , , , , , { @+0+( 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 _ G.= = * * * & & % % $ $ $ # # @ + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + @ # # $ $ $ % % & & & * * = = = = = = - - - ; > > > , , , , , ; Z.V.m _ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 e.> = * * & & & % % $ $ $ # # @ + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + @ # # $ $ $ % % & & & * * = = = = = = = - - - ; > > > , , , , , > $.|.4+_+G _ 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 U 1+h 9 9 9 9 9 9 9 9 9 9 9 9 9 k >+* * * & & & % % $ $ $ # # @ + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + @ # # $ $ $ % % & & & * * * = = = = = = - - - - ; > > > > , , , , , > - 2 t.}.P %+:.k 8 _ _ _ _ _ 8 O : j.< p *.a , = ] l 9 9 9 9 9 9 9 9 9 9 9 j n.& * * & & & % % $ $ $ # # @ + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + @ # # $ $ $ % % & & & & * * = = = = = = = - - - - ; > > > > > , , , , , , , - = { D C I Y 1.u ]+@.6 !.- = > > > > > ; Z.e._ 9 9 9 9 9 9 9 9 R L % * & & & & % % $ $ $ # # @ + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + @ # # # $ $ % % % & & & * * * = = = = = = = = - - - - ; > > > > > > > , , , , , , , , , , , , , , > > > > > > > ; ; - $.X.Z O _ _ _ 8 A d #.& * & & & % % % $ $ $ # # @ + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + # # # $ $ $ % % & & & & * * * = = = = = = = = - - - - - ; ; > > > > > > > > > > > > > > > > > > > > ; ; - - - - - = = = &.(+[ t.[.= & * & & & & % % % $ $ # # # @ + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + @ # # $ $ $ % % % & & & & * * * = = = = = = = = = - - - - - - - ; ; ; ; ; ; ; ; ; ; ; ; ; ; - - - - - - - = = = = = = = = = * * * * & & & % % % $ $ $ # # # + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + @ # # $ $ $ $ % % & & & & * * * * = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = * * * * & & & & % % % $ $ $ # # @ + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ % % % & & & & * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * & & & & % % % $ $ $ # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ % % % & & & & & * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % & & & & & & * * * * * = = = = = = = = = = = = = = = = = = = = = = = = * * * * * & & & & & & % % % $ $ $ $ # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & & & * * * * * * * = = = = = = = = = = = = = = * * * * * * * & & & & & & & % % % $ $ $ $ # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & & & & & * * * * * * * * * * * * * * * * * * * * & & & & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % % & & & & & & & & & & & & & & & & & & & & % % % % % % $ $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # $ $ $ $ # # # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ # # # # # # # # # # # # # # # # @ @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", " ", " "}; diff --git a/share/pixmaps/ion_regtest16.png b/share/pixmaps/ion_regtest16.png index c751ce11ce28e..642979dd9fed5 100644 Binary files a/share/pixmaps/ion_regtest16.png and b/share/pixmaps/ion_regtest16.png differ diff --git a/share/pixmaps/ion_regtest16.xpm b/share/pixmaps/ion_regtest16.xpm index d93699b3ed5fc..3ab5136962a87 100644 --- a/share/pixmaps/ion_regtest16.xpm +++ b/share/pixmaps/ion_regtest16.xpm @@ -1,67 +1,43 @@ /* XPM */ static char * ion_regtest16_xpm[] = { -"16 16 48 1", +"16 16 24 1", " c None", -". c #000010", -"+ c #000012", -"@ c #000013", -"# c #000015", -"$ c #000017", -"% c #000014", -"& c #000019", -"* c #00001B", -"= c #00004D", -"- c #000093", -"; c #0000FE", -"> c #0000CB", -", c #000011", -"' c #000046", -") c #00001E", -"! c #000098", -"~ c #000021", -"{ c #000023", -"] c #000024", -"^ c #0000DA", -"/ c #0000E8", -"( c #0000E2", -"_ c #0000E4", -": c #00003E", -"< c #000026", -"[ c #000029", -"} c #000016", -"| c #00002B", -"1 c #00002C", -"2 c #000063", -"3 c #00001F", -"4 c #000028", -"5 c #000078", -"6 c #000077", -"7 c #000020", -"8 c #000076", -"9 c #00006C", -"0 c #000018", -"a c #0000EC", -"b c #000034", -"c c #0000C2", -"d c #0000DC", -"e c #000030", -"f c #00007F", -"g c #000065", -"h c #0000AA", -"i c #0000DD", -" .....+@@+..... ", -"....@#$$$$#@....", -"...%$&*=-*;>#,..", -"..%$*;;')!;;$#..", -".@$*;~{]]{^/($@.", -".#&_:]<[[<]~;&#.", -"+}*;{<|12|<{3;$+", -"+$;;]415564]7;$+", -"+$;;1416584]7;$+", -",}*;{<|19|<{3;}+", -".#0ab]<44<]~;0#.", -".@$*;7{]]{cda$@.", -"..%$*;;e3f;;$%..", -"...%$0*gh];i%...", -"....@#}$$}#@....", -" .....,++,..... "}; +". c #000000", +"+ c #700000", +"@ c #C80000", +"# c #B90000", +"$ c #A20000", +"% c #AB0000", +"& c #820000", +"* c #020000", +"= c #370000", +"- c #200000", +"; c #FF0000", +"> c #830000", +", c #C70000", +"' c #C40000", +") c #940000", +"! c #890000", +"~ c #9B0000", +"{ c #8D0000", +"] c #A60000", +"^ c #7B0000", +"/ c #010000", +"( c #750000", +"_ c #BE0000", +" ", +" ....+@# ", +" .. $@@ ", +" .. %&* ", +" .. .. ", +" . . ", +" =- ; . ", +">,' ;;; .", +")@@! ;;; .", +" ~{ ; . ", +" . . ", +" .. .. ", +" . ]^/ ", +" .. $@@ ", +" ....(@_ ", +" "}; diff --git a/share/pixmaps/ion_regtest256.png b/share/pixmaps/ion_regtest256.png index 9fa5f9c62b8c7..039d8fcdcd2b2 100644 Binary files a/share/pixmaps/ion_regtest256.png and b/share/pixmaps/ion_regtest256.png differ diff --git a/share/pixmaps/ion_regtest256.xpm b/share/pixmaps/ion_regtest256.xpm index acee9db11240d..6ea4d0e84cedb 100644 --- a/share/pixmaps/ion_regtest256.xpm +++ b/share/pixmaps/ion_regtest256.xpm @@ -1,499 +1,389 @@ /* XPM */ static char * ion_regtest256_xpm[] = { -"256 256 241 2", +"256 256 131 2", " c None", -". c #00000F", -"+ c #000010", -"@ c #000011", -"# c #000012", -"$ c #000013", -"% c #000014", -"& c #000015", -"* c #000016", -"= c #000017", -"- c #000018", -"; c #000019", -"> c #00001A", -", c #00001B", -"' c #00002D", -") c #000049", -"! c #000060", -"~ c #00006E", -"{ c #000070", -"] c #000065", -"^ c #000050", -"/ c #000034", -"( c #00004A", -"_ c #000093", -": c #0000CC", -"< c #0000EA", -"[ c #0000F5", -"} c #0000FB", -"| c #0000FD", -"1 c #0000FC", -"2 c #0000F7", -"3 c #0000EE", -"4 c #0000D9", -"5 c #0000A4", -"6 c #00005E", -"7 c #000020", -"8 c #000063", -"9 c #0000C7", -"0 c #0000FE", -"a c #0000F9", -"b c #0000DA", -"c c #000081", -"d c #000023", -"e c #00001C", -"f c #000045", -"g c #0000C1", -"h c #0000DB", -"i c #000021", -"j c #000028", -"k c #00002F", -"l c #000036", -"m c #00003C", -"n c #000040", -"o c #000043", -"p c #000044", -"q c #000042", -"r c #00003F", -"s c #00003A", -"t c #000026", -"u c #00001F", -"v c #00007B", -"w c #0000ED", -"x c #0000F8", -"y c #0000A6", -"z c #000022", -"A c #00006F", -"B c #00008E", -"C c #0000A7", -"D c #0000BA", -"E c #0000E6", -"F c #0000F1", -"G c #0000F3", -"H c #0000F4", -"I c #0000EB", -"J c #0000E3", -"K c #0000D7", -"L c #0000C6", -"M c #0000B4", -"N c #0000A0", -"O c #000085", -"P c #000047", -"Q c #00002E", -"R c #00001D", -"S c #00009B", -"T c #00002C", -"U c #00006B", -"V c #0000BE", -"W c #0000DE", -"X c #0000F2", -"Y c #0000D5", -"Z c #00008C", -"` c #00005C", -" . c #000035", -".. c #0000A3", -"+. c #0000CF", -"@. c #00002A", -"#. c #00007F", -"$. c #0000B5", -"%. c #0000DD", -"&. c #0000FA", -"*. c #0000F0", -"=. c #0000D1", -"-. c #000038", -";. c #000092", -">. c #0000C3", -",. c #00001E", -"'. c #0000F6", -"). c #0000D0", -"!. c #00009D", -"~. c #000068", -"{. c #0000B3", -"]. c #0000E7", -"^. c #000059", -"/. c #000055", -"(. c #0000A8", -"_. c #0000E4", -":. c #000031", -"<. c #000080", -"[. c #00009F", -"}. c #0000CB", -"|. c #0000AF", -"1. c #000048", -"2. c #0000AA", -"3. c #0000EC", -"4. c #0000E2", -"5. c #000025", -"6. c #00006D", -"7. c #0000DC", -"8. c #000039", -"9. c #0000D2", -"0. c #0000CA", -"a. c #0000C9", -"b. c #0000CE", -"c. c #0000D4", -"d. c #0000E5", -"e. c #0000BF", -"f. c #000084", -"g. c #000067", -"h. c #000051", -"i. c #000041", -"j. c #00002B", -"k. c #000027", -"l. c #000037", -"m. c #000057", -"n. c #0000AD", -"o. c #00004F", -"p. c #00003D", -"q. c #0000C0", -"r. c #00008F", -"s. c #00005F", -"t. c #00009E", -"u. c #0000C8", -"v. c #00004C", -"w. c #0000C4", -"x. c #000052", -"y. c #000062", -"z. c #000024", -"A. c #000075", -"B. c #00007E", -"C. c #000061", -"D. c #0000E9", -"E. c #0000A5", -"F. c #000083", -"G. c #0000DF", -"H. c #00008A", -"I. c #0000B7", -"J. c #000072", -"K. c #0000B2", -"L. c #00009A", -"M. c #000033", -"N. c #00005A", -"O. c #000098", -"P. c #000073", -"Q. c #00009C", -"R. c #000029", -"S. c #000076", -"T. c #00003E", -"U. c #000094", -"V. c #000087", -"W. c #000074", -"X. c #000099", -"Y. c #00007C", -"Z. c #00005D", -"`. c #000058", -" + c #000053", -".+ c #0000A9", -"++ c #0000E1", -"@+ c #0000BC", -"#+ c #000069", -"$+ c #0000AC", -"%+ c #000064", -"&+ c #000030", -"*+ c #00008D", -"=+ c #00005B", -"-+ c #0000E0", -";+ c #000032", -">+ c #0000EF", -",+ c #00003B", -"'+ c #00006A", -")+ c #00004B", -"!+ c #0000E8", -"~+ c #0000AE", -"{+ c #0000D3", -"]+ c #000082", -"^+ c #0000A1", -"/+ c #0000C2", -"(+ c #0000AB", -"_+ c #0000B9", -":+ c #000096", -"<+ c #0000CD", -"[+ c #000090", -"}+ c #0000D6", -"|+ c #0000D8", -"1+ c #00008B", -"2+ c #00004D", -"3+ c #00006C", -"4+ c #000056", -"5+ c #000089", -"6+ c #000046", -"7+ c #000078", -"8+ c #000079", -"9+ c #000077", -"0+ c #000054", -"a+ c #00007A", -"b+ c #00004E", -"c+ c #0000B1", -"d+ c #000071", -"e+ c #0000C5", -"f+ c #00007D", -"g+ c #000095", -"h+ c #000066", -"i+ c #0000B8", -"j+ c #0000A2", -"k+ c #0000B6", -"l+ c #0000B0", -"m+ c #000086", -"n+ c #0000BB", -"o+ c #000088", -"p+ c #0000BD", -"q+ c #000091", -"r+ c #000097", +". c #860000", +"+ c #910000", +"@ c #9D0000", +"# c #A00000", +"$ c #A60000", +"% c #A40000", +"& c #9E0000", +"* c #960000", +"= c #8B0000", +"- c #830000", +"; c #9F0000", +"> c #BD0000", +", c #C80000", +"' c #C70000", +") c #AB0000", +"! c #8F0000", +"~ c #BE0000", +"{ c #000000", +"] c #900000", +"^ c #C20000", +"/ c #A90000", +"( c #B50000", +"_ c #C60000", +": c #940000", +"< c #AD0000", +"[ c #C10000", +"} c #020000", +"| c #850000", +"1 c #C00000", +"2 c #6F0000", +"3 c #B90000", +"4 c #3B0000", +"5 c #A70000", +"6 c #0F0000", +"7 c #B80000", +"8 c #7A0000", +"9 c #240000", +"0 c #9B0000", +"a c #840000", +"b c #C50000", +"c c #190000", +"d c #950000", +"e c #620000", +"f c #BC0000", +"g c #180000", +"h c #4D0000", +"i c #B00000", +"j c #760000", +"k c #AF0000", +"l c #870000", +"m c #820000", +"n c #B10000", +"o c #380000", +"p c #8E0000", +"q c #B70000", +"r c #030000", +"s c #C40000", +"t c #790000", +"u c #970000", +"v c #140000", +"w c #BB0000", +"x c #550000", +"y c #930000", +"z c #920000", +"A c #B20000", +"B c #100000", +"C c #9A0000", +"D c #250000", +"E c #A20000", +"F c #2F0000", +"G c #990000", +"H c #260000", +"I c #8C0000", +"J c #170000", +"K c #040000", +"L c #A50000", +"M c #BA0000", +"N c #9C0000", +"O c #890000", +"P c #FF0000", +"Q c #0A0000", +"R c #1B0000", +"S c #050000", +"T c #460000", +"U c #730000", +"V c #AE0000", +"W c #640000", +"X c #300000", +"Y c #740000", +"Z c #280000", +"` c #BF0000", +" . c #B40000", +".. c #A10000", +"+. c #A30000", +"@. c #8A0000", +"#. c #B30000", +"$. c #AC0000", +"%. c #B60000", +"&. c #AA0000", +"*. c #4E0000", +"=. c #430000", +"-. c #7D0000", +";. c #4A0000", +">. c #120000", +",. c #0B0000", +"'. c #390000", +"). c #350000", +"!. c #2C0000", +"~. c #1F0000", +"{. c #980000", +"]. c #C30000", +"^. c #060000", +"/. c #2D0000", +"(. c #330000", +"_. c #270000", +":. c #5B0000", +"<. c #1A0000", +"[. c #720000", +"}. c #3C0000", +"|. c #4B0000", +"1. c #5F0000", +"2. c #800000", +"3. c #200000", +"4. c #750000", +"5. c #0D0000", +"6. c #340000", +"7. c #680000", +"8. c #010000", +"9. c #7E0000", +"0. c #8D0000", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & * = ", +" - ; > , , , , , , , , , , , ' ) ! ", +" + ~ , , , , , , , , , , , , , , , , , ' $ ", +" { { { { { { { { { { { { { { { { { { { { { { { { ] ^ , , , , , , , , , , , , , , , , , , , , , , / ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ( , , , , , , , , , , , , , , , , , , , , , , , , , _ : ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , < ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ~ ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { % , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , [ ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { } | , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 1 ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 2 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 3 ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 4 ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 5 ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 6 7 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 8 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 1 ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 9 _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 0 ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { a , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , b ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { c _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , d ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { e , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , f ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { / , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { g , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , * ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { h , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { j , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ' ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { k , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { f , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , l ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ~ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , l ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ( , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { $ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { * , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _ ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { l , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , k ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , m ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { n , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , o { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { p , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , q r { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 2 { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { @ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , s g { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , t { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { u , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > v { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { w , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , x { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , y } { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { z , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , A B { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { C , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , f D { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { E , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > F { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { G , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ( H { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { I b , , , , , , , , , , , , , , , , , , , , , , , , , , , , 0 J { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { A , , , , , , , , , , , , , , , , , , , , , , , , , s I K { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { p 1 , , , , , , , , , , , , , , , , , , , , , , L { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { ! w , , , , , , , , , , , , , , , , , ' E { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { 0 M , , , , , , , , , , , s 5 I { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { - p G & % # N : O { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" { { { { Q v R R B S { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" T U G 7 , , , , , _ V ] W X K { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" - E b , , , , , , , , , , , , , , M Y Z P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" O ( , , , , , , , , , , , , , , , , , , , , % P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" i , , , , , , , , , , , , , , , , , , , , , , , , E P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" * ' , , , , , , , , , , , , , , , , , , , , , , , , , , ` - P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" < , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , * P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" ., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , .. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" 3 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" ., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , C P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" L , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , @. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" ! , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , s P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" b , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" $ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , O P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" $ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , O P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , #. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" z , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" ., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , z P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , < P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" | , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ' P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" y , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" # , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" $., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , p P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" A , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , z P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" q , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , * P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" A , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , y P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" < , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , p P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" E , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , l P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" l , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ' P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" 7 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , * P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" * , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , %. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" < , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , p P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 1 P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" V , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ( P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" * , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _ P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" V , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" f , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , % P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" 1 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , < P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" ` , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , &. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { ", +" q , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , .. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" & , , , , , , , , , , , , , , , , , , , , , , , , , , , _ ! P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" . w , , , , , , , , , , , , , , , , , , , , , , , , ) P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" y 1 , , , , , , , , , , , , , , , , , , , , &.*. P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" I i , , , , , , , , , , , , , , , b p =.} { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" I # ., , , , , , , b &.-.;.>.{ { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { ,.D X '.).!.~.K { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { P P P P P P P P P P P P P P P P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { P { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { . z @ E $ % & {.= { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { - # ` , , , , , , , , , , , ' < ] { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { z ` , , , , , , , , , , , , , , , , , ' $ { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { + ]., , , , , , , , , , , , , , , , , , , , , , / { { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { ( , , , , , , , , , , , , , , , , , , , , , , , , , ' ] ^.{ { { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { ! ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , ..R { { { { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , M /.{ { { { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { % , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ` (.{ { { { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { ; , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ~ _.{ { { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ( v { { { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , u } { { { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , :.{ { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { C , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 1 g { { { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , -.{ { { { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , b <.{ { { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , [.{ { { { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { ! , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 3 S { ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { #., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , }. ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , @. ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { l , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { u , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ' ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { $ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { %., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ~ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , l ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { f , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , l ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { V , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { y , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { U , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _ ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { |., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , k ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { J , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , d ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 5 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 1., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { J b , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , : ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 2., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , b ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 3._ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , {. ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 4., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 1 ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 5.%., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , @. ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 6._ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , % ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 7., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , q ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { 8.9., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ` ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { .., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ` ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { G , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , M ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { = s , , , , , , , , , , , , , , , , , , , , , , , , , , , , / ", +" { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { n , , , , , , , , , , , , , , , , , , , , , , , , , s + ", +" { { { { { { { { { { { { { { { { { { { { { { 0.` , , , , , , , , , , , , , , , , , , , , , , % ", +" p 3 , , , , , , , , , , , , , , , , , ' .. ", +" 0 7 , , , , , , , , , , , b 5 = ", +" - p {.& +.; 0 y l ", +" ", +" ", +" ", +" ", +" ", " ", " ", -" . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ + ", -" . + @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ @ # # # # # # # # # # # # # # # # # # @ @ @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # # @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # $ $ $ $ $ $ $ $ $ % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # $ $ $ $ $ $ $ $ % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & * * * * * * * * * * * * * * * * * * & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % $ $ $ $ $ $ $ $ $ # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ $ $ % % % % % % % % % & & & & & & & & & & & & & & & & & * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * & & & & & & & & & & & & & & & & & % % % % % % % % % $ $ $ $ $ $ $ $ # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ $ % % % % % % % % % & & & & & & & & & & & & & & * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * & & & & & & & & & & & & & & & % % % % % % % % $ $ $ $ $ $ $ $ # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ % % % % % % % % & & & & & & & & & & & & & * * * * * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * * * * * & & & & & & & & & & & & & % % % % % % % $ $ $ $ $ $ $ $ # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ % % % % % % % & & & & & & & & & & & & * * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * * * & & & & & & & & & & & % % % % % % % $ $ $ $ $ $ $ $ # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ % % % % % % % & & & & & & & & & & * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * & & & & & & & & & & & % % % % % % $ $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ % % % % % % % & & & & & & & & & & * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * & & & & & & & & & & % % % % % % $ $ $ $ $ $ $ # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ % % % % % % % & & & & & & & & & & * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * & & & & & & & & & & % % % % % % $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ % % % % % % % & & & & & & & & & * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * & & & & & & & & & & % % % % % % $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ % % % % % % & & & & & & & & & * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * & & & & & & & & & % % % % % % $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ % % % % % % & & & & & & & & & * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * & & & & & & & & & % % % % % $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ $ % % % % % % & & & & & & & & * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * & & & & & & & & % % % % % % $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # # $ $ $ $ $ $ % % % % % % & & & & & & & & * * * * * * = = = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = = = * * * * * * * & & & & & & & & % % % % % $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ % % % % % % & & & & & & & & * * * * * * = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - ; > > > > > > > > > > > > > > ; - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = * * * * * * * & & & & & & & & % % % % % $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ $ % % % % % & & & & & & & & * * * * * * = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = * * * * * * * & & & & & & & % % % % % $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ $ % % % % % & & & & & & & * * * * * * = = = = = = = = = = = = = = = = = - - - - - - - - - - - - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; - - - - - - - - - - - = = = = = = = = = = = = = = = = = * * * * * * & & & & & & & & % % % % % $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & & & * * * * * = = = = = = = = = = = = = = = = - - - - - - - - - - - ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; - - - - - - - - - - = = = = = * % # @ @ @ $ & = = = * * * * * * & & & & & & & % % % % % $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # # $ $ $ $ $ % % % % % & & & & & & & * * * * * = = = = = = = = = = = = = = = = - - - - - - - - - ; > > > > > > > > > > > > > > > > , , , , , , , , , , , , , , , , , , , , , , , , > > > > > > > > > > > > > > > > ; - - - - - - - - - & @ = ' ) ! ~ { ] ^ / , + # * = * * * * * * & & & & & & % % % % % $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ $ $ % % % % % & & & & & & * * * * * * = = = = = = = = = = = = = = = - - - - - - - - ; > > > > > > > > > > > > > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > > > > > > > > > > > > > ; - - - - $ - ( _ : < [ } | | 1 2 3 4 5 6 7 + * * * * * * * & & & & & & & % % % % $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & & * * * * * = = = = = = = = = = = = = = - - - - - - - - ; > > > > > > > > > > > > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > > > > > > > > > > > * ; 8 9 [ | | | | | 0 0 0 | | | | a b c d @ * * * * * * * & & & & & & % % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & & * * * * * = = = = = = = = = = = = = = - - - - - - - ; > > > > > > > > > > , , , , , , , , , , , , , , , , , , , , , , e e , > > > ; ; ; ; ; ; ; > > , , , , , , , , , , , , , , , > > > > > > > $ f g a | | 0 0 0 0 0 0 0 0 0 0 0 0 | | 1 h ] $ & * * * * * * & & & & & & % % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & * * * * * = = = = = = = = = = = = = = - - - - - - ; ; > > > > > > > > > , , , , , , , , , , , , , , , , , , e , > = & % % * , i j k l m n o p q r s / ' t u ; & $ % & = > , , , , , , , , , , > ; * v w | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | x y i % = * * * * * & & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % & & & & & & & * * * * * = = = = = = = = = = = = = - - - - - - ; > > > > > > > > > , , , , , , , , , , , , , , , , , , ; * $ = z l ^ A B C D : h E w F G H H H H H G F I J K L M N O ] P Q R % $ * ; , , , , , > , S a | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 L T $ = = * * * * * & & & & & & % % % % $ $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % & & & & & & & * * * * = = = = = = = = = = = = = - - - - - - ; > > > > > > > > , , , , , , , , , , , , , , , , , - & & z n U S V W X x 1 | | | | | | | | | | | | | | | | | | | | | | 0 } 2 w Y M Z ` .e $ & ; > ; ..1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | +.@.% = = * * * * * & & & & & & % % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % & & & & & & * * * * * = = = = = = = = = = = = - - - - - - - > > > > > > > > , , , , , , , , , , , , , , , > * & z P #.$.%.[ } | | | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | | | &.*.=.y U -.; ;.} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | >.,.* = = * * * * * & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % & & & & & & * * * * * = = = = = = = = = = = = - - - - - - ; > > > > > > > , , , , , , , , , , , , , , > * * Q 8 C b '.1 | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | } F ).2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 !.@ = = = = * * * * & & & & & & % % % % % $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ % % % % % & & & & & & * * * * * = = = = = = = = = = = - - - - - - ; > > > > > > > , , , , , , , , , , , , , , = & ' ~.{.].&.| | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.^.@ = = = = * * * * * & & & & & % % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ % % % % % & & & & & & * * * * = = = = = = = = = = = = - - - - - ; > > > > > > > , , , , , , , , , , , , , > & u /.(._.} | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | =.e * = = = = * * * * * & & & & & % % % % % $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = = - - - - - - ; > > > > > > , , , , , , , , , , , , , ; % :.<.=.x | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } A @ = = = = = * * * * * & & & & & % % % % % $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = = - - - - - ; > > > > > > , , , , , , , , , , , , , - * q [.].1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | }.- = = = = = = = * * * * & & & & & % % % % % $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & * * * * * = = = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , , , , - = ( |.F | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | [ 1.$ = = = = = = = * * * * & & & & & % % % % % $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & * * * * * = = = = = = = = = = - - - - - - > > > > > > , , , , , , , , , , , , ; & 1.{.H | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | B . = = = = = = = = * * * * & & & & & % % % % $ $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ % % % % & & & & & * * * * * = = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , , , > & m 2.G | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | g % - = = = = = = = = * * * * & & & & & % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ % % % % & & & & & * * * * * = = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , , , * @._ 3.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 4.5.= = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = - - - - ; > > > > > > , , , , , , , , , , , ; , 6.7.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 | | | | | | | | | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | X 8.* = = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , , , & n D a | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | | | &.2 G I J 4 9.: 0.a.}.b.c.7.d.3 [ x } | | | | 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [ 1.& - = = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % & & & & & & * * * * = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , , ; R c I | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | a F h e.5 f.g.h.i./ j.5.z 7 ,.,.,.7 d k.' l.f m.{ B n.9 J H } | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.o.% - - = = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ % % % % & & & & & * * * * = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , e & p.q.} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | 2 J D r.s.p.k.e - - > e R u 7 7 7 7 7 7 7 7 7 7 u ,.R , ; = - R j.f 6.t.u.3.a | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.v.& - - - = = = = = = = = = = * * * * & & & & & % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & * * * * = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , , = A ].| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 1 3 w.Z x.T , - , ,.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 u 7 ,.e ; = ,. .y.N F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 H i.* - - - - = = = = = = = = = = * * * * & & & & % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & * * * * = = = = = = = = = - - - - - ; > > > > , , , , , , , , , , , ; z...x | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 1 w D A.-.e - e 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 u u u u ,.> * V | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | < Q ; - - - - - = = = = = = = = = = * * * & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + # # # # $ $ $ $ $ % % % & & & & & * * * * = = = = = = = = = - - - - - ; > > > > , , , , , , , , , , e * n b.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | [ 0.B.l.> ; ,.7 7 7 7 7 7 7 7 7 7 i i i i i i i i i i i i 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 u u - !.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | =.e > > ; - - - - = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = = - - - - - ; > > > > , , , , , , , , , , e * C.E | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 D.E.o.,.; ,.7 7 7 7 7 7 i i i i i i i i z z z z z z z z z z i i i i i i i i 7 7 7 7 7 7 7 7 7 7 7 7 > U } | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | (.# > > > - - - - - = = = = = = = = = * * * * & & & & & % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & * * * = = = = = = = = = - - - - - ; > > > > , , , , , , , , , , e - F.G | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 G.H.l ; e 7 7 7 7 7 i i i i z z z z z z z z z z z z z z z z z z z z z z z z z z i i i i i 7 7 7 7 7 7 7 ,.l.3.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a y.& > > > > ; - - - - = = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % % & & & & & * * * * = = = = = = = = - - - - - ; > > > > , , , , , , , , , , , R t.a | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 7.#.T ; ,.7 7 7 i i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i i i i 7 7 7 7 , I.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a J.$ , > > > > - - - - - = = = = = = = = = * * * * & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * * = = = = = = = = = - - - - ; > > > > , , , , , , , , , , > z.K.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 _.O j.; u 7 7 i i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i i i 7 7 , C.a | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | G #.& > > > > > - - - - - = = = = = = = = = * * * & & & & & % % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = = - - - - ; > > > > , , , , , , , , , , ; @.g 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | *.L.M.; u 7 7 i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i i i i a.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | x r.* > > > > > - - - - - = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & & * * * = = = = = = = = = - - - - ; > > > > , , , , , , , , , , ; k 0.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.V 1.; u 7 7 i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i e N.2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a O.= > > > > > - - - - = = = = = = = = = * * * * & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * * = = = = = = = = - - - - ; > > > > , , , , , , , , , , ; k b.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | d.P.,.e 7 7 i z z z z z z z z z z z z z z z z z z z z d d d d d d d d d d d d d d d d d d z z z z z z z z z z z z z z z z z z z , ..| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.Q.= > > > > ; - - - - = = = = = = = = = * * * & & & & & % % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = - - - - ; > > > > , , , , , , , , , , > Q b.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.{.l ; 7 i i z z z z z z z z z z z z z z z z z d d d d d d d d d d d d d d d d d d d d d d d d d d d d z z z z z z z z z z z z z z 7 @.b.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } S * > > > > ; - - - - = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = = - - - - > > > > > , , , , , , , , , > R.a.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | I S.e ,.7 i i z z z z z z z z z z z z z z z d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d z z z z z z z z z z z ,.T.W | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.U.& > > > > ; - - - - = = = = = = = = * * * * & & & & % % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % % & & & & * * * = = = = = = = = = - - - - ; > > > > , , , , , , , , , , d e.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 : p ; 7 i i z z z z z z z z z z z z z d d d d d d d d d d d d d d d d d z.z.z.z.z.z.z.z.d d d d d d d d d d d d d d d d d z z z z z z z z z R P 7.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a V.% > > > > - - - - = = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = - - - - ; > > > > , , , , , , , , , e e |.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | x 5 k.R i i z z z z z z z z z z z z z d d d d d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d d d d z z z z z z z z R m a.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.W.% > > > > - - - - = = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = - - - - ; > > > > , , , , , , , , , e = X.} 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | F Y.e u i z z z z z z z z z z z z d d d d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d d d z z z z z z u j L.X | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | *.` % > > > ; - - - - = = = = = = = = * * * * & & & & % % % % $ $ $ $ # # # @ + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = - - - - > > > > , , , , , , , , , e & Y.a | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ].Z.; i i z z z z z z z z z z z d d d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d d z z z z z i , ^ V '.| | | 0 0 0 0 0 0 0 0 0 | | &.h '.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ].o * > > > ; - - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = - - - - > > > > > , , , , , , , , e = `.F | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | h P > i i z z z z z z z z z z z d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d z z z z z ,.,. +.+++x 1 | | | | | | | &.I @+#+z.A.X | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | c.j.- > > > - - - - = = = = = = = = * * * * & & & & % % % % $ $ $ $ # # # @ + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * = = = = = = = = - - - - ; > > > > , , , , , , , , e ; s 4.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | =.8.e i z z z z z z z z z z z d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d z z z z z ,.> j./.O $+q.u.0.>.{.;.C./ > ; ,.= %+w | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 $.> ; > > ; - - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & * * * * = = = = = = = = - - - - > > > > , , , , , , , , , , z 9 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0.&+R i z z z z z z z z z z d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d z z z z z z i R ; ; , R R , - - , ,.u u u u = `.< 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } *+$ > > > ; - - - = = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # @ + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * = = = = = = = = - - - - > > > > , , , , , , , , , e = Q.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 9 ' ,.i z z z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d z z z z z z z z z z i 7 7 7 7 7 u u u u ,.- +D.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | G =+% > > > - - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + ", -" + + + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * * = = = = = = = = - - - ; > > > > , , , , , , , , e * ] '.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a.Q ,.i z z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d z z z z z z z z z i i 7 7 7 7 7 u u u u ,.- /.I | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | -+&+- > > ; - - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # @ + + + + + + + + + + + + ", -" + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * = = = = = = = = - - - - > > > > , , , , , , , , e > .4.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ).;+,.i z z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d z z z z z z z z i i 7 7 7 7 7 u u u u ,.- ` >+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | M = > > > ; - - - = = = = = = = = * * * * & & & & % % % $ $ $ $ # # # # + + + + + + + + + + + + ", -" + + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * * = = = = = = = - - - - ; > > > , , , , , , , , , e > $.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | h ,+R i z z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d z z z z z z z z z i 7 7 7 7 7 u u u u ,.= '+H | 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.W.$ > > > - - - - = = = = = = = = * * * & & & & & % % % $ $ $ # # # # @ + + + + + + + + + + + ", -" + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * = = = = = = = = - - - - > > > > , , , , , , , , e * P.a | 0 0 0 0 0 0 0 0 0 0 0 0 0 | D.)+e z z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.t t t t t t t t t t t t t t t t t 5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d z z z z z z z z z i 7 7 7 7 7 u u u u ,.= <.a | 0 0 0 0 0 0 0 0 0 0 0 0 0 | !+-.= > > ; - - - - = = = = = = = * * * * & & & & % % % $ $ $ $ # # # # + + + + + + + + + + + ", -" + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * * = = = = = = = - - - - ; > > > , , , , , , , , e > / d.| 0 0 0 0 0 0 0 0 0 0 0 0 0 | G 8 > i z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.t t t t t t t t t t t t t t t t t t t t t t t t t 5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i i 7 7 7 7 7 u u u u ,.; [.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 | $.= > > > - - - - = = = = = = = = * * * & & & & % % % % $ $ $ # # # # @ + + + + + + + + + + ", -" + + + + + + + + + + @ # # # # $ $ $ % % % % & & & & * * * = = = = = = = = - - - - > > > > , , , , , , , , e = ~+| 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.f.; i z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t 5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i i 7 7 7 7 u u u u u R 7 V | 0 0 0 0 0 0 0 0 0 0 0 0 0 | a U $ > > ; - - - - = = = = = = = * * * * & & & & % % % $ $ $ $ # # # @ + + + + + + + + + + ", -" + + + + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * * = = = = = = = - - - - > > > > , , , , , , , , e = Z.2 | 0 0 0 0 0 0 0 0 0 0 0 0 | 1 n.e i z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.t t t t t t t t t t k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.t t t t t t t t t t t 5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i i 7 7 7 7 u u u u ,.e ;+7.| 0 0 0 0 0 0 0 0 0 0 0 0 0 | W @.- > > - - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + ", -" + + + + + + + + + + # # # # $ $ $ % % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , , e e z {+| 0 0 0 0 0 0 0 0 0 0 0 0 0 | 9.@.7 z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.t t t t t t t t k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.t t t t t t t t 5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i i 7 7 7 7 u u u u ,.; +F | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 O.$ > > ; - - - - = = = = = = = * * * & & & & & % % % $ $ $ $ # # # @ + + + + + + + + + ", -" + + + + + + + + + @ # # # $ $ $ $ % % % & & & & & * * * = = = = = = = - - - - > > > > , , , , , , , , e & ]+} | 0 0 0 0 0 0 0 0 0 0 0 0 | 3 v.e z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t t t t k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.t t t t t t t 5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z z i 7 7 7 7 7 u u u u ,.= O } | 0 0 0 0 0 0 0 0 0 0 0 0 | >+q * > > - - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # # + + + + + + + + + ", -" + + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , , e , ;+_.| 0 0 0 0 0 0 0 0 0 0 0 0 | &.c ; z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t t k.k.k.k.k.k.k.k.k.k.j j j j j j j j j j j j j j j j k.k.k.k.k.k.k.k.k.k.t t t t t t t 5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z z i 7 7 7 7 u u u u u ,.,.@+| 0 0 0 0 0 0 0 0 0 0 0 0 0 | M * > > ; - - - - = = = = = = = * * * & & & & % % % % $ $ $ # # # # @ + + + + + + + + ", -" + + + + + + + + @ # # # # $ $ $ % % % % & & & & * * * = = = = = = = - - - - > > > > , , , , , , , , e & L.1 0 0 0 0 0 0 0 0 0 0 0 0 0 | @+u i z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t t k.k.k.k.k.k.k.k.j j j j j j j j j j j j j j j j j j j j j j j j k.k.k.k.k.k.k.k.k.t t t t t 5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z z i 7 7 7 7 u u u u ,., ,+].| 0 0 0 0 0 0 0 0 0 0 0 0 | './.& > > - - - - = = = = = = = * * * * & & & & % % % $ $ $ $ # # # @ + + + + + + + + ", -" + + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , , e > m 3.| 0 0 0 0 0 0 0 0 0 0 0 0 | !+r ,.z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t t t k.k.k.k.k.k.k.j j j j j j j j j R.R.R.R.R.R.R.R.R.R.R.R.R.j j j j j j j j j k.k.k.k.k.k.k.t t t t t 5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z i i 7 7 7 7 u u u u ,.- S.&.| 0 0 0 0 0 0 0 0 0 0 0 0 | g ; > > ; - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # # + + + + + + + + ", -" + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , , e & ^+| 0 0 0 0 0 0 0 0 0 0 0 0 | &.c > i z z z z z z z d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t t k.k.k.k.k.k.k.j j j j j j j R.R.R.R.R.R.R.R.@.@.@.@.R.R.R.R.R.R.R.R.R.j j j j j j j k.k.k.k.k.k.t t t t t 5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z i 7 7 7 7 7 u u u ,.,.R V | 0 0 0 0 0 0 0 0 0 0 0 0 | x =+& > > - - - - = = = = = = = * * * * & & & & % % % $ $ $ # # # # @ + + + + + + + ", -" + + + + + + + + # # # # $ $ $ % % % & & & & & * * * = = = = = = = - - - - > > > , , , , , , , , e > ,+3.| 0 0 0 0 0 0 0 0 0 0 0 0 | a.d i z z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t k.k.k.k.k.k.j j j j j j R.R.R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.R.R.R.R.R.j j j j j j k.k.k.k.k.k.t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z i 7 7 7 7 u u u u ,., p >+| 0 0 0 0 0 0 0 0 0 0 0 0 | /+; > > ; - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + + ", -" + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , , e & Q.| 0 0 0 0 0 0 0 0 0 0 0 0 | G /.R z z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t k.k.k.k.k.k.j j j j j R.R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.R.R.R.R.j j j j j j k.k.k.k.k.t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z z i 7 7 7 7 u u u u ,.= _ 1 | 0 0 0 0 0 0 0 0 0 0 0 | 2 /.& > > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # # + + + + + + + ", -" + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > > , , , , , , , e , M.!+| 0 0 0 0 0 0 0 0 0 0 0 0 | (+> i z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t t k.k.k.k.k.j j j j j R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.R.R.R.j j j j j k.k.k.k.k.t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.R @.W | 0 0 0 0 0 0 0 0 0 0 0 0 | _+& > > ; - - - = = = = = = = * * * * & & & & % % % $ $ $ # # # # @ + + + + + + ", -" + + + + + + + # # # # $ $ $ % % % & & & & * * * * = = = = = = = - - - ; > > > , , , , , , , , e & H.1 0 0 0 0 0 0 0 0 0 0 0 0 | I p.u z z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t k.k.k.k.k.j j j j R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.@.@.@.@.R.R.R.j j j j j k.k.k.k.k.t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.d d d d d z z z z z z z i 7 7 7 7 u u u u ,.= A.} | 0 0 0 0 0 0 0 0 0 0 0 | H f = > > - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + ", -" + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - > > > > , , , , , , , e e 5.h | 0 0 0 0 0 0 0 0 0 0 0 0 1 :+; z z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t k.k.k.k.j j j j R.R.R.@.@.@.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.@.@.R.R.R.j j j j k.k.k.k.k.t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.d d d d d z z z z z z i i 7 7 7 u u u u ,.,.z =.| 0 0 0 0 0 0 0 0 0 0 0 0 | ^+# > > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # # + + + + + + ", -" + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > , , , , , , , , e * U &.| 0 0 0 0 0 0 0 0 0 0 0 | E / 7 z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.t t t t t k.k.k.k.j j j j R.R.R.@.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.@.R.R.j j j j k.k.k.k.k.t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.- '+&.| 0 0 0 0 0 0 0 0 0 0 0 | !+Q - > ; - - - = = = = = = = * * * * & & & & % % % $ $ $ # # # # + + + + + + ", -" + + + + + + # # # # $ $ $ % % % & & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e R - q.| 0 0 0 0 0 0 0 0 0 0 0 0 1 _ ; z z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t k.k.k.k.j j j R.R.R.@.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.R.R.R.j j j j k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z i i 7 7 7 7 u u u ,.,.i <+| 0 0 0 0 0 0 0 0 0 0 0 | 1 v $ > > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + ", -" + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - > > > > , , , , , , , e > i.F | 0 0 0 0 0 0 0 0 0 0 0 | D.l 7 z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t k.k.k.k.j j j R.R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.R.R.j j j j k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.- 6.&.| 0 0 0 0 0 0 0 0 0 0 0 | }.> > > ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + ", -" + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > , , , , , , , , e % [+| 0 0 0 0 0 0 0 0 0 0 0 0 | N ; z z z z z z z d d d z.z.z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.k.j j j R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.R.R.j j j j k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i i 7 7 7 u u u u ,.R 5.}+| 0 0 0 0 0 0 0 0 0 0 0 | [ ( * > ; - - - = = = = = = = * * * & & & & % % % % $ $ $ # # # # + + + + + ", -" + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e e u }+| 0 0 0 0 0 0 0 0 0 0 0 | F f u z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.k.j j j R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j j k.k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.= c 1 0 0 0 0 0 0 0 0 0 0 0 0 | O.# > > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # @ + + + + ", -" + + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = = - - - > > > > , , , , , , , e - x.'.| 0 0 0 0 0 0 0 0 0 0 0 | D , z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.k.j j j R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T T T T T T j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j j k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u u ,.R ;+].| 0 0 0 0 0 0 0 0 0 0 0 | h z ; > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + ", -" + + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > > , , , , , , , e % S | 0 0 0 0 0 0 0 0 0 0 0 | a 8 e z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.k.j j j R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T T T T T T T T T T T T T j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u ,.,.= E.| 0 0 0 0 0 0 0 0 0 0 0 | 2 /.& > ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + ", -" + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e e 7 |+| 0 0 0 0 0 0 0 0 0 0 0 | 4 k.i z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.j j j R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T T T T T T T T T T T T T T T T T T j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u u ,.> h.'.0 0 0 0 0 0 0 0 0 0 0 0 | S # > > - - - = = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + + ", -" + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e ; v.[ | 0 0 0 0 0 0 0 0 0 0 0 1 U.; z z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.j j j R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T T T T T T T j.@.@.j.T ' ' T j.@.R.@.j.T T j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z z i 7 7 7 u u u u ,.,.7 +.| 0 0 0 0 0 0 0 0 0 0 0 | K u ; > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + + ", -" + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = = - - - > > > > , , , , , , , e % 1+| 0 0 0 0 0 0 0 0 0 0 0 | H ( ,.z z z z z z d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.k.j j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T ' ' ' ' j.@.&+p.2+N.%+'+3+3+U ~.C.4+P -.T R.j.T j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u ,.,.= 5+1 0 0 0 0 0 0 0 0 0 0 0 | H 6+* > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # @ + + + ", -" + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > , , , , , , , e e ; L | 0 0 0 0 0 0 0 0 0 0 0 | b.i i z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.j j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.j.j.T T T T T T T ' ' ' ' @.Q q Z.{ 7+8+8+7+7+7+7+9+7+7+8+8+A.'+0+8.@.@.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.j j j k.k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i i 7 7 7 u u u u ,., p G | 0 0 0 0 0 0 0 0 0 0 0 | F.# > ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + ", -" + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e , M.< | 0 0 0 0 0 0 0 0 0 0 0 1 *+> i z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.j.j.T T T T T T ' ' ' ' j.k 2+3+8+8+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+7+S.8 i.@.@.j.j.j.j.j.j.j.j.j.@.@.@.@.R.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.,.,.}.| 0 0 0 0 0 0 0 0 0 0 0 | @+* > > - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + ", -" + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e = %+&.| 0 0 0 0 0 0 0 0 0 0 | [ 2+,.z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.t t t k.k.k.k.j j j R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.T T T T T ' ' ' ' T T 1.~ a+9+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.9+7+%+s R.j.j.j.j.j.j.j.j.j.@.@.@.@.R.R.j j k.k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u ,.,.* *+| 0 0 0 0 0 0 0 0 0 0 0 | E R.; > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + ", -" + + + @ # # # $ $ $ $ % % & & & & & * * * = = = = = = = - - - > > > > , , , , , , , R % X.| 0 0 0 0 0 0 0 0 0 0 0 | K 5.i z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.j.T T T T T ' ' ' ' j. .8 8+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.9+S. +T @.j.j.j.j.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t t 5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z z i 7 7 7 u u u u ,.> b+2 0 0 0 0 0 0 0 0 0 0 0 | 2 x.* > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + ", -" + + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = = - - - > > > , , , , , , , e e > a.| 0 0 0 0 0 0 0 0 0 0 0 | y ; z z z z z z d d d d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.j.j.T T T T T ' ' ' ' j.q J.7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.7+] M.R.j.j.j.j.j.j.j.@.@.@.@.R.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.R t 7.| 0 0 0 0 0 0 0 0 0 0 0 | O # > ; - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + ", -" + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e , Q E | 0 0 0 0 0 0 0 0 0 0 0 } U , z z z z z z d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T T ' ' ' ' j.v.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.9+~ -.R.j.j.j.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u ,.,.= c+| 0 0 0 0 0 0 0 0 0 0 0 | M % > > - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + ", -" + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e - h.2 | 0 0 0 0 0 0 0 0 0 0 | 3 p.u z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T T ' ' ' ' j.b+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.d+s R.j.j.j.j.j.j.@.@.@.@.R.R.j j k.k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 7 u u u ,.,.= 9+1 0 0 0 0 0 0 0 0 0 0 0 | 7.7 ; > - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + ", -" + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - > > > > , , , , , , , e & Y.1 0 0 0 0 0 0 0 0 0 0 0 | c.d i z z z z z d d d d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.R.@.@.@.j.j.j.j.j.j.j.j.j.T T T T ' ' ' ' j.( 7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.{ l @.j.j.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,., 1.'.| 0 0 0 0 0 0 0 0 0 0 | 3 -.= > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + + ", -" + + + # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - > > > > , , , , , , e - + ..| 0 0 0 0 0 0 0 0 0 0 0 | n.> z z z z z z d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T ' ' ' ' T n S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.9+U k j.j.j.j.j.j.@.@.@.@.R.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.R j -+| 0 0 0 0 0 0 0 0 0 0 | &.=+& > - - - - = = = = = = = * * & & & & % % % % $ $ $ # # # @ + + ", -" + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - > > > > , , , , e = > /.2.F 0 0 0 0 0 0 0 0 0 0 0 0 1 8+= i z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' ' ' / { 9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.7+Z.R.j.j.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 u u u u ,.,.; >.| 0 0 0 0 0 0 0 0 0 0 0 | ]+# > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + ", -" + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > > , , , > * /.e+'.| 0 0 0 0 0 0 0 0 0 0 0 0 0 | b.`., 7 z z z d d d d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T ' ' ' ' T 6 8+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.7+6+R.j.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 7 u u u ,.,.& X.| 0 0 0 0 0 0 0 0 0 0 0 | 5 # > ; - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + ", -" + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , = j y '.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | [ y ' ,.z z d d d d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' ' T o 7+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.A &+j.j.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.- { 1 0 0 0 0 0 0 0 0 0 0 0 | e+* > > - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + ", -" + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , & p }+| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | }+1.e z d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' ' k '+7+9+9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.7+ +j j.j.j.j.j.@.@.@.@.R.j j k.k.k.k.t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u u ,.> o.a 0 0 0 0 0 0 0 0 0 0 0 | W 7 ; > - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + ", -" + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , & x.].| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ].4+R d d d z.z.z.z.z.z.z.5.5.5.5.t t k.k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' ' T P 8+9+9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.J.:.@.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.R .3.| 0 0 0 0 0 0 0 0 0 0 | D.Q - > - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > & )+!+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | !+o.,.d d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' Q ' g.7+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.7+o.j j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 u u u u ,.,.z.7.| 0 0 0 0 0 0 0 0 0 0 | X n = > - - - - = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > - M.7.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | %.-.i d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' ' m 9+S.9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.U j.j.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 u u u u ,.,., <+| 0 0 0 0 0 0 0 0 0 0 | &.0+* > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - > > > ; I.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | _+i d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.T T T T ' ' ' ' j.0+8+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.9+,+@.j.j.j.j.@.@.@.@.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 u u u u ,.,.= _+| 0 0 0 0 0 0 0 0 0 0 | 1 #+% > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - > > % A &.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a P.R z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' Q ' '+7+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.7+h.j j.j.j.j.@.@.@.@.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 7 u u u ,.,.& ..| 0 0 0 0 0 0 0 0 0 0 0 | v # > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - > ; 5.h | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | h ' d z.z.z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' ' l A.S.9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.9+] R.j.j.j.j.@.@.@.@.R.j j k.k.k.t t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.* r.| 0 0 0 0 0 0 0 0 0 0 0 | 5+# > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - > $ 8+1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } f+R z.z.z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' T q 8+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.{ Q j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.* #.| 0 0 0 0 0 0 0 0 0 0 0 | g+@ > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - > , b.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | b.z.z.z.z.z.z.5.5.5.t t t k.k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' j.o.a+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.A.S.l @.j.j.j.@.@.@.@.R.R.j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.= W.1 0 0 0 0 0 0 0 0 0 0 0 | [.# > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # # + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - * P [ | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | H b+7 z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' j.^.8+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+8+8+8+8+8+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+r @.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.- 3+1 0 0 0 0 0 0 0 0 0 0 0 | C # > - - - - = = = = = = = * * & & & & % % % % $ $ $ # # # # + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - # V.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1+e z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.T T T T ' ' ' ' j.s.8+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+8+8+8+8+8+8+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+f R.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.; h+1 0 0 0 0 0 0 0 0 0 0 0 | n.# > - - - - = = = = = = = * * & & & & % % % % $ $ $ # # # # + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - ; % i+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | i+,.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.T T T T ' ' ' Q T y.7+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+8+8+8+8+8+8+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+P R.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.; 8 1 0 0 0 0 0 0 0 0 0 0 0 | c+# > - - - - = = = = = = = * * & & & & % % % % $ $ $ # # # # + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - R |+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | K t z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.T T T T ' ' ' ' T y.7+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+8+8+8+8+8+8+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+1.R.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.; y.1 0 0 0 0 0 0 0 0 0 0 0 | c+# > - - - - = = = = = = = * * & & & & % % % % $ $ $ # # # # + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - = @.I | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | D.M.d z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' j.! 7+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+8+8+8+8+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+6+R.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.; ] 1 0 0 0 0 0 0 0 0 0 0 0 | |.# > - - - - = = = = = = = * * & & & & % % % % $ $ $ # # # # + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - * M.X | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | >+m z z.z.z.5.5.5.t t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' j.=+8+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+8+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+i.R.j.j.j.@.@.@.@.R.R.j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.- '+1 0 0 0 0 0 0 0 0 0 0 0 | 2.# > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # # + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - = l G | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | *.r z z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' j. +8+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.A.9+8.@.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.= { 1 0 0 0 0 0 0 0 0 0 0 0 | j+# > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - = &+*.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 3 8.z z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' T 6+8+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.P.:.j.j.j.j.@.@.@.@.R.j j k.k.k.t t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.= v 1 0 0 0 0 0 0 0 0 0 0 0 | X.@ > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - 5.E | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | _.Q z.z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' ' s 9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.#+@.j.j.j.j.@.@.@.@.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 7 u u u ,.,.* 5+| 0 0 0 0 0 0 0 0 0 0 0 | Z # > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - ; ; b.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | b.d z.z.z.z.z.5.5.5.t t t k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.T T T T ' ' ' ' &+A 9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+^.j j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 u u u u ,.,.& Q.| 0 0 0 0 0 0 0 0 0 0 0 | <.# > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - ; # .+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | (+e z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T ' ' ' ' j.` 8+9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+q R.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 u u u u ,.,.* K.| 0 0 0 0 0 0 0 0 0 0 0 | A % > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + ", -" + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - $ { 1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } S.R z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' T p 8+S.9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.d+k j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.,.; 9 | 0 0 0 0 0 0 0 0 0 0 | } =+& > - - - - = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + ", -" + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = - - - = / 3 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 3.m z z.z.z.z.z.5.5.5.5.t t t k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' ' &+A 9+9+9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+N.j j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.,.i K | 0 0 0 0 0 0 0 0 0 0 | [ P = ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + ", -" + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; % M | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | k+,.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' j.x.8+9+9+9+9+9+9+9+9+9+9+9+9+7+7+7+7+7+7+7+7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.9+8.@.j.j.j.j.@.@.@.R.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z i 7 7 7 7 u u u ,.,.R k E | 0 0 0 0 0 0 0 0 0 0 | 3.M.- ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + ", -" + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = - - - - & m.x | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.Z.u z.z.z.z.z.z.z.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.T T T T ' ' ' T / J.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.9+! R.j.j.j.j.@.@.@.@.R.R.j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 7 u u u ,.,., f [ | 0 0 0 0 0 0 0 0 0 0 | 4.z.; > - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + ", -" + + @ # # # $ $ $ % % % & & & & * * * * = = = = = = - - - - > - @+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | V 7 d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.k.j j R.R.@.@.@.j.j.j.j.j.j.j.j.T T T T ' ' ' j.h.8+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.S.8.@.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 7 u u u ,.,.- %+1 0 0 0 0 0 0 0 0 0 0 0 | +.; > ; - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + ", -" + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - > * 6+>+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | >+)+u d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.j.T T T T T ' ' ' k 3+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+4+j j.j.j.j.j.@.@.@.R.R.j j j k.k.t t t t 5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.,.* H.| 0 0 0 0 0 0 0 0 0 0 0 | l+$ > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + ", -" + + + # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - > > $ m+} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.5+e d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T ' ' ' j.r 9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.9+U Q j.j.j.j.j.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.,.* k+| 0 0 0 0 0 0 0 0 0 0 0 | *+# > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # @ + + ", -" + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > ; > l+1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 K.i z d d d z.z.z.z.z.z.z.5.5.5.t t t k.k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T ' ' ' j.h.8+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.S.W.,+R.j.j.j.j.j.@.@.@.R.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d z z z z z z z 7 7 7 7 u u u u ,.,.7 }+| 0 0 0 0 0 0 0 0 0 0 0 1 #+% > - - - - = = = = = = = * * & & & & % % % $ $ $ $ # # # @ + + ", -" + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > - 5./+| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | w.@.i d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.j j j R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T T ' ' ' T Z.8+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.9+P R.j.j.j.j.j.@.@.@.@.R.R.j j k.k.k.t t t t 5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z i 7 7 7 7 u u u ,.,.e ,+*.| 0 0 0 0 0 0 0 0 0 0 | G p = ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + ", -" + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > - k.D 1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 n+T 7 z z d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.T T T T T ' ' ' Q y.8+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+2+R.j.j.j.j.j.@.@.@.@.@.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u ,.,.- ] } 0 0 0 0 0 0 0 0 0 0 0 | _.k.; > - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + ", -" + + + @ # # # $ $ $ % % % & & & & * * * = = = = = = = = - - - > > > > ; ,.O.'.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.X.z.7 z z z d d d d z.z.z.z.z.z.z.5.5.5.t t t t k.k.k.j j j R.@.@.@.@.@.j.j.j.j.j.j.j.j.T T T T T ' ' T Q C.8+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.S.9+v.R.j.j.j.j.j.j.@.@.@.@.R.R.j j k.k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 u u u u ,.,.* t.| 0 0 0 0 0 0 0 0 0 0 0 | w.= > ; - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + ", -" + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - > > > > , > & ` }+1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 _.s., i z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.k.j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.j.T T T T T ' ' T ' `.8+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.9+W.f j j.j.j.j.j.j.@.@.@.@.R.R.j j j k.k.k.t t t t 5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z z 7 7 7 7 u u u u ,.,.,.+.| 0 0 0 0 0 0 0 0 0 0 0 | g+# > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + ", -" + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , * d v K &.| | 0 0 0 0 0 0 0 0 0 0 0 0 | 9 , i z z z z z z d d d z.z.z.z.z.z.z.z.5.5.5.t t t t k.k.k.j j j R.R.@.@.@.@.j.j.j.j.j.j.j.j.j.T T T T T T ' ' j.1.P.7+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.8+#+-.R.j.j.j.j.j.j.j.@.@.@.@.R.R.j j k.k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u ,.,.e T.F | 0 0 0 0 0 0 0 0 0 0 | &.8 % > - - - - = = = = = = = * * * & & & % % % $ $ $ $ # # # # + + + ", -" + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , & i ` E.-+| 0 0 0 0 0 0 0 0 0 0 0 | 3 m u z z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.k.j j j R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.T T T T T T ' ' @.l ! 8+7+S.9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+W.h.T @.j.j.j.j.j.j.j.@.@.@.@.R.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z z i 7 7 7 u u u u ,.,.= S.1 0 0 0 0 0 0 0 0 0 0 0 | w .- > - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + ", -" + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > , , , , , , , = $ f F | 0 0 0 0 0 0 0 0 0 0 0 } A.> z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.t t t t k.k.k.j j j R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.T T T T T T T ' T j.n h+7+8+9+9+9+9+9+9+9+9+9+9+9+9+9+S.S.S.S.7+W.N. .R.j.j.j.j.j.j.j.j.@.@.@.@.R.R.j j j k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u u ,.,.- _+| 0 0 0 0 0 0 0 0 0 0 0 | <+> > ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + ", -" + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = = - - - > > > > , , , , , , , e u }+| 0 0 0 0 0 0 0 0 0 0 0 | n+, i z z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.k.j j j R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.T T T T T T T T j.T p.` d+8+8+7+9+9+9+9+9+9+S.S.S.9+8+9+U h. .R.@.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u ,.,.R ;+!+| 0 0 0 0 0 0 0 0 0 0 0 | :+# > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + ", -" + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e % [.| 0 0 0 0 0 0 0 0 0 0 0 | < l.7 z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.t t t t k.k.k.k.j j j R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T T j.@.:.i./.] { A.9+7+9+9+S.P.3+C.o.,+' R.@.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z z i 7 7 7 u u u u ,.,.- ~ } 0 0 0 0 0 0 0 0 0 0 0 | x N.& > - - - - = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + + ", -" + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e = C.&.| 0 0 0 0 0 0 0 0 0 0 0 } 7+> i z z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.j j j j R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T T T @.R.j.k / 8.m p.,+l.;+' @.R.@.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.k.t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u u ,.,.; D | 0 0 0 0 0 0 0 0 0 0 0 | d.R.; > - - - = = = = = = = = * * & & & & % % % $ $ $ $ # # # # + + + + ", -" + + + + + # # # # $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > , , , , , , , , , j.E | 0 0 0 0 0 0 0 0 0 0 0 | e+,.i z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t k.k.k.k.j j j R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T T T T T j.j.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d z z z z z z z i 7 7 7 7 u u u ,.,.e ,+w | 0 0 0 0 0 0 0 0 0 0 0 | c+% > ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + ", -" + + + + + # # # # $ $ $ % % % & & & & & * * * = = = = = = = - - - ; > > > , , , , , , , R & c+| 0 0 0 0 0 0 0 0 0 0 0 | G ) ,.z z z z z z z d d d d z.z.z.z.z.z.z.5.5.5.5.5.t t t k.k.k.k.j j j R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.T T T T T T T j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.R.R.j j j j k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z i 7 7 7 7 u u u u ,.,.= o+1 0 0 0 0 0 0 0 0 0 0 0 | } 3+% > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + ", -" + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - ; > > > , , , , , , , e * '+} | 0 0 0 0 0 0 0 0 0 0 0 | t.- i z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.k.j j j R.R.R.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.R.R.j j j j k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u ,.,.,.d c.| 0 0 0 0 0 0 0 0 0 0 0 | D.k - > - - - = = = = = = = = * * * & & & & % % % $ $ $ # # # # + + + + + ", -" + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > , , , , , , , , , j.E | 0 0 0 0 0 0 0 0 0 0 0 | _.k 7 z z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t t k.k.k.k.j j j j R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.R.R.j j j j k.k.k.t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 u u u u ,.,.; y.a | 0 0 0 0 0 0 0 0 0 0 0 | K.% > ; - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # # + + + + + ", -" + + + + + + # # # $ $ $ $ % % % & & & & * * * * = = = = = = = - - - ; > > > , , , , , , , e & 2.| 0 0 0 0 0 0 0 0 0 0 0 0 1 #.; i z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t k.k.k.k.j j j j R.R.@.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.R.R.R.j j j j k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.,., p+| 0 0 0 0 0 0 0 0 0 0 0 | &.%+% > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + ", -" + + + + + + # # # # $ $ $ % % % & & & & & * * * = = = = = = = - - - ; > > > , , , , , , , , - N.x | 0 0 0 0 0 0 0 0 0 0 0 | }+z.i z z z z z z z d d d d z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t k.k.k.k.j j j j R.R.R.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.R.R.R.j j j j k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z i i 7 7 7 u u u u ,.,.> b+H | 0 0 0 0 0 0 0 0 0 0 0 | G.5.; > - - - = = = = = = = = * * * & & & & % % % $ $ $ # # # # @ + + + + + ", -" + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > > , , , , , , , e 7 }+| 0 0 0 0 0 0 0 0 0 0 0 | &.A > i z z z z z z d d d d d z.z.z.z.z.z.z.z.5.5.5.5.t t t t t k.k.k.k.j j j j R.R.R.@.@.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.@.R.R.R.j j j j k.k.k.k.k.t t t t 5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.,.; |.| 0 0 0 0 0 0 0 0 0 0 0 0 | O.# > ; - - - = = = = = = = * * * & & & & & % % % $ $ $ # # # # + + + + + + ", -" + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , e & 5+1 0 0 0 0 0 0 0 0 0 0 0 0 | =.d i z z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.t t t t t k.k.k.k.k.j j j j R.R.R.@.@.@.@.@.@.@.@.@.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.@.@.@.@.@.@.@.@.@.@.R.R.R.j j j j k.k.k.k.t t t t t 5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.,., 1.X | 0 0 0 0 0 0 0 0 0 0 0 | G o = > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + ", -" + + + + + + + # # # # $ $ $ % % % & & & & & * * * = = = = = = = - - - ; > > > , , , , , , , , , l I | 0 0 0 0 0 0 0 0 0 0 0 | &.{ > i z z z z z z z d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.t t t t t k.k.k.k.k.j j j j j R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.@.j.j.j.j.j.j.j.@.@.@.@.@.@.@.@.@.@.@.@.R.R.R.R.j j j j j k.k.k.k.t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.d d d d d z z z z z z z i 7 7 7 7 u u u u ,.,.; c+| 0 0 0 0 0 0 0 0 0 0 0 0 | V * > > - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + ", -" + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * = = = = = = = - - - - > > > > , , , , , , , e * 2.| 0 0 0 0 0 0 0 0 0 0 0 0 | }+k.7 z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.5.5.5.5.t t t t t k.k.k.k.k.j j j j j j R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.R.R.R.R.j j j j j k.k.k.k.k.t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z i 7 7 7 7 u u u u ,.,.> ^ [ | 0 0 0 0 0 0 0 0 0 0 0 | &.y.% ; ; - - - = = = = = = = * * * & & & & & % % % $ $ $ # # # # + + + + + + + ", -" + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * * = = = = = = = - - - ; > > > , , , , , , , , ; 2+H | 0 0 0 0 0 0 0 0 0 0 0 | } ]+; i z z z z z z z d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t t k.k.k.k.k.j j j j j j R.R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.R.R.R.R.R.j j j j j k.k.k.k.k.k.t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z z i 7 7 7 7 u u u u ,.,.e g | 0 0 0 0 0 0 0 0 0 0 0 0 | c.,.; > - - - - = = = = = = = * * * & & & & % % % $ $ $ $ # # # # + + + + + + + ", -" + + + + + + + + # # # # $ $ $ % % % & & & & & * * * = = = = = = = - - - - > > > > , , , , , , , e ; @+| 0 0 0 0 0 0 0 0 0 0 0 0 | _. .u i z z z z z z z d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t t k.k.k.k.k.k.j j j j j j j R.R.R.R.R.@.@.@.@.@.@.@.@.@.@.@.@.@.@.R.R.R.R.R.R.j j j j j j j k.k.k.k.k.t t t t t 5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.d d d d z z z z z z z z i 7 7 7 7 u u u u ,.,.- ~.&.| 0 0 0 0 0 0 0 0 0 0 0 | 1 9+$ > ; - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + + ", -" + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , , = ^.'.| 0 0 0 0 0 0 0 0 0 0 0 0 1 5 > i i z z z z z z z d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.t t t t t t k.k.k.k.k.k.j j j j j j j j R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.j j j j j j j k.k.k.k.k.k.k.t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z i 7 7 7 7 u u u u ,.,.R R.4 | 0 0 0 0 0 0 0 0 0 0 0 0 | 7.5.; > - - - - = = = = = = = * * * & & & & & % % % $ $ $ # # # # + + + + + + + + ", -" + + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * * = = = = = = = - - - ; > > > > , , , , , , , e > /+| 0 0 0 0 0 0 0 0 0 0 0 0 | G m.e i z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t k.k.k.k.k.k.k.j j j j j j j j j j j R.R.R.R.R.R.R.R.j j j j j j j j j j j k.k.k.k.k.k.k.t t t t t t 5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z i i 7 7 7 7 u u u u ,.,.= g+1 | 0 0 0 0 0 0 0 0 0 0 0 | 1 #.# > ; - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + + + ", -" + + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > , , , , , , , , = =+'.| 0 0 0 0 0 0 0 0 0 0 0 0 | +.t 7 i z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t t k.k.k.k.k.k.k.k.k.j j j j j j j j j j j j j j j j j j j j j j j k.k.k.k.k.k.k.k.t t t t t t 5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i 7 7 7 7 u u u u ,.,.> v.*.| 0 0 0 0 0 0 0 0 0 0 0 0 | 7.t ; > - - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + + + ", -" + + + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * * = = = = = = = - - - ; > > > > , , , , , , , e ; p+| 0 0 0 0 0 0 0 0 0 0 0 0 | 1 q+; i i z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t t t k.k.k.k.k.k.k.k.k.k.j j j j j j j j j j j j j j j k.k.k.k.k.k.k.k.k.k.t t t t t t 5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i 7 7 7 7 u u u u ,.,.R d 0.| 0 0 0 0 0 0 0 0 0 0 0 0 | } a+$ > ; - - - = = = = = = = = * * * & & & & % % % % $ $ $ # # # # + + + + + + + + + ", -" + + + + + + + + + @ # # # $ $ $ $ % % % & & & & & * * * = = = = = = = - - - - ; > > > , , , , , , , , - o.G | 0 0 0 0 0 0 0 0 0 0 0 0 | F 0+, i z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.t t t t t t t k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.t t t t t t 5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i 7 7 7 7 7 u u u u ,.,.= r.1 | 0 0 0 0 0 0 0 0 0 0 0 0 | {+z ; > - - - - = = = = = = = = * * * & & & & % % % $ $ $ $ # # # @ + + + + + + + + + ", -" + + + + + + + + + + # # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > > , , , , , , , e * (+| 0 0 0 0 0 0 0 0 0 0 0 0 0 | }+j.7 i z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.t t t t t t t t t k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.t t t t t t t t 5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i i 7 7 7 7 u u u u ,.,.; /.X | 0 0 0 0 0 0 0 0 0 0 0 0 | a g.% > ; - - - = = = = = = = = * * * & & & & & % % % $ $ $ # # # # @ + + + + + + + + + ", -" + + + + + + + + + + @ # # # $ $ $ $ % % % & & & & & * * * = = = = = = = - - - - ; > > > , , , , , , , , > 8.< | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 .+> i i z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.t t t t t t t t t t k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.t t t t t t t t t t 5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z i i 7 7 7 7 u u u u ,.,.e k b | 0 0 0 0 0 0 0 0 0 0 0 0 0 | e.; ; > - - - - = = = = = = = * * * * & & & & % % % $ $ $ $ # # # # + + + + + + + + + + ", -" + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & * * * = = = = = = = = - - - ; > > > > , , , , , , , e & o+1 0 0 0 0 0 0 0 0 0 0 0 0 0 | a 8+- i i z z z z z z z z d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t 5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z z i 7 7 7 7 u u u u u ,.,.R {.| 0 0 0 0 0 0 0 0 0 0 0 0 0 | F P * > ; - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # @ + + + + + + + + + + ", -" + + + + + + + + + + + @ # # # $ $ $ $ % % % & & & & * * * * = = = = = = = = - - - ; > > > , , , , , , , , e z 9.| 0 0 0 0 0 0 0 0 0 0 0 0 0 | >+x., 7 i z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.t t t t t t t t t t t t t t t t t t t t t t t t 5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d z z z z z z z z z i 7 7 7 7 u u u u u ,.,.= Z } | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 r+# > > - - - - = = = = = = = = * * * & & & & % % % % $ $ $ # # # # + + + + + + + + + + + ", -" + + + + + + + + + + + @ # # # # $ $ $ % % % & & & & & * * * = = = = = = = = - - - - > > > > , , , , , , , , = `.H | 0 0 0 0 0 0 0 0 0 0 0 0 0 | %.-.R 7 i z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.t t t t t t t t t t t t t t t t 5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d z z z z z z z z z i 7 7 7 7 u u u u u ,.,.= g.[ | 0 0 0 0 0 0 0 0 0 0 0 0 0 | |+k.- > ; - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # @ + + + + + + + + + + + ", -" + + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = - - - ; > > > > , , , , , , , e * j+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | L j u 7 i z z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d z z z z z z z z z z i 7 7 7 7 7 u u u u ,.,.; )+I | 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.6 % > ; - - - - = = = = = = = = * * * & & & & % % % % $ $ $ # # # # @ + + + + + + + + + + + ", -" + + + + + + + + + + + + @ # # # # $ $ $ % % % % & & & & * * * = = = = = = = = - - - - > > > > , , , , , , , , , @.4 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | c+i u 7 i z z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d z z z z z z z z z z i 7 7 7 7 7 u u u u ,.,.> ,+G.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 5 % > > ; - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # + + + + + + + + + + + + ", -" + + + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = - - - ; > > > > , , , , , , , , = =+H | 0 0 0 0 0 0 0 0 0 0 0 0 0 | } ^+R 7 7 i z z z z z z z z z z d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d z z z z z z z z z i i 7 7 7 7 u u u u u ,.,., :.9.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 4 j - > ; - - - - = = = = = = = * * * * & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + ", -" + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = - - - - ; > > > > , , , , , , , , * r+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.g+, 7 7 i z z z z z z z z z z d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d z z z z z z z z z z i i 7 7 7 7 7 u u u u ,.,.e j.u.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | G 4+% > > - - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = - - - - > > > > , , , , , , , , , z u.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.;.> 7 7 i i z z z z z z z z z z d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d z z z z z z z z z i i i 7 7 7 7 7 u u u u ,.,.e @.>.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } Z $ > > ; - - - = = = = = = = = * * * * & & & & % % % % $ $ $ # # # # @ + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = - - - ; > > > > , , , , , , , , ; T.!+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a _ , u 7 i i z z z z z z z z z z d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d z z z z z z z z z z u e > - - ; > R u u u u ,.,., T w.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | @+, ; > ; - - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = - - - - ; > > > > , , , , , , , , * ] [ | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.Q.R u 7 7 i z z z z z z z z z z z d d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d z z z z z z z z z e ; 5.i.! 8+V.o+B.g.1.@.; - ,.,.> M.}.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | %.:.= > ; - - - - = = = = = = = = * * * * & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + @ # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = - - - - > > > > , , , , , , , , e * B } | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } 2.d ,.7 7 i i z z z z z z z z z z z d d d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d d z z z z z z z z i > t C..+b F a | | | | &.H _.i+S.k & T.Y | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | >+h.% > > ; - - - = = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = = - - - ; > > > > , , , , , , , , , , c+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 n+Q e 7 7 i i z z z z z z z z z z z z d d d d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d d d d z z z z z z z z z R 5.8+Y x | | | | 0 0 0 0 | | | | } _.t.G.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 2 W.$ > > ; - - - - = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = - - - - ; > > > > , , , , , , , , > t 0.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | =.o > 7 7 7 i i z z z z z z z z z z z z z d d d d d d d d d d d d d z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.z.d d d d d d d d d d d d d z z z z z z z z z z i , `.+.&.| | 0 0 0 0 0 0 0 0 0 0 0 0 | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } U.% > > ; - - - - = = = = = = = = * * * * & & & & % % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = - - - - ; > > > > , , , , , , , , ; l 7.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | d.8 ; u 7 7 i i z z z z z z z z z z z z z z z d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d z z z z z z z z z z z 7 7 B X | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 $+; > > > - - - - = = = = = = = = = * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = = - - - - > > > > > , , , , , , , , - f E | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | G q+i R 7 7 7 i i z z z z z z z z z z z z z z z z d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d z z z z z z z z z z z z z 7 5.n.} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | p+u - > > - - - - - = = = = = = = = * * * & & & & & % % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % % & & & & & * * * = = = = = = = = = - - - - > > > > > , , , , , , , , * h.I | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } g m ; 7 7 7 7 i i z z z z z z z z z z z z z z z z z z d d d d d d d d d d d d d d d d d d d d d d d d d z z z z z z z z z z z z z z z z 7 z {.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | u.t - > > ; - - - - = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = - - - - ; > > > > > , , , , , , , , * N.3 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | E { , ,.7 7 7 7 i i z z z z z z z z z z z z z z z z z z z z z z z d d d d d d d d d d d z z z z z z z z z z z z z z z z z z z z z z i e ^+1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | b.T = > > ; - - - - = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % & & & & & * * * = = = = = = = = = - - - - ; > > > > > , , , , , , , e * Z.3 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a {.-.; 7 7 7 7 7 i i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i i > P.a | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ).k = > > ; - - - - = = = = = = = = = * * * & & & & & % % % % $ $ $ $ # # # # + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + # # # # $ $ $ $ % % % % & & & & & * * * = = = = = = = = = - - - - ; > > > > , , , , , , , , e & ` 3.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 E Y.i , 7 7 7 7 7 i i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i i i 7 ,.8.].| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <+k * > > ; - - - - = = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & * * * * = = = = = = = = = - - - - ; > > > > , , , , , , , , e & 4+D.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | &.u.4+> R 7 7 7 7 7 7 i i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i i i 7 7 7 7 > (.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | L ' = > > > - - - - - = = = = = = = = * * * * & & & & & % % % $ $ $ $ $ # # # # + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + # # # # $ $ $ $ $ % % % & & & & & * * * * = = = = = = = = = - - - - ; > > > > , , , , , , , , , * v.4.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | H l+p ; R 7 7 7 7 7 7 7 i i i z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z i i i 7 7 7 7 7 7 R p F | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 n+t = > > > - - - - - = = = = = = = = = * * * & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & * * * = = = = = = = = = = - - - - ; > > > > > , , , , , , , , = p.c.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 3 ..r ; R 7 7 7 7 7 7 7 7 7 i i i i i z z z z z z z z z z z z z z z z z z z z z z i i i i i 7 7 7 7 7 7 7 7 7 7 ; !.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } .+u - > > > - - - - - = = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & * * * = = = = = = = = = = - - - - ; > > > > > , , , , , , , , - Q e.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 w y P > , 7 7 7 7 7 7 7 7 7 7 7 7 i i i i i i i i i i i i i i i i i i i i i i 7 7 7 7 7 7 7 7 7 7 7 7 7 7 u R.-+| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 b+& > > > - - - - - = = = = = = = = = * * * * & & & & & % % % $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ % % % & & & & & & * * * = = = = = = = = = = - - - - ; > > > > > , , , , , , , , ; i j+a | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 F i+Z.z - ,.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 u u u , m.x | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | g+@ > > - - - - - = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % & & & & & * * * * = = = = = = = = = = - - - - ; > > > > > , , , , , , , , , - v *.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | x c.O ,+; ; u 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 u u u u u u = B | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | e+= > - - - - - = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & * * * * = = = = = = = = = = - - - - ; > > > > > , , , , , , , , , % h.b | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 1 3 V P./ > - R 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 u u u u u u u u u u u * {.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | _.k.- - - - - = = = = = = = = = * * * * & & & & & % % % % $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ % % % % & & & & & * * * * = = = = = = = = = = - - - - ; > > > > > , , , , , , , , , = ' c+&.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 1 I e.#.f d - ; R u 7 u u 7 7 7 7 7 7 7 7 7 7 7 7 7 u u u u u u u u u u u u u ,., = ; @.m.-+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X ,+* - - - = = = = = = = = = * * * * & & & & & & % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & * * * * = = = = = = = = = = - - - - ; > > > > > , , , , , , , , , > ; 8+I | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 1 X 4 C A.6+R., = - , R ,.u u u u u u u u u u u u u u u u u ,.e > = - ,.&+ +O i+J 2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 '.( & - - = = = = = = = = = = * * * * & & & & & % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & * * * * = = = = = = = = = = - - - - - > > > > > > , , , , , , , , , % i./+&.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | 1 G J /+!.a+`.r ' d e ; - = = = = = = = = = - > ,.5.;+6+8 m+(.b.D.2 | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.^ % - = = = = = = = = = * * * * * & & & & & % % % % $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = - - - - - > > > > > > , , , , , , , , , - e #.!+| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | | x *.!+4 9 $.C Q.g+B H.o+1+[+r+N (+D <+W I X &.| | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | '.)+% = = = = = = = = = * * * * * & & & & & % % % % $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = - - - - - ; > > > > > , , , , , , , , , , % s {.2 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | | | | | | | | | | | | | | | | | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 H r % = = = = = = = = * * * * * & & & & & % % % % $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = - - - - - ; > > > > > > , , , , , , , , , ; = s.9.} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | D.j.* = = = = = = = = * * * * & & & & & % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = - - - - - - > > > > > > , , , , , , , , , e * i f+4.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <+- - = = = = = = * * * * * & & & & & % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = = - - - - - ; > > > > > > , , , , , , , , , , % j.B E 1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ..+ = = = = = = * * * * * & & & & & % % % % $ $ $ $ $ # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = = - - - - - - ; > > > > > > , , , , , , , , , > $ :.q+_.1 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a s.# = = = = = * * * * * & & & & & % % % % $ $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = = - - - - - - ; > > > > > > , , , , , , , , , , > % k V.h &.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | -+z.* = = = = * * * * * & & & & & % % % % $ $ $ $ $ # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * = = = = = = = = = = = = - - - - - - ; > > > > > > , , , , , , , , , , > % 5.~ 9 H | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 _ . = = = = * * * * & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & * * * * * = = = = = = = = = = = - - - - - - - ; > > > > > > , , , , , , , , , , , & > v.N -+&.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | !+k & = = = * * * * & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ % % % % & & & & & & & * * * * = = = = = = = = = = = = - - - - - - ; > > > > > > > , , , , , , , , , , , - % R.g.M ].} | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | } m+. = = * * * * * & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # $ $ $ $ $ % % % % & & & & & & & * * * * = = = = = = = = = = = = = - - - - - - ; > > > > > > > , , , , , , , , , , , , * & &+'+l+-+a | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | 1 '.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a.e * = * * * * * & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & * * * * * = = = = = = = = = = = = - - - - - - - ; > > > > > > > > , , , , , , , , , , , > & % k.0+q+9 !+&.1 | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | 1 2 G._+Y.P >.| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ].m $ * * * * * * & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & * * * * * = = = = = = = = = = = = = - - - - - - - ; > > > > > > > > , , , , , , , , , , , , , = $ - k m.5+_+|+>+&.1 | | | | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | | } x D.+.(+7+1.z.$ $ * &+Y | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | >+`.@ * * * * * & & & & & & & % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & & * * * * * = = = = = = = = = = = = = - - - - - - - ; ; > > > > > > > > , , , , , , , , , , , , , > * $ % u l.4+8+t.@++.-+3 '.a &.} 1 1 1 1 1 1 1 1 } &.&.x H < b a.M ;.6.)+' ; # $ = > , > > * l 9.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 3.6 + * * * * * & & & & & & % % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ $ % % % % & & & & & & & * * * * * = = = = = = = = = = = = = = - - - - - - - - ; > > > > > > > > > , , , , , , , , , , , , , , , ; * $ # % , k. .p 0+C.~ a+F.5+*+B Z V.<.S.'+Z.o.r k z - $ # % = > , , , , > > > > > * ' @+} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 1 h 2++ & * * * * & & & & & & % % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ $ % % % % & & & & & & & * * * * * * = = = = = = = = = = = = = = - - - - - - - - ; ; > > > > > > > > > > , , , , , , , , , , , , , , , , , > ; - * & % $ $ $ # # # $ $ $ % & = - > , , , , , , , > > > > > > > > > > = , V.3.| | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | '.$+T @ * * * * & & & & & & & % % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # $ $ $ $ $ $ % % % % % & & & & & & & * * * * * = = = = = = = = = = = = = = = - - - - - - - - ; ; ; > > > > > > > > > > > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > > > > > > > > > > > > ; ; - - # p.$+*.| | | 0 0 0 0 0 0 0 0 0 | | 2 L ^.# % * * * * & & & & & & & % % % % $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ % % % % % & & & & & & & * * * * * * = = = = = = = = = = = = = = = = - - - - - - - - - ; ; > > > > > > > > > > > > > > > > > , , , , , , , , , , , , , , , , , , > > > > > > > > > > > > > > > > > > ; ; - - - - - - & $ T._ c.G } | | | | | | | 2 ++(.0+= @ * * * * & & & & & & & % % % % % $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ $ % % % % % & & & & & & & * * * * * * = = = = = = = = = = = = = = = = - - - - - - - - - - ; ; ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; ; - - - - - - - - - - = - & + e n ~ g+$+k+I.l+!.a+v.d + @ * & * * * & & & & & & & % % % % % $ $ $ $ $ # # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ $ % % % % % & & & & & & & * * * * * * * = = = = = = = = = = = = = = = = = - - - - - - - - - - - ; ; ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; ; - - - - - - - - - - - - = = = = = = = % @ . + @ @ + . + $ & * & * * * & & & & & & & % % % % % % $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ % % % % % % & & & & & & & * * * * * * * = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - ; ; ; ; > > > > > > > > > > > > > > > > > > > > > > > > > ; ; ; ; - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = * * * * * * & & & & & & & & % % % % % $ $ $ $ $ $ # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ % % % % % & & & & & & & & * * * * * * * = = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = = * * * * * * & & & & & & & & % % % % % $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # $ $ $ $ $ $ $ % % % % % & & & & & & & & * * * * * * * = = = = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = = = = * * * * * * & & & & & & & & % % % % % % $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ % % % % % % & & & & & & & & * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * & & & & & & & & & % % % % % $ $ $ $ $ $ # # # # # # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ % % % % % & & & & & & & & & * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - - - - - - - - - - - - - - - - - - = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * & & & & & & & & & % % % % % % $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ % % % % % % & & & & & & & & & * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * & & & & & & & & & % % % % % % $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ % % % % % % & & & & & & & & & & * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * & & & & & & & & & % % % % % % $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ % % % % % % & & & & & & & & & & * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * & & & & & & & & & & % % % % % % % $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ $ % % % % % % % & & & & & & & & & & * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * & & & & & & & & & & & % % % % % % % $ $ $ $ $ $ $ # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # $ $ $ $ $ $ $ $ % % % % % % % & & & & & & & & & & & * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * & & & & & & & & & & & & % % % % % % % $ $ $ $ $ $ $ # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ $ % % % % % % % & & & & & & & & & & & & * * * * * * * * * * * * * * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * * * * * * * * * * * * * & & & & & & & & & & & & % % % % % % % % $ $ $ $ $ $ $ # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ $ % % % % % % % % & & & & & & & & & & & & & * * * * * * * * * * * * * * * * * * = = = = = = = = = = = = = = = = = * * * * * * * * * * * * * * * * * & & & & & & & & & & & & & & % % % % % % % % $ $ $ $ $ $ $ # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ $ % % % % % % % % & & & & & & & & & & & & & & & * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * & & & & & & & & & & & & & & & % % % % % % % % $ $ $ $ $ $ $ $ # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # $ $ $ $ $ $ $ $ $ % % % % % % % % % & & & & & & & & & & & & & & & & & & * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * & & & & & & & & & & & & & & & & & & & % % % % % % % % % $ $ $ $ $ $ $ $ # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # $ $ $ $ $ $ $ $ $ $ % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % $ $ $ $ $ $ $ $ $ # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % % % % % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # # # # # # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # # # # # # # # # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ", -" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ @ @ @ # # # # # # # # @ @ @ @ @ @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ", -" @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . + + @ + ", " ", " ", " ", diff --git a/share/pixmaps/ion_regtest32.png b/share/pixmaps/ion_regtest32.png index 2ecb9e2334a0c..b84d75d963771 100644 Binary files a/share/pixmaps/ion_regtest32.png and b/share/pixmaps/ion_regtest32.png differ diff --git a/share/pixmaps/ion_regtest32.xpm b/share/pixmaps/ion_regtest32.xpm index eb001c8848014..f4ed349ed0f60 100644 --- a/share/pixmaps/ion_regtest32.xpm +++ b/share/pixmaps/ion_regtest32.xpm @@ -1,120 +1,81 @@ /* XPM */ static char * ion_regtest32_xpm[] = { -"32 32 85 1", +"32 32 46 1", " c None", -". c #000010", -"+ c #000011", -"@ c #00000F", -"# c #000012", -"$ c #000013", -"% c #000014", -"& c #000015", -"* c #000016", -"= c #000017", -"- c #000018", -"; c #000019", -"> c #00001A", -", c #00001B", -"' c #0000A0", -") c #000045", -"! c #0000AC", -"~ c #0000FE", -"{ c #0000E2", -"] c #0000C8", -"^ c #0000F7", -"/ c #0000FC", -"( c #00004C", -"_ c #0000F3", -": c #000023", -"< c #000021", -"[ c #000022", -"} c #000020", -"| c #0000E1", -"1 c #00005D", -"2 c #00002F", -"3 c #0000EF", -"4 c #000024", -"5 c #000025", -"6 c #00001F", -"7 c #0000E5", -"8 c #0000B6", -"9 c #000026", -"0 c #000027", -"a c #000055", -"b c #0000A6", -"c c #000028", -"d c #00002A", -"e c #00001E", -"f c #0000F9", -"g c #000029", -"h c #00002B", -"i c #00002C", -"j c #0000F8", -"k c #000030", -"l c #000077", -"m c #000054", -"n c #000049", -"o c #000059", -"p c #0000FA", -"q c #00002D", -"r c #00003E", -"s c #0000F2", -"t c #000043", -"u c #000078", -"v c #0000F6", -"w c #000044", -"x c #0000D0", -"y c #0000D1", -"z c #000042", -"A c #0000CB", -"B c #0000BA", -"C c #0000FD", -"D c #000033", -"E c #00005C", -"F c #00005F", -"G c #0000F5", -"H c #000098", -"I c #00001D", -"J c #0000D8", -"K c #0000C5", -"L c #000070", -"M c #00005E", -"N c #0000DA", -"O c #0000F4", -"P c #0000FB", -"Q c #00001C", -"R c #0000C6", -"S c #0000D6", -"T c #0000B9", -" .............++............@ ", -" .........+#$$%%%%$$#+......... ", -"........+$%%&******&&%$+.......@", -".......#%&*====--====*&%#.......", -"......$%&==-;>,,,,>;,')*%$+.....", -".....$&*=->,>!~~~~~{~~~]*&$+....", -"....$&*=;,,^~~~~/~~~~~~~=*&$....", -"...#%*=;,(~~_:<[[<}|~~~~;=*%#...", -"..+$&=;,1~~2[[::::[<~~~~3;=*%+..", -"..#&=-,<~~<[44455444[}67~8-=&$..", -".+$*=>,~~[:4590000954:[6~~,=*%+.", -".#%=-,a~b[450cddddc054[}e~f-=%#.", -".$&=;,~~[:50ghhiihhg054[6j~;=&$.", -".$&=>,~f[49chiklllmhc94[}n~o=&$.", -".$*=>p~p:40dhqlllllrd04:B~C[45chhDlllEhc94[}z~F=&$.", -".$&=;,~~[:49ghhhhhhg94:[6G~;=&$.", -".#%*-,F~H[459cddddc954[}I~/-=%#.", -"..$&=>,~~}[4459009544[<6C~e=*$+.", -"..#&=-,0~~<[:444444:[<6J~K-=&#..", -"..+$&=-,L~~9[[::::[[~~~~v-=&$+..", -"...#%*=-,M~~76}<<}}N~~~~;=*%#...", -"....#%*=->,/~~~~OP~~~~~~=*%$....", -".....$%*=-;,QR~~~~~_~~~S*%$.....", -"......#%&==-->>>>>>;4T1&%#......", -".......#$%&*========*&&$#.......", -" ........#$%&&****&&%$#........ ", -" ..........##$$$$$$##.......... ", -" ++++++++++++++++++++++++++ "}; +". c #8A0000", +"+ c #000000", +"@ c #030000", +"# c #970000", +"$ c #C80000", +"% c #9A0000", +"& c #480000", +"* c #820000", +"= c #900000", +"- c #8B0000", +"; c #620000", +"> c #B50000", +", c #A30000", +"' c #050000", +") c #8F0000", +"! c #9E0000", +"~ c #8E0000", +"{ c #120000", +"] c #FF0000", +"^ c #5B0000", +"/ c #4E0000", +"( c #870000", +"_ c #C50000", +": c #B90000", +"< c #C10000", +"[ c #A20000", +"} c #BA0000", +"| c #A70000", +"1 c #C30000", +"2 c #7D0000", +"3 c #6B0000", +"4 c #330000", +"5 c #940000", +"6 c #850000", +"7 c #AC0000", +"8 c #930000", +"9 c #020000", +"0 c #890000", +"a c #570000", +"b c #860000", +"c c #510000", +"d c #830000", +"e c #070000", +"f c #A40000", +"g c #920000", +" ", +" . ", +" +++++++@#$$$% ", +" ++++++++++&$$$$$ ", +" +++++ *$$$$$= ", +" +++ -$$$$$; ", +" +++ >$$$,' ", +" +++ )!~{++ ", +" +++ +++ ", +" +++ +++ ", +" ++ ++ ", +" ++ ++ ", +" +++ ]] ++ ", +" ^/ ]]]]] ++ ", +" (_$$: ]]]]]]] ++ ", +" <$$$$[ ]]]]]]] ++ ", +" $$$$$} ]]]]]]] ++ ", +" _$$$$| ]]]]]]] ++ ", +" ~$$$1 ]]]]]] ++ ", +" 234 ]]] ++ ", +" ++ ++ ", +" ++ ++ ", +" +++ +++ ", +" +++ ++ ", +" ++ (56 ++ ", +" ++++ 7$$$89+ ", +" ++++ 0$$$$$a ", +" ++++ b$$$$$= ", +" ++++++++++c$$$$$d ", +" +++++++ef$$$f ", +" bg6 ", +" "}; diff --git a/share/pixmaps/ion_regtest48.png b/share/pixmaps/ion_regtest48.png index 5e14a1cb19509..3ecf1c8f41d43 100644 Binary files a/share/pixmaps/ion_regtest48.png and b/share/pixmaps/ion_regtest48.png differ diff --git a/share/pixmaps/ion_regtest48.xpm b/share/pixmaps/ion_regtest48.xpm index 80025de5e1ca8..60a74b57d428d 100644 --- a/share/pixmaps/ion_regtest48.xpm +++ b/share/pixmaps/ion_regtest48.xpm @@ -1,187 +1,108 @@ /* XPM */ static char * ion_regtest48_xpm[] = { -"48 48 136 2", -" c None", -". c #000011", -"+ c #00000F", -"@ c #000010", -"# c #000012", -"$ c #000013", -"% c #000014", -"& c #000015", -"* c #000016", -"= c #000017", -"- c #000018", -"; c #000019", -"> c #00001A", -", c #00001C", -"' c #000041", -") c #00001B", -"! c #00004D", -"~ c #00007B", -"{ c #000093", -"] c #0000DB", -"^ c #0000FE", -"/ c #0000CB", -"( c #000026", -"_ c #0000AE", -": c #0000FD", -"< c #0000A6", -"[ c #000027", -"} c #0000E0", -"| c #000098", -"1 c #0000F8", -"2 c #000099", -"3 c #000046", -"4 c #000020", -"5 c #00001E", -"6 c #00001F", -"7 c #000045", -"8 c #0000E1", -"9 c #0000D4", -"0 c #00002D", -"a c #000021", -"b c #000022", -"c c #0000FC", -"d c #0000F0", -"e c #000040", -"f c #000023", -"g c #00004F", -"h c #0000E2", -"i c #0000E9", -"j c #000024", -"k c #00003A", -"l c #0000DA", -"m c #0000FB", -"n c #0000D2", -"o c #0000E8", -"p c #00009B", -"q c #000025", -"r c #000029", -"s c #000028", -"t c #0000E4", -"u c #00003E", -"v c #00003B", -"w c #0000E5", -"x c #00002A", -"y c #0000D0", -"z c #00002B", -"A c #0000CE", -"B c #0000B6", -"C c #0000B7", -"D c #0000F6", -"E c #00002C", -"F c #000048", -"G c #000064", -"H c #000063", -"I c #000047", -"J c #0000F5", -"K c #000090", -"L c #000031", -"M c #000077", -"N c #000076", -"O c #00002F", -"P c #00008E", -"Q c #00001D", -"R c #000097", -"S c #000057", -"T c #0000BB", -"U c #00004B", -"V c #000078", -"W c #000049", -"X c #000087", -"Y c #0000C3", -"Z c #000067", -"` c #00009D", -" . c #000068", -".. c #00009E", -"+. c #0000DF", -"@. c #00004C", -"#. c #000089", -"$. c #00003F", -"%. c #0000EB", -"&. c #000036", -"*. c #00005A", -"=. c #0000E6", -"-. c #000034", -";. c #000032", -">. c #0000F2", -",. c #00006C", -"'. c #0000F1", -"). c #0000BF", -"!. c #0000C0", -"~. c #000030", -"{. c #0000C4", -"]. c #0000C2", -"^. c #0000EC", -"/. c #0000F9", -"(. c #0000AC", -"_. c #0000DE", -":. c #0000DD", -"<. c #00002E", -"[. c #0000B9", -"}. c #0000DC", -"|. c #0000F7", -"1. c #000043", -"2. c #0000ED", -"3. c #0000FA", -"4. c #0000B0", -"5. c #000080", -"6. c #00007F", -"7. c #000033", -"8. c #0000EF", -"9. c #000035", -"0. c #0000C7", -"a. c #0000B4", -"b. c #000065", -"c. c #000094", -"d. c #0000AA", -"e. c #000058", -" . + + + + + + + + + + + + + + + + + . . . . + + + + + + + + + + + + + + + + + @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . # # # $ $ $ $ # # # . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ . # $ $ $ % % % % % % % % $ $ $ # . @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ # # $ % % & & & & * * * * & & & & % % $ # # @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ . # $ % & & * * = = = = = = = = = = * * & & % $ # . @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ # $ % & & * = = = = = - - - - - - = = = = = * & & % $ # @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ # $ % & * = = = - - ; > > > > > > > > ; - - , ' ; * & % $ # @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ # $ % & * = = - ; > ) ) ) ) ! ~ { { ~ ! ) > ] ^ ^ ^ / * & & $ # . @ @ @ @ @ @ ", -" @ @ @ @ @ @ # $ & * = = - ; > ) ) ( _ : ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ < = * & % # @ @ @ @ @ @ ", -" @ @ @ @ @ # $ & * = = - > ) ) [ } ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ = = * & $ # @ @ @ @ @ ", -" @ @ @ @ # $ % * = = - > ) ) | ^ ^ ^ ^ 1 2 3 4 5 5 6 7 | ^ ^ ^ ^ ^ ^ ^ - = = * & $ # @ @ @ @ ", -" @ @ @ . $ % & = = - > ) ) 8 ^ ^ ^ 9 0 a b b b b b b a 4 c ^ ^ ^ ^ ^ : ; - = = & % $ . @ @ @ ", -" @ @ @ # % & * = - > ) ) d ^ ^ c e b b b f f f f f f b b g ^ ^ ^ ^ ^ ^ d ; - = * & % # @ @ @ ", -" @ @ . $ & * = = > ) ) h ^ ^ i a b b f j j j j j j j j f b k l m n o ^ ^ h > - = * & $ # @ @ ", -" @ @ # % & = = ; ) ) p ^ ^ i a b f j j j q q q q q q j j j f b b 4 5 o ^ ^ p ; = = & % # @ @ ", -" @ . $ % * = - > ) r ^ ^ c a b f j j q ( ( [ [ [ [ ( ( q j j f b b 4 5 c ^ ^ s - = * & $ . @ ", -" @ # $ & = = ; ) ) t ^ ^ u b f j j q ( [ s r r r r s [ ( q j j f b a 6 v ^ ^ w ; = = & % # @ ", -" @ # % & = - > ) x ^ ^ y b f j j q [ s r x z z z z x r s [ ( j j f b 4 6 A ^ ^ s - = * % $ @ ", -" . $ & * = - > ) B ^ ^ z b j j q [ s x z z z z z z z z x s [ q j j b b 4 [ ^ ^ C - = * & $ . ", -" # $ & * = ; ) ) ^ ^ D b f j q ( s x z z E E F G H I z z x s ( q j f b 4 6 J ^ ^ ; = = & $ # ", -" # % & = = > ) 5 ^ ^ K b f j q [ r z z E L M M M M M N O z r [ q j j b a 6 P ^ ^ Q = = & % # ", -" # % & = - > [ h ^ ^ R b j j ( s x z E 0 M M M M M M M N z x s ( j j b b 6 k ^ ^ S - = & % # ", -" # % & = - a ^ ^ ^ ^ ^ T j q ( s x z E U M V V V V M M M W z s ( q j f b 4 , ^ ^ X - = * % # ", -" # % & = - Y ^ ^ ^ ^ ^ ^ j q [ r z z 0 Z M V V V V M M M Z z r [ q j f b 4 Q ^ ^ ` - = * % $ ", -" # % & = - m ^ ^ ^ ^ ^ ^ ! q [ r z z 0 .M V V V V M M M Z z r [ q j f b 4 Q ^ ^ ..- = * % # ", -" # % & = - +.^ ^ ^ ^ ^ ^ E q ( s x z E ! M M V V V M M N @.x s ( q j f b 4 , ^ ^ #.- = * % # ", -" # % & = = $.^ ^ ^ ^ ^ %.j j ( s x z E 0 M M M M M M M N z x s ( j j b a 6 &.^ ^ *.- = & % # ", -" # $ & = = ; G ^ ^ ^ =.b f j q [ r z z E -.M M M M M N ;.z r [ q j f b a 6 X ^ ^ 6 = = & % # ", -" . $ & * = ; ) ) ^ ^ >.b f j q ( [ x z z E E g ,.,.g z z x s ( q j f b 4 6 '.^ ^ ; = * & $ # ", -" . $ % * = - > ) ).^ ^ ( b f j q ( s x x z z z z z z z x s ( q j j b a 6 f ^ ^ !.- = * & $ . ", -" @ # % & = = > ) ~.^ ^ {.b f j j q ( [ r x x x z x x r s ( q j j f b 4 6 ].^ ^ O = = & % # @ ", -" @ # $ & * = - ) ) ^.^ ^ -.b f j j q ( [ [ s s s s s [ ( q j j f b a 6 L ^ ^ ^.- = * & $ # @ ", -" @ . $ % * = - > ) ~.^ ^ /.4 b f j j q q ( ( ( ( ( ( q q j j f b a 4 5 /.^ ^ O - = * % $ . @ ", -" @ @ # % & * = - > ) (.^ ^ _.a b f f j j j q q q q j j j f f b a 4 6 :.^ ^ (.- = = & % # @ @ ", -" @ @ . $ % * = = ; ) ) ^.^ ^ :.4 b b f f j j j j j j f f b <.].>.[.}.^ ^ ^.; = = * % $ . @ @ ", -" @ @ @ # $ & * = - > ) ) |.^ ^ /.;.a b b b b f f b b b b 1.^ ^ ^ ^ ^ ^ |.> - = * & $ # @ @ @ ", -" @ @ @ @ $ % & * = - > ) ) 2.^ ^ ^ ).f 4 a b b b b a 4 4 3.^ ^ ^ ^ ^ : > - = * & % $ . @ @ @ ", -" @ @ @ @ # $ % & = = - > ) ) 4.^ ^ ^ ^ 2.5.~.Q 6 6 Q O 6.^ ^ ^ ^ ^ ^ ^ - = = & % $ # @ @ @ @ ", -" @ @ @ @ @ # $ % & = = - ; > ) 7.8.^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ = = & % $ # @ @ @ @ @ ", -" @ @ @ @ @ @ # $ % & * = = - > ) ) 9.0.^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ a.* & % $ # @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ # $ % & * = = = - > > ) ) q b.c.d.d.c.b.j ; i ^ ^ ^ :.* & % $ # @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ # $ % & & * = = = - - ; > > > > > > ; - - = x e.j & & % $ # @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ . # $ % & * * = = = = = = - - - = = = = = * * & % $ $ # @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ # $ $ % & & * * = = = = = = = = * * & & % $ $ # . @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ . # $ $ % % & & & & & & & & & & % % $ $ # . @ @ @ @ @ @ @ @ @ @ @ @ ", -" . @ @ @ @ @ @ @ @ @ @ @ @ @ . # # $ $ $ % % % % % % $ $ $ # # . @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . # # # # # # # # . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" "}; +"48 48 57 1", +" c None", +". c #840000", +"+ c #9A0000", +"@ c #9E0000", +"# c #8F0000", +"$ c #000000", +"% c #AB0000", +"& c #C80000", +"* c #C10000", +"= c #910000", +"- c #C30000", +"; c #260000", +"> c #970000", +", c #5D0000", +"' c #870000", +") c #A80000", +"! c #C70000", +"~ c #6F0000", +"{ c #9C0000", +"] c #B90000", +"^ c #140000", +"/ c #9F0000", +"( c #B50000", +"_ c #2A0000", +": c #920000", +"< c #FF0000", +"[ c #830000", +"} c #8C0000", +"| c #5E0000", +"1 c #C60000", +"2 c #B10000", +"3 c #A70000", +"4 c #AF0000", +"5 c #AC0000", +"6 c #BA0000", +"7 c #940000", +"8 c #B20000", +"9 c #960000", +"0 c #5B0000", +"a c #530000", +"b c #1D0000", +"c c #860000", +"d c #900000", +"e c #C40000", +"f c #A20000", +"g c #170000", +"h c #AA0000", +"i c #090000", +"j c #5F0000", +"k c #A40000", +"l c #690000", +"m c #AD0000", +"n c #310000", +"o c #020000", +"p c #330000", +"q c #B80000", +"r c #AE0000", +" ", +" ", +" .+@# ", +" $$$$$$$$$$$ %&&&&* ", +" $$$$$$$$$$$$$$=&&&&&&- ", +" $$$$$$$$$$$$$$$;&&&&&&&&> ", +" $$$$$$$$ ,&&&&&&&&% ", +" $$$$$$ '&&&&&&&&) ", +" $$$$$ !&&&&&&&~ ", +" $$$$$ {&&&&&&]^$ ", +" $$$$$ /&&&&(_$$$ ", +" $$$$ #:. $$$$ ", +" $$$$ $$$$ ", +" $$$$ $$$$ ", +" $$$$ $$$$ ", +" $$$$ $$$ ", +" $$$ $$$ ", +" $$$$ $$$$ ", +" $$$ <<< $$$ ", +" $$$ <<<<<<< $$$ ", +" [>}| <<<<<<<<< $$$ ", +" '1&&&&2 <<<<<<<<<< $$$$ ", +" !&&&&&&3 <<<<<<<<<<< $$$ ", +" {&&&&&&&& <<<<<<<<<<<< $$$ ", +" 4&&&&&&&&' <<<<<<<<<<<< $$$ ", +" 5&&&&&&&&. <<<<<<<<<<< $$$ ", +" :&&&&&&&1 <<<<<<<<<< $$$ ", +" 6&&&&&&7 <<<<<<<<< $$$ ", +" 8&&&19 <<<<<<< $$$ ", +" 0ab <<<< $$$ ", +" $$$$ $$$ ", +" $$$ $$$ ", +" $$$ $$$ ", +" $$$$ $$$$ ", +" $$$$ $$$$ ", +" $$$ $$$ ", +" $$$$ c $$$$ ", +" $$$$ de&&&fg$$$ ", +" $$$$$ =&&&&&&hi$ ", +" $$$$$ e&&&&&&&j ", +" $$$$$$ .&&&&&&&&k ", +" $$$$$$$ l&&&&&&&&m ", +" $$$$$$$$$$$$$$$n&&&&&&&&{ ", +" $$$$$$$$$$$$$ok&&&&&&! ", +" $$$$$$$$$$$$pq&&&&!} ", +" :r8/ ", +" ", +" "}; diff --git a/share/pixmaps/ion_regtest64.png b/share/pixmaps/ion_regtest64.png index 3e5b81b88a624..606999acb364a 100644 Binary files a/share/pixmaps/ion_regtest64.png and b/share/pixmaps/ion_regtest64.png differ diff --git a/share/pixmaps/ion_regtest64.xpm b/share/pixmaps/ion_regtest64.xpm index 75837811fe1de..093840521f46b 100644 --- a/share/pixmaps/ion_regtest64.xpm +++ b/share/pixmaps/ion_regtest64.xpm @@ -1,249 +1,134 @@ /* XPM */ static char * ion_regtest64_xpm[] = { -"64 64 182 2", -" c None", -". c #000010", -"+ c #000011", -"@ c #000012", -"# c #000013", -"$ c #00000F", -"% c #000014", -"& c #000015", -"* c #000016", -"= c #000017", -"- c #000018", -"; c #000019", -"> c #00001A", -", c #00001B", -"' c #00003A", -") c #0000D1", -"! c #0000FE", -"~ c #0000F9", -"{ c #000095", -"] c #000045", -"^ c #00008C", -"/ c #0000C8", -"( c #0000F1", -"_ c #0000FC", -": c #0000FB", -"< c #0000E7", -"[ c #0000B5", -"} c #000076", -"| c #00005C", -"1 c #0000FD", -"2 c #0000D9", -"3 c #000037", -"4 c #0000AA", -"5 c #0000FA", -"6 c #00008F", -"7 c #0000CD", -"8 c #0000F6", -"9 c #00001D", -"0 c #0000A8", -"a c #0000EE", -"b c #0000BD", -"c c #000098", -"d c #000083", -"e c #00007E", -"f c #000089", -"g c #0000A2", -"h c #0000CC", -"i c #0000F8", -"j c #0000ED", -"k c #0000D4", -"l c #00006C", -"m c #000024", -"n c #000020", -"o c #000021", -"p c #00001E", -"q c #000077", -"r c #000059", -"s c #0000C0", -"t c #000038", -"u c #000022", -"v c #00002C", -"w c #0000F3", -"x c #000027", -"y c #000063", -"z c #0000EF", -"A c #00004D", -"B c #000023", -"C c #00009C", -"D c #0000F0", -"E c #000029", -"F c #000051", -"G c #0000C3", -"H c #000099", -"I c #0000EB", -"J c #000030", -"K c #0000A6", -"L c #00002A", -"M c #00006B", -"N c #00007B", -"O c #000050", -"P c #000026", -"Q c #0000E4", -"R c #0000D2", -"S c #0000E1", -"T c #0000AB", -"U c #000025", -"V c #00001F", -"W c #0000EA", -"X c #000088", -"Y c #0000D0", -"Z c #000031", -"` c #000033", -" . c #000028", -".. c #000061", -"+. c #0000CF", -"@. c #00006A", -"#. c #0000C6", -"$. c #000043", -"%. c #0000E2", -"&. c #00002B", -"*. c #0000C5", -"=. c #000073", -"-. c #000060", -";. c #0000BC", -">. c #0000D6", -",. c #000035", -"'. c #00002E", -"). c #000047", -"!. c #000075", -"~. c #0000A5", -"{. c #00002D", -"]. c #000056", -"^. c #000070", -"/. c #0000C9", -"(. c #00004B", -"_. c #000055", -":. c #000071", -"<. c #00005D", -"[. c #0000B2", -"}. c #000041", -"|. c #000049", -"1. c #00006E", -"2. c #000072", -"3. c #000074", -"4. c #000048", -"5. c #000078", -"6. c #000046", -"7. c #000039", -"8. c #000069", -"9. c #0000A0", -"0. c #0000A4", -"a. c #000079", -"b. c #000057", -"c. c #0000D7", -"d. c #0000D8", -"e. c #000058", -"f. c #00006F", -"g. c #00007F", -"h. c #000084", -"i. c #000040", -"j. c #000034", -"k. c #000064", -"l. c #0000AC", -"m. c #00009D", -"n. c #00002F", -"o. c #00005E", -"p. c #0000DD", -"q. c #0000F2", -"r. c #00003E", -"s. c #00003F", -"t. c #00007C", -"u. c #0000B1", -"v. c #0000AE", -"w. c #0000B8", -"x. c #000052", -"y. c #000097", -"z. c #0000C1", -"A. c #00003C", -"B. c #00001C", -"C. c #0000E0", -"D. c #000090", -"E. c #000053", -"F. c #0000DE", -"G. c #000062", -"H. c #0000AF", -"I. c #000081", -"J. c #0000F4", -"K. c #00003B", -"L. c #00008A", -"M. c #0000F7", -"N. c #0000A9", -"O. c #00004A", -"P. c #000054", -"Q. c #0000BF", -"R. c #0000A3", -"S. c #000080", -"T. c #000067", -"U. c #0000B3", -"V. c #00004C", -"W. c #00008E", -"X. c #0000E6", -"Y. c #0000E5", -" ", -" . . . . . . . . . . . . . . . . . . . . . . + + @ @ @ @ @ @ @ @ + + . . . . . . . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . . . . + @ @ @ # # # # # # # # # # # # @ @ @ + . . . . . . . . . . . . . . . . . . . $ ", -" . . . . . . . . . . . . . . . . . + @ @ @ # # # % % % % % % % % % % % % # # # # @ @ + . . . . . . . . . . . . . . . . . ", -" + . . . . . . . . . . . . . . . + @ @ # # % % % & & & & & & & & & & & & & & % % % # # @ @ + . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . @ @ # # % % & & & * * * = = = = = = = = * * * & & & % % # # @ @ . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . + @ # # % & & & * * = = = = = = = = = = = = = = = = * * & & & % # # @ + . . . . . . . . . . . . . ", -" . . . . . . . . . . . . @ @ # % % & & * = = = = = = - - - - - - - - - - = = = = = = * & & & % # @ @ . . . . . . . . . . . . ", -" . . . . . . . . . . . @ # # % & & * = = = = - - - ; > > > > > > > > > > ; - - - = * ; & * & & % # # @ . . . . . . . . . . . ", -" . . . . . . . . . . @ # % % & * * = = = - - ; > > , , , , , ; ; > ; ; , , > > ' ) ! ! ~ { = * & % % # @ + . . . . . . . . . ", -" . . . . . . . . . @ # % & & * = = = - - > > , , , > ] ^ / ( _ ! ! ! : < [ } | 1 ! ! ! ! ! 2 = * & & % # @ + . . . . . . . . ", -" . . . . . . . . @ # % & & * = = = - ; > , , , 3 4 5 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 6 = * & & % # @ . . . . . . . . ", -" . . . . . . . @ # % & & * = = - - > , , , ' 7 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 8 * = * & & % # @ . . . . . . . ", -" . . . . . . @ # # & & * = = - ; > , , 9 0 ! ! ! ! ! ! ! a b c d e f g h i ! ! ! ! ! ! ! ! ! ! = = = * & & % # @ . . . . . . ", -" . . . . . + @ # % & * = = - ; > , , ' j ! ! ! ! ! k l m n n o o n n n n p q ! ! ! ! ! ! ! ! 1 = - = = * & % # @ + . . . . . ", -" . . . . . @ # % & * = = - ; > , , r 1 ! ! ! ! s t o u u u u u u u u u u o v ! ! ! ! ! ! ! ! w x ; - = = * & % # @ . . . . . ", -" . . . . + # % & * = = - ; > , , y ! ! ! ! z A o u u u u B B B B B B u u u u C ! ! ! ! ! ! ! ! D E ; - = = * & % # @ . . . . ", -" . . . . @ # % & * = = - > , , F ! ! ! ! G B u u u B B B m m m m m m B B B u o H 1 ! ! ! 1 ! ! ! I n ; = = * & % # @ + . . . ", -" . . . @ # % & * = = - > , , J : ! ! ! K o u u B B m m m m m m m m m m m m B B u L M N O P Q ! ! ! R ; - = = * & % # @ . . . ", -" . . . @ # % & = = - ; , , , S ! ! ! T o u u B m m m m U U U U U U U U m m m m B B u u n V U W ! ! ! ^ ; - = = & & # @ + . . ", -" . . + # % & * = = - > , , X ! ! ! Y o u B B m m m U U P P P x x P P P U U m m m B B u u n V Z 5 ! ! 1 ` - = = * & % # @ . . ", -" . . @ # % & * = - ; , , U _ ! ! i E u B B m m U U P x x . . . . . .x x P U U m m m B u u n V ..! ! ! +.; - = = & % # @ . . ", -" . + @ # & * = = - > , , g ! ! ! @.u u B m m U P x x .E E L L L L L E .x x P U m m B B u o n p #.! ! ! $.- = = * & % @ + . ", -" . + # % & * = = ; , , p _ ! ! %.o u B m m U P x .E L L &.&.&.&.&.&.L L E .x P U m m B u u n V Z ! ! ! *.; - = * & % # @ . ", -" . @ # % & = = - > , , =.! ! ! -.u B m m U P x .E L &.&.&.&.&.&.&.&.&.&.L E .x P U m m B u o n V ;.! ! ! o - = = & % # @ . ", -" . @ # & * = = - > , , >.! ! 8 n u B m m U P .E L &.&.&.v v v Z ,.'.&.&.&.L E .x U m m B u u n V ).! ! ! !.- = = * & # @ . ", -" + @ % & * = = ; , , 9 1 ! ! ~.u B m m U P x E L &.&.v v {.].} q q q ^.$.&.&.L E x P U m m B u o V 9 8 ! ! /.; = = * & % @ + ", -" + # % & * = = ; , , (.! ! ! _.u B m m U x .L &.&.v v Z :.q q q q q q q <.&.&.L .x U m m B u o n V [.! ! 5 - - = * & % # + ", -" + # % & * = - > , }.) ! ! ! |.u B m U P x .L &.&.v {.1.q q q q q q q q } O &.L E x P U m B u u n V 2.! ! ! B - = * & % # @ ", -" @ # % & * = - > ^.! ! ! ! ! ! 3.B m U P x E L &.v {.4.q q 5.5.5.5.q q q q } {.&.E x P U m m u u n V $.! ! ! 6.- = = & % # @ ", -" @ # % & = = - J 1 ! ! ! ! ! ! ! 7.m U P .L &.&.v {.8.q 5.5.5.5.5.5.q q q } ).&.L .P U m m B u n V .! ! ! ..- = = & % # @ ", -" @ # % & = = - 9.! ! ! ! ! ! ! ! 0.m U P .L &.&.v {.} q 5.5.a.a.5.5.q q q } b.&.L .P U m m B u n V V ! ! ! 1.- = = & % # @ ", -" @ # % & = = - c.! ! ! ! ! ! ! ! d.m U P .L &.&.v {.} q 5.5.5.5.5.5.q q q } e.&.L .P U m m B u n V V ! ! ! f.- = = & % # @ ", -" @ # % & = = - h ! ! ! ! ! ! ! ! 7 m U P .L &.&.v {.M q q 5.5.5.5.q q q q } |.&.L .P U m m B u n V P ! ! ! y - = = & % # @ ", -" + # % & * = - g.! ! ! ! ! ! ! ! h.m U P x E L &.v {.(.q q q 5.5.q q q q q } '.L E x P U m m u u n V i.! ! ! |.- = * & % # @ ", -" + # % & * = - , D ! ! ! ! ! ! D U m m P x .L &.&.v {.:.q q q q q q q q } ].&.L .x P U m B u u n V 1.! ! ! P - = * & % # + ", -" + @ % & * = = ; Z I ! ! ! ! I 3 B m m U P .E L &.&.v j.3.q q q q q q } k.&.&.L .P U m m B u o n p l.! ! : = = = * & % # + ", -" . @ # & * = = ; > , ..! ! ! m.u u m m U P x .L &.&.&.v n.o.q q q q 3.(.&.&.L .x P U m m B u n V 9 w ! ! +.; = = * & % @ + ", -" . @ # % & = = - > , , p.! ! q.n u B m m U P x E L &.&.&.&.v v 7.r.` &.&.&.L E x P U m m B u u n V s.! ! ! t.- = = * & # @ . ", -" . @ # % & * = - > , , t.! ! ! _.u B m m m U P x E L L &.&.&.&.&.&.&.&.L L E .x U U m m B u o n p u.! ! ! U - = = & % # @ . ", -" . + # % & * = = ; > , o 1 ! ! 2 o u B m m U P P x .E L L &.&.&.&.L L E .x P P U m m B u u n V L 1 ! ! +.; = = * & % # + . ", -" . . @ # & * = = - > , , v.! ! ! | u u B m m U U P x x .E E L L E E . .x P U U m m B u u n V p w.! ! ! A - = = * & # @ + . ", -" . . @ # % & * = = ; , , L 1 ! ! w m u u B m m m U P P x x x . .x x x P P U m m m B u u o n V x.! ! ! 2 ; - = * & % # @ . . ", -" . . + # % & * = = - > , , y.! ! ! z.o u u B m m m U U U P P P P P P U U U m m m B u u o n V E 8 ! ! ! A.- = = * & % # + . . ", -" . . . @ # % & * = = ; > , B.W ! ! ! y.o u u B B m m m m U U U U U U m m m m m B u u o n V n C.! ! ! m.; = = * & % # @ . . . ", -" . . . + # % & * = = - > , , ' 1 ! ! ! D.n u u u B B m m m m m m m m m m m B B u u E.k.7.o c.! ! ! F.; - = = * & % # + . . . ", -" . . . . @ # % & * = = - > , , G.! ! ! ! H.n u u u u B B B B m m B B B B u u u I._ ! ! ! : ! ! ! J.P - = = * & % # @ . . . . ", -" . . . . + @ # & & * = = - > , , q ! ! ! ! %.K.n u u u u u u u u u u u u u u L.! ! ! ! ! ! ! ! M.` ; = = = & & % # + . . . . ", -" . . . . . @ # % & * = = = - > , , 1.! ! ! ! ! N.L n o o u u u u u u o o n .1 ! ! ! ! ! ! ! 8 Z ; - = = * & % # @ . . . . . ", -" . . . . . . @ # % & * = = = - > , , O.8 ! ! ! ! 1 ;.P.p n n n n n n n V V 1.! ! ! ! ! ! ! ! _ = - = = * & % # @ + . . . . . ", -" . . . . . . + @ # % & * = = = - > , , B Q.! ! ! ! ! ! 1 2 R.S.l T.^.L.U.I ! ! ! ! ! ! ! ! ! ! = = = * & % # @ + . . . . . . ", -" . . . . . . . + # # % & * = = = - ; > , , A S ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! i * = * & % # # @ . . . . . . . ", -" . . . . . . . . @ # # % & * = = = - ; > > , > V.G 1 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! C = * & % # # @ . . . . . . . . ", -" . . . . . . . . . @ # # % & * * = = = - ; > > , , 9 <.~.C.: ! ! ! ! ! M.+.W.!.! ! ! ! ! ! X.; * & % # # @ . . . . . . . . . ", -" . . . . . . . . . . @ @ # % & & * = = = = - - ; > > , , , ; > n u p ; > > > > (.Y.! ! 1 v., & & % # # @ . . . . . . . . . . ", -" . . . . . . . . . . . + @ # % & & * * = = = = - - - ; ; > > > > > > ; ; - - - = = 9 x & * & & % # @ @ . . . . . . . . . . . ", -" . . . . . . . . . . . . + @ # # % & & * * = = = = = = = - - - - - - = = = = = = = * * & & % # # @ + . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . @ @ # % % & & & * * = = = = = = = = = = = = = = * * & & & % % # @ @ . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . + @ # # % % & & & & * * * * * * * * * * * * & & & & % % # # @ + . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . + @ @ # # % % % & & & & & & & & & & & & % % % # # @ @ + . . . . . . . . . . . . . . . . + ", -" . . . . . . . . . . . . . . . . . . + @ @ # # # # % % % % % % % % % % # # # # @ @ + . . . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . . . . + @ @ @ @ # # # # # # # # @ @ @ @ + . . . . . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . . . . . . . + + + + @ @ + + + + . . . . . . . . . . . . . . . . . . . . . . $ ", -" "}; +"64 64 67 1", +" c None", +". c #890000", +"+ c #A70000", +"@ c #BA0000", +"# c #B70000", +"$ c #A30000", +"% c #850000", +"& c #000000", +"* c #B20000", +"= c #C80000", +"- c #A90000", +"; c #100000", +"> c #B00000", +", c #AC0000", +"' c #750000", +") c #8B0000", +"! c #050000", +"~ c #BE0000", +"{ c #2B0000", +"] c #C00000", +"^ c #AD0000", +"/ c #830000", +"( c #C30000", +"_ c #230000", +": c #910000", +"< c #C60000", +"[ c #4C0000", +"} c #B80000", +"| c #B10000", +"1 c #530000", +"2 c #870000", +"3 c #860000", +"4 c #FF0000", +"5 c #020000", +"6 c #990000", +"7 c #B40000", +"8 c #C10000", +"9 c #960000", +"0 c #690000", +"a c #C50000", +"b c #C70000", +"c c #9F0000", +"d c #9D0000", +"e c #A40000", +"f c #9B0000", +"g c #B90000", +"h c #B60000", +"i c #840000", +"j c #3E0000", +"k c #3C0000", +"l c #300000", +"m c #0A0000", +"n c #9E0000", +"o c #BF0000", +"p c #980000", +"q c #C20000", +"r c #2A0000", +"s c #110000", +"t c #700000", +"u c #3B0000", +"v c #0C0000", +"w c #C40000", +"x c #8C0000", +"y c #940000", +"z c #220000", +"A c #6A0000", +"B c #970000", +" ", +" ", +" ", +" .+@#$% ", +" &&&&&&&&&&&&&& *======- ", +" &&&&&&&&&&&&&&&&&;>========, ", +" &&&&&&&&&&&&&&&&&&&'==========) ", +" &&&&&&&&&&&&&&&&&&&&!~==========> ", +" &&&&&&&&&&& &{============ ", +" &&&&&&&&& ============ ", +" &&&&&&& ===========] ", +" &&&&&&& ^==========/& ", +" &&&&&&& =========(_&& ", +" &&&&&& :=======<[&&& ", +" &&&&&& %}====|1&&&&& ", +" &&&&& 23 &&&&& ", +" &&&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&& 444 &&&& ", +" &&&&& 444444444 &&&&& ", +" &5&&& 44444444444 &&&& ", +" 67=890 4444444444444 &&&& ", +" %a======$ 4444444444444 &&&& ", +" b========c 444444444444444 &&&& ", +" *========== 444444444444444 &&&& ", +" ===========d 444444444444444 &&&& ", +" .===========> 444444444444444 &&&& ", +" )===========7 444444444444444 &&&& ", +" ===========e 444444444444444 &&&& ", +" ~==========2 44444444444444 &&&& ", +" )=========* 4444444444444 &&&& ", +" f=======g 44444444444 &&&& ", +" 2h===(i 444444444 &&&&& ", +" jklm& 44444 &&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& &&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& n(==op &&&&& ", +" &&&&&& q======}r&&&& ", +" &&&&&&& (========hs&& ", +" &&&&&&& $==========t& ", +" &&&&&&&& <==========h ", +" &&&&&&&& ============ ", +" &&&&&&&&&& u============ ", +" &&&&&&&&&&&&&&&&&&&&vw==========@ ", +" &&&&&&&&&&&&&&&&&&&&x==========y ", +" &&&&&&&&&&&&&&&&&z]========g ", +" &&&&&&&&&&&&&& A8======@ ", +" d8==~B ", +" ", +" ", +" "}; diff --git a/share/pixmaps/ion_testnet.ico b/share/pixmaps/ion_testnet.ico index 2f615459b7d50..6ba31815faaa5 100644 Binary files a/share/pixmaps/ion_testnet.ico and b/share/pixmaps/ion_testnet.ico differ diff --git a/share/pixmaps/ion_testnet128.png b/share/pixmaps/ion_testnet128.png index df6ae4b22e430..be53837cd6cd5 100644 Binary files a/share/pixmaps/ion_testnet128.png and b/share/pixmaps/ion_testnet128.png differ diff --git a/share/pixmaps/ion_testnet128.xpm b/share/pixmaps/ion_testnet128.xpm index 1cc107a70afff..016c8deab6534 100644 --- a/share/pixmaps/ion_testnet128.xpm +++ b/share/pixmaps/ion_testnet128.xpm @@ -1,468 +1,233 @@ /* XPM */ static char * ion_testnet128_xpm[] = { -"128 128 337 2", +"128 128 102 2", " c None", -". c #020C0F", -"+ c #010C0F", -"@ c #010C10", -"# c #010B11", -"$ c #010D0F", -"% c #010C11", -"& c #010D11", -"* c #010D12", -"= c #020B11", -"- c #020C10", -"; c #010B10", -"> c #010E13", -", c #010D10", -"' c #020C11", -") c #010F14", -"! c #010F15", -"~ c #020D10", -"{ c #011016", -"] c #011117", -"^ c #011218", -"/ c #011219", -"( c #021319", -"_ c #02131A", -": c #02141B", -"< c #011118", -"[ c #02151C", -"} c #032634", -"| c #042F40", -"1 c #042836", -"2 c #02171E", -"3 c #011319", -"4 c #063F55", -"5 c #0D86B3", -"6 c #12B1EC", -"7 c #13BCFB", -"8 c #13BDFD", -"9 c #12B4F0", -"0 c #0E8EBE", -"a c #074963", -"b c #021219", -"c c #021118", -"d c #021720", -"e c #031C26", -"f c #03202B", -"g c #03222E", -"h c #03212C", -"i c #031E28", -"j c #021922", -"k c #03232F", -"l c #0E8CBC", -"m c #13BDFC", -"n c #13BEFE", -"o c #0F99CD", -"p c #042C3B", -"q c #02141C", -"r c #042837", -"s c #074861", -"t c #0A678A", -"u c #0D81AD", -"v c #0F99CC", -"w c #11A8E0", -"x c #12B3EF", -"y c #13B8F6", -"z c #13BAF9", -"A c #13B9F8", -"B c #12B5F2", -"C c #11ACE6", -"D c #109FD4", -"E c #0E8AB9", -"F c #0B7197", -"G c #08536F", -"H c #053345", -"I c #021117", -"J c #042D3D", -"K c #11AAE3", -"L c #063A4E", -"M c #032431", -"N c #08526E", -"O c #0D82AF", -"P c #0F91C3", -"Q c #0A6385", -"R c #11A8E1", -"S c #12B2EE", -"T c #042A38", -"U c #031F2A", -"V c #095674", -"W c #0F93C5", -"X c #13B9F7", -"Y c #0F95C7", -"Z c #053244", -"` c #0C7CA5", -" . c #12B4F1", -".. c #13BEFD", -"+. c #064259", -"@. c #05374A", -"#. c #0E8BBA", -"$. c #13BBFA", -"%. c #0D85B2", -"&. c #0D86B4", -"*. c #11ADE7", -"=. c #01131A", -"-. c #0B6A8E", -";. c #12B7F5", -">. c #13B8F7", -",. c #11AAE4", -"'. c #11ABE5", -"). c #12B0EB", -"!. c #12B6F4", -"~. c #13BAF8", -"{. c #05394C", -"]. c #10A2D8", -"^. c #109CD1", -"/. c #0C79A2", -"(. c #095977", -"_. c #064056", -":. c #042D3C", -"<. c #021B24", -"[. c #021820", -"}. c #02171F", -"|. c #031E29", -"1. c #042735", -"2. c #084F6A", -"3. c #0B6D92", -"4. c #0E90C1", -"5. c #12B0EC", -"6. c #032531", -"7. c #02151D", -"8. c #0A6688", -"9. c #11AEE8", -"0. c #02161E", -"a. c #021A24", -"b. c #12B8F6", -"c. c #031D28", -"d. c #0E8DBD", -"e. c #07475F", -"f. c #021821", -"g. c #0E90C0", -"h. c #11A5DC", -"i. c #10A4DB", -"j. c #0C79A1", -"k. c #042E3E", -"l. c #02161D", -"m. c #095E7E", -"n. c #05384B", -"o. c #12AFEA", -"p. c #0D80AB", -"q. c #042B3A", -"r. c #0A6587", -"s. c #063C51", -"t. c #109ED4", -"u. c #063C50", -"v. c #0A6384", -"w. c #0B6D91", -"x. c #0B6C90", -"y. c #021A23", -"z. c #0E8BBB", -"A. c #053142", -"B. c #12B1ED", -"C. c #021921", -"D. c #0E89B8", -"E. c #0A6081", -"F. c #021218", -"G. c #11A9E2", -"H. c #021923", -"I. c #13BCFC", -"J. c #074C66", -"K. c #0F97CA", -"L. c #095673", -"M. c #10A3DA", -"N. c #11A4DC", -"O. c #095D7D", -"P. c #095A78", -"Q. c #12B6F3", -"R. c #053344", -"S. c #0C78A1", -"T. c #0D83AF", -"U. c #02161F", -"V. c #08506B", -"W. c #11A6DE", -"X. c #031D27", -"Y. c #074C65", -"Z. c #021B25", -"`. c #08516D", -" + c #0D84B0", -".+ c #032430", -"++ c #0F91C2", -"@+ c #021C26", -"#+ c #095E7D", -"$+ c #0D84B1", -"%+ c #0C779F", -"&+ c #07435A", -"*+ c #021D27", -"=+ c #0D7DA7", -"-+ c #10A1D8", -";+ c #095775", -">+ c #053649", -",+ c #095875", -"'+ c #0E8AB8", -")+ c #08506C", -"!+ c #12B3F0", -"~+ c #042938", -"{+ c #0E8CBB", -"]+ c #063E53", -"^+ c #085673", -"/+ c #0A6283", -"(+ c #042C3C", -"_+ c #10A1D7", -":+ c #11A7DF", -"<+ c #0B7298", -"[+ c #085572", -"}+ c #032330", -"|+ c #0C7AA4", -"1+ c #11A9E1", -"2+ c #0B7299", -"3+ c #084F69", -"4+ c #032532", -"5+ c #03212D", -"6+ c #03202C", -"7+ c #042F3F", -"8+ c #074B64", -"9+ c #074B65", -"0+ c #063B4F", -"a+ c #074359", -"b+ c #095978", -"c+ c #095572", -"d+ c #0D87B4", -"e+ c #0B7096", -"f+ c #05384C", -"g+ c #095876", -"h+ c #095877", -"i+ c #074760", -"j+ c #031E2A", -"k+ c #064055", -"l+ c #053243", -"m+ c #07445C", -"n+ c #03202A", -"o+ c #11ADE8", -"p+ c #053041", -"q+ c #052F3F", -"r+ c #0F92C3", -"s+ c #0F94C6", -"t+ c #085571", -"u+ c #074A64", -"v+ c #084E68", -"w+ c #0C749B", -"x+ c #07445B", -"y+ c #021A22", -"z+ c #095B7B", -"A+ c #0C77A0", -"B+ c #03222D", -"C+ c #12AFEB", -"D+ c #042835", -"E+ c #053446", -"F+ c #074962", -"G+ c #0E89B7", -"H+ c #0C759D", -"I+ c #085470", -"J+ c #084D67", -"K+ c #095A79", -"L+ c #109CD0", -"M+ c #074860", -"N+ c #042937", -"O+ c #10A0D6", -"P+ c #021016", -"Q+ c #0A6182", -"R+ c #0B6E93", -"S+ c #042633", -"T+ c #0A688B", -"U+ c #0B6B8F", -"V+ c #07455C", -"W+ c #05394D", -"X+ c #074A63", -"Y+ c #07465F", -"Z+ c #053648", -"`+ c #0C7BA4", -" @ c #0E8FBF", -".@ c #07455D", -"+@ c #085471", -"@@ c #0B6F94", -"#@ c #0A6789", -"$@ c #063D52", -"%@ c #053547", -"&@ c #0D7EA8", -"*@ c #12B7F4", -"=@ c #0A6080", -"-@ c #0A6183", -";@ c #064158", -">@ c #109FD5", -",@ c #042634", -"'@ c #064258", -")@ c #021C25", -"!@ c #042A39", -"~@ c #0E8EBD", -"{@ c #0C7BA5", -"]@ c #063B50", -"^@ c #064157", -"/@ c #0D80AC", -"(@ c #109BCF", -"_@ c #109DD2", -":@ c #11ABE4", -"<@ c #11A6DF", -"[@ c #032633", -"}@ c #021B26", -"|@ c #0D82AE", -"1@ c #052F40", -"2@ c #0C7CA7", -"3@ c #095F80", -"4@ c #0F95C8", -"5@ c #06394D", -"6@ c #0B7198", -"7@ c #0A698C", -"8@ c #0B7095", -"9@ c #0C769D", -"0@ c #0D83B0", -"a@ c #084E69", -"b@ c #0D7FAA", -"c@ c #095C7B", -"d@ c #085370", -"e@ c #10A2D9", -"f@ c #12AEE9", -"g@ c #0D82AD", -"h@ c #13BBF9", -"i@ c #12B2ED", -"j@ c #0F9ACE", -"k@ c #02141A", -"l@ c #109BD0", -"m@ c #0F92C4", -"n@ c #10A4DC", -"o@ c #0F98CB", -"p@ c #01141A", -"q@ c #063D51", -"r@ c #08526D", -"s@ c #011015", -"t@ c #07445A", -"u@ c #011017", -"v@ c #020B10", +". c #004D1F", +"+ c #005922", +"@ c #006026", +"# c #006528", +"$ c #006427", +"% c #005E25", +"& c #005722", +"* c #000000", +"= c #005923", +"- c #00702B", +"; c #00712C", +"> c #006C2A", +", c #005220", +"' c #005120", +") c #006E2B", +"! c #006829", +"~ c #003A16", +"{ c #00240E", +"] c #000301", +"^ c #006226", +"/ c #005A23", +"( c #003013", +"_ c #005522", +": c #000C04", +"< c #00230E", +"[ c #003314", +"} c #005320", +"| c #00702C", +"1 c #006126", +"2 c #006327", +"3 c #003916", +"4 c #00501F", +"5 c #001107", +"6 c #006728", +"7 c #00441B", +"8 c #000B04", +"9 c #005421", +"0 c #006F2B", +"a c #001C0B", +"b c #005621", +"c c #004F1F", +"d c #006527", +"e c #001608", +"f c #006A29", +"g c #00521F", +"h c #006627", +"i c #006326", +"j c #005D25", +"k c #00A540", +"l c #00A440", +"m c #00A23F", +"n c #000100", +"o c #000703", +"p c #00A53F", +"q c #00501E", +"r c #00511F", +"s c #004A1D", +"t c #00270F", +"u c #005321", +"v c #006D2B", +"w c #00A33F", +"x c #006828", +"y c #006025", +"z c #006426", +"A c #005823", +"B c #005E24", +"C c #006125", +"D c #005C24", +"E c #005221", +"F c #005822", +"G c #00A53E", +"H c #005F25", +"I c #005D24", +"J c #006B2A", +"K c #003B17", +"L c #000C05", +"M c #003515", +"N c #003F19", +"O c #00461B", +"P c #003E18", +"Q c #003113", +"R c #001809", +"S c #004E1E", +"T c #006628", +"U c #004C1E", +"V c #000502", +"W c #000402", +"X c #004B1D", +"Y c #002810", +"Z c #00481C", +"` c #00190A", +" . c #000101", +".. c #005B24", +"+. c #001207", +"@. c #00451B", +"#. c #000602", +"$. c #006B29", +"%. c #006E2C", +"&. c #006929", +"*. c #004E1F", +"=. c #005521", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & ", +" * * * * = - ; ; ; ; ; ; ; ; > , ", +" * * * * * * * * * * * * * * * * * * * * * * ' ) ; ; ; ; ; ; ; ; ; ; ; ; ! ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * & ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ) ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ~ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * { ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; > ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ] ^ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; / ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ( ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; _ ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; $ ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * < ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * * [ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * } ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * ' ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * | ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1 ", +" * * * * * * * * * * * * * * 2 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3 ", +" * * * * * * * * * * * * * * 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; - 5 * * ", +" * * * * * * * * * * * * * * 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 7 * * * * ", +" * * * * * * * * * * * * ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 6 8 * * * * ", +" * * * * * * * * * * * * 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 0 a * * * * * * ", +" * * * * * * * * * * * * b ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; > { * * * * * * * * ", +" * * * * * * * * * * * * c ) ; ; ; ; ; ; ; ; ; ; ; ; d e * * * * * * * * * * ", +" * * * * * * * * * * * + 0 ; ; ; ; ; ; ; ; f g * * * * * * * * * * * ", +" * * * * * * * * * * * = % h i j b * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * k l l * * * * * * * * * ", +" * * * * * * * * * k l l l l l l l l l l * * * * * * * * * ", +" * * * * * * * * * l l l l l l l l l l l l l l l m * * * * * * * * ", +" * * * * * * * * l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" * * * * * * * * * m l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" * * n o * * * * * p l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" q r d 0 ; ) 2 s t o l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" u v ; ; ; ; ; ; ; ; ; f u l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" ! ; ; ; ; ; ; ; ; ; ; ; ; ; $ l l l l l l l l l l l l l l l l l l l l l l l l l l l w * * * * * * * * ", +" ) ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; f l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" > ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ! l l l l l l l l l l l l l l l l l l l l l l l l l l l l l k * * * * * * * * * ", +" x ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; y l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" g ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" > ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m * * * * * * * * * ", +" A ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; g l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" ^ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; = l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; B l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l k * * * * * * * * * ", +" f ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; C l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" $ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; D w l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" % ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; & l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" E ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ) w l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" C ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; F l l l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ) l l l l l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * ", +" A ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4 l l l l l l l l l l l l l l l l l l l l l l l l l G * * * * * * * * ", +" H ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; / l l l l l l l l l l l l l l l l l l l l l l l k * * * * * * * * * ", +" I ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; + l l l l l l l l l l l l l l l l l l l l l l * * * * * * * * * ", +" 9 ) ; ; ; ; ; ; ; ; ; ; ; J c l l l l l l l l l l l l l l l l l l l w * * * * * * * * ", +" + > ; ; ; ; ; ; ; # K L G l l l l l l l l l l l l l l l l * * * * * * * * ", +" M N O P Q R * * * p l l l l l l l l l l l l * * * * * * * * * ", +" * * * * * * * * * k l l l l l l G * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * * * * * * * * * * * * ", +" * * * * * * * * * * * S * * * * * * * * * * * ", +" * * * * * * * * * * * b 6 ; ; ; ; ; | 1 , * * * * * * * * * * * ", +" * * * * * * * * * * * & 0 ; ; ; ; ; ; ; ; ; ; f 4 * * * * * * * * * * * ", +" * * * * * * * * * * * * T ; ; ; ; ; ; ; ; ; ; ; ; ; ; U V * * * * * * * * * ", +" * * * * * * * * * * * * > ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; F W * * * * * * * ", +" * * * * * * * * * * * * * 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; X * * * * * * ", +" * * * * * * * * * * * * * / ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Y * * * * ", +" * * * * * * * * * * * * * | ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; i ] * * ", +" * * * * * * * * * * * * * * / ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Y * ", +" * * * * * * * * * * * * * * > ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; c ", +" * * * * * * * * * * * * * * * ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; v ", +" * * * * * * * * * * * * * * * * c ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * , ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * Z ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * * * * * Y ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ` ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; v ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * .! ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; .. ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * O ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; S ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +.0 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; x ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @.; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #.% ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; / ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * R $.; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; C ", +" * * * * * * * * * * * * * * * * * * * * * * * * * * $ ; ; ; ; ; ; ; ; ; ; ; ; ; ; .. ", +" * * * * * * * * * * * * * * b %.; ; ; ; ; ; ; ; ; ; &.*. ", +" =.# ; ; ; ; ; 0 @ ' ", +" ", +" ", +" ", " ", -" . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # @ ", -" $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % % & & * * * * * * * * * * & & % % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % % & * * * * * * * * * * * * * * * * * * * * * * * * & % % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" ; @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & * * * * * * * > > > > > > > > > > > > > > > > > > * * * * * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ , ", -" ' @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * * * > > > > > > > > > > > > > > > > > > > > > > > > > > > > * * * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & * * * * > > > > > > > > ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) > > > > > > > > * * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * * > > > > > ) ) ) ) ) ) ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) ) ) ) ) ) > > > > > > * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * > > > > > ) ) ) ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) ) ) > > > > > * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ~ ", -" + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * > > > > ) ) ) ) ) ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ) ) ) ) > > > > * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * * > > > > ) ) ) ) ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ) ) ) > > > > * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * * > > > ) ) ) ) ! ! ! ! ! ! { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { ! ! ! ! ! ) ) ) ) > > > * * * & @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * > > > > ) ) ) ! ! ! ! ! { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { ! ! ! ! ! ) ) ) ) > > > * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ~ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * * > > > ) ) ) ! ! ! ! { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { ! ! ! ! ) ) ) > > > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * > > > ) ) ) ! ! ! ! { { { { ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] ] { { { { ! ! ! ! ) ) ) > > > * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * > > > ) ) ! ! ! ! { { { ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ / / / / / / / / ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] { { { ! ! ! ! ) ) ) > > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > > ) ) ) ! ! ! { { { ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ / ( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ( / / ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] { { { ! ! ! ) ) ) > > > * * & @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * > > > ) ) ! ! ! ! { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ / ( _ _ _ _ _ _ _ _ : : : : : : : : _ _ _ _ _ _ _ _ _ / ^ ^ ^ ^ < ! [ } | 1 2 ) { { { ! ! ! ! ) ) > > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * > > > ) ) ! ! ! { { { ] ] ] ] ] ] ] ^ ^ ^ ^ / _ _ _ _ _ _ : : : : : : : : : : : : : : : : : : : : : _ _ _ _ _ 3 < 4 5 6 7 8 7 9 0 a ^ { { { ! ! ! ) ) ) > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * > > ) ) ) ! ! ! { { ] ] ] ] ] ] ] ^ ^ ^ ^ ( _ _ _ _ : : : : : : : : : : b c _ d e f g h i j : c c _ : : : : _ _ k l m n n n n n n n 8 o p { { { ! ! ! ! ) ) > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * > > ) ) ! ! ! ! { { ] ] ] ] ] ] ^ ^ ^ / _ _ _ _ : : : : : : : : b q r s t u v w x y z z z A B C D E F G H j I _ J K n n n n n n n n n n n x L { { { { ! ! ! ) ) > > > * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * > > ) ) ! ! ! { { { ] ] ] ] ] ] ^ ^ ^ ( _ _ _ : : : : : : : b M N O K 7 n n n n n n n n n n n n n n n n n 8 x P Q R n n n n n n n n n n n n n S T ] ] { { ! ! ! ) ) > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * > > ) ) ! ! ! { { ] ] ] ] ] ] ^ ^ ^ ( _ _ _ : : : : : : ( U V W X n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n Y ] ] ] { { ! ! ! ) ) > > > * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! ! { { ] ] ] ] ] ] ^ ^ / _ _ _ : : : : : : b Z ` ...n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n 8 +.] ] ] { { ! ! ! ) ) > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ ^ ( _ _ : : : : : : ( @.#.$.n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n %.) ] ] ] { { ! ! ! ) ) > > * * & @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ ^ _ _ _ : : : : : _ p &.7 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n *.=.] ] ] ] { { ! ! ! ) ) > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ * * > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ / _ _ : : : : : : j -.;.n n n n n n n n n n n n n n n n ..7 >.S C ,.'.).!.$.8 n n n n n n n n n n n n n n n n n n n n n n n ~.f ] ] ] ] ] { { ! ! ! ) ) > > * * % @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ * * > > > ) ! ! ! { { ] ] ] ] ] ^ ^ ( _ _ : : : : : _ {.]...n n n n n n n n n n n n 8 ;.^./.(._.:.h <.[.}.[.j |.1.{.2.3.4.5.m n n n n n n n n n n n n n n n n n n $.6.^ ] ] ] ] ] { { ! ! ! ) ) > > * * @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! { { ] ] ] ] ] ^ ^ ( _ _ : : : : : 7.8.A n n n n n n n n n n n 8 9.` s g 7.0.[.[.[.[.[.[.[.[.[.[.[.[.[.}.q a.{.).n n n n n n n n n n n n n n n n n b.c.^ ^ ] ] ] ] ] { { ! ! ) ) > > * * & @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! { { ] ] ] ] ] ^ ^ ( _ _ : : : : : U d.8 n n n n n n n n n n A E e.<.0.[.[.[.f.f.f.f.f.f.f.f.f.f.[.[.[.[.[.[.[.[ g.n n n n n n n n n n n n n n n n n h.^ _ ^ ^ ] ] ] ] ] { { ! ! ) ) > > * * % @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ * * > > ) ) ! ! ! { { ] ] ] ] ^ ^ ( _ _ : : : : : :.i.n n n n n n n n n n ;.j.k.l.[.f.f.j j j j j j j j j j j j j j j j f.f.[.[.[.m.n n n n n n n n n n n n n n n n n %.I _ _ ^ ^ ] ] ] ] ] { { ! ! ) ) > > * * @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ % * * > > ) ! ! ! { { ] ] ] ] ^ ^ ( _ _ : : : : : n.o.n n n n n n n n n $.p.q.0.f.f.j j j j j j j j j j j j j j j j j j j j j j f.f.k x n n n n n n n n n n n n n n n n 7 r.b _ ( ^ ^ ] ] ] ] ] { ! ! ! ) > > > * & @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ * * > > ) ) ! ! { { ] ] ] ] ^ ^ / _ _ : : : : : s.9 n n n n n n n n n t.u.0.f.j j j j j j j j j j j j j j j j j j j j j j j j j j j [.v...n n n n n n n n n n n n n n n n m w.b _ ( ^ ^ ] ] ] ] { { ! ! ) ) > > * * % @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ & * > > ) ) ! ! { { ] ] ] ] ] ^ / _ _ : : : : : L .n n n n n n n n z x.a.f.j j j j j j j j y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.j j j j j j y.z.n n n n n n n n n n n n n n n n n 8 x.b _ ( ^ ^ ] ] ] ] { { ! ! ) ) > > * * @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ * * > > ) ) ! ! { { ] ] ] ] ^ ^ _ _ : : : : : A.B.n n n n n n n n C 4 }.C.j j j j j j y.y.y.y.y.y.y.<.<.<.<.<.<.<.<.y.y.y.y.y.y.y.j j j j |.D.8 n n n n n n n n n n n n n n n n m E.F._ / ^ ] ] ] ] ] { ! ! ! ) > > * * % @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ & * > > ) ) ! ! { { ] ] ] ] ^ ^ _ _ : : : : : M G.n n n n n n n n o 1.f.j j j j j j y.y.y.y.y.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.y.y.y.y.j j j H.m.5.n n n n n n n !.I.n n n n n n n $.J.b _ ^ ^ ] ] ] ] { { ! ! ) ) > > * * @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ % * * > > ) ! ! ! { ] ] ] ] ^ ^ ( _ _ : : : : C.K.n n n n n n n n E c.C.j j j j j y.y.y.y.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.y.y.y.y.j j f.h L.5 M.K N.#.O.M P.z n n n n n n n Q.R._ ( ^ ^ ] ] ] ] { { ! ! ) > > * * % @ @ @ @ @ @ - ", -" @ @ @ @ @ @ & * > > ) ) ! ! { { ] ] ] ] ^ / _ _ : : : : : S.n n n n n n n n T.y.j j j j j y.y.y.y.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.y.y.y.j j j U.0.}.7.7.}.}.7.V.A n n n n n n n W.X._ / ^ ] ] ] ] { { ! ! ) ) > > * * @ @ @ @ @ @ - ", -" @ @ @ @ @ @ * * > > ) ! ! ! { ] ] ] ] ^ ^ _ _ : : : : : Y.I.n n n n n n n %.y.j j j j j y.y.y.<.<.<.<.<.<.<.<.<.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.<.<.<.<.<.<.<.<.y.y.y.j j j j j f.[.[.}.}.7.`.$.n n n n n n n +b _ ^ ^ ] ] ] ] { { ! ! ) > > * * % @ @ @ @ @ - ", -" @ @ @ @ @ % * > > ) ) ! ! { { ] ] ] ] ^ / _ _ : : : : .+o.n n n n n n n ++Z.j j j j y.y.y.<.<.<.<.<.<.<.Z.Z.Z.Z.Z.Z.Z.Z.@+@+@+@+@+Z.Z.Z.Z.Z.Z.Z.<.<.<.<.<.<.<.y.y.y.j j j j f.[.[.}.}.7.#+m n n n n n n 8 2.b ( ^ ^ ] ] ] { { ! ! ) ) > > * * @ @ @ @ @ - ", -" @ @ @ @ @ * * > > ) ! ! ! { ] ] ] ] ^ ^ _ _ : : : : _ $+n n n n n n n i.g j j j j y.y.y.<.<.<.<.<.<.Z.Z.Z.Z.Z.@+@+@+@+@+@+@+@+@+@+@+@+@+@+Z.Z.Z.Z.Z.<.<.<.<.<.<.y.y.y.j j j j f.[.[.}.}.7.%+n n n n n n n o.h _ ^ ^ ] ] ] ] { { ! ! ) > > * * % @ @ @ @ - ", -" @ @ @ @ % * * > ) ) ! ! { { ] ] ] ] ^ ( _ : : : : [ &+I.n n n n n n B H j j j j y.y.y.<.<.<.<.<.Z.Z.Z.Z.@+@+@+@+*+X.X.X.X.X.X.X.X.X.X.X.@+@+@+@+Z.Z.Z.Z.<.<.<.<.<.y.y.y.j j j j f.[.[.}.}.C.Y n n n n n n n =+c ( ^ ^ ] ] ] { { ! ! ) ) > > * & @ @ @ @ - ", -" @ @ @ @ * * > > ) ) ! ! { ] ] ] ] ^ ^ _ _ : : : : }.-+n n n n n n 8 ;+f.j j j y.y.y.<.<.<.<.<.Z.Z.Z.@+@+@+@+X.X.X.X.X.i i i i i i X.X.X.X.X.X.@+@+@+Z.Z.Z.<.<.<.<.<.<.y.y.j j j j [.[.[.}.}.1 6 n n n n n n $.>+_ ^ ^ ] ] ] ] { { ! ! ) > > * * @ @ @ @ - ", -" @ @ @ @ * * > > ) ! ! { { ] ] ] ] ^ ( _ : : : : : ,+8 n n n n n n '+[.j j j y.y.y.<.<.<.<.<.Z.Z.Z.@+@+X.X.X.X.i i i i i i |.|.i i i i i i X.X.X.X.@+@+@+Z.Z.Z.<.<.<.<.<.y.y.j j j j [.[.}.}.0.)+m n n n n n n ++F.( ^ ^ ] ] ] { { ! ! ) ) > * * % @ @ @ - ", -" @ @ @ % * > > ) ) ! ! { ] ] ] ] ^ ^ _ _ : : : : j G.n n n n n n !+~+j j j j y.y.<.<.<.<.<.Z.Z.@+@+@+X.X.X.i i i |.|.|.U U U U U U |.|.|.i i i X.X.X.@+@+@+Z.Z.Z.<.<.<.<.y.y.y.j j j f.[.[.}.}.7.{+n n n n n n I.]+_ ^ ^ ] ] ] ] { ! ! ) ) > > * & @ @ @ - ", -" @ @ @ * * > > ) ! ! { { ] ] ] ] ^ / _ : : : : [ ^+..n n n n n ../+[.j j j y.y.<.<.<.<.Z.Z.Z.@+@+X.X.X.i i |.|.U U U U U U U U U U U U U U |.|.i i X.X.X.@+@+Z.Z.Z.<.<.<.<.y.y.j j j j f.[.[.}.}.(+;.n n n n n n 4.< ( ^ ] ] ] ] { { ! ! ) > > * * @ @ @ - ", -" @ @ @ * * > > ) ! ! { { ] ] ] ^ ^ _ _ : : : : [ _+n n n n n n :+@+j j j y.y.<.<.<.<.<.Z.Z.@+@+X.X.i i i |.U U U U U f f f f f f f f U U U U U |.|.i i X.X.@+@+Z.Z.Z.<.<.<.<.y.y.j j j j [.[.}.}.[ <+n n n n n n 7 R._ ^ ^ ] ] ] { { ! ! ) ) > * * % @ @ - ", -" @ @ % * > > ) ) ! ! { ] ] ] ] ^ ^ _ _ : : : [ _.8 n n n n n ..[+C.j j y.y.<.<.<.<.<.Z.Z.@+@+X.X.i i |.U U U U f f f f f f f f f f f f f f U U U U |.i i X.X.@+@+Z.Z.Z.<.<.<.<.y.y.j j j f.[.[.}.0.}+9 n n n n n n |+c / ^ ] ] ] ] { ! ! ) ) > > * % @ @ - ", -" @ @ & * > > ) ) ! ! { ] ] ] ] ^ ( _ : : : : _ T.n n n n n n 1+<.j j j y.y.<.<.<.<.Z.Z.@+@+X.X.i i |.U U U f f f f f f f f f f f f f f f f f f U U U |.i i X.X.@+@+Z.Z.<.<.<.<.y.y.j j j j [.[.}.}.[ 2+n n n n n n x Z.( ^ ^ ] ] ] { { ! ! ) > > * * @ @ - ", -" @ @ * * > > ) ! ! { { ] ] ] ^ ^ _ _ : : : : |.B n n n n n n /+f.j j y.y.<.<.<.<.Z.Z.@+@+X.X.i i |.U U U f f f f f f f f f h h f f f f f f f f f f U U |.i i X.X.@+@+Z.Z.<.<.<.<.y.y.j j j f.[.[.}.0.q.A n n n n n n 3+_ ^ ^ ] ] ] { { ! ! ) > > * * @ @ - ", -" @ @ * * > ) ) ! ! { ] ] ] ] ^ ^ _ _ : : : [ 3+n n n n n n Q.4+j j j y.y.<.<.<.<.Z.Z.@+X.X.i i |.U U f f f f f f f h h h h h h h h h h h f f f f f f U U |.i i X.X.@+@+Z.Z.<.<.<.y.y.j j j j [.[.}.}.: {+n n n n n n '+] / ^ ] ] ] ] { ! ! ) ) > * * % @ - ", -" @ % * * > ) ) ! ! { ] ] ] ] ^ / _ : : : : ( %.n n n n n n 5 }.j j y.y.<.<.<.<.Z.Z.@+@+X.X.i |.U U f f f f f f h h h h 5+6+6.7+>+{.n.A.1.f f f f f f f U U |.i i X.@+@+Z.Z.<.<.<.<.y.y.j j j f.[.}.}.0.8+8 n n n n n .Z.( ^ ] ] ] ] { ! ! ) ) > > * % @ - ", -" @ % * > > ) ) ! ! { ] ] ] ] ^ ( _ : : : : f.o.n n n n n ..9+j j j y.y.<.<.<.<.Z.Z.@+X.X.i |.U U f f f f f h h h 5+5+5+H 8+,+P.(.(.(.P.(.)+0+.+f f f f f U U |.i X.X.@+@+Z.Z.<.<.<.y.y.j j j f.[.[.}.0.X.S n n n n n ..a+_ ^ ^ ] ] ] { { ! ! ) > > * & @ - ", -" @ * * > > ) ! ! { { ] ] ] ^ ^ _ _ : : : [ @.8 n n n n n B h j j j y.<.<.<.<.Z.Z.@+@+X.i i |.U U f f f f h h h 5+h (+2.b+(.(.(.(.(.(.(.(.(.(.c+n.f f f f f U U i i X.X.@+Z.Z.<.<.<.<.y.y.j j j [.[.}.}.: d+n n n n n n e+b ^ ^ ] ] ] { { ! ! ) > > * * @ - ", -" @ * * > > ) ! ! { { ] ] ] ^ ^ _ _ : : : [ m.n n n n n n ++0.j j y.y.<.<.<.<.Z.Z.@+X.X.i |.U U f f f f h h h 5+h f+g+(.(.(.(.(.(.(.(.(.(.(.(.(.h+i+g f f f U U |.i X.X.@+@+Z.Z.<.<.<.y.y.j j j [.[.}.}.0.[+n n n n n n o ] / ^ ] ] ] { { ! ! ) ) > * * @ - ", -" @ * * > > ) ! ! { ] ] ] ] ^ / _ : : : : ( $+n n n n n n 8.f.j j y.y.<.<.<.Z.Z.@+@+X.i i j+U f f f f h h h 5+5+0+(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.g+9+5+f f f U U i i X.@+@+Z.Z.<.<.<.y.y.j j j f.[.}.}.0.:.I.n n n n n .j / ^ ] ] ] ] { ! ! ) ) > * * @ - ", -" @ * * > ) ) ! ! { ] ] ] ] ^ 3 _ : : : _ @.,.n n n n n ..k+j j j y.y.<.<.<.Z.Z.@+X.X.i |.U U f f f f h h 5+5+l+(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.g+g+m+n+f f U U |.i X.X.@+Z.Z.<.<.<.<.y.j j j f.[.[.}.0.}.o+n n n n n 8 p+( ^ ] ] ] ] { ! ! ) ) > > * % - ", -" % * * > ) ) ! ! { ] ] ] ] ^ ( _ : _ q+r+I.n n n n n n n s+l+f.j y.<.<.<.<.Z.Z.@+X.X.i |.U U f f f h h 5+5+4+t+(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.g+g+l+f f f U |.i i X.@+@+Z.<.<.<.<.y.y.j j j [.[.}.}._ 4.n n n n n n 8+_ ^ ^ ] ] ] { ! ! ) ) > > * % - ", -" % * > > ) ) ! ! { ] ] ] ] ^ ( _ _ u+Q.n n n n n n n n n n Q.v+C.y.<.<.<.<.Z.@+@+X.i i U U f f f f h h 5+5+_.(.(.(.(.(.P.P.P.P.P.P.(.(.(.(.(.(.(.(.(.g+`.6+f f U U |.i X.@+@+Z.Z.<.<.<.y.y.j j j [.[.}.}.7.w+n n n n n n Q ( ^ ^ ] ] ] { ! ! ! ) > > * % - ", -" % * > > ) ) ! ! { ] ] ] ^ ^ ( ( x+A n n n n n n n n n n n n ~.s y+<.<.<.Z.Z.@+@+X.i |.U U f f f h h 5+5+M L.(.(.(.(.P.P.P.P.P.P.P.P.(.(.(.(.(.(.(.(.g+h+l+f f U U |.i X.X.@+Z.Z.<.<.<.y.y.j j j [.[.}.}.0.z+n n n n n n A+F.^ ^ ] ] ] { { ! ! ) > > * & - ", -" % * > > ) ) ! { { ] ] ] ^ ^ _ B+C+n n n n n n n n n n n n n n ).D+<.<.<.Z.Z.@+X.X.i |.U U f f f h h 5+5+E+b+(.(.(.P.P.P.P.P.P.P.P.P.P.(.(.(.(.(.(.(.g+g+e.U f f U |.i X.X.@+Z.Z.<.<.<.y.y.j j j f.[.}.}.0.F+n n n n n n G+I ^ ^ ] ] ] { { ! ! ) > > * & - ", -" % * > > ) ) ! { { ] ] ] ^ ^ F.H+n n n n n n n n n n n n n n n n S.j <.<.Z.Z.@+X.X.i |.U U f f f h h 5+5+&+(.(.(.(.P.P.P.P.P.P.P.P.P.P.P.(.(.(.(.(.(.g+g+I+f f f U |.i X.X.@+Z.Z.<.<.<.<.y.j j j f.[.}.}.0.0+8 n n n n n s+{ ^ ^ ] ] ] { { ! ! ) > > * * - ", -" % * > > ) ) ! { { ] ] ] ^ ^ <.x n n n n n n n n n n n n n n n n x g <.<.Z.Z.@+X.X.i |.U U f f f h h 5+h J+(.(.(.P.P.P.P.P.K+K+P.P.P.P.P.(.(.(.(.(.(.(.g+g+4+f f U U i i X.@+Z.Z.<.<.<.<.y.j j j f.[.}.}.0.R.8 n n n n n L+{ ^ ^ ] ] ] { { ! ! ) > > * * - ", -" % * > > ) ) ! { { ] ] ] ^ ^ +.n n n n n n n n n n n n n n n n n ..M+<.<.Z.Z.@+X.X.i |.U f f f f h 5+5+h `.(.(.(.P.P.P.P.P.K+K+K+P.P.P.P.(.(.(.(.(.(.(.g+(.N+f f U U i i X.@+Z.Z.<.<.<.<.y.j j j f.[.}.}.0.q+8 n n n n n O+P+^ ^ ] ] ] { { ! ! ) > > * * - ", -" % * > > ) ) ! { { ] ] ] ^ ^ Q+n n n n n n n n n n n n n n n n n n r.<.<.Z.Z.@+X.X.i |.U f f f f h h 5+h `.(.(.(.P.P.P.P.P.K+K+P.P.P.P.P.(.(.(.(.(.(.(.g+(.~+f f U U i i X.@+Z.Z.<.<.<.<.y.j j j f.[.}.}.0.k.8 n n n n n O+P+^ ^ ] ] ] { { ! ! ) > > * * - ", -" % * > > ) ) ! { { ] ] ] ^ ] R+n n n n n n n n n n n n n n n n n n F y.<.Z.Z.@+X.X.i |.U U f f f h h 5+h v+(.(.(.P.P.P.P.P.P.P.P.P.P.P.P.(.(.(.(.(.(.g+g+h+S+f f U |.i X.X.@+Z.Z.<.<.<.<.y.j j j f.[.}.}.0.l+8 n n n n n ^.{ ^ ^ ] ] ] { { ! ! ) > > * * - ", -" % * > > ) ) ! { { ] ] ] ^ ^ T+n n n n n n n n n n n n n n n n n n U+<.<.Z.Z.@+X.X.i |.U U f f f h h 5+5+V+(.(.(.(.P.P.P.P.P.P.P.P.P.P.(.(.(.(.(.(.(.g+g+c+h f f U |.i X.X.@+Z.Z.<.<.<.y.y.j j j f.[.}.}.0.W+8 n n n n n Y P+^ ^ ] ] ] { { ! ! ) > > * & - ", -" % * > > ) ) ! { { ] ] ] ^ ^ v+..n n n n n n n n n n n n n n n n n N <.<.Z.Z.@+@+X.i |.U U f f f h h 5+5+@.(.(.(.(.(.P.P.P.P.P.P.P.P.P.(.(.(.(.(.(.(.g+g+X+U f U U |.i X.X.@+Z.Z.<.<.<.y.y.j j j [.[.}.}.0.Y+n n n n n n #.{ ^ ^ ] ] ] { { ! ! ) > > * & - ", -" % * > > ) ) ! ! { ] ] ] ] ^ S+z n n n n n n n n n n n n n n n n z J <.<.Z.Z.@+@+X.i i U U f f f f h h 5+S+,+(.(.(.(.(.P.P.P.P.P.P.P.(.(.(.(.(.(.(.(.g+g+Z+f f U U |.i X.@+@+Z.Z.<.<.<.y.y.j j j [.[.}.}.0.g+n n n n n n `+c ^ ^ ] ] ] { { ! ! ) > > * & - ", -" % * * > ) ) ! ! { ] ] ] ] ^ ] @n n n n n n n n n n n n n n n n ++C.<.<.<.Z.Z.@+X.X.i |.U f f f f h h 5+h .@(.(.(.(.(.(.(.P.P.(.(.(.(.(.(.(.(.(.(.g+g++@g f f U U i i X.@+@+Z.<.<.<.<.y.y.j j j [.[.}.}.7.@@n n n n n n #@b ^ ^ ] ] ] { ! ! ) ) > > * % - ", -" @ * * > ) ) ! ! { ] ] ] ] ^ / n.$.n n n n n n n n n n n n n n $.$@<.<.<.<.Z.Z.@+X.X.i |.U U f f f f h h 5+1 ;+(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.g+g+n.f f U U |.i X.X.@+Z.Z.<.<.<.<.y.y.j j f.[.[.}.}._ #.n n n n n n 2.( ^ ] ] ] ] { ! ! ) ) > > * % - ", -" @ * * > > ) ! ! { ] ] ] ] ^ / F.3.8 n n n n n n n n n n n n 8 e+C.y.<.<.<.Z.Z.@+@+X.i i U U f f f f h h 5+5+{.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.g+g+8+f f f U U |.i X.X.@+Z.Z.<.<.<.a.y.j j j f.[.[.}.0.7.G.n n n n n 8 %@( ^ ] ] ] ] { ! ! ) ) > > * % - ", -" @ * * > > ) ! ! { { ] ] ] ^ ^ _ [ &@8 n n n n n n n n n n 8 p.y.y.y.<.<.<.<.Z.@+@+X.X.i |.U U f f f f h h 5+5+&+(.(.(.(.(.(.(.(.(.(.(.(.(.(.(.g+g+`.M f f U U |.i c.X.@+@+Z.Z.<.<.<.y.y.j j j f.[.}.}.0.D+$.n n n n n *@e / ^ ] ] ] ] { ! ! ) ) > * * @ - ", -" @ * * > > ) ! ! { { ] ] ] ^ ^ _ _ : =@Q.n n n n n n n n X -@j j y.y.<.<.<.<.Z.Z.@+X.X.i |.U U f f f f f h h 5+5+;@(.(.(.(.(.(.(.(.(.(.(.(.(.g+g+2.4+f f f U U |.i X.X.@+Z.Z.<.<.<.<.y.y.j j j [.[.}.}.0.v+n n n n n n >@] ^ ^ ] ] ] { { ! ! ) > > * * @ - ", -" @ % * > > ) ! ! { { ] ] ] ^ ^ ( _ : _ ,@@@w n n n n n n 5.@+j j j y.y.<.<.<.Z.Z.@+@+X.X.i |.U U f f f f f h h h h %@[+(.(.(.(.(.(.(.(.(.h+g+g+'@B+f f f U U |.i i X.@+@+Z.Z.<.<.<.<.y.j j j f.[.[.}.}.q &@n n n n n n A+F.^ ^ ] ] ] { { ! ! ) > > * * @ - ", -" @ % * > > ) ) ! ! { ] ] ] ] ^ ( _ : : : _ )@9 n n n n n 8 +.j j j y.y.<.<.<.<.Z.Z.@+@+X.i i |.U U f f f f f h h h h M $@G P.(.(.(.(.h+(.L..@!@U f f f U U U i i X.X.@+Z.Z.<.<.<.<.y.y.j j j f.[.}.}.0.C.*.n n n n n n u+( ^ < ] ] ] { ! ! ) ) > > * & @ - ", -" @ @ * * > ) ) ! ! { ] ] ] ] ^ ^ _ _ : : : b ~@n n n n n n {@}.j j j y.y.<.<.<.Z.Z.@+@+X.X.i i |.U U f f f f f f h h h h 5+q.n._.&+;@]@p+k U f f f f U U U |.i X.X.@+@+Z.Z.<.<.<.<.y.j j j j [.[.}.}.0.^@8 n n n n n b.6+/ ^ ] ] ] ] { ! ! ) ) > > * % @ - ", -" @ @ * * > > ) ! ! { { ] ] ] ^ ^ _ _ : : : q ,+n n n n n n B.U j j j y.y.<.<.<.<.Z.Z.@+@+X.X.i |.U U U f f f f f f f h h h h h h f f f f f f f f f U U U |.i X.X.@+@+Z.Z.<.<.<.<.y.y.j j j f.[.[.}.}.q /@n n n n n n W ] ^ ^ ] ] ] ] { ! ! ) ) > * * @ @ - ", -" @ @ * * > > ) ! ! { { ] ] ] ] ^ ( _ : : : : 6.X n n n n n ..L.C.j j j y.y.<.<.<.<.Z.Z.@+@+X.X.i |.|.U U f f f f f f f f f f f f f f f f f f f f U U U |.i i X.@+@+Z.Z.<.<.<.<.<.y.j j j j [.[.}.}.0.k B n n n n n n (.( ^ ^ ] ] ] { { ! ! ) > > * * @ @ - ", -" @ @ % * > > ) ) ! ! { ] ] ] ] ^ / _ : : : : b 0 n n n n n n t.d j j j y.y.<.<.<.<.Z.Z.Z.@+@+X.X.i i |.U U U f f f f f f f f f f f f f f f f U U U |.|.i i X.X.@+@+Z.Z.<.<.<.<.y.y.j j j f.[.[.}.}.7.r.n n n n n n ;.B+/ ^ ] ] ] ] { ! ! ) ) > > * * @ @ - ", -" @ @ @ * * > ) ) ! ! { { ] ] ] ^ ^ _ _ : : : q 9+8 n n n n n 8 e.C.j j j y.y.<.<.<.<.Z.Z.@+@+@+X.X.i i |.U U U U U f f f f f f f f f f f U U U U |.i i X.X.@+@+@+Z.Z.<.<.<.<.y.y.j j j j [.[.}.}.0.e *.n n n n n n 5 I ^ ^ ] ] ] ] { ! ! ) ) > > * % @ @ - ", -" @ @ @ * * > > ) ! ! { { ] ] ] ] ^ ( _ : : : : f.K n n n n n n (@[.j j j j y.y.<.<.<.<.Z.Z.@+@+@+X.X.i i i |.U U U U U U U U U U U U U U U U |.|.i i X.X.@+@+@+Z.Z.<.<.<.<.<.y.y.j j j f.[.[.}.}.7./+n n n n n n 8 ]+( ^ ^ ] ] ] { { ! ! ) > > * * @ @ @ - ", -" @ @ @ & * > > ) ) ! ! { ] ] ] ] ^ ^ _ _ : : : : Q ..n n n n n 8 `.f.j j j y.y.<.<.<.<.<.Z.Z.Z.@+@+X.X.X.i i i |.|.U U U U U U U U U U |.|.i i i X.X.X.@+@+@+Z.Z.<.<.<.<.<.y.y.j j j j [.[.}.}.0.g B.n n n n n n _@( / ^ ] ] ] ] { ! ! ! ) > > * * @ @ @ - ", -" @ @ @ % * * > ) ) ! ! { { ] ] ] ^ ^ ( _ : : : : U 6 n n n n n n :@f j j j j y.y.<.<.<.<.<.Z.Z.Z.@+@+@+X.X.X.i i i i |.|.|.|.|.|.|.|.i i i i X.X.X.@+@+@+Z.Z.Z.<.<.<.<.<.y.y.j j j j f.[.[.}.}.[ `+n n n n n n 8 9+( ^ ^ ] ] ] ] { ! ! ) ) > > * % @ @ @ - ", -" @ @ @ @ * * > > ) ! ! ! { ] ] ] ] ^ ^ _ _ : : : _ #@n n n n n n n S.}.j j j j y.y.<.<.<.<.<.Z.Z.Z.Z.@+@+@+X.X.X.X.i i i i i i i i i i X.X.X.X.@+@+@+@+Z.Z.Z.<.<.<.<.<.y.y.j j j j f.[.[.}.}.0.4 $.n n n n n n t.: / ^ ] ] ] ] { { ! ! ) > > * * @ @ @ @ - ", -" @ @ @ @ % * > > ) ) ! ! { { ] ] ] ^ ^ ( _ : : : : e C n n n n n n $.m+f.j j j j y.y.<.<.<.<.<.<.Z.Z.Z.@+@+@+@+@+X.X.X.X.X.X.X.X.X.X.X.X.X.@+@+@+@+Z.Z.Z.<.<.<.<.<.<.y.y.j j j j f.[.[.}.}.0.|.<@n n n n n n m V+_ ^ ^ ] ] ] ] { ! ! ) ) > > * * @ @ @ @ - ", -" @ @ @ @ @ * * > > ) ! ! { { ] ] ] ] ^ ^ _ _ : : : : I+8 n n n n n n *.[@f.j j j j y.y.<.<.<.<.<.<.<.Z.Z.Z.Z.@+@+@+@+@+@+*+X.X.X.@+@+@+@+@+@+}@Z.Z.Z.Z.<.<.<.<.<.<.y.y.j j j j f.[.[.}.}.}.7.|@n n n n n n n d.F./ ^ ] ] ] ] { { ! ! ) ) > * * % @ @ @ @ - ", -" @ @ @ @ @ * * > > ) ) ! ! { { ] ] ] ^ ^ ( _ : : : : [ Y n n n n n n n Y <.f.j j j j y.y.y.<.<.<.<.<.<.<.Z.Z.Z.Z.Z.@+@+@+@+@+@+@+@+@+@+Z.Z.Z.Z.Z.Z.<.<.<.<.<.<.y.y.y.j j j j j [.[.[.}.}.[ E.8 n n n n n n !.q._ ^ ^ ] ] ] ] { ! ! ! ) > > * * @ @ @ @ @ - ", -" @ @ @ @ @ % * * > > ) ! ! { { ] ] ] ] ^ ^ _ _ : : : : 1@*@n n n n n n n 2@d f.j j j j y.y.y.<.<.<.<.<.<.<.<.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.<.<.<.<.<.<.<.<.y.y.y.j j j j C.[.[.[.}.}.7.e.z n n n n n n ../+F./ ^ ] ] ] ] { { ! ! ) ) > > * % @ @ @ @ @ - ", -" @ @ @ @ @ @ * * > > ) ) ! ! { { ] ] ] ] ^ / _ _ : : : _ 3@8 n n n n n n 8 R+}.f.j j j j j y.y.y.<.<.<.<.<.<.<.<.<.<.<.<.Z.Z.Z.Z.Z.<.<.<.<.<.<.<.<.<.<.<.y.y.y.y.j j j j f.[.[.[.}.}.0.]@B n n n n n n n 4@: ( ^ ^ ] ] ] ] { ! ! ! ) > > * * @ @ @ @ @ @ - ", -" @ @ @ @ @ @ % * * > > ) ! ! { { ] ] ] ] ^ ^ _ _ : : : : [ {+n n n n n n n m -.}.f.j j j j j y.y.y.y.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.y.y.y.y.j j j j f.0.[ 7.}.}.}.l.5@S n n n n n n n B.1._ ^ ^ ] ] ] ] { { ! ! ) ) > > * & @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ * * > > ) ) ! ! { { ] ] ] ] ^ ^ _ _ : : : : f :+n n n n n n n 8 6@[.[.j j j j j j y.y.y.y.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.y.y.y.y.j j j j f.0+7@5 ++G+3.^@d ;@9 n n n n n n n $..@b / ^ ] ] ] ] ] { ! ! ) ) > > * * @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ % * * > > ) ! ! ! { ] ] ] ] ^ ^ / _ _ : : : : l+9 n n n n n n n 8 O e [.f.j j j j j j y.y.y.y.y.y.<.<.<.<.<.<.<.<.<.<.<.<.y.y.y.y.y.y.j j j j d &+_@m n n n n n 8 :+b.n n n n n n n 8 v.F.( ^ ^ ] ] ] ] { { ! ! ) ) > > * & @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ * * > > ) ) ! ! { { ] ] ] ] ^ ^ ( _ _ : : : : x+X n n n n n n n n (@p }.[.f.j j j j j j j y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.y.j j j j j j j 8@$.n n n n n n n n n n n n n n n n n S.b _ ^ ^ ] ] ] ] { { ! ! ) ) > > * * @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ % * * > > ) ) ! ! { { ] ] ] ] ^ ^ _ _ : : : : _ 2.$.n n n n n n n n S V.0.[.f.f.j j j j j j j j j y.y.y.y.y.y.y.y.y.y.j j j j j j j j j [.9@8 n n n n n n n n n n n n n n n n n 0@[ _ ^ ^ ] ] ] ] { { ! ! ! ) > > * * % @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ & * > > ) ) ! ! ! { ] ] ] ] ] ^ ^ _ _ : : : : _ G z n n n n n n n n m &.1 }.[.f.f.j j j j j j j j j j j j j j j j j j j j j j j j f.[.)+m n n n n n n n n n n n n n n n n n %.0._ ^ ^ ] ] ] ] ] { { ! ! ) ) > > * * @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ * * > > ) ) ! ! { { ] ] ] ] ] ^ ^ _ _ : : : : _ a@y n n n n n n n n n x Q e }.[.[.f.f.j j j j j j j j j j j j j j j j j j C.f.[.[.X.'.n n n n n n n n n n n n n n n n 8 b@l._ / ^ ^ ] ] ] ] { { ! ! ) ) > > * * % @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! { { ] ] ] ] ] ^ ^ _ _ : : : : _ _.S n n n n n n n n n n K c@X.}.[.[.[.[.f.f.j j j j j j j j j j f.f.f.[.[.[.[.[.d@..n n n n n n n n n n n n n n n n #.( _ / ^ ^ ] ] ] ] { { ! ! ! ) > > * * & @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ * * > > > ) ! ! ! { { ] ] ] ] ] ^ ^ _ _ : : : : : k.e@n n n n n n n n n n ..f@3.J 7.[.[.[.[.[.[.[.[.[.[.[.[.[.[.[.[.[.[.[.}.}.[ G+n n n n n n n n n n n n n n n n n D ] / ^ ^ ] ] ] ] { { ! ! ! ) ) > > * * @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ * * > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ _ _ _ : : : : e g@m n n n n n n n n n n n h@K.m.k.2 l.[.[.[.[.[.[.[.[.[.[.[.}.}.}.}.0.q B+,.n n n n n n n n n n n n n n n n n *@<.^ ^ ] ] ] ] { { ! ! ! ) ) > > * * % @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ ( _ _ : : : : _ N i@n n n n n n n n n n n n n $.:+p.c@$@,@y.7.: : : : : [ [.h %@V.2+j@;.n n n n n n n n n n n n n n n n n n $.M ^ ] ] ] ] ] { { ! ! ) ) > > * * % @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ ( _ _ : : : : k@4+d+I.n n n n n n n n n n n n n n n ..z x W.l@4@m@s+o ].o.b.8 n n n n n n n n n n n n n n n n n n n n n n z 5+] ] ] ] { { { ! ! ) ) > > * * & @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ / _ _ _ : : : : _ &+O+8 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n 5.[ ] ] ] ] { { ! ! ) ) > > > * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * > > > ) ) ! ! ! { { ] ] ] ] ] ^ ^ ^ ( _ _ : : : : : 7.N n@8 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n 0 ) ] ] { { { ! ! ) ) > > > * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * > > > ) ) ! ! ! { { ] ] ] ] ] ] ^ ^ / _ _ _ : : : : : 0.J+o@7 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n 8 a@] ] { { { ! ! ) ) > > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > > ) ) ! ! ! { { ] ] ] ] ] ] ^ ^ ^ ( _ _ _ : : : : : ( E+w+C 8 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n M.p@] { { ! ! ! ) ) > > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > > ) ) ! ! ! { { ] ] ] ] ] ] ] ^ ^ ^ ( _ _ _ : : : : : _ }.q@8@>@X ..n n n n n n n n n n n n n n n n n n I.:@|@x n n n n n n n n n n n n n A W+{ { { ! ! ! ) ) > > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > > ) ) ! ! ! { { { ] ] ] ] ] ] ^ ^ ^ ^ ( _ _ _ _ : : : : : _ F.g &+r.%.O+o.A I.8 8 8 8 8 m $.!+W.0 F 2.p : I 4 B n n n n n n n n n n n z r@! { { ! ! ! ) ) > > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > > ) ) ! ! ! ! { { ] ] ] ] ] ] ] ^ ^ ^ ^ / _ _ _ _ _ : : : : : : : c ] 0.U ~+Z {.]@L %@(+k f.F.I _ _ _ _ _ b E+M...n n n n n n n n *.+.) { ! ! ! ! ) ) > > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * > > ) ) ) ! ! ! { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ / _ _ _ _ _ _ _ : : : : : : : : : : : : : : _ _ _ _ _ _ _ ( / ^ }.c@-+$.......I.R t <.s@{ ! ! ! ) ) ) > > > * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ * * * > > > ) ) ! ! ! ! { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ / ( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ( / ^ ^ ^ ^ ^ ] ] ] 1.;@X+t@q.] ! { ! ! ! ! ) ) ) > > * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * > > > ) ) ) ! ! ! ! { { { ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ / / / ( ( ( ( ( ( ( ( ( / / ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] { { { { ! ! ! ) ) ) > > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * > > > > ) ) ! ! ! ! { { { { ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] { { { { ! ! ! ! ) ) ) > > > * * & @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * > > > ) ) ) ! ! ! ! { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { ! ! ! ! ) ) ) > > > * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * * > > > ) ) ) ! ! ! ! ! { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { ! ! ! ! ! ) ) ) > > > > * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * > > > > ) ) ) ! ! ! ! ! ! { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { ! ! ! ! ! ! ) ) ) > > > > * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * > > > > ) ) ) ) ! ! ! ! ! ! { { { { { { { u@] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { ! ! ! ! ! ! ! ) ) ) > > > > * * * & @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * * > > > > ) ) ) ) ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ) ) ) ) > > > > * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" v@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * > > > > > ) ) ) ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) ) ) > > > > > * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * * > > > > > ) ) ) ) ) ) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) ) ) ) ) ) > > > > > > * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" ~ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ & * * * * > > > > > > > ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) > > > > > > > * * * * & % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * * * > > > > > > > > > ) ) ) ) ) ) ) ) ) ) ) ) > > > > > > > > > > * * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % * * * * * * * > > > > > > > > > > > > > > > > > > > > > > * * * * * * * % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % & * * * * * * * * * * * * > > > > * * * * * * * * * * * * & % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % % & * * * * * * * * * * * * * * * * & % % % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % v@ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ % % % % % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ , . ", " ", " "}; diff --git a/share/pixmaps/ion_testnet16.png b/share/pixmaps/ion_testnet16.png index 4719631cd7244..77f65b0036147 100644 Binary files a/share/pixmaps/ion_testnet16.png and b/share/pixmaps/ion_testnet16.png differ diff --git a/share/pixmaps/ion_testnet16.xpm b/share/pixmaps/ion_testnet16.xpm index 90bce63f359a2..be5cacf036548 100644 --- a/share/pixmaps/ion_testnet16.xpm +++ b/share/pixmaps/ion_testnet16.xpm @@ -1,71 +1,41 @@ /* XPM */ static char * ion_testnet16_xpm[] = { -"16 16 52 1", +"16 16 22 1", " c None", -". c #010C10", -"+ c #010D12", -"@ c #010E13", -"# c #010F15", -"$ c #011117", -"% c #010F14", -"& c #011219", -"* c #02141B", -"= c #06394D", -"- c #0B6D93", -"; c #13BEFE", -"> c #0F98CB", -", c #010C11", -"' c #053446", -") c #02161E", -"! c #0B7198", -"~ c #021821", -"{ c #021A23", -"] c #021B24", -"^ c #10A3DA", -"/ c #11AEE8", -"( c #11A9E2", -"_ c #11ABE4", -": c #042E3E", -"< c #021C26", -"[ c #031E29", -"} c #011016", -"| c #03202B", -"1 c #03212C", -"2 c #074A63", -"3 c #02171F", -"4 c #031E28", -"5 c #095A78", -"6 c #095977", -"7 c #021820", -"8 c #095876", -"9 c #010D11", -"0 c #08506C", -"a c #011218", -"b c #12B0EC", -"c c #042734", -"d c #021720", -"e c #0F91C2", -"f c #10A4DC", -"g c #12B1EC", -"h c #032430", -"i c #095F7F", -"j c #074B65", -"k c #0D7FAA", -"l c #031B24", -"m c #11A5DD", -" .....+@@+..... ", -"....@#$$$$#@....", -"...%$&*=-*;>#,..", -"..%$*;;')!;;$#..", -".@$*;~{]]{^/($@.", -".#&_:]<[[<]~;&#.", -"+}*;{<|12|<{3;$+", -"+$;;]415564]7;$+", -"+$;;1416584]7;$+", -"9}*;{<|10|<{3;}+", -".#abc]<44<]~;a#.", -".@$*;d{]]{efg$@.", -"..%$*;;h3i;;$%..", -"...%$a*jkl;m%...", -"....@#}$$}#@....", -" .....9++9..... "}; +". c #000000", +"+ c #003F19", +"@ c #00712C", +"# c #006A29", +"$ c #005D24", +"% c #006327", +"& c #004B1E", +"* c #000100", +"= c #00200C", +"- c #001207", +"; c #004E1E", +"> c #006E2B", +", c #00A440", +"' c #005722", +") c #00501F", +"! c #005823", +"~ c #00A53F", +"{ c #006025", +"] c #00471C", +"^ c #004219", +"/ c #006C2A", +" ", +" ....+@# ", +" .. $@@ ", +" .. %&* ", +" .. .. ", +" . . ", +" =- . ", +";@> ,,, .", +"'@@) ,,, .", +" !) ~ . ", +" . . ", +" .. .. ", +" . {]. ", +" .. $@@ ", +" ....^@/ ", +" "}; diff --git a/share/pixmaps/ion_testnet256.png b/share/pixmaps/ion_testnet256.png index 5f152f6f22072..fae922e6597f1 100644 Binary files a/share/pixmaps/ion_testnet256.png and b/share/pixmaps/ion_testnet256.png differ diff --git a/share/pixmaps/ion_testnet256.xpm b/share/pixmaps/ion_testnet256.xpm index 26a53d5218465..6889660cdb4f1 100644 --- a/share/pixmaps/ion_testnet256.xpm +++ b/share/pixmaps/ion_testnet256.xpm @@ -1,699 +1,388 @@ /* XPM */ static char * ion_testnet256_xpm[] = { -"256 256 441 2", +"256 256 130 2", " c None", -". c #020B0F", -"+ c #020C0F", -"@ c #020B10", -"# c #020C11", -"$ c #020D10", -"% c #010D0F", -"& c #010C10", -"* c #010C11", -"= c #020B11", -"- c #010D12", -"; c #010D10", -"> c #010D11", -", c #010B11", -"' c #010E13", -") c #010B0F", -"! c #010F14", -"~ c #020C10", -"{ c #010F15", -"] c #011016", -"^ c #011117", -"/ c #010B10", -"( c #010C0F", -"_ c #011218", -": c #021319", -"< c #02131A", -"[ c #011219", -"} c #010E12", -"| c #02141B", -"1 c #03212D", -"2 c #053649", -"3 c #074860", -"4 c #08526E", -"5 c #085370", -"6 c #084C65", -"7 c #063B50", -"8 c #042734", -"9 c #05374A", -"0 c #0B6E93", -"a c #0F99CC", -"b c #12AFEA", -"c c #12B7F5", -"d c #13BCFB", -"e c #13BDFD", -"f c #13BCFC", -"g c #13B9F7", -"h c #12B2EE", -"i c #10A2D9", -"j c #0C7BA4", -"k c #07465E", -"l c #021720", -"m c #074A63", -"n c #0F95C7", -"o c #13BEFD", -"p c #13BEFE", -"q c #13BAF9", -"r c #11A3DA", -"s c #0A6081", -"t c #021A23", -"u c #011116", -"v c #02141C", -"w c #02141A", -"x c #021219", -"y c #053345", -"z c #0F91C1", -"A c #11A4DB", -"B c #074C65", -"C c #011015", -"D c #010E14", -"E c #021821", -"F c #031E28", -"G c #03232F", -"H c #042836", -"I c #042D3C", -"J c #053040", -"K c #053243", -"L c #053244", -"M c #053142", -"N c #042F3F", -"O c #042B3A", -"P c #021C26", -"Q c #02171F", -"R c #095C7B", -"S c #12B2ED", -"T c #13B9F8", -"U c #0C7CA6", -"V c #021922", -"W c #08536F", -"X c #0B6A8E", -"Y c #0D7DA7", -"Z c #0E8BBA", -"` c #0F98CC", -" . c #11ACE6", -".. c #12B1ED", -"+. c #12B5F1", -"@. c #12B6F3", -"#. c #12B6F4", -"$. c #12B7F4", -"%. c #12B5F3", -"&. c #12B4F1", -"*. c #12B0EB", -"=. c #11AAE3", -"-. c #10A0D7", -";. c #0F94C6", -">. c #0E87B4", -",. c #0C78A0", -"'. c #0A6385", -"). c #074B65", -"!. c #053547", -"~. c #03222E", -"{. c #02161D", -"]. c #0C749B", -"^. c #13BDFC", -"/. c #03212C", -"(. c #021218", -"_. c #042F40", -":. c #08506B", -"<. c #0E8EBE", -"[. c #11A6DE", -"}. c #12B5F2", -"|. c #13B8F7", -"1. c #109FD5", -"2. c #0D86B4", -"3. c #0B698C", -"4. c #07455C", -"5. c #042835", -"6. c #02151C", -"7. c #0C7AA3", -"8. c #109ACF", -"9. c #031F2A", -"0. c #0A5F7F", -"a. c #0E87B5", -"b. c #11A5DD", -"c. c #13BBFA", -"d. c #12B4F0", -"e. c #109CD1", -"f. c #042A38", -"g. c #0B6D92", -"h. c #0F92C3", -"i. c #02161E", -"j. c #13B8F6", -"k. c #109BD0", -"l. c #0C759D", -"m. c #084E68", -"n. c #0D86B3", -"o. c #11ADE7", -"p. c #12B8F6", -"q. c #074359", -"r. c #064055", -"s. c #0D7EA8", -"t. c #11ABE4", -"u. c #13BBFB", -"v. c #032431", -"w. c #096080", -"x. c #13BAF8", -"y. c #0C779F", -"z. c #0F98CB", -"A. c #0D83AF", -"B. c #053648", -"C. c #0D7FAA", -"D. c #03202A", -"E. c #12B1EC", -"F. c #11A9E2", -"G. c #021B25", -"H. c #08526D", -"I. c #11A4DC", -"J. c #042B39", -"K. c #043040", -"L. c #10A3D9", -"M. c #109DD2", -"N. c #0F97CA", -"O. c #0F97C9", -"P. c #0F97CB", -"Q. c #109ACE", -"R. c #109FD4", -"S. c #11A5DC", -"T. c #11ACE5", -"U. c #12B8F5", -"V. c #02151D", -"W. c #12AFEB", -"X. c #0E8FBF", -"Y. c #0A6384", -"Z. c #084D67", -"`. c #063C51", -" + c #053041", -".+ c #03202B", -"++ c #031C25", -"@+ c #021820", -"#+ c #031D27", -"$+ c #03222D", -"%+ c #042937", -"&+ c #064157", -"*+ c #085470", -"=+ c #0D81AD", -"-+ c #063B4F", -";+ c #042D3D", -">+ c #0E90C0", -",+ c #0B6B8F", -"'+ c #07475F", -")+ c #021118", -"!+ c #053445", -"~+ c #08516D", -"{+ c #0C769E", -"]+ c #0F95C8", -"^+ c #12B0EC", -"/+ c #13BBF9", -"(+ c #05394C", -"_+ c #0F93C4", -":+ c #063D52", -"<+ c #02171E", -"[+ c #042735", -"}+ c #074962", -"|+ c #0C77A0", -"1+ c #053141", -"2+ c #021B24", -"3+ c #095775", -"4+ c #0F9ACE", -"5+ c #13B8F5", -"6+ c #095E7E", -"7+ c #074861", -"8+ c #12AEE9", -"9+ c #0C7BA5", -"0+ c #0D7DA8", -"a+ c #0A6283", -"b+ c #11A6DF", -"c+ c #0A678A", -"d+ c #095F7F", -"e+ c #0E89B7", -"f+ c #095572", -"g+ c #0D85B2", -"h+ c #11AAE4", -"i+ c #0F90C1", -"j+ c #12B3F0", -"k+ c #0C749A", -"l+ c #042633", -"m+ c #0F96C9", -"n+ c #07435A", -"o+ c #0B7198", -"p+ c #11ABE5", -"q+ c #095673", -"r+ c #0C749C", -"s+ c #031F29", -"t+ c #095876", -"u+ c #042E3E", -"v+ c #0B6F94", -"w+ c #053344", -"x+ c #0A6587", -"y+ c #095674", -"z+ c #0B7399", -"A+ c #095D7C", -"B+ c #0C739A", -"C+ c #07465D", -"D+ c #063C50", -"E+ c #011017", -"F+ c #064258", -"G+ c #063E53", -"H+ c #0D7EA9", -"I+ c #11A8E1", -"J+ c #0E8CBC", -"K+ c #084E69", -"L+ c #095875", -"M+ c #042A39", -"N+ c #063F55", -"O+ c #0D81AC", -"P+ c #0F90C0", -"Q+ c #0F96C8", -"R+ c #074961", -"S+ c #074A64", -"T+ c #0E88B5", -"U+ c #032430", -"V+ c #011319", -"W+ c #011118", -"X+ c #02131B", -"Y+ c #064158", -"Z+ c #0B698D", -"`+ c #07445B", -" @ c #11A7E0", -".@ c #032532", -"+@ c #12B3EF", -"@@ c #042C3B", -"#@ c #084F6A", -"$@ c #095774", -"%@ c #11AEE9", -"&@ c #05384B", -"*@ c #0A5F80", -"=@ c #11ADE8", -"-@ c #021921", -";@ c #0D82AE", -">@ c #07455D", -",@ c #109ED3", -"'@ c #0B7298", -")@ c #0A6182", -"!@ c #06394C", -"~@ c #0E8DBC", -"{@ c #042C3C", -"]@ c #12AEE8", -"^@ c #031E29", -"/@ c #0C79A1", -"(@ c #0F91C2", -"_@ c #0C759C", -":@ c #032633", -"<@ c #0D7FAB", -"[@ c #0E8AB9", -"}@ c #042E3D", -"|@ c #0B7096", -"1@ c #0E8FC0", -"2@ c #0F99CD", -"3@ c #12AFE9", -"4@ c #0B6B90", -"5@ c #10A0D6", -"6@ c #02161F", -"7@ c #0A6181", -"8@ c #10A2D8", -"9@ c #0B6E94", -"0@ c #109BCF", -"a@ c #10A1D7", -"b@ c #0A688B", -"c@ c #06394D", -"d@ c #074B64", -"e@ c #08516C", -"f@ c #064056", -"g@ c #042938", -"h@ c #0A6689", -"i@ c #053446", -"j@ c #095978", -"k@ c #095B79", -"l@ c #095A79", -"m@ c #095A78", -"n@ c #095977", -"o@ c #063F54", -"p@ c #0B6A8D", -"q@ c #031F2B", -"r@ c #03202C", -"s@ c #053548", -"t@ c #095B7A", -"u@ c #0B7299", -"v@ c #063A4E", -"w@ c #0D7CA6", -"x@ c #085572", -"y@ c #031C26", -"z@ c #05384C", -"A@ c #0D84B1", -"B@ c #063D51", -"C@ c #085571", -"D@ c #095C7C", -"E@ c #052F40", -"F@ c #042634", -"G@ c #0F93C5", -"H@ c #0C7399", -"I@ c #032330", -"J@ c #0F94C5", -"K@ c #032531", -"L@ c #021C25", -"M@ c #10A4DB", -"N@ c #095D7D", -"O@ c #0B6F95", -"P@ c #042936", -"Q@ c #085674", -"R@ c #063B4E", -"S@ c #074259", -"T@ c #08506C", -"U@ c #084C66", -"V@ c #0E89B8", -"W@ c #0E8AB8", -"X@ c #043041", -"Y@ c #0C79A2", -"Z@ c #021A22", -"`@ c #085673", -" # c #03232E", -".# c #084F69", -"+# c #064259", -"@# c #0D80AB", -"## c #0F94C7", -"$# c #0E88B6", -"%# c #095877", -"&# c #0D83B0", -"*# c #0A6486", -"=# c #0A6789", -"-# c #0A6A8D", -";# c #0D84B0", -"># c #0F92C4", -",# c #0E8CBB", -"'# c #053A4D", -")# c #021D27", -"!# c #0B7095", -"~# c #07445C", -"{# c #0C7CA5", -"]# c #085774", -"^# c #074C66", -"/# c #109ACD", -"(# c #085471", -"_# c #032632", -":# c #12ADE8", -"<# c #0D85B1", -"[# c #0A6588", -"}# c #08506A", -"|# c #0E8DBD", -"1# c #11A7DF", -"2# c #064057", -"3# c #0B6C91", -"4# c #10A3DA", -"5# c #0A6688", -"6# c #0B7197", -"7# c #11A6DD", -"8# c #042B3B", -"9# c #0C78A1", -"0# c #031D28", -"a# c #074760", -"b# c #032533", -"c# c #021117", -"d# c #10A0D5", -"e# c #031B25", -"f# c #109DD1", -"g# c #074258", -"h# c #0D80AC", -"i# c #0E86B3", -"j# c #06435A", -"k# c #021D26", -"l# c #052F3F", -"m# c #0A6485", -"n# c #11A8E0", -"o# c #021923", -"p# c #042532", -"q# c #11AEE8", -"r# c #0A6A8E", -"s# c #0B6C90", -"t# c #0E8CBA", -"u# c #042E3F", -"v# c #095E7D", -"w# c #0A6487", -"x# c #021A24", -"y# c #01131A", -"z# c #11ACE7", -"A# c #10A1D8", -"B# c #021C27", -"C# c #0B688C", -"D# c #095F80", -"E# c #109ED4", -"F# c #063E54", -"G# c #0C769D", -"H# c #000C10", +". c #004E1E", +"+ c #005521", +"@ c #005B23", +"# c #005D24", +"$ c #006025", +"% c #005E25", +"& c #005C23", +"* c #005823", +"= c #00511F", +"- c #005C24", +"; c #006C2A", +"> c #00712C", +", c #00702B", +"' c #006327", +") c #005321", +"! c #000000", +"~ c #005420", +"{ c #006E2B", +"] c #006125", +"^ c #006828", +"/ c #006F2B", +"( c #005621", +"_ c #006326", +": c #005B24", +"< c #005F25", +"[ c #000100", +"} c #004B1D", +"| c #006D2B", +"1 c #003E18", +"2 c #006A29", +"3 c #00210D", +"4 c #006126", +"5 c #000803", +"6 c #006829", +"7 c #005220", +"8 c #00451B", +"9 c #001408", +"0 c #00702C", +"a c #005922", +"b c #004A1D", +"c c #000E06", +"d c #005722", +"e c #003716", +"f c #006B29", +"g c #000D05", +"h c #005822", +"i c #002B11", +"j c #006528", +"k c #00421A", +"l c #005421", +"m c #00501F", +"n c #00521F", +"o c #006D2A", +"p c #006728", +"q c #004F1E", +"r c #006527", +"s c #004B1E", +"t c #00200C", +"u c #005320", +"v c #000201", +"w c #000E05", +"x c #00441B", +"y c #006B2A", +"z c #000C04", +"A c #003013", +"B c #000904", +"C c #005A24", +"D c #001508", +"E c #001B0A", +"F c #006628", +"G c #001608", +"H c #005020", +"I c #005A23", +"J c #00692A", +"K c #005120", +"L c #00A53E", +"M c #00A440", +"N c #00A53F", +"O c #00A23F", +"P c #00A540", +"Q c #000602", +"R c #001006", +"S c #000F06", +"T c #000301", +"U c #00270F", +"V c #004119", +"W c #005622", +"X c #006226", +"Y c #003816", +"Z c #001B0B", +"` c #005D25", +" . c #006929", +".. c #001709", +"+. c #005E24", +"@. c #006627", +"#. c #006427", +"$. c #006026", +"%. c #004F1F", +"&. c #002C11", +"*. c #00260F", +"=. c #000101", +"-. c #00A340", +";. c #00471C", +">. c #002A10", +",. c #000A04", +"'. c #00200D", +"). c #001E0C", +"!. c #00190A", +"~. c #001107", +"{. c #00A33F", +"]. c #005522", +"^. c #000401", +"/. c #001A0A", +"(. c #001D0B", +"_. c #001609", +":. c #000B04", +"<. c #003314", +"[. c #004019", +"}. c #00220D", +"|. c #004E1F", +"1. c #003615", +"2. c #00481C", +"3. c #001207", +"4. c #000703", +"5. c #005F24", +"6. c #003A17", +"7. c #00471B", +"8. c #005520", +"9. c #00501E", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & * = ", +" - ; > > > > > > > > > > > , ' ) ", +" + ; > > > > > > > > > > > > > > > > > > $ ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ~ { > > > > > > > > > > > > > > > > > > > > > > ] ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ^ > > > > > > > > > > > > > > > > > > > > > > > > > / ( ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) , > > > > > > > > > > > > > > > > > > > > > > > > > > > > _ ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > { ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! [ } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 1 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 3 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 5 6 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 7 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 8 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 9 0 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > a ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! b > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! c , > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > d ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! e > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > f ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! $ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! g > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > h ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! i > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > j ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! k > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! l > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! _ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! f > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > m ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! / > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > n ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! / > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > n ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! o > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > m ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! p > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! $ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 0 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! q > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > r ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > s ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! j > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > t ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! u > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > p v ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! / > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1 ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! @ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > / w ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! , > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > x ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! d > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > y z ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 2 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > A ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 0 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > u [ ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! + > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > r B ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! C > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2 D ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! % > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > y E ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > F G ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 7 , > > > > > > > > > > > > > > > > > > > > > > > > > > > > d g ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! F > > > > > > > > > > > > > > > > > > > > > > > > > / H v ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! u | > > > > > > > > > > > > > > > > > > > > > > < ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ) f > > > > > > > > > > > > > > > > > , % ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! I J > > > > > > > > > > > / ] 7 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! u * & % # I ( K ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! L M M M N ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! L M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! O M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! P M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M P ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! O M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! P M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! Q z R S B T ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" U V W 6 > > > > > 0 X K Y Z v ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ` , > > > > > > > > > > > > > > .k .. M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" K ^ > > > > > > > > > > > > > > > > > > > > +. M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" @.> > > > > > > > > > > > > > > > > > > > > > > > ` M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" d > > > > > > > > > > > > > > > > > > > > > > > > > > > ; M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" _ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > h N M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" p > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > # M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" 2 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > % O M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" p > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > C M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 7 M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" l > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > / M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" / > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > #. M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" $.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > K M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > f O M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" $.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > K M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @. M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" + > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" p > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > W M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _ M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" %.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" + > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" # > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > q M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ' > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > u M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" F > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" 6 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > h M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" @.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" _ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ~ M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ` > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > %. M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ( > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" m > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > j P M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" 2 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > h M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" h > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > . M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" _ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > u M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" #.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > l M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" 0 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > p M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 0 M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" #.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" f > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M P ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _ M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > X M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" 6 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ` M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" & > > > > > > > > > > > > > > > > > > > > > > > > > > > / + M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M N ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" H 2 > > > > > > > > > > > > > > > > > > > > > > > > ' M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" + | > > > > > > > > > > > > > > > > > > > > $ &. M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" 7 @.> > > > > > > > > > > > > > > / m *.=.! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M -. ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" 7 - j > > > > > > > / $ ;.>.,.! ! ! ! L M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! Q D Z '.).!.~.v ! ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! M M M M M M M M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! {.M M M M M M M M M M M M M M ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! H + - % $ < & h 7 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! # ; > > > > > > > > > > > , _ l ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! + ; > > > > > > > > > > > > > > > > > > $. ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ].{ > > > > > > > > > > > > > > > > > > > > > > X ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! p > > > > > > > > > > > > > > > > > > > > > > > > > , ].^.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! l , > > > > > > > > > > > > > > > > > > > > > > > > > > > > @ R ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ./.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; (.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! - > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > y _.! ! ! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! d > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > F :.! ! ! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + =.! ! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <.! ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! I > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > o w ! ! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ;.! ! ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! - > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > / S ! ! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! , > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [.! ! ! ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! l > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > .T ! ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! @.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > }. ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > m ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! |.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > j ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! d > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! $.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ^ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! o > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > m ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! / > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > n ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! / > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > n ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! f > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > m ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! X > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! u > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! V > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 0 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! >.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > r ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! g > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > W ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! % > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 1.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! g / > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ( ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 2.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 3., > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > a ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! k > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 4.p > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > K ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! (.0 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 5. ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 6.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > . ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 7.> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ` > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! * > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! n / > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4 ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! j > > > > > > > > > > > > > > > > > > > > > > > > > / 8. ", +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! n ; > > > > > > > > > > > > > > > > > > > > > > < ", +" ~ 2 > > > > > > > > > > > > > > > > > , # ", +" a 2 > > > > > > > > > > > / 4 n ", +" u h : +.- a ( 9. ", +" ", +" ", +" ", +" ", +" ", " ", " ", -" . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # $ ", -" % & * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & = ", -" + & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * * * * - - - - - - - - - - - - - - - - - - * * * * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" # ; & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * * > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & , ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * $ ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" ; & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - - - * * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" ) & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ; ", -" ~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & + ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ~ ", -" ~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ; ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ; ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' - - - - - - - > * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! { { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { { ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & + ", -" ~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' - - - - - - > * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & / ", -" / & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ( ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { { ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] { { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] { { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] { { { { { { { { { ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - - ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] { { { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ : < < < < < < < < < < < < < < : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] { { { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - > & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ' ! ! ! ! ! { { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ : < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < [ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] { { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ : < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < [ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] { { { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ : < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < [ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ] ! } > * > ' { ^ ^ ^ ] ] ] ] ] ] { { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ [ < < < < < < < < < < < < < < < < | | | | | | | | | | | | | | | | | | | | | | | | < < < < < < < < < < < < < < < < : _ _ _ _ _ _ _ _ _ { * ^ 1 2 3 4 5 6 7 8 | & - ] ^ ] ] ] ] ] ] { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ' ' ! ! ! ! ! { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ [ < < < < < < < < < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < < < < < < < < < [ _ _ _ _ ' _ 9 0 a b c d e e f g h i j k l & ] ] ] ] ] ] ] { { { { { { { ! ! ! ! ' ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ [ < < < < < < < < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < < < < < < < ] [ m n c e e e e o p p p e e e e q r s t * u ] ] ] ] ] ] { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ [ < < < < < < < < < < | | | | | | | | | | | | | | | | | | | | | | v v | w < < x x x x x x x < < | | | | | | | | | | | | | | | < < < < < < < ' y z q e e p p p p p p p p p p p p e e f A B ' C ] ] ] ] ] ] { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ [ : < < < < < < < < < | | | | | | | | | | | | | | | | | | v | < ^ C D ! ] | E F G H I J K L M N O 8 1 P Q [ { ' D C ^ < | | | | | | | | | | < x ] R S e e p p p p p p p p p p p p p p p p p e T U E ! ^ ] ] ] ] ] { { { { { { { ! ! ! ! ' ' ' ' ' - - - - - > & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ [ < < < < < < < < < | | | | | | | | | | | | | | | | | | x ] ' ^ V H 7 W X Y Z ` A ...+.@.#.$.$.$.#.%.&.*.=.-.;.>.,.'.).!.~.{.! ' ] : | | | | | < | ].q e p p p p p p p p p p p p p p p p p p p p e ^.;./.' ^ ^ ] ] ] ] ] { { { { { { ! ! ! ! ' ' ' ' ' ' - - - - > & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! { { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ [ < < < < < < < < | | | | | | | | | | | | | | | | | (.{ C V _.:.].<.[.}.T f e e e e e e e e o o o o o o o e e e e e e e p d |...1.2.3.4.5.6.' { x < x 7.f e p p p p p p p p p p p p p p p p p p p p p p p e 8.9.! ^ ^ ] ] ] ] ] { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - > & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ < < < < < < < < | | | | | | | | | | | | | | | < ] { V !.0.a.b.c d e e e e o o p p p p p p p p p p p p p p p p p p p p p p p o o e e e e c.d.e.U :.f.: g.d e p p p p p p p p p p p p p p p p p p p p p p p p p e h.i.] ^ ^ ] ] ] ] ] { { { { { { ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ : < < < < < < < | | | | | | | | | | | | | | < ] ] ~.m Y r j.^.e e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e e e d &.k.|.e p p p p p p p p p p p p p p p p p p p p p p p p p p p ^.l.> ^ ^ ^ ^ ] ] ] ] { { { { { { ! ! ! ! ! ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ! ! ! ! ! { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ : < < < < < < < | | | | | | | | | | | | | | ^ C 1 m.n.o.c.e e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e p.q.> ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ! ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ [ < < < < < < < | | | | | | | | | | | | | < { Q r.s.t.u.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e e.6.] ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ! ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & > - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ : < < < < < < | | | | | | | | | | | | | x ! v.w.e.x.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o d W * ^ ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ! ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ [ < < < < < < | | | | | | | | | | | | | (.] M y.o.^.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e z._ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ! ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < < | | | | | | | | | | | | | (.^ 9 A.&.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e c B.' ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ! ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ < < < < < < | | | | | | | | | | | | x C B.n.$.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e X ) ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ [ < < < < < | | | | | | | | | | | | < { I C.@.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e z ! _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < < | | | | | | | | | | | | ] D.0 E.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e F.G.^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < < | | | | | | | | | | | x | H.I.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e p e e e e e e e e e e e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e }.J.] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ [ < < < < < | | | | | | | | | | | | { K.Z q e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o e e e e e c.g @.*.=.L.M.a N.O.P.Q.R.S.T.h c T d e e e o p o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p U.B.{ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < < | | | | | | | | | | | x V.s W.e e p p p p p p p p p p p p p p p p p p p p p p p p p p o e e e q &.A X.j Y.Z.`. +8 .+++V l i.i.i.@+t #+$+%+y &+*+X =+n =.$.d e e e o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o j.-+! _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - > & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < < | | | | | | | | | | v C ;+>+d e p p p p p p p p p p p p p p p p p p p p p p p p o e e e |.=.Z ,+'+;+#+v _ (.< 6.{.Q @+@+@+@+@+@+@+@+@+@+Q i.V.| x ^ )+V..+!+~+{+]+^+/+e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o j.(+{ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < < | | | | | | | | | | | ^ W o.e e p p p p p p p p p p p p p p p p p p p p p p p e e f h _+3.:+/.| _ | i.@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+Q l <+6.x ^ i.[+}+|+&.p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p $.1+] _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < | | | | | | | | | | | x 2+7.x.e p p p p p p p p p p p p p p p p p p p p p p e e ^...Z 3+f.6._ 6.@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+Q Q Q Q i.< ] <.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e b ~.x _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - > & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ' ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < | | | | | | | | | | 6.] _.4+^.e p p p p p p p p p p p p p p p p p p p p p e e 5+N.6+%+< : <+@+@+@+@+@+@+@+@+@+@+E E E E E E E E E E E E @+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+Q Q _ l.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e e.v < < [ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < | | | | | | | | | | 6.] 7+ .e o p p p p p p p p p p p p p p p p p p p p e ^.8+9+-+i.x i.@+@+@+@+@+@+E E E E E E E E V V V V V V V V V V E E E E E E E E @+@+@+@+@+@+@+@+@+@+@+@+< :.d e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e 0+- < < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < | | | | | | | | | | v _ a+@.e p p p p p p p p p p p p p p p p p p p p e f b+c+H x 6.@+@+@+@+@+E E E E V V V V V V V V V V V V V V V V V V V V V V V V V V E E E E E @+@+@+@+@+@+@+i.%+^+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p /+}+{ < < < < [ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - > & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ : < < < < | | | | | | | | | | | {.{+q e p p p p p p p p p p p p p p p p p p p e f S.d+/.x i.@+@+@+E E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E E E E @+@+@+@+| e+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p /+f+' | < < < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < | | | | | | | | | | < 2+g+f e p p p p p p p p p p p p p p p p p p e ^.h+'..+: Q @+@+E E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E E E @+@+| 7+q e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e @.d+C < < < < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < | | | | | | | | | | : 9.i+f p p p p p p p p p p p p p p p p p p e e j+k+l+x Q @+@+E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E E E E m+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e T ,+] < < < < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & > - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < | | | | | | | | | | x G N.^.o p p p p p p p p p p p p p p p p p e c.<.B.: Q @+@+E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E 6.n+|.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e q o+^ < < < < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | | | x G Q.^.p p p p p p p p p p p p p p p p p e e p+q+i.6.@+@+E V V V V V V V V V V V V V V V V V V V V t t t t t t t t t t t t t t t t t t V V V V V V V V V V V V V V V V V V V | 7.e o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e c.r+^ < < < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | | | < ~.Q.^.o p p p p p p p p p p p p p p p p e c.n.H : @+E E V V V V V V V V V V V V V V V V V t t t t t t t t t t t t t t t t t t t t t t t t t t t t V V V V V V V V V V V V V V @+9.Q.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e u.].] < < < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < < | | | | | | | | | < s+m+e o p p p p p p p p p p p p p p p p e *.t+6.i.@+E E V V V V V V V V V V V V V V V t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t V V V V V V V V V V V i.u+[.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e c.v+{ < < < < [ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < | | | | | | | | | | t X.^.p p p p p p p p p p p p p p p p e f ` w+x @+E E V V V V V V V V V V V V V t t t t t t t t t t t t t t t t t 2+2+2+2+2+2+2+2+t t t t t t t t t t t t t t t t t V V V V V V V V V V.!.S.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e q x+D < < < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | | v 6.A.f o p p p p p p p p p p p p p p p e x.j #+V.E E V V V V V V V V V V V V V t t t t t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t t t t V V V V V V V V {.I m+f e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e p.y+D < < < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | | 6.^ z+d p p p p p p p p p p p p p p p p e &.A+v Q E V V V V V V V V V V V V t t t t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t t t V V V V V V Q F B+}.e e p p p p p p p p p p p p p p e e p p p p p p p p p p p p p p p p e d.4.D < < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' ' - - - > & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | | 6.C A+q e p p p p p p p p p p p p p p p e o.C+: E E V V V V V V V V V V V t t t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t t V V V V V E | D+<.p.e e o p p p p p p p p p e e c.A p.e p p p p p p p p p p p p p p p e o.K ] < < < [ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < < | | | | | | | | 6.E+F+&.e p p p p p p p p p p p p p p p e A !.< E E V V V V V V V V V V V t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t V V V V V i.i.G+H+I+x.^.e e e e e e e c.*.J+K+2+L+}.e p p p p p p p p p p p p p p p e R..+(.< < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' ' - - - * & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | 6.: O F.e p p p p p p p p p p p p p p p e e.M+6.E V V V V V V V V V V V t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t V V V V V i.< .+N+'.O+P+Q+N.h.n.g.R+8 < x i.^ S+S e p p p p p p p p p p p p p p p ^.T+< : < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | | | V n e p p p p p p p p p p p p p p p e N.U+V.E V V V V V V V V V V t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t V V V V V V E V.V+x | {.{.| (.W+X+i.Q Q Q Q ^ Y+b ^.p p p p p p p p p p p p p p e d Z+' < < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - > & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | | 6.^ r+f p p p p p p p p p p p p p p o e n $+i.E V V V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t V V V V V V V V V V E @+@+@+@+@+Q Q Q Q i.W+G+8+^.p p p p p p p p p p p p p p e @.`+! < < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & ", -" & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | | 6.] ).p.e p p p p p p p p p p p p p p e O.~.i.E V V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t V V V V V V V V V E E @+@+@+@+@+Q Q Q Q i._ N+*.e p p p p p p p p p p p p p p e @U+W+< < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - * & & & & & & & & & & & & ", -" & & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | 6.< 5.F.e p p p p p p p p p p p p p p e k..@i.E V V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t V V V V V V V V E E @+@+@+@+@+Q Q Q Q i.W+4.+@e p p p p p p p p p p p p p p e 2.^ < < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & ", -" & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < | | | | | | | | | 6.< T+e p p p p p p p p p p p p p p e A @@V.E V V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t V V V V V V V V V E @+@+@+@+@+Q Q Q Q i.^ #@$.e p p p p p p p p p p p p p e c.$@' < < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' - - - - * & & & & & & & & & & & ", -" & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | 6.] q+q e p p p p p p p p p p p p p e %@&@v V V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.P P P P P P P P P P P P P P P P P G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t V V V V V V V V V E @+@+@+@+@+Q Q Q Q i.^ *@q e p p p p p p p p p p p p p e =@f.^ < < [ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & & ", -" & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < | | | | | | | | 6.< 8 p+e p p p p p p p p p p p p p e @.m < -@V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.P P P P P P P P P P P P P P P P P P P P P P P P P G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E E @+@+@+@+@+Q Q Q Q i.[ y.^.e p p p p p p p p p p p p p e a.^ < < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ! ' ' ' - - - - * & & & & & & & & & & ", -" & & & & & & & & & & * - - - - ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | 6.^ ;@e p p p p p p p p p p p p p e c.Y.x -@V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E E @+@+@+@+Q Q Q Q Q {.@+<.e p p p p p p p p p p p p p e q :.' < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' ' - - - > & & & & & & & & & & ", -" & & & & & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | 6.^ >@g e p p p p p p p p p p p p o ^.=+6.E V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.P P P P P P P P P P #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+P P P P P P P P P P P G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E E @+@+@+@+Q Q Q Q i.6..@I.e p p p p p p p p p p p p p e [.9.(.< < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & ", -" & & & & & & & & & & - - - - ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | | 6.6.V ,@e p p p p p p p p p p p p p e M.9.l V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.P P P P P P P P #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+P P P P P P P P G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E E @+@+@+@+Q Q Q Q i.x G+&.e p p p p p p p p p p p p p ^.'@' < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - * & & & & & & & & & ", -" & & & & & & & & & * - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | 6.{ )@d o p p p p p p p p p p p p e h !@6.V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P P P P #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+P P P P P P P G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+t t t t V V V V V V V V E @+@+@+@+@+Q Q Q Q i.^ '.d e p p p p p p p p p p p p e +@M ] < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & ", -" & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | | 6.| .@h+e p p p p p p p p p p p p e c.s : V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P P #+#+#+#+#+#+#+#+#+#+F F F F F F F F F F F F F F F F #+#+#+#+#+#+#+#+#+#+P P P P P P P G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+t t t t V V V V V V V V E @+@+@+@+Q Q Q Q Q i.i.J+e p p p p p p p p p p p p p e >.] < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ! ' ' ' - - - - * & & & & & & & & ", -" & & & & & & & & * - - - - ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | 6.C B+^.p p p p p p p p p p p p p e ~@Q -@V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P P #+#+#+#+#+#+#+#+F F F F F F F F F F F F F F F F F F F F F F F F #+#+#+#+#+#+#+#+#+P P P P P G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+t t t t V V V V V V V V E @+@+@+@+Q Q Q Q i.| @@o.e p p p p p p p p p p p p e p.N+{ < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & & & & ", -" & & & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | | 6.< {@^+e p p p p p p p p p p p p e ]@N i.V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P P P #+#+#+#+#+#+#+F F F F F F F F F ^@^@^@^@^@^@^@^@^@^@^@^@^@F F F F F F F F F #+#+#+#+#+#+#+P P P P P G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V E E @+@+@+@+Q Q Q Q i.W+t+c.e p p p p p p p p p p p p e i+[ < < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & ", -" & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | | 6.C /@e p p p p p p p p p p p p o c.s < -@V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P P #+#+#+#+#+#+#+F F F F F F F ^@^@^@^@^@^@^@^@9.9.9.9.^@^@^@^@^@^@^@^@^@F F F F F F F #+#+#+#+#+#+P P P P P G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V E @+@+@+@+@+Q Q Q i.i.{.<.e p p p p p p p p p p p p e T `+{ < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' - - - - * & & & & & & & ", -" & & & & & & & & - - - - ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < | | | | | | | | 6.< @@E.e p p p p p p p p p p p p e O.t E V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P #+#+#+#+#+#+F F F F F F ^@^@^@^@^@9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.^@^@^@^@^@F F F F F F #+#+#+#+#+#+P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.| w++@e p p p p p p p p p p p p e (@[ < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & & & ", -" & & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | | 6.C _@e p p p p p p p p p p p p e @.N+V.V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P #+#+#+#+#+#+F F F F F ^@^@^@^@9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.^@^@^@^@F F F F F F #+#+#+#+#+P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V V V E @+@+@+@+Q Q Q Q i.^ 0 ^.o p p p p p p p p p p p e g r.{ < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & & ", -" & & & & & & & > - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | 6.| :@]@e p p p p p p p p p p p p e <@< -@V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P P #+#+#+#+#+F F F F F ^@^@^@9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.^@^@^@F F F F F #+#+#+#+#+P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.V.9.[.e p p p p p p p p p p p p e [@{ < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' - - - - * & & & & & & ", -" & & & & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | | 6.{ c+^.p p p p p p p p p p p p e W.}@Q V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P #+#+#+#+#+F F F F ^@^@^@9.9.9.9.9.9.9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.9.9.9.9.^@^@^@F F F F F #+#+#+#+#+P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+t t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.^ 3+d e p p p p p p p p p p p e #.y E+< < _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & & ", -" & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | | 6.6.G.A e p p p p p p p p p p p p ^.|@[ V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P #+#+#+#+F F F F ^@^@^@9.9.9.9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.9.9.^@^@^@F F F F #+#+#+#+#+P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+t t t t t V V V V V V E E @+@+@+Q Q Q Q i.i.V e.e p p p p p p p p p p p p e /@- < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & ", -" & & & & & & > - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < | | | | | | | | 6.] :.c.o p p p p p p p p p p p e .8 l V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.P P P P P #+#+#+#+F F F F ^@^@^@9.9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.9.^@^@F F F F #+#+#+#+#+P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i._ #@c.e p p p p p p p p p p p e ]@~._ < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' - - - - & & & & & & ", -" & & & & & & - - - - ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | 6.V._ 1@e p p p p p p p p p p p p ^.0 : V V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P #+#+#+#+F F F ^@^@^@9.9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.^@^@^@F F F F #+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V E E @+@+@+@+Q Q Q i.i.E 2@e p p p p p p p p p p p o f R ' < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & ", -" & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | | 6.< 1+&.e p p p p p p p p p p p e 3@H l V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P #+#+#+#+F F F ^@^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.^@^@F F F F #+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i._ H.c.e p p p p p p p p p p p e z.< < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & ", -" & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < | | | | | | | | 6.! 4@e p p p p p p p p p p p p e ,.x V V V V V V V t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+#+F F F ^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.^@^@F F F F #+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E E @+@+@+Q Q Q Q i.{.G.5@e p p p p p p p p p p p e c 9 ] < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ! ' ' ' - - - - & & & & & ", -" & & & & & > - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | 6.6.Q 5@e p p p p p p p p p p p e +.y 6@V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+#+F F F ^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F F #+#+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.^ 7@f p p p p p p p p p p p p e '@- < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - * & & & & ", -" & & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | | 6.(.:+j.e p p p p p p p p p p p e Z | V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+#+F F F ^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+/./././././././././././..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F F #+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q Q i.V..@o.e p p p p p p p p p p p e A V : < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & ", -" & & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | 6.! ].e p p p p p p p p p p p o q m 6.V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+#+F F F ^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+/././././././././././././././././././..+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q i.i.^ 9+e p p p p p p p p p p p e g N+C < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & ", -" & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | 6.6.@+8@e p p p p p p p p p p p e i #+E V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+F F F ^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+/./././././././././././././././././././././././..+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q Q i.< `.j.p p p p p p p p p p p p e ].- < < _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & & ", -" & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | 6.x (+c e p p p p p p p p p p p ^.9@: V V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+F F F ^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+/././././././././././././..+9.9..+/.1 1 /..+9.s+9..+/./..+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V V E @+@+@+Q Q Q Q i.i.@+0@e p p p p p p p p p p p e a@Q : < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & & ", -" & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | | 6.! b@e p p p p p p p p p p p e #.9 i.V V V V V V t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+#+F F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+.+.+.+/././././././.1 1 1 1 .+9.U+;+c@n+d@#@e@e@:.m.7+f@!.g@/.^@.+/..+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q i.i.E+h@^.p p p p p p p p p p p e #.i@u < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - * & & & ", -" & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < | | | | | | | 6.6.[ ;.e p p p p p p p p p p p e Q.E E V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+F F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+.+.+/././././././.1 1 1 1 9.~.M C+*+j@k@l@m@j@j@j@n@j@m@l@l@L+#@o@J.9.9..+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@F F F #+#+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E E @+@+@+Q Q Q Q i.| L %.o p p p p p p p p p p p e a+- < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & ", -" & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | 6.| :@b e p p p p p p p p p p p ^.p@< -@V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+.+.+/./././././.1 1 1 1 q@G c@e@l@l@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@m@t+m +9.9..+.+.+.+.+.+.+.+.+9.9.9.9.^@^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.i.i.z.e p p p p p p p p p p p e ~@] < < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & ", -" & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | 6.^ d@c.e p p p p p p p p p p e c c@i.V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.P P P #+#+#+#+F F F ^@9.9.9.9.9..+.+.+.+.+.+.+.+.+/././././.1 1 1 1 r@r@s@4 t@n@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+n@j@S+O ^@.+.+.+.+.+.+.+.+.+9.9.9.9.^@^@F F #+#+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q i.i.] p@e p p p p p p p p p p p e .s+x < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & ", -" & & & * - - - ' ' ' ' ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | | V.! u@e p p p p p p p p p p p e a@G.E V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+.+/././././.1 1 1 1 .+[+m l@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+n@t+G+r@9..+.+.+.+.+.+.+.+9.9.9.9.^@F F F #+#+#+P P P P G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V V E @+@+@+Q Q Q Q i.< v@g p p p p p p p p p p p e g :+] < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & ", -" & & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < | | | | | | | 6.6.< m+e p p p p p p p p p p p e w@: V V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+.+.+/././././.1 1 1 1 .+M x@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+m@).:@s+.+.+.+.+.+.+.+9.9.9.9.^@^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.{.y@I.e p p p p p p p p p p p e '.- < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & ", -" & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | 6.| ~. .e p p p p p p p p p p p d :.| V V V V V V t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+/././././.1 1 1 1 .+z@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+n@4 f.^@.+.+.+.+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q i.i.^ A@e p p p p p p p p p p p e 2.! < < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & ", -" & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | 6.(.B@|.e p p p p p p p p p p e h ;+Q V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+.+/././././.1 1 1 1 .+v@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+C@O s+.+.+.+.+.+.+9.9.9.9.^@^@F F #+#+#+#+P P P G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+@+Q Q Q i.i.^ n@^.p p p p p p p p p p p e S.l : < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & ", -" & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | | 6.C D@^.p p p p p p p p p p p e R.t E V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@^@9.9.9..+.+.+.+.+.+.+.+.+/./././.1 1 1 1 .+9 m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+*+H 9..+.+.+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.| B.j.o p p p p p p p p p p e h f.^ < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & & ", -" & & & - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | v (.& 7.e p p p p p p p p p p p e =+< V V V V V V t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+.+/./././.1 1 1 1 r@E@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+n@:.G .+.+.+.+.+.+9.9.9.9.^@^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.{.F @e p p p p p p p p p p e c.`+C < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ! ' ' ' - - - > & & ", -" & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | v ^ w N+C.&.p p p p p p p p p p p p ^.l@E+-@V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+.+/./././.1 1 1 1 1 F@5 n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+j@>@^@.+.+.+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+Q Q Q Q i.i.x h.e p p p p p p p p p p p e )@- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | < ] r.G@j.e p p p p p p p p p p p p p e 4+Y+| @+V V V t t t t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+.+/./././.1 1 1 1 /.k l@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+j@i@^@.+.+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+@+Q Q Q i.i.C H@e p p p p p p p p p p p e j } < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | ^ F U j.e e p p p p p p p p p p p p p p p e U.U $+i.V V t t t t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/./././.1 1 1 1 r@K m@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+W I@.+.+.+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.W+5 ^.p p p p p p p p p p p e J@] < < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | { w+5@e e p p p p p p p p p p p p p p p p p p e e 5@B.6.V t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+.+/./././.1 1 1 $+G #@j@n@n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+m@G+F .+.+.+.+.+9.9.9.9.^@F F #+#+#+#+P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q Q i.< -+q p p p p p p p p p p p e [.l : < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | { :+o.e p p p p p p p p p p p p p p p p p p p p p p e o.f@V.t t t 2+2+2+2+2+2+2+G.G.G.G.P P #+#+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/./././.1 1 1 1 r@!.k@n@n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+x@K@D..+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.V.[+E.e p p p p p p p p p p e 3@~.(.< _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < C &@=@e p p p p p p p p p p p p p p p p p p p p p p p p e ]@-+i.t t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/./././.1 1 1 ~.1 Z.m@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+m@-+F .+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+Q Q Q Q i.i.2+I.e p p p p p p p p p p e }.K.^ < _ _ _ _ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < )+l+S.e p p p p p p p p p p p p p p p p p p p p p p p p p p e b.f.E t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 1 I n@t+n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+:..+.+.+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+Q Q Q Q i.i.| 2@e p p p p p p p p p p e c.o@] < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < : e+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p e [@E t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+/./././.1 1 1 1 .+o@l@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+n@@@9..+.+.+.+9.9.9.9.^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+Q Q Q Q i.i.^ [@e p p p p p p p p p p e ^.K+! < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < D W c.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p e /+q+V.2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/./././.1 1 1 ~.$+#@j@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+m@B@F .+.+.+.+9.9.9.9.^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+@+Q Q Q i.i.C 7.e p p p p p p p p p p p e R - < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < x L@M@e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e A 1 t 2+2+2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 1 H L+t+n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+n@).^@.+.+.+.+9.9.9.9.^@F F #+#+#+P P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.] ,+e p p p p p p p p p p p e h@- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < ' l@f e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e d N@V.2+2+2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 /.M l@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+*+~..+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.u 0.e p p p p p p p p p p p e O@> < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < | 4+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e Q.2+2+2+2+2+2+G.G.G.P P P #+#+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 .+-+t@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+3+t+P@9..+.+.+9.9.9.9.^@^@F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.^ Q@^.p p p p p p p p p p p e y.- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - - & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ ] !.5+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e $.R@@+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 .+S@l@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@l@l@l@l@l@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@N 9..+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i._ T@^.p p p p p p p p p p p e Y - < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ! ' ' ' - - - - & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ - x+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e b@6.2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+/./././.1 1 1 1 .+'+l@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@l@l@l@l@l@l@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@y ^@.+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.x U@^.p p p p p p p p p p p e =+- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ! ' ' ' - - - - & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ [ D V@e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e W@i.2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+/./././.1 1 1 ~.r@}+m@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@l@l@l@l@l@l@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@!.^@.+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.x m f p p p p p p p p p p p e A@} < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ! ' ' ' - - - - & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ {.8@e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e a@y@2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+/./././.1 1 1 1 r@}+m@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@l@l@l@l@l@l@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@s@^@.+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.x }+f p p p p p p p p p p p e A@} < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ! ' ' ' - - - - & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ ^ 9.*.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e 8+:@t 2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 .+3 m@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@l@l@l@l@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@i@^@.+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.x ).^.p p p p p p p p p p p e A.- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ! ' ' ' - - - - & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ u l+}.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e +@I V 2+2+2+G.G.G.P P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 .+`+l@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@l@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@X@s+.+.+.+9.9.9.9.^@^@F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i._ #@^.p p p p p p p p p p p e C.- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - - & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ ^ H @.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o d.N V 2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 .+G+k@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+3+n@J.9..+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.^ *+^.p p p p p p p p p p p e Y@- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ ^ U+d.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e h M+Z@2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/./././.1 1 1 r@i@l@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+`@v..+.+.+.+9.9.9.9.^@F F #+#+#+P P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.^ R ^.p p p p p p p p p p p e u@> < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ L@ .e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e h+ #2+2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/./././.1 1 1 1 O n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+.#9..+.+.+.+9.9.9.9.^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+@+Q Q Q i.i.] h@e p p p p p p p p p p p e 3.- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ [ [ 4+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e Q.t 2+2+2+2+2+G.G.G.P P P #+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+/./././.1 1 1 1 I@W n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+j@+#F .+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+Q Q Q Q i.i.{ _@e p p p p p p p p p p p e w.- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ [ - H+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e @#6.2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/././.1 1 1 1 .+4.l@n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@M ^@.+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+Q Q Q Q i.i.] g+e p p p p p p p p p p p e W D < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ ' *+f o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p d t+{.2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/./././.1 1 1 r@L l@t+n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+C@G .+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.i.x ##e p p p p p p p p p p e d `+C < _ _ _ _ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ ^ 8 h e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e E.I V 2+2+2+2+2+G.G.G.G.P P P #+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+/./././.1 1 1 1 U+W n@n@n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+j@n+F .+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.i.E a@e p p p p p p p p p p e c !.^ : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : ! >.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e $#i.2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+.+/./././.1 1 1 .+:+k@n@n@n@n@n@n@n@n@n@n@n@n@m@m@m@m@m@m@m@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+n@J.9..+.+.+.+9.9.9.^@^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V E @+@+@+@+Q Q Q i.i.V.G .e p p p p p p p p p p e E.:@_ : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ { &+T e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e j.>@Q 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+/./././.1 1 1 /.8 x@%#n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+n@3 ^@.+.+.+.+9.9.9.9.^@^@F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+@+Q Q Q i.i.| y U.e p p p p p p p p p p e F.2+x < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & ", -" & & * - - - ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ _ _ _ _ < W+~@e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e <.@+t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+#+F F ^@^@9.9.9..+.+.+.+.+.+.+.+/./././.1 1 1 .+B@k@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+t+M+9..+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+@+Q Q Q i.i._ d@f p p p p p p p p p p p e 0@[ < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & ", -" & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < ] i@+@e p p p p p p p p p p p p p p p p p p p p p p p p p p p p e +@&@Q t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+.+/././././.1 1 1 G e@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@f@F .+.+.+.+.+9.9.9.^@^@F F F #+#+P P P P G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.i.] c+e p p p p p p p p p p p e &#' < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & ", -" & & & - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < ' *#u.e p p p p p p p p p p p p p p p p p p p p p p p p p p e c.=#6.t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+.+/./././.1 1 1 .+N n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+%#:.~..+.+.+.+.+9.9.9.9.^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.i.] $#e p p p p p p p p p p p e -#- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - * & & ", -" & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < : < ;#^.e p p p p p p p p p p p p p p p p p p p p p p p p o ^.g+E Z@t t t 2+2+2+2+2+2+2+G.G.G.P P P #+#+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+/./././.1 1 1 .+`.l@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+t+$@@@s+.+.+.+.+.+9.9.9.^@^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t V V V V V V V @+@+@+@+Q Q Q Q i.i.@+5@e p p p p p p p p p p p f K+! < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - * & & ", -" & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < (.G.(@e e p p p p p p p p p p p p p p p p p p p p p p e e >#D.E t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+F F F ^@9.9.9.9..+.+.+.+.+.+.+.+/././././.1 1 1 /.C+l@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+n@!.^@.+.+.+.+.+9.9.9.9.^@^@F F #+#+#+P P P P G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V E @+@+@+@+Q Q Q i.i.v @@d.e p p p p p p p p p p e @.L ^ : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & ", -" & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < (.#+Z f e p p p p p p p p p p p p p p p p p p p p e f ,#/.@+V V t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+/././././.1 1 1 ~.}+l@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+j@'#^@.+.+.+.+.+9.9.9.9.9.^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q i.i._ B d p p p p p p p p p p p e t.)#x < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & ", -" & & & * - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < x i.o+j.e p p p p p p p p p p p p p p p p p p e p.z+2+@+V V V t t t t 2+2+2+2+2+2+2+G.G.G.P P P P #+#+#+F F F ^@9.9.9.9.9..+.+.+.+.+.+.+.+/././././.1 1 /.~.7+l@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+t+n@(+^@.+.+.+.+.+.+9.9.9.9.^@^@F F #+#+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+Q Q Q Q i.i.] {+e p p p p p p p p p p p e >#^ < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & ", -" & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | < { 4.5@f e p p p p p p p p p p p p p p p p h+'+| E V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+#+F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+.+/././././.1 1 /.1 F+l@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+n@$@y F .+.+.+.+.+.+9.9.9.9.^@^@F F F #+#+#+P P P P G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V V @+@+@+@+Q Q Q Q i.i.i.0@e p p p p p p p p p p p e !#- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & ", -" & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | ] t R a@c.e e p p p p p p p p p p p p e n | -@V V V V V V t t t 2+2+2+2+2+2+2+2+G.G.G.P P P P #+#+#+F F F ^@^@9.9.9.9..+.+.+.+.+.+.+.+.+/./././././.1 1 .+B.`@m@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+l@K+g@^@.+.+.+.+.+.+.+9.9.9.9.^@^@F F #+#+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q i.i.v u+&.e p p p p p p p p p p e c.m ! < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { ! ! ! ' ' ' ' - - - - & & & ", -" & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | { E ~#{# @e p p p p p p p p p p p e h I Q V V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+#+F F F ^@9.9.9.9.9..+.+.+.+.+.+.+.+.+/./././././.1 1 9.H 3 l@j@t+n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@]#`./.9..+.+.+.+.+.+.+9.9.9.9.^@^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V V E @+@+@+Q Q Q Q i.i.^ t+f p p p p p p p p p p p e ..[+_ < _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & ", -" & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < | | | | | | | ^ ' !+&.e p p p p p p p p p p p d 3+< V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.P P P P #+#+#+F F F ^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+/././././././.1 r@.+J ^#m@l@n@n@n@n@n@n@n@n@n@n@n@n@n@t+t+t+t+m@$@n+[+^@.+.+.+.+.+.+.+.+9.9.9.9.^@^@F F F #+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q Q i.i.(.[@e p p p p p p p p p p p e /#< < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & ", -" & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ < < < < | | | | | | | 6.Q 5@e p p p p p p p p p p p e ,#| -@V V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+#+F F F ^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+.+/./././././././..+r@}@~#(#l@l@j@n@n@n@n@n@n@t+t+t+n@l@n@:.`.[+^@9..+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q i.i.V._#:#e p p p p p p p p p p p e |@- < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & ", -" & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | 6.! y.e p p p p p p p p p p p e b %+l V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.P P P P #+#+#+#+F F F ^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+/./././././././..+9.v.1+r.B 5 3+n@m@n@n@t+`@e@7+-+@@1 ^@9..+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V V E @+@+@+Q Q Q Q i.i.W+4 d p p p p p p p p p p p e x.n+{ < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & & ", -" & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | 6.^ 7+c.e p p p p p p p p p p p d j@< E V V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+F F F F ^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+/././././././././.9.^@.+G F@M+I ;+@@%+.@1 9.^@9..+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+#+P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q Q i.i.: Z e p p p p p p p p p p p e p+^@x < _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & ", -" & & & & & - - - - ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < | | | | | | | | | .+ .e p p p p p p p p p p p e J@i.-@V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P #+#+#+#+F F F ^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+/././././././././././..+.+9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F #+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t V V V V V V V E @+@+@+@+Q Q Q i.i.v @@S e p p p p p p p p p p p e A@! < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & ", -" & & & & & - - - - ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | V.{ <#e p p p p p p p p p p p e @.2 i.V V V V V V V t t t t 2+2+2+2+2+2+2+G.G.G.G.G.P P P #+#+#+#+F F F ^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+/././././././..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.^@^@F F F F #+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V E @+@+@+@+Q Q Q Q i.i.^ [#^.p p p p p p p p p p p e d e@! < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & ", -" & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | 6.] }#u.o p p p p p p p p p p p e {+_ E V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+#+F F F ^@^@^@9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.^@^@F F F F #+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q i.i.i.t R.e p p p p p p p p p p p e 3@G (.< _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - & & & & & ", -" & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < | | | | | | | | | .+ .e p p p p p p p p p p p e t.G @+V V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P P #+#+#+#+F F F F ^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.^@^@F F F F #+#+#+P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+Q Q Q Q i.i.[ }+q o p p p p p p p p p p p e g+D < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & ", -" & & & & & & - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | 6.{ C.e p p p p p p p p p p p p f d+x E V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P #+#+#+#+F F F F ^@^@9.9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.^@^@^@F F F F #+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.i.| |#e p p p p p p p p p p p e c.d@! < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & ", -" & & & & & & - - - - ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | | W+n+T e p p p p p p p p p p p e 5@2+E V V V V V V V t t t t 2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P #+#+#+#+F F F F ^@^@^@9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.^@^@^@F F F F #+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V E E @+@+@+Q Q Q Q i.i.< v@$.o p p p p p p p p p p p e 1#L@x < _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' - - - - * & & & & & ", -" & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | 6.@+5@e p p p p p p p p p p p o c.W < E V V V V V V t t t t t 2+2+2+2+2+2+2+2+G.G.G.G.P P P P P #+#+#+#+F F F F ^@^@^@9.9.9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.9.^@^@^@F F F F #+#+#+#+#+P P P P G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.i.x A.e p p p p p p p p p p p p e '@- < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' - - - - & & & & & & ", -" & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | 6.{ h@^.p p p p p p p p p p p p e e.t E V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.P P P P P #+#+#+#+#+F F F F ^@^@^@9.9.9.9.9.9.9.9.9..+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+9.9.9.9.9.9.9.9.9.9.^@^@^@F F F F #+#+#+#+P P P P P G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.i.| B.}.e p p p p p p p p p p p e @.K ^ < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & & ", -" & & & & & & & - - - - ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | | | H *.e p p p p p p p p p p p o c.*+< E V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.P P P P P #+#+#+#+#+F F F F F ^@^@^@9.9.9.9.9.9.9.9.9.9.9.9.9..+.+.+.+.+.+.+9.9.9.9.9.9.9.9.9.9.9.9.^@^@^@^@F F F F F #+#+#+#+P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+t t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.i.x A@e p p p p p p p p p p p p e <.] < < _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & & ", -" & & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | 6.] C.e p p p p p p p p p p p p e 5@#+@+V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+G.G.G.G.P P P P P #+#+#+#+#+F F F F F F ^@^@^@9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.^@^@^@^@F F F F F #+#+#+#+#+P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.i.< D+c e p p p p p p p p p p p o c.}+! : [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' - - - - & & & & & & & ", -" & & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < | | | | | | | | x c@#.e p p p p p p p p p p p o d )@x E V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P P #+#+#+#+#+F F F F F F ^@^@^@^@9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.^@^@^@^@^@F F F F F #+#+#+#+#+#+P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V V V E @+@+@+@+Q Q Q Q i.i.6.i+e p p p p p p p p p p p p e R.i.: < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & & ", -" & & & & & & & & - - - - ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | 6.[ J+e p p p p p p p p p p p p e t.[+Q E V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P P #+#+#+#+#+#+F F F F F F F ^@^@^@^@^@9.9.9.9.9.9.9.9.9.9.9.9.9.9.^@^@^@^@^@^@F F F F F F F #+#+#+#+#+P P P P P G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+t t t t V V V V V V V V E @+@+@+@+Q Q Q Q i.i._ m.c.e p p p p p p p p p p p o f n@' < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & & & ", -" & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | | ^ S@j.e p p p p p p p p p p p p ^.j < E E V V V V V V V t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.P P P P P P #+#+#+#+#+#+F F F F F F F F ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@F F F F F F F #+#+#+#+#+#+#+P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V E @+@+@+@+Q Q Q Q i.i.V.^@L.e p p p p p p p p p p p p e S.G.: < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' - - - - & & & & & & & & ", -" & & & & & & & & * - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | 6.< (@e p p p p p p p p p p p p e @.2#v E V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P #+#+#+#+#+#+#+F F F F F F F F F F F ^@^@^@^@^@^@^@^@F F F F F F F F F F F #+#+#+#+#+#+#+P P P P P P G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V E E @+@+@+@+Q Q Q Q i.i.^ O@^.e p p p p p p p p p p p e f d+- < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - > & & & & & & & & ", -" & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | | ^ `+j.e p p p p p p p p p p p p e 8.P @+E V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P P #+#+#+#+#+#+#+#+#+F F F F F F F F F F F F F F F F F F F F F F F #+#+#+#+#+#+#+#+P P P P P P G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E @+@+@+@+Q Q Q Q i.i.< !@d.e p p p p p p p p p p p p e S.P x < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - * & & & & & & & & ", -" & & & & & & & & & > - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | 6.V+|#e p p p p p p p p p p p p o f 3#[ E E V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P P P #+#+#+#+#+#+#+#+#+#+F F F F F F F F F F F F F F F #+#+#+#+#+#+#+#+#+#+P P P P P P G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E @+@+@+@+Q Q Q Q i.i.{.t N.e p p p p p p p p p p p p e d t@' < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ! ' ' ' - - - - & & & & & & & & & ", -" & & & & & & & & & * - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < | | | | | | | | (.-+@.e p p p p p p p p p p p p e &.o@| E V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.P P P P P P P #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+P P P P P P G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E @+@+@+@+@+Q Q Q Q i.i.^ ,+f e p p p p p p p p p p p p e ,@V : < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ' ' ' ' - - - > & & & & & & & & & ", -" & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | 6.] <@e p p p p p p p p p p p p p e 5@.+l E V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.P P P P P P P P P #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+P P P P P P P P G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E E @+@+@+@+Q Q Q Q i.i.[ N+}.e p p p p p p p p p p p p e q Z.D < : _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' - - - - * & & & & & & & & & ", -" & & & & & & & & & & * - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < | | | | | | | | < M+b e p p p p p p p p p p p p p ^.H+< E E V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.P P P P P P P P P P #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+P P P P P P P P P P G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V E E @+@+@+@+Q Q Q Q i.i.6.G 4#e p p p p p p p p p p p p p e X.[ : < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & ", -" & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | 6.{ 5#f p p p p p p p p p p p p p e /+l@_ E E V V V V V V V V t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.L@P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V V E @+@+@+@+Q Q Q Q Q i.i.V.n.e p p p p p p p p p p p p p e &.!.] < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - * & & & & & & & & & & ", -" & & & & & & & & & & & > - - - ' ' ' ' ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < | | | | | | | | v V M.e p p p p p p p p p p p p p e +@:+| @+E V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.P P P P P P P P P P P P P P P P P P P P P P P P G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t V V V V V V V V V E @+@+@+@+Q Q Q Q Q i.i.^ 3.d e p p p p p p p p p p p p p ^.6#- < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ! ' ' ' - - - - & & & & & & & & & & & ", -" & & & & & & & & & & & * - - - - ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | ^ F+$.e p p p p p p p p p p p p p e 7#f.{.@+E V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.P P P P P P P P P P P P P P P P G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t V V V V V V V V V E @+@+@+@+Q Q Q Q Q i.i.^ Z.U.e p p p p p p p p p p p p p e 8@#+(.< [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - > & & & & & & & & & & & ", -" & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ : < < < < | | | | | | | 6.] Y@^.p p p p p p p p p p p p p p e ;.F Q @+E V V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t V V V V V V V V V V E @+@+@+@+@+Q Q Q Q i.i.[ &@*.e p p p p p p p p p p p p p e j.k D < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { ! ! ! ! ' ' ' - - - - * & & & & & & & & & & & ", -" & & & & & & & & & & & & * - - - - ' ' ' ! ! ! ! { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | | 9.i e p p p p p p p p p p p p p p e A@E Q @+E V V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t V V V V V V V V V V E @+@+@+@+@+Q Q Q Q i.i.< 8#b+e p p p p p p p p p p p p p p e j D < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & ", -" & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | | ^ `+#.e p p p p p p p p p p p p p e d 9#V.l @+E V V V V V V V V V V t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t V V V V V V V V V E E @+@+@+@+Q Q Q Q Q i.i.| v.M.e p p p p p p p p p p p p p p e i 0#(.< : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & ", -" & & & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < | | | | | | | | ] 6#f p p p p p p p p p p p p p p e c.!#| @+@+E V V V V V V V V V V t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t V V V V V V V V V V E E @+@+@+@+@+Q Q Q Q i.i.6..+]+e p p p p p p p p p p p p p p e @.f@! < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | | V ]+e p p p p p p p p p p p p p p e c.g.< @+@+E E V V V V V V V V V V t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t V V V V V V V V V -@E E @+@+@+@+@+Q Q Q Q i.i.v 9.h.^.p p p p p p p p p p p p p p o d 3.' < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' - - - - * & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & > - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | | x u+=@e p p p p p p p p p p p p p p e /+0 | Q @+E E V V V V V V V V V V t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t V V V V V V V V V V Q 6.< (.(.x < V.Q Q Q Q i.i.| r@>#^.p p p p p p p p p p p p p p p e ~@| : < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < | | | | | | | | ] B c e p p p p p p p p p p p p p p e c._@V.Q @+@+E V V V V V V V V V V V t t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t V V V V V V V V V 6.x L@ +a#l@x+5#6+Z.B.9.x _ i.i.< b#P.^.p p p p p p p p p p p p p p p e b.v.c#< : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & * - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < | | | | | | | | v ] X d e p p p p p p p p p p p p p p e d C.t i.@+@+E E V V V V V V V V V V V t t t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t t V V V V V V V V E < y@7+H+4#&.q e e e e c.#.h+V@t+G { u+d#e p p p p p p p p p p p p p p p e +@B@! < < [ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ [ < < < < | | | | | | | | | | A@e p p p p p p p p p p p p p p p e f ,#~.6.@+@+E E V V V V V V V V V V V V t t t t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t t t t V V V V V V V V V V.e#k@1.T e e e e p p p p o e e e d h+{+1#e p p p p p p p p p p p p p p p e g $@' < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | < P N.e p p p p p p p p p p p p p p p p e f#K < @+@+@+E E V V V V V V V V V V V V V t t t t t t t t t t t t t 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+t t t t t t t t t t t t t V V V V V V V V V V E X+g#0@c.e o p p p p p p p p p p p p o e e e p p p p p p p p p p p p p p p e d v+! < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { ! ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < | | | | | | | | x H I.e p p p p p p p p p p p p p p p p e p+m V+Q @+@+E E V V V V V V V V V V V V V V V t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t V V V V V V V V V V V l l X }.e o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o ^.h#V+< < < _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < < | | | | | | | | W+y .e p p p p p p p p p p p p p p p p e @.3#E {.@+@+@+E E V V V V V V V V V V V V V V V V t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t V V V V V V V V V V V V V l G.=+u.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e |#Q (.< < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ < < < < < | | | | | | | | ] B@*.e p p p p p p p p p p p p p p p p e d i+{@[ @+@+@+@+E E V V V V V V V V V V V V V V V V V V t t t t t t t t t t t t t t t t t t t t t t t t t V V V V V V V V V V V V V V V V @+V i#f e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e Q+y@(.< < [ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < | | | | | | | | ] j#h e p p p p p p p p p p p p p p p p o e .*+| i.@+@+@+@+E E V V V V V V V V V V V V V V V V V V V V V V V t t t t t t t t t t t V V V V V V V V V V V V V V V V V V V V V V -@6./@f e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e Q.r@c#< < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < | | | | | | | v ] C+h e p p p p p p p p p p p p p p p p p e q i#f.[ l @+@+@+@+E E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E E < `@q e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e k.G ^ < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | v C 4.^+e p p p p p p p p p p p p p p p p p e ^. .A+-@| @+@+@+@+@+E E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E E E @+i.M+o.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e 2@G ] < < : _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | v C f@8+e p p p p p p p p p p p p p p p p p p e c.Q+f@< V.@+@+@+@+@+@+E E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E E E @+@+@+@+< 0+e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e e ;.1 ^ < < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' ' - - - - & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & - - - - ' ' ' ' ' ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < | | | | | | | | | ] z@F.e p p p p p p p p p p p p p p p p p p e e $.;#L [ {.@+@+@+@+@+@+@+E E E V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V E E E @+@+@+@+@+@+{.w+&.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e f ,#k#c#< < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < < | | | | | | | | E+}@R.^.p p p p p p p p p p p p p p p p p p p e ^.h 7.l#x V.@+@+@+@+@+@+@+@+@+E E E E E V V V V V V V V V V V V V V V V V V V V V V E E E E E @+@+@+@+@+@+@+@+@+@+x l.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p d H+Q (.< < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < | | | | | | | | (.~.X.^.e p p p p p p p p p p p p p p p p p p p e ^...w@!.< | @+@+@+@+@+@+@+@+@+@+@+@+E E E E E E E E E E E E E E E E E E E E E E @+@+@+@+@+@+@+@+@+@+@+@+@+@+Q ^@ @e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p g v@{ < < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ! ! ! { { { { { { ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ : < < < < < | | | | | | | | : E Y@q e p p p p p p p p p p p p p p p p p p p p e ^.&.W@>@V _ i.@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+Q Q Q | &+T e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e O@> < < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < | | | | | | | | | W+R d.e p p p p p p p p p p p p p p p p p p p p p e e x.R.m#@@[ : Q @+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+Q Q Q Q Q Q ^ X e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e G@^ < _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < | | | | | | | | | ! `.4#e e p p p p p p p p p p p p p p p p p p p p p o e ^.h <.q+8 < (.V.l @+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+Q Q Q Q Q Q Q Q Q 6@Q ] n.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e h+#+_ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < | | | | | | | | | ^ 1 <#c.e p p p p p p p p p p p p p p p p p p p p p p p e e f *.X.0.!+t _ x V.Q l Q Q @+@+@+@+@+@+@+@+@+@+@+@+@+Q Q Q Q Q Q Q Q Q Q Q Q Q i.| ^ V+9.&+n#p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p }.@@] _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { { ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ [ < < < < < | | | | | | | | | < [ k@*.e e p p p p p p p p p p p p p p p p p p p p p p p p e e ^.}.i Y 3+i@^@| ^ (.| V.i.Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q i.6.< c#W+i.U+G+'.V@=.g e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p j.9 { _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ < < < < < < | | | | | | | | | ! +(@c.e p p p p p p p p p p p p p p p p p p p p p p p p p p e e e f @.=.(@l.t@F+l#1 o#6.V+_ ^ c#c#c#c#c#c#c#^ _ < i.++p#i@m *#s.Q.8+g e e e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o j.7 ! _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ < < < < < < | | | | | | | | | (.6.d+]@e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p o e e e e T d.q#i n a.Y _@O@r#c+5#b@s#6#|+@#t#2@[.*.}.c.e e e e o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o j.&@! ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ [ < < < < < | | | | | | | | | | ! O n.|.e o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o e e e e e e e e e e e e e e e e e e e e e o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p #.u#! ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ [ < < < < < < | | | | | | | | | x ^ '+M.d e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e 8+.+] ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ < < < < < < | | | | | | | | | v ] E v#F.^.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e /#_ _ ^ ^ ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ [ < < < < < < | | | | | | | | | | ! .+X .^.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e 7./ ^ ^ ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ : < < < < < < | | | | | | | | | < ' v.3#t.f e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p o q '+- ^ ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ [ < < < < < < | | | | | | | | | | < D G w#A c.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e @x#] ^ ^ ^ ^ ] ] ] ] ] { { { { { ! ! ! ! ' ' ' ' ' - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ : < < < < < < | | | | | | | | | | < ! G.4 n $.e e o p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p ^.0 ) ^ ^ ^ ^ ] ] ] ] { { { { { { ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ : < < < < < < | | | | | | | | | | | { y#(+,.n#c.e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e ]@G { ^ ^ ^ ] ] ] ] { { { { { { ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ! ! ! ! { { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ [ < < < < < < < | | | | | | | | | | | )+D ^@Z.>.o.d e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e d *#) ^ ^ ] ] ] ] ] { { { { { { ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & - - - - - ' ' ' ' ' ! ! ! ! { { { { { { { ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ [ < < < < < < < | | | | | | | | | | | | ] { I@#@;# @q e e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e e e f j.e p p p p p p p p p p p p p p p p p p p p p p p p p p p p e O.v ] ^ ] ] ] ] ] { { { { { { ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ [ < < < < < < < < | | | | | | | | | | | < C ! )#o@3#n ]@c.^.e e e p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p e e e f |.1#[@A+!.h.e p p p p p p p p p p p p p p p p p p p p p p p p p p e z#I ' ] ] ] ] ] ] { { { { { { ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ [ < < < < < < < < | | | | | | | | | | | | | ^ ' W+G &+h@[@A#+@c.f e e e e o p p p p p p p p p p p p p p p p p e e e e e d x.8+0@@#j@B.2+' ' ] U+d#e p p p p p p p p p p p p p p p p p p p p p p p p e +@F+* ] ] ] ] ] { { { { { { { ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ [ : < < < < < < < < | | | | | | | | | | | | | < ] ' ! Q %+f@k@{+~@0@ @h j.q c.d f ^.^.^.^.^.^.f d c.c.x.#.b 4#O.2.g.~+&@1 V+- ' ^ < | < < ] H M.e e p p p p p p p p p p p p p p p p p p p p p e E.k / ] ] ] ] ] { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ' ! ! ! ! { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ : < < < < < < < < < | | | | | | | | | | | | | | | x ] ' - ! | B#[+w+o@R+4 t@a+=#Z+X C#x+D#t+#@>@-+N G V _ ' - ! ^ < | | | | < < < < < ] 1 J+d e p p p p p p p p p p p p p p p p p p e ^.M@c@/ C ] ] ] ] { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ' ! ! ! ! { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ [ : < < < < < < < < < < | | | | | | | | | | | | | | | | | < : W+] { ! ' ' ' - - - ' ' ' ! { ^ (.< X+| | | | | | < < < < < < < < < < c#| x+E.e e p p p p p p p p p p p p p p e e j.h#/.* ] ] ] ] { { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - ' ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ [ : : < < < < < < < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < < < < < < < < : [ _ _ - }@O+d.e e o p p p p p p p p p e e g ;.q.- ! ] ] ] ] { { { { { { { ! ! ! ! ' ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ [ : < < < < < < < < < < < < < < < < < | | | | | | | | | | | | | | | | | | w < < < < < < < < < < < < < < < < < [ [ _ _ _ _ _ _ C ' u+0 E#@.d e e e e e e e g I+s.F#^ * ] ] ] ] { { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ [ [ : < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < : [ _ _ _ _ _ _ _ _ _ _ ^ _ { & 6.J 4 !#O+$#e+&#G#t@(+t / > ] C ] ] ] { { { { { { { ! ! ! ! ! ' ' ' ' ' - - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ' ! ! ! ! ! { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ [ [ : < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < [ [ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ! > ) / > > & ) / ' C ] C ] ] ] { { { { { { { ! ! ! ! ! ! ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ! ! ! ! ! ! { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ [ [ [ : < < < < < < < < < < < < < < < < < < < < < < < < < [ [ [ [ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] { { { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ! ! ! ! ! { { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] { { { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - ' ' ' ' ' ' ' ! ! ! ! ! { { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] { { { { { { { { { ! ! ! ! ! ' ' ' ' ' ' - - - - - - - & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! { { { { { { { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { { { ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] { { { { { { { { { ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" ; & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & > - - - - - - ' ' ' ' ' ' ' ! ! ! ! ! ! { { { { { { { { { { ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] { { { { { { { { { { ! ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] { { { { { { { { { { { ! ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" # & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { ! ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & / ", -" ~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! { { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & + ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ) ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" @ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ( ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" ~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ; ", -" / & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ~ ", -" H#& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * > - - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ! ! ! ! ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * ", -" ~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * > - - - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - - * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" @ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" ~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - - - - - - - - ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - - - - - - - - - - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * # ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & . ", -" & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & * * * * * * * - - - - - - - - * * * * * * * * & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ", -" # & & / & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ( & & * ~ ", " ", " ", " ", diff --git a/share/pixmaps/ion_testnet32.png b/share/pixmaps/ion_testnet32.png index 007300480f3fa..5fa422cf6ce7e 100644 Binary files a/share/pixmaps/ion_testnet32.png and b/share/pixmaps/ion_testnet32.png differ diff --git a/share/pixmaps/ion_testnet32.xpm b/share/pixmaps/ion_testnet32.xpm index 8ed07956a1751..bbad524c6a027 100644 --- a/share/pixmaps/ion_testnet32.xpm +++ b/share/pixmaps/ion_testnet32.xpm @@ -1,134 +1,84 @@ /* XPM */ static char * ion_testnet32_xpm[] = { -"32 32 99 2", -" c None", -". c #010C10", -"+ c #010C11", -"@ c #010D0F", -"# c #010D12", -"$ c #010E13", -"% c #010F14", -"& c #020C10", -"* c #010D11", -"= c #010F15", -"- c #011016", -"; c #020C0F", -"> c #011117", -", c #011218", -"' c #021319", -") c #02131A", -"! c #02141B", -"~ c #01141B", -"{ c #0C78A0", -"] c #053345", -"^ c #0D81AC", -"/ c #13BEFE", -"( c #11A9E2", -"_ c #0F96C8", -": c #011219", -"< c #13B9F7", -"[ c #13BCFC", -"} c #05384C", -"| c #12B5F3", -"1 c #021A23", -"2 c #021821", -"3 c #021922", -"4 c #021820", -"5 c #11A8E1", -"6 c #07455D", -"7 c #03232F", -"8 c #021921", -"9 c #12B3EF", -"0 c #021B24", -"a c #021B25", -"b c #021720", -"c c #02171F", -"d c #11ABE5", -"e c #0E88B6", -"f c #021C26", -"g c #031D27", -"h c #063F55", -"i c #0C7CA6", -"j c #031E28", -"k c #031F2A", -"l c #02161E", -"m c #13BAF9", -"n c #031E29", -"o c #03202B", -"p c #03212C", -"q c #13B9F8", -"r c #032330", -"s c #095977", -"t c #063F54", -"u c #053649", -"v c #074359", -"w c #13BBFA", -"x c #03212D", -"y c #042E3E", -"z c #0F95C8", -"A c #12B5F2", -"B c #053243", -"C c #095A78", -"D c #12B8F6", -"E c #053344", -"F c #095877", -"G c #010D10", -"H c #109BD0", -"I c #109DD1", -"J c #053142", -"K c #0F98CB", -"L c #0E8BBA", -"M c #13BDFD", -"N c #032633", -"O c #07455C", -"P c #07475F", -"Q c #12B7F5", -"R c #0B7298", -"S c #02151D", -"T c #10A2D8", -"U c #0F93C5", -"V c #085470", -"W c #07465E", -"X c #11ACE5", -"Y c #10A3DA", -"Z c #12B7F4", -"` c #13BCFB", -" . c #02141C", -".. c #0F94C6", -"+. c #12B6F3", -"@. c #10A0D6", -"#. c #021A24", -"$. c #0E8AB9", -"%. c #020C11", -" . . . . . . . . . . . . . + + . . . . . . . . . . . . @ ", -" . . . . . . . . . + # $ $ % % % % $ $ # + . . . . . . . . . ", -"& . . . . . . . * $ % % = - - - - - - = = % $ * . . . . . . . ; ", -". . . . . . . # % = - > > > > , , > > > > - = % # . . . . . . . ", -". . . . . . $ % = > > , ' ) ! ! ! ! ) ' ~ { ] - % $ + . . . . . ", -". . . . . $ = - > , ) ! ) ^ / / / / / ( / / / _ - = $ + . . . . ", -". . . . $ = - > : ! ! < / / / / [ / / / / / / / > - = $ . . . . ", -". . . # % - > ' ! } / / | 1 2 3 3 2 4 5 / / / / ' > - % # . . . ", -". . + $ = > : ! 6 / / 7 3 3 1 1 1 1 3 8 / / / / 9 : > - % + . . ", -". . # = > , ! 8 / / 2 3 0 0 0 a a 0 0 0 3 b c d / e , > = $ . . ", -". + $ - > ) ! / / 3 1 0 a f g g g g f a 0 1 3 c / / ! > - % + . ", -". # % > , ! h / i 3 0 a g j k k k k j g a 0 3 4 l / m , > % # . ", -". $ = > : ! / / 3 1 a g n o o p p o o n g a 0 3 c q / : > = $ . ", -". $ = > ) ! / m 3 0 f j o p r s s s t o j f 0 3 4 u / v > = $ . ", -". $ - > ) w / w 1 0 g k o x s s s s s y k g 0 1 2 l / z > - $ . ", -"+ $ - > A / / / A 0 g k p B s C C s s s k g a 1 3 c / D > - % * ", -"+ $ - > / / / / / 0 g k o E s C C s s F k g a 1 3 c / D > - % G ", -". $ - > H / / / I 0 f k o x s s s s s J k g 0 1 2 l / K > - $ . ", -". $ = > ) L / M 3 0 a j o o N s s s O o j f 0 3 4 J / P > = $ . ", -". $ = > : ! / / 3 1 0 f n o o o o o o n f 0 1 3 c Q / : > = $ . ", -". # % - , ! P / R 3 0 a f j k k k k j f a 0 3 4 S / [ , > % # . ", -". . $ = > ) ! / / 4 3 0 0 a f g g f a 0 0 3 2 c M / l > - $ + . ", -". . # = > , ! g / / 2 3 1 0 0 0 0 0 0 1 3 2 c T / U , > = # . . ", -". . + $ = > , ! V / / f 3 3 1 1 1 1 3 3 / / / / D , > = $ + . . ", -". . . # % - > , ! W / / X c 4 2 2 4 4 Y / / / / : > - % # . . . ", -". . . . # % - > , ) ! [ / / / / Z ` / / / / / / > - % $ . . . . ", -". . . . . $ % - > , ' ! .../ / / / / +./ / / @.- % $ . . . . . ", -". . . . . . # % = > > , , ) ) ) ) ) ) : #.$.6 = % # . . . . . . ", -". . . . . . . # $ % = - > > > > > > > > - = = $ # . . . . . . . ", -" . . . . . . . . # $ % = = - - - - = = % $ # . . . . . . . . ", -" . . . . . . . . . . # # $ $ $ $ $ $ # # . . . . . . . . . . ", -" %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%. "}; +"32 32 49 1", +" c None", +". c #005120", +"+ c #000000", +"@ c #000200", +"# c #005722", +"$ c #00712C", +"% c #005A23", +"& c #002910", +"* c #004A1C", +"= c #005420", +"- c #00521F", +"; c #003815", +"> c #006728", +", c #005C24", +"' c #000301", +") c #005521", +"! c #005320", +"~ c #000A04", +"{ c #00A23F", +"] c #003414", +"^ c #002C11", +"/ c #00A440", +"( c #00A53F", +"_ c #004F1E", +": c #00702B", +"< c #006929", +"[ c #006E2B", +"} c #005D25", +"| c #00692A", +"1 c #006026", +"2 c #006E2A", +"3 c #00481C", +"4 c #003C17", +"5 c #001C0C", +"6 c #00A33F", +"7 c #004E1F", +"8 c #005621", +"9 c #004F1F", +"0 c #006327", +"a c #000101", +"b c #00501F", +"c c #003214", +"d c #004D1E", +"e c #002E12", +"f c #000401", +"g c #005D24", +"h c #005F25", +"i c #005020", +"j c #005522", +" ", +" . ", +" +++++++@#$$$% ", +" ++++++++++&$$$$$ ", +" +++++ *$$$$$= ", +" +++ -$$$$$; ", +" +++ >$$$,' ", +" +++ ),!~++ ", +" +++ +++ ", +" +++ +++ ", +" ++ ++ ", +" ++ ++ ", +" +++ { ++ ", +" ]^ ////( ++ ", +" _:$$< ////// ++ ", +" [$$$$} /////// ++ ", +" $$$$$| /////// ++ ", +" :$$$$1 ////// ++ ", +" !$$$2 ///// ++ ", +" 345 6/ ++ ", +" ++ ++ ", +" ++ ++ ", +" +++ +++ ", +" +++ ++ ", +" ++ 789 ++ ", +" ++++ 0$$$!a+ ", +" ++++ b$$$$$c ", +" ++++ d$$$$$= ", +" ++++++++++e$$$$$ ", +" +++++++fg$$$h ", +" ij7 ", +" "}; diff --git a/share/pixmaps/ion_testnet48.png b/share/pixmaps/ion_testnet48.png index 3a1b6da2fa744..c73fa76d6ba04 100644 Binary files a/share/pixmaps/ion_testnet48.png and b/share/pixmaps/ion_testnet48.png differ diff --git a/share/pixmaps/ion_testnet48.xpm b/share/pixmaps/ion_testnet48.xpm index a0007c4b7ac5f..997bfdbfc340d 100644 --- a/share/pixmaps/ion_testnet48.xpm +++ b/share/pixmaps/ion_testnet48.xpm @@ -1,216 +1,113 @@ /* XPM */ static char * ion_testnet48_xpm[] = { -"48 48 165 2", -" c None", -". c #020B11", -"+ c #020C0F", -"@ c #020C11", -"# c #020D10", -"$ c #010C10", -"% c #010D11", -"& c #010D12", -"* c #010E13", -"= c #010F14", -"- c #010B10", -"; c #010F15", -"> c #011016", -", c #010C11", -"' c #011117", -") c #011218", -"! c #021319", -"~ c #02131A", -"{ c #01151C", -"] c #043041", -"^ c #011219", -"/ c #02141B", -"( c #06394D", -"_ c #095C7B", -": c #0B6E93", -"< c #0B6D93", -"[ c #10A3DB", -"} c #13BEFE", -"| c #0F98CB", -"1 c #031C26", -"2 c #0D82AE", -"3 c #13BEFD", -"4 c #0C7CA6", -"5 c #031D27", -"6 c #11A8E0", -"7 c #0B7198", -"8 c #13BAF8", -"9 c #0B7299", -"0 c #053446", -"a c #021820", -"b c #02161E", -"c c #02171F", -"d c #053345", -"e c #11A8E1", -"f c #109FD4", -"g c #03212D", -"h c #021821", -"i c #021922", -"j c #13BCFC", -"k c #12B3F0", -"l c #13BDFC", -"m c #043040", -"n c #021A23", -"o c #063B4F", -"p c #12B4F0", -"q c #11A9E2", -"r c #11AEE9", -"s c #021B24", -"t c #042B3A", -"u c #10A3DA", -"v c #13BCFB", -"w c #109DD2", -"x c #11AEE8", -"y c #0C749B", -"z c #021B25", -"A c #11ADE8", -"B c #031F29", -"C c #021C26", -"D c #031D28", -"E c #11ABE4", -"F c #042E3E", -"G c #031E28", -"H c #031E29", -"I c #042C3B", -"J c #11ABE5", -"K c #031F2A", -"L c #109BD0", -"M c #03202B", -"N c #0F9ACE", -"O c #0E88B6", -"P c #0E88B7", -"Q c #12B8F6", -"R c #03212C", -"S c #053548", -"T c #074A64", -"U c #074A63", -"V c #053547", -"W c #12B7F5", -"X c #0B6C90", -"Y c #032431", -"Z c #095977", -"` c #095876", -" . c #03232F", -".. c #0B6A8E", -"+. c #02151D", -"@. c #0B7197", -"#. c #064157", -"$. c #0E8CBB", -"%. c #05384B", -"&. c #095A78", -"*. c #053649", -"=. c #02151C", -"-. c #0A6587", -";. c #0F92C3", -">. c #084D67", -",. c #0C769D", -"'. c #053A4D", -"). c #084E68", -"!. c #0C769E", -"~. c #11A7DF", -"{. c #05394C", -"]. c #02141C", -"^. c #0A6689", -"/. c #042F3F", -"(. c #12B0EB", -"_. c #021921", -":. c #042836", -"<. c #07435A", -"[. c #074B64", -"}. c #11ACE6", -"|. c #042634", -"1. c #032532", -"2. c #12B5F2", -"3. c #08516C", -"4. c #08506C", -"5. c #12B4F1", -"6. c #0E8FBF", -"7. c #0E8FC0", -"8. c #032430", -"9. c #0F93C4", -"0. c #0F91C2", -"a. c #12B0EC", -"b. c #042734", -"c. c #12B1EC", -"d. c #13BAF9", -"e. c #0D81AC", -"f. c #11A6DE", -"g. c #11A5DD", -"h. c #021720", -"i. c #03222E", -"j. c #0E8AB9", -"k. c #10A4DC", -"l. c #12B9F7", -"m. c #053243", -"n. c #13B9F7", -"o. c #12B1ED", -"p. c #13BBFA", -"q. c #0D83B0", -"r. c #096080", -"s. c #02161D", -"t. c #095F7F", -"u. c #042633", -"v. c #12B3EF", -"w. c #042735", -"x. c #0F95C7", -"y. c #0D87B4", -"z. c #031B25", -"A. c #074B65", -"B. c #0B6F94", -"C. c #0D7FAA", -"D. c #031B24", -"E. c #064258", -"F. c #021A24", -"G. c #011015", -"H. c #020B10", -" . + + + + + + + + + + + + + + + + + @ @ @ @ + + + + + + + + + + + + + + + + + # ", -" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & & & * * * * & & & % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & * * * = = = = = = = = * * * & % $ $ $ $ $ $ $ $ $ $ $ $ $ - ", -" $ $ $ $ $ $ $ $ $ $ $ $ & & * = = ; ; ; ; > > > > ; ; ; ; = = * & & $ $ $ $ $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ $ $ , & * = ; ; > > ' ' ' ' ' ' ' ' ' ' > > ; ; = * & % $ $ $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ $ & * = ; ; > ' ' ' ' ' ) ) ) ) ) ) ' ' ' ' ' > ; ; = * & $ $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ & * = ; > ' ' ' ) ) ! ~ ~ ~ ~ ~ ~ ~ ~ ! ) ) { ] ^ > ; = * & $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ & * = ; > ' ' ) ^ ~ / / / / ( _ : < _ ( / ~ [ } } } | > ; ; * & , $ $ $ $ $ $ ", -" $ $ $ $ $ $ & * ; > ' ' ) ^ ~ / / 1 2 3 } } } } } } } } } } } } } } 4 ' > ; = & $ $ $ $ $ $ ", -" $ $ $ $ $ & * ; > ' ' ) ~ / / 5 6 } } } } } } } } } } } } } } } } } } ' ' > ; * & $ $ $ $ $ ", -" $ $ $ $ & * = > ' ' ) ~ / / 7 } } } } 8 9 0 a b b c d 7 } } } } } } } ) ' ' > ; * & $ $ $ $ ", -" $ $ $ , * = ; ' ' ) ~ / / e } } } f g h i i i i i i h a j } } } } } 3 ! ) ' ' ; = * % $ $ $ ", -" $ $ $ & = ; > ' ) ~ / / k } } l m i i i n n n n n n i i o } } } } } } p ! ) ' > ; = & $ $ $ ", -" $ $ % * ; > ' ' ~ / / q } } r h i i n s s s s s s s s n i t u v w x } } q ~ ) ' > ; * & $ $ ", -" $ $ & = ; ' ' ^ / / y } } r h i n s s s z z z z z z s s s n i i a b A } } y ^ ' ' ; = & $ $ ", -" $ , * = > ' ) ~ / B } } j h i n s s z C C 5 5 5 5 C C z s s n i i a b j } } D ) ' > ; * % $ ", -" $ & * ; ' ' ^ / / E } } F i n s s z C 5 G H H H H G 5 C z s s n i h c I } } J ^ ' ' ; = & $ ", -" $ & = ; ' ) ~ / K } } L i n s s z 5 G H K M M M M K B G 5 C s s n i a c N } } G ) ' > = * $ ", -" , * ; > ' ) ~ / O } } M i s s z 5 G K M M M M M M M M K G 5 z s s i i a 5 } } P ) ' > ; * , ", -" & * ; > ' ^ / / } } Q i n s z C G K M M R R S T U V M M K G C z s n i a c W } } ^ ' ' ; * & ", -" & = ; ' ' ~ / b } } X i n s z 5 H M M R Y Z Z Z Z Z ` .M H 5 z s s i h c ..} } +.' ' ; = & ", -" & = ; ' ) ~ 5 q } } @.i s s C G K M R g Z Z Z Z Z Z Z ` M K G C s s i i c t } } #.) ' ; = & ", -" & = ; ' ) h } } } } } $.s z C G K M R %.Z &.&.&.&.Z Z Z *.M G C z s n i a =.} } -.) ' > = & ", -" & = ; ' ) ;.} } } } } } s z 5 H M M g >.Z &.&.&.&.Z Z Z >.M H 5 z s n i a +.} } ,.) ' > = * ", -" & = ; ' ) v } } } } } } '.z 5 H M M g ).Z &.&.&.&.Z Z Z >.M H 5 z s n i a +.} } !.) ' > = & ", -" & = ; ' ) ~.} } } } } } R z C G K M R ( Z Z &.&.&.Z Z ` {.K G C z s n i a ].} } ^.) ' > = & ", -" & = ; ' ' /.} } } } } (.s s C G K M R g Z Z Z Z Z Z Z ` M K G C s s i _.c :.} } <.) ' ; = & ", -" & * ; ' ' ! [.} } } }.i n s z 5 H M M R |.Z Z Z Z Z ` 1.M H 5 z s n i h c -.} } c ' ' ; = & ", -" % * ; > ' ^ / / } } 2.i n s z C 5 K M M R R o 3.4.o M M K G C z s n i a c 5.} } ^ ' > ; * & ", -" , * = > ' ) ~ / 6.} } C i n s z C G K K M M M M M M M K G C z s s i _.c n } } 7.) ' > ; * , ", -" $ & = ; ' ' ~ / 8.} } 9.i n s s z C 5 H K K K M K K H G C z s s n i a c 0.} } .' ' ; = & $ ", -" $ & * ; > ' ) / / a.} } b.i n s s z C 5 5 G G G G G 5 C z s s n i h c Y } } c.) ' > ; * & $ ", -" $ , * = > ' ) ~ / 8.} } d.a i n s s z z C C C C C C z z s s n i h a b d.} } .) ' > = * , $ ", -" $ $ & = ; > ' ) ~ / e.} } f.h i n n s s s z z z z s s s n n i h a c g.} } e.) ' ' ; = & $ $ ", -" $ $ , * = > ' ' ! / / a.} } g.h.i i n n s s s s s s n n i i.0.2.j.k.} } c.! ' ' > = * % $ $ ", -" $ $ $ & * ; > ' ) ~ / / l.} } d.1.h i i i i n n i i i i m.} } } } } } n.~ ) ' > ; * & $ $ $ ", -" $ $ $ $ * = ; > ' ) ~ / / o.} } } 6.n a h i i i i h a a p.} } } } } 3 ~ ) ' > ; = * , $ $ $ ", -" $ $ $ $ & * = ; ' ' ) ~ / / q.} } } } o.r.8.s.c c +. .t.} } } } } } } ) ' ' ; = * & $ $ $ $ ", -" $ $ $ $ $ & * = ; ' ' ) ! ~ / u.v.} } } } } } } } } } } } } } } } } } ' ' ; = * & $ $ $ $ $ ", -" $ $ $ $ $ $ & * = ; > ' ' ) ~ / / w.x.} } } } } } } } } } } } } } } y.> ; = * & $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ & * = ; > ' ' ' ) ~ ~ / / z.A.B.C.C.B.A.D.! r } } } g.> ; = * & $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ & * = ; ; > ' ' ' ) ) ! ~ ~ ~ ~ ~ ~ ! ) ) ' K E.F.G.; = * & $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ $ % & * = ; > > ' ' ' ' ' ' ) ) ) ' ' ' ' ' > > ; = * * & $ $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ $ $ $ & * * = ; ; > > ' ' ' ' ' ' ' ' > > ; ; = * * & , $ $ $ $ $ $ $ $ $ $ ", -" $ $ $ $ $ $ $ $ $ $ $ $ , & * * = = ; ; ; ; ; ; ; ; ; ; = = * * & , $ $ $ $ $ $ $ $ $ $ $ $ ", -" . $ $ $ $ $ $ $ $ $ $ $ $ $ , & & * * * = = = = = = * * * & & , $ $ $ $ $ $ $ $ $ $ $ $ $ H. ", -" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % & & & & & & & & % , $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # ", -" "}; +"48 48 62 1", +" c None", +". c #004D1F", +"+ c #005A24", +"@ c #005C23", +"# c #005421", +"$ c #000000", +"% c #006326", +"& c #00712C", +"* c #006E2B", +"= c #005220", +"- c #001608", +"; c #005823", +"> c #003514", +", c #006327", +"' c #004F1F", +") c #006126", +"! c #003F18", +"~ c #005A23", +"{ c #006929", +"] c #000B04", +"^ c #005C24", +"/ c #006628", +"( c #001809", +"_ c #005622", +": c #00A23F", +"< c #00A440", +"[ c #004C1E", +"} c #005521", +"| c #003515", +"1 c #00501F", +"2 c #006F2B", +"3 c #006528", +"4 c #00702B", +"5 c #00A33F", +"6 c #006527", +"7 c #004E1F", +"8 c #004D1E", +"9 c #006A29", +"0 c #005621", +"a c #006627", +"b c #00702C", +"c c #005722", +"d c #00A540", +"e c #003314", +"f c #002F12", +"g c #001006", +"h c #00A53E", +"i c #004E1E", +"j c #006E2C", +"k c #005D24", +"l c #000C05", +"m c #005520", +"n c #006025", +"o c #000502", +"p c #003616", +"q c #005F25", +"r c #003C18", +"s c #006426", +"t c #001C0B", +"u c #000101", +"v c #001D0B", +"w c #006427", +" ", +" ", +" .+@# ", +" $$$$$$$$$$$ %&&&&* ", +" $$$$$$$$$$$$$$=&&&&&&* ", +" $$$$$$$$$$$$$$$-&&&&&&&&; ", +" $$$$$$$$ >&&&&&&&&, ", +" $$$$$$ '&&&&&&&&) ", +" $$$$$ &&&&&&&&! ", +" $$$$$ ~&&&&&&{]$ ", +" $$$$$ ^&&&&/($$$ ", +" $$$$ #_. $$$$ ", +" $$$$ $$$$ ", +" $$$$ $$$$ ", +" $$$$ $$$$ ", +" $$$$ $$$ ", +" $$$ $$$ ", +" $$$$ $$$$ ", +" $$$ : $$$ ", +" $$$ <<<<<< $$$ ", +" [}'| <<<<<<<< $$$ ", +" 12&&&&3 <<<<<<<<<< $$$$ ", +" 4&&&&&&) 5<<<<<<<<<< $$$ ", +" ~&&&&&&&& <<<<<<<<<<< $$$ ", +" 6&&&&&&&&7 <<<<<<<<<<< $$$ ", +" ,&&&&&&&&8 <<<<<<<<<<< $$$ ", +" }&&&&&&&2 <<<<<<<<<< $$$ ", +" 9&&&&&&0 :<<<<<<<< $$$ ", +" a&&&bc d<<<<<< $$$ ", +" efg h<< $$$ ", +" $$$$ $$$ ", +" $$$ $$$ ", +" $$$ $$$ ", +" $$$$ $$$$ ", +" $$$$ $$$$ ", +" $$$ $$$ ", +" $$$$ i $$$$ ", +" $$$$ #j&&&kl$$$ ", +" $$$$$ m&&&&&&no$ ", +" $$$$$ 2&&&&&&&p ", +" $$$$$$ .&&&&&&&&q ", +" $$$$$$$ r&&&&&&&&s ", +" $$$$$$$$$$$$$$$t&&&&&&&&~ ", +" $$$$$$$$$$$$$uk&&&&&&& ", +" $$$$$$$$$$$$v{&&&&&= ", +" _wa^ ", +" ", +" "}; diff --git a/share/pixmaps/ion_testnet64.png b/share/pixmaps/ion_testnet64.png index 7aaeafbd1a79d..3f31e43c1b8af 100644 Binary files a/share/pixmaps/ion_testnet64.png and b/share/pixmaps/ion_testnet64.png differ diff --git a/share/pixmaps/ion_testnet64.xpm b/share/pixmaps/ion_testnet64.xpm index 9945f6801d035..4e4ea9360439c 100644 --- a/share/pixmaps/ion_testnet64.xpm +++ b/share/pixmaps/ion_testnet64.xpm @@ -1,289 +1,135 @@ /* XPM */ static char * ion_testnet64_xpm[] = { -"64 64 222 2", -" c None", -". c #010C10", -"+ c #010C11", -"@ c #010D11", -"# c #010D12", -"$ c #020D10", -"% c #010E13", -"& c #010D0F", -"* c #010F14", -"= c #010F15", -"- c #010B10", -"; c #011016", -"> c #011117", -", c #011218", -"' c #021319", -") c #02131A", -"! c #011219", -"~ c #02141B", -"{ c #021219", -"] c #042B3A", -"^ c #109CD1", -"/ c #13BEFE", -"( c #13BAF9", -"_ c #0B6F95", -": c #053345", -"< c #0A698C", -"[ c #0F95C8", -"} c #12B4F1", -"| c #13BDFC", -"1 c #13BBFB", -"2 c #11ADE7", -"3 c #0D87B5", -"4 c #095876", -"5 c #07455C", -"6 c #13BDFD", -"7 c #10A2D9", -"8 c #042937", -"9 c #0D7FAA", -"0 c #13BBFA", -"a c #0B6B8F", -"b c #0F99CD", -"c c #12B8F6", -"d c #02161D", -"e c #0D7EA8", -"f c #12B2EE", -"g c #0E8DBD", -"h c #0B7298", -"i c #0A6283", -"j c #095E7E", -"k c #0A6689", -"l c #0C79A2", -"m c #0F99CC", -"n c #13BAF8", -"o c #12B1ED", -"p c #109ED4", -"q c #08516C", -"r c #021B24", -"s c #021820", -"t c #021821", -"u c #02161E", -"v c #095977", -"w c #074359", -"x c #0E90C0", -"y c #042938", -"z c #021922", -"A c #03212C", -"B c #12B6F3", -"C c #031D27", -"D c #074A63", -"E c #12B3EF", -"F c #06394D", -"G c #021A23", -"H c #0C759C", -"I c #12B3F0", -"J c #031E29", -"K c #063C51", -"L c #0F92C3", -"M c #021921", -"N c #0B7299", -"O c #13BEFD", -"P c #12B0EB", -"Q c #032430", -"R c #13BCFB", -"S c #0C7CA6", -"T c #031F2A", -"U c #08506B", -"V c #095C7B", -"W c #063C50", -"X c #031C26", -"Y c #11ABE4", -"Z c #109DD2", -"` c #11A8E1", -" . c #0D80AB", -".. c #021B25", -"+. c #02171F", -"@. c #12AFEA", -"#. c #0A6588", -"$. c #109BD0", -"%. c #021C26", -"&. c #032431", -"*. c #042533", -"=. c #031C25", -"-. c #13B9F8", -";. c #031E28", -">. c #074961", -",. c #0F9ACF", -"'. c #084F6A", -"). c #0F94C6", -"!. c #053243", -"~. c #11A9E2", -"{. c #03202B", -"]. c #0F93C5", -"^. c #095673", -"/. c #074760", -"(. c #0E8DBC", -"_. c #10A0D6", -":. c #032531", -"<. c #042835", -"[. c #03222E", -"}. c #053547", -"|. c #095775", -"1. c #02151D", -"2. c #0C7BA5", -"3. c #03212D", -"4. c #064056", -"5. c #085470", -"6. c #0F96C9", -"7. c #011319", -"8. c #05384B", -"9. c #063F55", -"0. c #085471", -"a. c #07455D", -"b. c #0D85B2", -"c. c #011118", -"d. c #053041", -"e. c #053649", -"f. c #08526E", -"g. c #085572", -"h. c #095774", -"i. c #053548", -"j. c #095A78", -"k. c #053446", -"l. c #042A39", -"m. c #084E69", -"n. c #031D28", -"o. c #0C78A0", -"p. c #0C7BA4", -"q. c #095A79", -"r. c #064157", -"s. c #10A1D7", -"t. c #10A2D8", -"u. c #064258", -"v. c #08536F", -"w. c #0F98CC", -"x. c #053749", -"y. c #095F7F", -"z. c #0A6384", -"A. c #052F40", -"B. c #12B4F0", -"C. c #042431", -"D. c #042634", -"E. c #074A64", -"F. c #0D80AC", -"G. c #074861", -"H. c #0C759D", -"I. c #03232F", -"J. c #07465E", -"K. c #109BCF", -"L. c #11A5DD", -"M. c #12B5F2", -"N. c #042E3E", -"O. c #042633", -"P. c #042F3F", -"Q. c #095D7C", -"R. c #0D85B1", -"S. c #0D82AE", -"T. c #0E8AB8", -"U. c #063A4D", -"V. c #03202A", -"W. c #063D52", -"X. c #10A3D9", -"Y. c #0B7197", -"Z. c #0E91C1", -"`. c #042D3C", -" + c #02141C", -".+ c #11A7E0", -"++ c #0B6C90", -"@+ c #063E53", -"#+ c #074B64", -"$+ c #11A6DE", -"%+ c #074962", -"&+ c #0D82AF", -"*+ c #0A6081", -"=+ c #13BCFC", -"-+ c #12B6F4", -";+ c #042C3B", -">+ c #0A678A", -",+ c #13B9F7", -"'+ c #0D7EA9", -")+ c #05374A", -"!+ c #0E8CBC", -"~+ c #063F54", -"{+ c #02171E", -"]+ c #0E8FBF", -"^+ c #0C7AA3", -"/+ c #096080", -"(+ c #08506C", -"_+ c #084D67", -":+ c #0D86B3", -"<+ c #02141A", -"[+ c #06394C", -"}+ c #0C749C", -"|+ c #11A8E0", -"1+ c #0F9BCF", -"2+ c #0B6A8E", -"3+ c #11ACE6", -"4+ c #021720", -"5+ c #11ABE5", -"6+ c #01131B", -"7+ c #021D27", -"8+ c #011015", -"9+ c #010B0F", -" ", -" . . . . . . . . . . . . . . . . . . . . . . + @ # # # # # # # # @ + . . . . . . . . . . . . . . . . . . . . . . ", -" $ . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . . . . . . & ", -" . . . . . . . . . . . . . . . . . + # # # % % % * * * * * * * * * * * * % % % % # # + . . . . . . . . . . . . . . . . . ", -" + . . . . . . . . . . . . . . . + # # % % * * * = = = = = = = = = = = = = = * * * % % # # + . . . . . . . . . . . . . . . - ", -" . . . . . . . . . . . . . . . # # % % * * = = = ; ; ; > > > > > > > > ; ; ; = = = * * % % # # . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . + # % % * = = = ; ; > > > > > > > > > > > > > > > > ; ; = = = * % % # + . . . . . . . . . . . . . ", -" . . . . . . . . . . . . # # % * * = = ; > > > > > > , , , , , , , , , , > > > > > > ; = = = * % # # . . . . . . . . . . . . ", -" . . . . . . . . . . . # % % * = = ; > > > > , , , ' ) ) ) ) ) ) ) ) ) ) ' , , , > ; ! = ; = = * % % # . . . . . . . . . . . ", -" . . . . . . . . . . # % * * = ; ; > > > , , ' ) ) ~ ~ ~ ~ ~ { { ) { ' ~ ~ ) ) ] ^ / / ( _ > ; = * * % # + . . . . . . . . . ", -" . . . . . . . . . # % * = = ; > > > , , ) ) ~ ~ ~ ) : < [ } | / / / 1 2 3 4 5 6 / / / / / 7 > ; = = * % # + . . . . . . . . ", -" . . . . . . . . # % * = = ; > > > , ' ) ~ ~ ~ 8 9 0 / / / / / / / / / / / / / / / / / / / / a > ; = = * % # . . . . . . . . ", -" . . . . . . . # % * = = ; > > , , ) ~ ~ ~ ] b / / / / / / / / / / / / / / / / / / / / / / / c ; > ; = = * % # . . . . . . . ", -" . . . . . . # % % = = ; > > , ! ) ~ ~ d e / / / / / / / f g h i j k l m n / / / / / / / / / / > > > ; = = * % # . . . . . . ", -" . . . . . + # % * = ; > > , ' ) ~ ~ ] o / / / / / p q r s s t t s s s s u v / / / / / / / / 6 > , > > ; = * % # + . . . . . ", -" . . . . . # % * = ; > > , ' ) ~ ~ w 6 / / / / x y t z z z z z z z z z z t A / / / / / / / / B C ' , > > ; = * % # . . . . . ", -" . . . . @ % * = ; > > , ! ) ~ ~ D / / / / E F t z z z z G G G G G G z z z z H / / / / / / / / I J ' , > > ; = * % # . . . . ", -" . . . . # % * = ; > > , ) ~ ~ K / / / / L G z z z G G G r r r r r r G G G z M N O / / / 6 / / / P s ! > > ; = * % # + . . . ", -" . . . # % * = ; > > , ) ~ ~ Q R / / / S t z z G G r r r r r r r r r r r r G G z T U V W X Y / / / Z { , > > ; = * % # . . . ", -" . . . # % * = > > , ' ~ ~ ~ ` / / / .t z z G r r r r ................r r r r G G z z s +...@./ / / < ' , > > = = % # + . . ", -" . . @ % * = ; > > , ) ~ ~ #./ / / $.t z G G r r r ....%.%.%.C C %.%.%.....r r r G G z z s +.&.0 / / O *., > > ; = * % # . . ", -" . . # % * = ; > , ' ~ ~ =.| / / -.J z G G r r ....%.C C ;.;.;.;.;.;.C C %.....r r r G z z s +.>./ / / ,.' , > > = * % # . . ", -" . + # % = ; > > , ) ~ ~ l / / / '.z z G r r ..%.C C ;.J J T T T T T J ;.C C %...r r G G z t s u )./ / / !., > > ; = * # + . ", -" . @ % * = ; > > ' ~ ~ u | / / ~.t z G r r ..%.C ;.J T T {.{.{.{.{.{.T T J ;.C %...r r G z z s +.&./ / / ].' , > ; = * % # . ", -" . # % * = > > , ) ~ ~ ^./ / / /.z G r r ..%.C ;.J T {.{.{.{.{.{.{.{.{.{.T J ;.C %...r r G z t s +.(./ / / t , > > = * % # . ", -" . # % = ; > > , ) ~ ~ _./ / c s z G r r ..%.;.J T {.{.{.A A A :.<.[.{.{.{.T J ;.C ..r r G z z s +.}./ / / |., > > ; = % # . ", -" + # * = ; > > ! ~ ~ 1.O / / 2.z G r r ..%.C J T {.{.A A 3.4.4 v v v 5.!.{.{.T J C %...r r G z t +.1.c / / 6.7.> > ; = * # + ", -" + % * = ; > > ' ~ ~ 8./ / / 9.z G r r ..C ;.T {.{.A A &.0.v v v v v v v a.{.{.T ;.C ..r r G z M s +.b./ / 0 c., > ; = * % @ ", -" @ % * = ; > , ) ~ d.^ / / / e.z G r ..%.C ;.T {.{.A 3.f.v v v v v v v v 4 W {.T J C %...r G z z s +.g./ / / G , > ; = * % # ", -" # % * = ; > , ) 5./ / / / / / h.G r ..%.C J T {.A 3.i.v v j.j.j.j.v v v v 4 3.{.J C %...r r z z s +.!./ / / k., > > = * % # ", -" # % * = > > , Q O / / / / / / / l.r ..%.;.T {.{.A 3.m.v j.j.j.j.j.j.v v v 4 }.{.T ;.%...r r G z s +.n./ / / >., > > = * % # ", -" # % * = > > , o./ / / / / / / / p.r ..%.;.T {.{.A 3.4 v j.j.q.q.j.j.v v v 4 r.{.T ;.%...r r G z s +.+./ / / f., > > = * % # ", -" # % * = > > , s./ / / / / / / / t.r ..%.;.T {.{.A 3.4 v j.j.j.j.j.j.v v v 4 u.{.T ;.%...r r G z s +.+./ / / v., > > = * % # ", -" # % * = > > , w./ / / / / / / / b r ..%.;.T {.{.A 3.U v v j.j.j.j.v v v v 4 x.{.T ;.%...r r G z s +.X / / / D , > > = * % # ", -" @ % * = ; > , y./ / / / / / / / z.r ..%.C J T {.A 3.8.v v v j.j.v v v v v 4 [.T J C %...r r z z s +.A./ / / e., > ; = * % # ", -" + % * = ; > , ~ I / / / / / / B...r r %.C ;.T {.{.A 3.0.v v v v v v v v 4 4.{.T ;.C %...r G z z s +.f./ / / X , > ; = * % @ ", -" + # * = ; > > ' C.P / / / / P 8 G r r ..%.;.J T {.{.A D.h.v v v v v v 4 E.{.{.T ;.%...r r G z t s u F./ / R > > > ; = * % + ", -" . # % = ; > > ! ) ~ G./ / / H.z z r r ..%.C ;.T {.{.{.A I.J.v v v v h.8.{.{.T ;.C %...r r G z s +.1.B / / K.! > > ; = * # + ", -" . # % * = > > , ) ~ ~ L./ / M.s z G r r ..%.C J T {.{.{.{.A A l.N.O.{.{.{.T J C %...r r G z z s +.P./ / / Q., > > ; = % # . ", -" . # % * = ; > , ) ~ ~ Q./ / / 9.z G r r r ..%.C J T T {.{.{.{.{.{.{.{.T T J ;.C ....r r G z t s u R./ / / =., > > = * % # . ", -" . + % * = ; > > ! ) ~ t 6 / / 7 t z G r r ..%.%.C ;.J T T {.{.{.{.T T J ;.C %.%...r r G z z s +.T 6 / / K.! > > ; = * % @ . ", -" . . # % = ; > > , ) ~ ~ S./ / / 5 z z G r r ....%.C C ;.J J T T J J ;.;.C %.....r r G z z s +.u T./ / / U., > > ; = % # + . ", -" . . # % * = ; > > ! ~ ~ V.6 / / B r z z G r r r ..%.%.C C C ;.;.C C C %.%...r r r G z z t s +.W./ / / X.! , > ; = * % # . . ", -" . . + % * = ; > > , ) ~ ~ Y./ / / Z.t z z G r r r ......%.%.%.%.%.%.......r r r G z z M s +.J c / / / `., > > ; = * % @ . . ", -" . . . # % * = ; > > ! ) ~ +@./ / / Y.t z z G G r r r r ............r r r r r G z z t s +.s .+/ / / H.! > > ; = * % # . . . ", -" . . . @ % * = ; > > , ) ~ ~ ] 6 / / / ++s z z z G G r r r r r r r r r r r G G z z @+#+l.t s./ / / $+' , > > ; = * % @ . . . ", -" . . . . # % * = ; > > , ) ~ ~ %+/ / / / &+s z z z z G G G G r r G G G G z z z *+=+/ / / R / / / -+X , > > ; = * % # . . . . ", -" . . . . + # % = = ; > > , ) ~ ~ v / / / / ~.;+s z z z z z z z z z z z z z z >+/ / / / / / / / ,+O.! > > > = = * % @ . . . . ", -" . . . . . # % * = ; > > > , ) ~ ~ f./ / / / / '+T s t M z z z z z z M t s ;.6 / / / / / / / c C.! , > > ; = * % # . . . . . ", -" . . . . . . # % * = ; > > > , ) ~ ~ )+c / / / / O !+~+{+s s s s s s s +.+.f./ / / / / / / / =+> , > > ; = * % # + . . . . . ", -" . . . . . . + # % * = ; > > > , ) ~ ~ G ]+/ / / / / / 6 X.^+/+(+_+5.>+:+P / / / / / / / / / / > > > ; = * % # @ . . . . . . ", -" . . . . . . . @ % % * = ; > > > , ' ) ~ ~ U.` / / / / / / / / / / / / / / / / / / / / / / / n ; > ; = * % % # . . . . . . . ", -" . . . . . . . . # % % * = ; > > > , ! ) ) ~ <+[+L 6 / / / / / / / / / / / / / / / / / / / / }+> ; = * % % # . . . . . . . . ", -" . . . . . . . . . # % % * = ; ; > > > , ! ) ) ~ ~ 1.a.2.|+R / / / / / ,+1+2+|./ / / / / / 3+! ; = * % % # . . . . . . . . . ", -" . . . . . . . . . . # # % * = = ; > > > > , , ' ) ) ~ ~ ~ ' ) 4+z u { ) ) ) ) 8.5+/ / 6 S.6+= = * % % # . . . . . . . . . . ", -" . . . . . . . . . . . @ # % * = = ; ; > > > > , , , ! ' ) ) ) ) ) ) ' ! , , , > > d 7+8+; = = * % # # . . . . . . . . . . . ", -" . . . . . . . . . . . . + # % % * = = ; ; > > > > > > > , , , , , , > > > > > > > ; ; = = * % % # + . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . # # % * * = = = ; ; > > > > > > > > > > > > > > ; ; = = = * * % # # . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . + # % % * * = = = = ; ; ; ; ; ; ; ; ; ; ; ; = = = = * * % % # + . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . + # # % % * * * = = = = = = = = = = = = * * * % % # # @ . . . . . . . . . . . . . . . . + ", -" . . . . . . . . . . . . . . . . . . + # # % % % % * * * * * * * * * * % % % % # # + . . . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . . . . + # # # # % % % % % % % % # # # # + . . . . . . . . . . . . . . . . . . . . ", -" . . . . . . . . . . . . . . . . . . . . . . . + + @ @ # # @ @ + + . . . . . . . . . . . . . . . . . . . . . . 9+ ", -" "}; +"64 64 68 1", +" c None", +". c #00501F", +"+ c #006026", +"@ c #00692A", +"# c #006929", +"$ c #005E25", +"% c #004E1F", +"& c #000000", +"* c #006627", +"= c #00712C", +"- c #006125", +"; c #000904", +"> c #006327", +", c #00421A", +"' c #00521F", +") c #000301", +"! c #006B2A", +"~ c #006528", +"{ c #001809", +"] c #006C2B", +"^ c #006326", +"/ c #004A1D", +"( c #006E2B", +"_ c #001308", +": c #005522", +"< c #00702B", +"[ c #002B11", +"} c #004F1F", +"| c #006A29", +"1 c #003013", +"2 c #004F1E", +"3 c #00A540", +"4 c #00A440", +"5 c #000101", +"6 c #00A340", +"7 c #005923", +"8 c #006D2A", +"9 c #005521", +"0 c #003C17", +"a c #00A53F", +"b c #006F2B", +"c c #005C24", +"d c #005B23", +"e c #00511F", +"f c #006728", +"g c #005F24", +"h c #00501E", +"i c #005220", +"j c #006628", +"k c #005922", +"l c #004C1E", +"m c #00A53E", +"n c #00240E", +"o c #00220D", +"p c #001B0B", +"q c #000602", +"r c #005C23", +"s c #006C2A", +"t c #006828", +"u c #000A04", +"v c #003F19", +"w c #006829", +"x c #00210D", +"y c #000703", +"z c #005621", +"A c #001307", +"B c #003E18", +"C c #005823", +" ", +" ", +" ", +" .+@#$% ", +" &&&&&&&&&&&&&& *======- ", +" &&&&&&&&&&&&&&&&&;>========> ", +" &&&&&&&&&&&&&&&&&&&,==========' ", +" &&&&&&&&&&&&&&&&&&&&)!==========~ ", +" &&&&&&&&&&& &{============ ", +" &&&&&&&&& ============ ", +" &&&&&&& ===========] ", +" &&&&&&& ^==========/& ", +" &&&&&&& =========(_&& ", +" &&&&&& :=======<[&&& ", +" &&&&&& }|====~1&&&&& ", +" &&&&& }2 &&&&& ", +" &&&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&& 3 &&&& ", +" &&&&& 4444444 &&&&& ", +" &5&&& 34444444446 &&&& ", +" 7~=890 a44444444444 &&&& ", +" }b======$ 4444444444444 &&&& ", +" <========c 444444444444444 &&&& ", +" *========== 444444444444444 &&&& ", +" ===========d 444444444444444 &&&& ", +" '===========~ 444444444444444 &&&& ", +" e===========f 444444444444444 &&&& ", +" ===========g 444444444444444 &&&& ", +" 8==========h 4444444444444 &&&& ", +" i=========j 444444444444a &&&& ", +" k=======# 44444444444 &&&& ", +" h#===(l a4444444m &&&&& ", +" nopq& 444 &&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&& &&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& &&&& ", +" &&&&& &&&&& ", +" &&&&& &&&&& ", +" &&&&& r(==sk &&&&& ", +" &&&&&& (======t{&&&& ", +" &&&&&&& (========fu&& ", +" &&&&&&& $==========v& ", +" &&&&&&&& b==========w ", +" &&&&&&&& ============ ", +" &&&&&&&&&& x============ ", +" &&&&&&&&&&&&&&&&&&&&yb==========@ ", +" &&&&&&&&&&&&&&&&&&&&}==========z ", +" &&&&&&&&&&&&&&&&&A8========| ", +" &&&&&&&&&&&&&& B(======| ", +" c(==sC ", +" ", +" ", +" "}; diff --git a/share/pixmaps/iond.ico b/share/pixmaps/iond.ico index 9a22ebb476baa..db16f7462da53 100644 Binary files a/share/pixmaps/iond.ico and b/share/pixmaps/iond.ico differ diff --git a/share/pixmaps/iond128.png b/share/pixmaps/iond128.png index aa995c379cb45..3ea843dba25d3 100644 Binary files a/share/pixmaps/iond128.png and b/share/pixmaps/iond128.png differ diff --git a/share/pixmaps/iond128.xpm b/share/pixmaps/iond128.xpm index 0ee0793c18f3b..f4ea7d1d3c944 100644 --- a/share/pixmaps/iond128.xpm +++ b/share/pixmaps/iond128.xpm @@ -1,224 +1,252 @@ /* XPM */ static char * iond128_xpm[] = { -"128 128 95 2", +"128 128 123 2", " c None", -". c #F9FCFE", -"+ c #FEFEFF", -"@ c #FFFFFF", -"# c #FBFCFE", -"$ c #FDFDFE", -"% c #F4F9FD", -"& c #F8FBFF", -"* c #FBFDFF", -"= c #FDFDFF", -"- c #FEFEFE", -"; c #FEFFFF", -"> c #FDFEFF", -", c #F9FCFF", -"' c #F6FCFF", -") c #FAFCFF", -"! c #F3F7FD", -"~ c #F7FAFF", -"{ c #FBFCFF", -"] c #F2FAFF", -"^ c #FCFDFF", -"/ c #FAFDFF", -"( c #F2F9FF", -"_ c #EFF6FF", -": c #F2F7FD", -"< c #F3F9FF", -"[ c #F7FBFF", -"} c #F9FBFE", -"| c #F5F9FF", -"1 c #E8F2FF", -"2 c #F6FBFF", -"3 c #EDF4FF", -"4 c #F6FAFF", -"5 c #E5EFFF", -"6 c #F5FAFF", -"7 c #F4F8FF", -"8 c #F4F9FF", -"9 c #F9FBFF", -"0 c #F9FCFD", -"a c #FBFEFF", -"b c #F8FCFF", -"c c #EAF3FF", -"d c #F2F8FF", -"e c #2EBBFF", -"f c #2DBFFF", -"g c #2CBFFF", -"h c #2CBEFF", -"i c #2DBBFF", -"j c #2CBCFF", -"k c #2DBEFF", -"l c #2CBDFF", -"m c #2FB8FF", -"n c #EBF6FF", -"o c #30B9FF", -"p c #2DBDFF", -"q c #2EBDFF", -"r c #F3FAFF", -"s c #F5FBFF", -"t c #EEF6FF", -"u c #30B6FF", -"v c #2EBEFF", -"w c #F5F9FD", -"x c #E3F0FF", -"y c #2DBCFF", -"z c #F8FBFD", -"A c #E9F3FF", -"B c #2EBCFF", -"C c #E7F1FF", -"D c #2FB9FF", -"E c #F5F8FF", -"F c #2FB6FF", -"G c #F1F8FF", -"H c #F6F9FF", -"I c #EBF3FF", -"J c #2EB9FF", -"K c #F7FAFD", -"L c #30B4FF", -"M c #E8F1FF", -"N c #F1F7FF", -"O c #FAFBFF", -"P c #F0F7FF", -"Q c #EDF5FF", -"R c #FBFDFE", -"S c #FAFCFE", -"T c #EEF5FF", -"U c #FCFEFF", -"V c #ECF5FF", -"W c #EFF5FF", -"X c #EAF4FF", -"Y c #FDFEFE", -"Z c #FAFBFE", -"` c #F3F8FF", -" . c #F3FBFF", -".. c #FFFEFF", -"+. c #F2F4F6", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" . + @ @ @ + # ", -" # @ @ @ @ @ @ @ @ @ $ ", -" % & * = + - + @ ; + ; > * , ' > @ @ @ @ @ @ @ @ @ @ @ + ", -" & = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ) ! > @ @ @ @ @ @ @ @ @ @ @ @ @ + ", -" ) @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # ", -" ~ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" ) @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ { ", -" , @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ; ", -" ] + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + > ^ ^ > > + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + ", -" * @ @ @ @ @ @ @ @ @ @ @ @ @ @ ; / ( _ ~ > ; @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" : + @ @ @ @ @ @ @ @ @ @ @ @ > < = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" { @ @ @ @ @ @ @ @ @ @ @ @ ~ [ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ > ", -" = @ @ @ @ @ @ @ @ @ @ + ( @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ } ", -" + @ @ @ @ @ @ @ @ @ ; | + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ < ", -" + @ @ @ @ @ @ @ @ @ / 1 + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 2 ", -" + @ @ @ @ @ @ @ @ ; 3 4 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 4 ", -" + @ @ @ @ @ @ @ @ > | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ! ", -" > @ @ @ @ @ @ @ @ / 5 > @ @ @ @ @ @ @ + ; @ @ @ @ @ @ @ @ ", -" ) @ @ @ @ @ @ @ @ 6 7 ) ^ / ~ @ @ @ @ @ @ @ @ + ", -" 6 @ @ @ @ @ @ @ @ | ; @ @ @ @ @ @ @ + ", -" @ @ @ @ @ @ @ @ | ; @ @ @ @ @ @ @ , ", -" + @ @ @ @ @ @ @ ~ @ @ @ @ @ @ @ @ ", -" & @ @ @ @ @ @ @ / 8 @ @ @ @ @ @ @ ; ", -" @ @ @ @ @ @ @ > 9 @ @ @ @ @ @ @ 0 ", -" a @ @ @ @ @ @ @ + @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ 6 + @ @ @ @ @ @ # ", -" > @ @ @ @ @ @ > b @ @ @ @ @ @ @ ", -" + @ @ @ @ @ @ c ; @ @ @ @ @ @ { ", -" * @ @ @ @ @ @ ^ d @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ + ; @ @ @ @ @ @ , ", -" & @ @ @ @ @ @ * d @ @ @ @ @ @ + ", -" + @ @ @ @ @ @ c + @ @ @ @ @ @ ", -" @ @ @ @ @ @ + & @ @ @ @ @ @ 9 ", -" b @ @ @ @ @ @ | + @ @ @ @ @ + ", -" + @ @ @ @ @ + e f g h g g g g e + @ @ @ @ @ @ ", -" @ @ @ @ @ @ > i g g g g g g g g g g g j [ @ @ @ @ @ @ b ", -" @ @ @ @ @ @ [ k g g h j j h g g g g g g g l m @ @ @ @ @ @ * ", -" & @ @ @ @ @ @ n g g j j j j j j j j h g g g g g g e @ @ @ @ @ @ + ", -" > @ @ @ @ @ @ l j j j j j j j j j j j j g g g g l g o > @ @ @ @ @ ; ", -" ) @ @ @ @ @ @ @ @ [ p j j j j j j j j j j j j j j g g g g l g & @ @ @ @ @ @ ", -" ; @ @ @ @ @ @ @ @ @ @ ; h j j j j h h h h h g j j j j j g g g g g q r @ @ @ @ @ @ s ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ h j j j j g h h h h h h h h j j j g g g g l l @ @ @ @ @ @ , ", -" ; @ @ @ @ @ @ @ @ @ @ @ @ @ @ ^ l j j j g h h h h h h h h g j j j j g g g l g m @ @ @ @ @ @ , ", -" b @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ t u j j j h h h h h h h h h h h h j j j g g g l g v @ @ @ @ @ @ ) ", -" ; @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ > i j j j h h h h h p p h h h h g j j j g g g g g g @ @ @ @ @ @ * ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + q j j j g h h h k p p p h h h h j j j h g g g g g @ @ @ @ @ @ * ", -" w @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ x y j j j h h h h h p p k h h h h j j j h g g g g g @ @ @ @ @ @ > ", -" z @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ A B j j j h h h h h h h h h h h g j j j g g g l g g @ @ @ @ @ @ * ", -" & @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ C m j j j j h h h h h h h h h h h j j j g g g l g p @ @ @ @ @ @ { ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ h j j j h h h h h h h h h h j j j j g g g l g D @ @ @ @ @ @ , ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + f j j j j h g h h h h h h j j j j g g g g l g @ @ @ @ @ @ , ", -" # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ E F g j j j j j h h h h j j j j j g g g g l g k G @ @ @ @ @ @ H ", -" ; @ @ @ @ @ @ @ @ @ @ @ @ @ @ ; g g j j j j j j j j j j j j g g g g g l g & @ @ @ @ @ @ ", -" 4 @ @ @ @ @ @ @ @ @ @ @ @ @ @ I g g j j j j j j j j j j g g g g g l g J ^ @ @ @ @ @ @ ", -" K @ @ @ @ @ @ @ @ @ @ @ @ d L g g g j j j j j j g g g g g g l g q @ @ @ @ @ @ ; ", -" ; @ @ @ @ @ @ @ @ ; M F g g g g g g g g g g g g g l g i @ @ @ @ @ @ * ", -" 6 ^ @ @ @ @ @ @ > p g g g g g g g g g g l k F 4 @ @ @ @ @ @ , ", -" ; @ @ @ @ @ @ p g g g g g l h l F > @ @ @ @ @ @ ", -" ) @ @ @ @ @ @ N L F @ @ @ @ @ @ + ", -" @ @ @ @ @ @ > H @ @ @ @ @ @ a ", -" + @ @ @ @ @ + ; @ @ @ @ @ @ ", -" & @ @ @ @ @ @ O P @ @ @ @ @ @ ; ", -" @ @ @ @ @ @ @ > @ @ @ @ @ @ } ", -" > @ @ @ @ @ @ 9 Q @ @ @ @ @ @ @ ", -" P @ @ @ @ @ @ @ > @ @ @ @ @ @ R ", -" + @ @ @ @ @ @ ^ 4 @ @ @ @ @ @ @ ", -" d @ @ @ @ @ @ @ N @ @ @ @ @ @ @ * ", -" > @ @ @ @ @ @ @ > @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ > 2 @ @ @ @ @ @ @ S ", -" ) @ @ @ @ @ @ @ 9 Q @ @ @ @ @ @ @ + ", -" @ @ @ @ @ @ @ @ 8 ; @ @ @ @ @ @ @ ! ", -" @ @ @ @ @ @ @ @ T ; @ @ @ @ @ @ @ U ", -" ) @ @ @ @ @ @ @ ; 3 ; @ @ @ @ @ @ @ ; ", -" > @ @ @ @ @ @ @ @ P n 7 [ | _ ; @ @ @ @ @ @ @ ; ", -" + @ @ @ @ @ @ @ @ s 9 @ @ @ @ @ @ @ > + @ @ @ @ @ @ @ @ | ", -" @ @ @ @ @ @ @ @ @ 9 V + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ K ", -" + @ @ @ @ @ @ @ @ > W @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", -" @ @ @ @ @ @ @ @ @ @ | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ { ", -" @ @ @ @ @ @ @ @ @ @ + X ^ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ) ", -" Y @ @ @ @ @ @ @ @ @ @ ^ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ Z ", -" > @ @ @ @ @ @ @ @ @ @ @ > _ | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ > ", -" & ; @ @ @ @ @ @ @ @ @ @ @ + 9 ^ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ; ", -" ; @ @ @ @ @ @ @ @ @ @ @ @ @ + ^ ` d 9 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" , @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ; + ^ 9 ~ & ~ / / > @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ # ", -" { @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" ~ > @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ $ ", -" 6 * @ - @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ; > } + @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" .& * + ; @ @ @ @ @ @ @ @ + ^ ) ' ; @ @ @ @ @ @ @ @ @ @ @ @ ", -" $ ..@ @ @ @ @ @ @ @ ; ", -" Y @ @ @ @ ; ; +. ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", +". c #9B9B9B", +"+ c #B9B9B9", +"@ c #CBCBCB", +"# c #DBDBDB", +"$ c #D8D8D8", +"% c #C5C5C5", +"& c #B2B2B2", +"* c #969696", +"= c #A0A0A0", +"- c #A7A7A7", +"; c #ABABAB", +"> c #B0B0B0", +", c #B7B7B7", +"' c #FAFAFA", +") c #FFFFFF", +"! c #EDEDED", +"~ c #A6A6A6", +"{ c #B4B4B4", +"] c #C9C9C9", +"^ c #E5E5E5", +"/ c #FEFEFE", +"( c #E4E4E4", +"_ c #F6F6F6", +": c #BDBDBD", +"< c #EAEAEA", +"[ c #E8E8E8", +"} c #9E9E9E", +"| c #999999", +"1 c #A3A3A3", +"2 c #D5D5D5", +"3 c #BFBFBF", +"4 c #C7C7C7", +"5 c #FCFCFC", +"6 c #C8C8C8", +"7 c #F9F9F9", +"8 c #E2E2E2", +"9 c #EEEEEE", +"0 c #C1C1C1", +"a c #A8A8A8", +"b c #F3F3F3", +"c c #D6D6D6", +"d c #DEDEDE", +"e c #F8F8F8", +"f c #E1E1E1", +"g c #EBEBEB", +"h c #F4F4F4", +"i c #D9D9D9", +"j c #FBFBFB", +"k c #A9A9A9", +"l c #979797", +"m c #CECECE", +"n c #9A9A9A", +"o c #F2F2F2", +"p c #FDFDFD", +"q c #959595", +"r c #AEAEAE", +"s c #AAAAAA", +"t c #B1B1B1", +"u c #A4A4A4", +"v c #BBBBBB", +"w c #D2D2D2", +"x c #AFAFAF", +"y c #D7D7D7", +"z c #A1A1A1", +"A c #B3B3B3", +"B c #DFDFDF", +"C c #C2C2C2", +"D c #CFCFCF", +"E c #989898", +"F c #F7F7F7", +"G c #ADADAD", +"H c #E0E0E0", +"I c #D3D3D3", +"J c #F5F5F5", +"K c #DCDCDC", +"L c #B5B5B5", +"M c #DADADA", +"N c #D4D4D4", +"O c #C3C3C3", +"P c #9C9C9C", +"Q c #CCCCCC", +"R c #E6E6E6", +"S c #A5A5A5", +"T c #CDCDCD", +"U c #C0C0C0", +"V c #DDDDDD", +"W c #ECECEC", +"X c #25A9E0", +"Y c #26A9E0", +"Z c #27AAE1", +"` c #25AAE0", +" . c #26A8E0", +".. c #25A8DF", +"+. c #26AAE0", +"@. c #26A9DF", +"#. c #D0D0D0", +"$. c #26ABE1", +"%. c #A2A2A2", +"&. c #F0F0F0", +"*. c #9F9F9F", +"=. c #E7E7E7", +"-. c #26A9E1", +";. c #E9E9E9", +">. c #F1F1F1", +",. c #25A9E2", +"'. c #25A9E1", +"). c #B6B6B6", +"!. c #ACACAC", +"~. c #27A9E0", +"{. c #27A8DF", +"]. c #CACACA", +"^. c #26A8DF", +"/. c #EFEFEF", +"(. c #27A9E1", +"_. c #BABABA", +":. c #BCBCBC", +"<. c #9D9D9D", +"[. c #B8B8B8", +"}. c #C6C6C6", +"|. c #E3E3E3", +"1. c #C4C4C4", +"2. c #BEBEBE", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & ", +" * . = - ; > > ; - = . * , ' ) ) ) ) ) ) ) ) ! ~ ", +" = { ] ^ / ) ) ) ) ) ) ) ) ) ) ) ) ) ) / ( ] { = = _ ) ) ) ) ) ) ) ) ) ) ) ) ( ", +" = : < ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) [ : } & ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) _ | ", +" 1 2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ' ", +" . 4 5 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 6 / ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ! ", +" 1 [ ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 7 8 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ", +" - 9 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 0 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 5 ", +" a b ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) c ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ; ", +" d ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) e ! f f g h ) ) ) ) ) ) ) ) ) ) [ / ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) i ", +" 3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) j 2 : k | l ~ , m h ) ) 6 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) / ", +" n o ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) p 2 > q k r ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ", +" & ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) # s - ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ", +" $ ) ) ) ) ) ) ) ) ) ) ) ) ) ) o t = ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ", +" l b ) ) ) ) ) ) ) ) ) ) ) ) ) ! a * ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) / ", +" } j ) ) ) ) ) ) ) ) ) ) ) ) ! u p ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2 ", +" 1 / ) ) ) ) ) ) ) ) ) ) ) / v w ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 3 - ", +" x ) ) ) ) ) ) ) ) ) ) ) ) y z ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 5 d ) & ", +" A ) ) ) ) ) ) ) ) ) ) ) 5 s B ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) C ) ) ) t ", +" k ) ) ) ) ) ) ) ) ) ) ) g * / ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) g [ ) ) ) ) ~ ", +" = ) ) ) ) ) ) ) ) ) ) ) ] k ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ' D ) ) ) ) ) / } ", +" * j ) ) ) ) ) ) ) ) ) ) v > ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) h 4 ) ) ) ) ) ) ) 5 E ", +" F ) ) ) ) ) ) ) ) ) ) G } h ) ) ) ) ) ) ) ) ) ) ) ) H I ) ) ) ) ) ) ) ) ) J ", +" K ) ) ) ) ) ) ) ) ) / ~ L e ) ) ) ) ) ) ) ) g 1 o ) ) ) ) ) ) ) ) ) d ", +" v ) ) ) ) ) ) ) ) ) ) 1 | , 4 M N O x J ) ) ) ) ) ) ) ) ) : ", +" = ) ) ) ) ) ) ) ) ) ) ; * j ) ) ) ) ) ) ) ) ) P ", +" _ ) ) ) ) ) ) ) ) ) , } / ) ) ) ) ) ) ) ) h ", +" Q ) ) ) ) ) ) ) ) ) % s ) ) ) ) ) ) ) ) ) 6 ", +" . ) ) ) ) ) ) ) ) ) ^ ] ) ) ) ) ) ) ) ) ) | ", +" [ ) ) ) ) ) ) ) ) j [ ) ) ) ) ) ) ) ) R ", +" & ) ) ) ) ) ) ) ) ) S 5 ) ) ) ) ) ) ) ) x ", +" 5 ) ) ) ) ) ) ) ) T x ) ) ) ) ) ) ) ) ' ", +" , ) ) ) ) ) ) ) ) j ( ) ) ) ) ) ) ) ) { ", +" 7 ) ) ) ) ) ) ) ) r | ) ) ) ) ) ) ) ) e ", +" A ) ) ) ) ) ) ) ) ^ % ) ) ) ) ) ) ) ) > ", +" _ ) ) ) ) ) ) ) ) P p ) ) ) ) ) ) ) h ", +" k ) ) ) ) ) ) ) ) f U ) ) ) ) ) ) ) ) - ", +" V ) ) ) ) ) ) ) ) = / ) ) ) ) ) ) ) K ", +" ) ) ) ) ) ) ) ) [ % ) ) ) ) ) ) ) ) ", +" L ) ) ) ) ) ) ) ) ~ ) ) ) ) ) ) ) ) & ", +" ! ) ) ) ) ) ) ) p H ) ) ) ) ) ) ) W ", +" * ) ) ) ) ) ) ) ) 4 s ) ) ) ) ) ) ) ) ", +" t ) ) ) ) ) ) ) ) . X Y Z ` ` ... / ) ) ) ) ) ) ) x ", +" $ ) ) ) ) ) ) ) b +.Y ` ` ` ` ` ` ` ` ` ` @. #.) ) ) ) ) ) ) N ", +" p ) ) ) ) ) ) ) C $.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` Y - ) ) ) ) ) ) ) 5 ", +" | ) ) ) ) ) ) ) ) %. Y ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` Y ) ) ) ) ) ) ) ) * ", +" { ) ) ) ) ) ) ) ) Y ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` @. o ) ) ) ) ) ) ) t ", +" D ) p &.) ) ) ) W Y ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` % ) ) ) ) ) ) ) Q ", +" *.6 =.j ) e ( % % v .` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` X ~ ) ) ) ) ) ) ) [ ", +" - b ) ) ) ) ) ) ) ) ) ! - X ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` q ) ) ) ) ) ) ) ) ", +" ( ) ) ) ) ) ) ) ) ) ) ) ) ) $ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` -. ) ) ) ) ) ) ) ) ", +" h ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ;. X ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` e ) ) ) ) ) ) ) . ", +" >.) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ( ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` Z # ) ) ) ) ) ) ) s ", +" f ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ] ,.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` % ) ) ) ) ) ) ) { ", +" ~ ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) q '.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` : ) ) ) ) ) ) ) : ", +" 9 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2 ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` -. ).) ) ) ) ) ) ) 4 ", +" * ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` Y > ) ) ) ) ) ) ) Q ", +" , ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) u ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` s ) ) ) ) ) ) ) #. ", +" D ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ~ ) ) ) ) ) ) ) w ", +" 8 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) % ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` Y !.) ) ) ) ) ) ) T ", +" g ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) m ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` X A ) ) ) ) ) ) ) ] ", +" i ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 3 .` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ~. + ) ) ) ) ) ) ) C ", +" 4 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) t '.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` U ) ) ) ) ) ) ) , ", +" ~ ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) l ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` T ) ) ) ) ) ) ) r ", +" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) J -.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` '. < ) ) ) ) ) ) ) z ", +" T ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ). ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ) ) ) ) ) ) ) ) ", +" / ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) h @.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` . ) ) ) ) ) ) ) ) ", +" { ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) z ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` {. P ) ) ) ) ) ) ) J ", +" ].) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` Y t ) ) ) ) ) ) ) y ", +" C ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ). +.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` i ) ) ) ) ) ) ) : ", +" s _ ) ) ) ) ) ) ) ) ) ) ) ! } ^.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` . / ) ) ) ) ) ) ) z ", +" )./.) ) ) ) ) ) ) [ 3 s (.` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` Y n ) ) ) ) ) ) ) ) ", +" _.U O U U N / ) $ Y ` ` ` ` ` ` ` ` ` ` ` ` '. , ) ) ) ) ) ) ) [ ", +" 3 ) ) ) ) ) ) ) ) .Y ` ` ` ` ` ` (.~. ! ) ) ) ) ) ) ) :. ", +" = ) ) ) ) ) ) ) ) !. * ) ) ) ) ) ) ) ) } ", +" p ) ) ) ) ) ) ) ^ U ) ) ) ) ) ) ) 5 ", +" Q ) ) ) ) ) ) ) ) e ) ) ) ) ) ) ) 4 ", +" <.) ) ) ) ) ) ) ) 3 S ) ) ) ) ) ) ) ) . ", +" h ) ) ) ) ) ) ) p [ ) ) ) ) ) ) ) h ", +" :.) ) ) ) ) ) ) ) + z ) ) ) ) ) ) ) ) + ", +" ) ) ) ) ) ) ) ) j ( ) ) ) ) ) ) ) ) ", +" #.) ) ) ) ) ) ) ) + = ) ) ) ) ) ) ) ) T ", +" q ) ) ) ) ) ) ) ) / ! ) ) ) ) ) ) ) ) ", +" N ) ) ) ) ) ) ) ) i [.) ) ) ) ) ) ) ) w ", +" | ) ) ) ) ) ) ) ) ) %. p ) ) ) ) ) ) ) ) l ", +" c ) ) ) ) ) ) ) ) o M ) ) ) ) ) ) ) ) w ", +" p ) ) ) ) ) ) ) ) I ).) ) ) ) ) ) ) ) p ", +" , ) ) ) ) ) ) ) ) ) t | ) ) ) ) ) ) ) ) ) { ", +" W ) ) ) ) ) ) ) ) / E o ) ) ) ) ) ) ) ) < ", +" } ) ) ) ) ) ) ) ) ) >. K ) ) ) ) ) ) ) ) ) <. ", +" C ) ) ) ) ) ) ) ) ) g D ) ) ) ) ) ) ) ) ) % ", +" ( ) ) ) ) ) ) ) ) ) H n * C ) ) ) ) ) ) ) ) ) ^ ", +" j ) ) ) ) ) ) ) ) ) N > H ) ) ) ) ) p #.S v ) ) ) ) ) ) ) ) ) 7 ", +" - ) ) ) ) ) ) ) ) ) ) K A 7 ) ) ) ) ) ) ) ) ) ) g = 3 ) ) ) ) ) ) ) ) ) ) 1 ", +" U ) ) ) ) ) ) ) ) ) ) ^ K ) ) ) ) ) ) ) ) ) ) ) ) ) ) 4 h ) ) ) ) ) ) ) ) : ", +" T ) ) ) ) ) ) ) ) ) ) 9 9 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) I _ ) ) ) ) ) ) ]. ", +" c ) ) ) ) ) ) ) ) ) ) j s d ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) }./ ) ) ) ) $ ", +" d ) ) ) ) ) ) ) ) ) ) ) ]. v ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) % ) ) ) H ", +" ( ) ) ) ) ) ) ) ) ) ) ) R p ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) |.e ) 8 ", +" $ ) ) ) ) ) ) ) ) ) ) ) ) % v ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1.M ", +" m ) ) ) ) ) ) ) ) ) ) ) ) h ~ /.) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) C ", +" U ) ) ) ) ) ) ) ) ) ) ) ) ) < - ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) b ", +" ; p ) ) ) ) ) ) ) ) ) ) ) ) ) g ~ . ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ", +" [ ) ) ) ) ) ) ) ) ) ) ) ) ) ) F % | ~ ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ", +" Q ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ;.t %.) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ", +" ~ h ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 7 m s u % b % ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ", +" C ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) h 2 : x - %.} | E <.z - G [.#.! ) ) ) ) ) I ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) o ", +" K ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 5 ! ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2. ", +" %.R ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) O ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) n ", +" <.d ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) V j ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) f ", +" . #./ ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) C ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) | ", +" - B ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) b # ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) v ", +" t $ p ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) p c S g ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) m ", +" | { # ' ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ' M { E c ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2. ", +" l ~ , ].$ R /.' ) ) ' /.R $ ] , S * x F ) ) ) ) ) ) ) ) ) ) =.} ", +" !.M ) ) ) ) ) j Q %. ", +" l q ", " ", " ", " ", diff --git a/share/pixmaps/iond16.png b/share/pixmaps/iond16.png index 4b350a2721ed3..4c6cadba11869 100644 Binary files a/share/pixmaps/iond16.png and b/share/pixmaps/iond16.png differ diff --git a/share/pixmaps/iond16.xpm b/share/pixmaps/iond16.xpm index cfb8045cf7069..1f4c4b2a6e5a3 100644 --- a/share/pixmaps/iond16.xpm +++ b/share/pixmaps/iond16.xpm @@ -1,37 +1,72 @@ /* XPM */ static char * iond16_xpm[] = { -"16 16 18 1", +"16 16 53 1", " c None", -". c #F4FAFF", -"+ c #FFFFFF", -"@ c #FBFDFD", -"# c #F0F7FF", -"$ c #FAFDFF", -"% c #FEFEFF", -"& c #FDFEFF", -"* c #2FB8FF", -"= c #2CBFFF", -"- c #2CBEFF", -"; c #2CBDFF", -"> c #2EBBFF", -", c #FEFFFF", -"' c #F7FBFF", -") c #FCFDFF", -"! c #E9F3FF", -"~ c #FDFDFE", -" ", -" ", -" . +@ ", -" ++ #++ ", -" + $%& ", -" & + ", -" + * + ", -" ++ === + ", -" ++ --; + ", -" + > + ", -" , + ", -" + ')% ", -" ++ !++ ", -" $ +~ ", +". c #9E9E9E", +"+ c #CDCDCD", +"@ c #F8F8F8", +"# c #FFFFFF", +"$ c #B4B4B4", +"% c #E8E8E8", +"& c #D4D4D4", +"* c #9A9A9A", +"= c #CCCCCC", +"- c #8B8B8B", +"; c #E0E0E0", +"> c #AEAEAE", +", c #D3D3D3", +"' c #B2B2B2", +") c #DCDCDC", +"! c #BBBBBB", +"~ c #B9B9B9", +"{ c #B7B7B7", +"] c #F3F3F3", +"^ c #F0F0F0", +"/ c #989898", +"( c #B3B3B3", +"_ c #26AAE0", +": c #26A9DF", +"< c #BEBEBE", +"[ c #A0A0A0", +"} c #FEFEFE", +"| c #F9F9F9", +"1 c #25AAE0", +"2 c #A9A9A9", +"3 c #AFAFAF", +"4 c #B1B1B1", +"5 c #A8A8A8", +"6 c #B0B0B0", +"7 c #C4C4C4", +"8 c #26A9E0", +"9 c #BCBCBC", +"0 c #F1F1F1", +"a c #EEEEEE", +"b c #BFBFBF", +"c c #BDBDBD", +"d c #E5E5E5", +"e c #A7A7A7", +"f c #C9C9C9", +"g c #ADADAD", +"h c #E2E2E2", +"i c #DADADA", +"j c #959595", +"k c #CACACA", +"l c #8C8C8C", +"m c #A2A2A2", +"n c #EFEFEF", " ", +" .+@#@$#% ", +" &&* =##- ", +" ;> ,') ", +" !~ {~ ", +" ] ^ ", +" /( _: <[", +"*}| 111 23", +"4##[ 111 56", +" 7< :88 9[", +" 0 a ", +" b$ 'c ", +" de fgh ", +" i=j k##l ", +" m&}n}{#a ", " "}; diff --git a/share/pixmaps/iond256.png b/share/pixmaps/iond256.png index 437e9a4a564e9..20eef0524190f 100644 Binary files a/share/pixmaps/iond256.png and b/share/pixmaps/iond256.png differ diff --git a/share/pixmaps/iond256.xpm b/share/pixmaps/iond256.xpm index adfd3c9a09de2..47939a3015578 100644 --- a/share/pixmaps/iond256.xpm +++ b/share/pixmaps/iond256.xpm @@ -1,377 +1,376 @@ /* XPM */ static char * iond256_xpm[] = { -"256 256 126 2", +"256 256 125 2", " c None", -". c #F6FBFF", -"+ c #FBFDFF", -"@ c #FEFEFF", -"# c #FFFFFF", -"$ c #FDFEFF", -"% c #F9FCFF", -"& c #FCFEFF", -"* c #FBFCFF", -"= c #FFFEFF", -"- c #FEFFFF", -"; c #FAFCFF", -"> c #F0F8FF", -", c #F6FAFF", -"' c #F9FBFF", -") c #FBFEFF", -"! c #F8FBFF", -"~ c #F4F9FF", -"{ c #EFF7FF", -"] c #F5F8FD", -"^ c #F3F8FF", -"/ c #FDFDFF", -"( c #FFFEFE", -"_ c #F0F6FF", -": c #F7FAFF", -"< c #F4F8FF", -"[ c #F6F9FF", -"} c #F7FAFD", -"| c #EDF5FF", -"1 c #F5F9FF", -"2 c #F8FAFF", -"3 c #FAFBFF", -"4 c #FCFDFF", -"5 c #F7FBFF", -"6 c #F1F6FF", -"7 c #EAF3FF", -"8 c #EBF3FD", -"9 c #F5FAFF", -"0 c #EBF4FF", -"a c #EFF5FF", -"b c #F1F7FF", -"c c #F0F7FF", -"d c #E9F2FF", -"e c #E7F3FF", -"f c #F4F8FD", -"g c #F5F8FF", -"h c #FAFDFF", -"i c #F3F7FF", -"j c #F2F7FF", -"k c #E5EEFF", -"l c #ECF5FF", -"m c #F2F8FD", -"n c #F2F8FF", -"o c #E9F3FF", -"p c #E8F2FF", -"q c #F5FAFD", -"r c #EDF3FF", -"s c #E7F1FF", -"t c #F2F9FF", -"u c #E6EFFF", -"v c #EEF6FF", -"w c #F2F6FF", -"x c #EFF6FF", -"y c #EEF4FF", -"z c #ECF3FF", -"A c #30B6FF", -"B c #2FBAFF", -"C c #2DBBFF", -"D c #2EBCFF", -"E c #2EB8FF", -"F c #30B5FF", -"G c #ECF4FF", -"H c #30B7FF", -"I c #2CBDFF", -"J c #2CBEFF", -"K c #2BC0FF", -"L c #2BBFFF", -"M c #2CBFFF", -"N c #2CC0FF", -"O c #2BBDFF", -"P c #2DB9FF", -"Q c #2EBBFF", -"R c #2FB8FF", -"S c #2DBDFF", -"T c #2DB8FF", -"U c #EDF4FF", -"V c #2CBCFF", -"W c #2BBEFF", -"X c #2DBFFF", -"Y c #2DBEFF", -"Z c #2DBCFF", -"` c #2DC0FF", -" . c #2EB7FF", -".. c #F7F9FF", -"+. c #FEFEFE", -"@. c #2DBAFF", -"#. c #F2F5FF", -"$. c #DFEDFF", -"%. c #F3F6FF", -"&. c #2FB5FF", -"*. c #E4F1FF", -"=. c #2FB7FF", -"-. c #2FB9FF", -";. c #F8F9FF", -">. c #2FB6FF", -",. c #2CBBFF", -"'. c #F1F7FD", -"). c #31B4FF", -"!. c #2EBAFF", -"~. c #2EB9FF", -"{. c #E5EFFF", -"]. c #E6F1FF", -"^. c #FCFDFE", -"/. c #F0F5FF", -"(. c #EEF5FF", -"_. c #E7F0FF", -":. c #EDF6FF", -"<. c #E8F4FF", -"[. c #F3F9FF", -"}. c #EBF2FF", -"|. c #EEF7FF", -"1. c #F1F8FF", -"2. c #F6FAFD", -"3. c #F5F9FD", -"4. c #F5F7FD", -"5. c #F9FCFE", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" . + @ @ # @ # # # # $ % ", -" & # # # @ @ # # # # @ @ # # # @ ", -" * = # # # # # # # # # # # # # # # # # - ", -" @ # # # # # # # # # # # # # # # # # # # # - ; ", -" > , ' ) $ @ @ - @ @ - - - # # - $ $ + ; ! ~ { ] # # # # # # # # # # # # # # # # # # # # # # # # & ", -" ^ ! / @ - # = # # # # # # ( # # # # # # # # # # # # # # # # @ @ $ ! _ : # # # # # # # # # # # # # # # # # # # # # # # # # # $ ", -" ! $ - @ # # # # - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ # - ) , < # # # # # # # # # # # # # # # # # # # # # # # # # # # # & ", -" [ + @ - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ # # # @ + @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # } ", -" [ / @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" ~ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ ", -" | + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" ~ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # & ", -" [ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" [ - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # [ ", -" 1 - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # * ", -" ^ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ ", -" $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" ! # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - # # # # # - - - @ $ + ' 2 : ' ' ' 3 4 4 @ @ @ # # # # - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" { @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ # # # - $ 4 5 6 7 8 ^ ' & - # # # # - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" ! # # # # # # # # # # # # # # # # # # # # # # # # # # @ # # # @ 4 9 0 a ' $ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - ", -" $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ 5 0 b $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - ", -" , # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ 9 : # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" + @ # # # # # # # # # # # # # # # # # # # # # # # # # ' c # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ ", -" $ # # # # # # # # # # # # # # # # # # # # # - # # $ _ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # : ", -" a - # # # # # # # # # # # # # # # # # # # # # # # 4 d $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" ~ # # # # # # # # # # # # # # # # # # # # # # # ; e 1 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" [ # # # # # # # # # # # # # # # # # # # # # # 4 7 - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" ; # # # # # # # # # # # # # # # # # # # # # $ a : # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ f ", -" ' # # # # # # # # # # # # # # # # # # # # # 5 @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # g ", -" h # # # # # # # # # # # # # # # # # # # # $ _ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 9 ", -" + # # # # # # # # # # # # # # # # # # # # 1 ' # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - : ", -" ; # # # # # # # # # # # # # # # # # # # $ h # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 9 ", -" ! # # # # # # # # # # # # # # # # # # # ' h # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # i ", -" . @ # # # # # # # # # # # # # # # # # @ b : # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" j @ # # # # # # # # # # # # # # # # # - | $ # @ # # # # # # # # # # # # # # @ # # # # # # # # # # # # # # # # # # @ ", -" # # # # # # # # # # # # # # # # # # 4 , @ # # # # # # # # # # # # # # - h @ # # # # # # # # # # # # # # # # # @ ", -" - # # # # # # # # # # # # # # # # # 4 > + @ # # # # # # # # # / 5 @ # # # # # # # # # # # # # # # # # $ ", -" $ # # # # # # # # # # # # # # # # @ h k _ , : : : < l $ # # # # # # # # # # # # # # # # # % ", -" ; # # # # # # # # # # # # # # # - # 2 $ # # # # # # # # # # # # # # # @ # m ", -" n # # # # # # # # # # # # # # # # # ' $ # # # # # # # # # # # # # # # # # ", -" # # # # # # # # # # # # # # # # # ' $ # # # # # # # # # # # # # # # # $ ", -" $ # # # # # # # # # # # # # # # # ' $ # # # # # # # # # # # # # # # # % ", -" 5 # # # # # # # # # # # # # # # # ; - # # # # # # # # # # # # # # # # ", -" # # # # # # # # # # # # # # # # 4 o # # # # # # # # # # # # # # # # @ ", -" $ # # # # # # # # # # # # # # # @ j # # # # # # # # # # # # # # # # ' ", -" . # # # # # # # # # # # # # # # - p : # # # # # # # # # # # # # # # # ", -" # # # # # # # # # # # # # # # # ^ 4 # # # # # # # # # # # # # # # $ ", -" + # # # # # # # # # # # # # # # ' $ # # # # # # # # # # # # # # # q ", -" r - # # # # # # # # # # # # # # @ l # # # # # # # # # # # # # # # @ ", -" 4 # # # # # # # # # # # # # # # s 5 # # # # # # # # # # # # # # # % ", -" ^ @ # # # # # # # # # # # # # # , / # # # # # # # # # # # # # # @ ", -" $ # # # # # # # # # # # # # # 4 - # # # # # # # # # # # # # # ; ", -" t # # # # # # # # # # # # # # @ u 5 # # # # # # # # # # # # # # @ ", -" @ # # # # # # # # # # # # # # : $ # # # # # # # # # # # # # # * ", -" ^ # # # # # # # # # # # # # # @ v # # # # # # # # # # # # # # # ", -" $ # # # # # # # # # # # # # # w 4 # # # # # # # # # # # # # # ' ", -" v # # # # # # # # # # # # # # $ # # # # # # # # # # # # # # @ ", -" $ # # # # # # # # # # # # # @ r h # # # # # # # # # # # # # # 1 ", -" # - # # # # # # # # # # # # & @ @ # # # # # # # # # # # # $ ", -" ! # # # # # # # # # # # # # - l h # # # # # # # # # # # # - # ", -" @ # # # # # # # # # # # # # 4 # @ # # # # # # # # # # # # * ", -" x # # # # # # # # # # # # # # y + # # # # # # # # # # # # # - ", -" + # # # # # # # # # # # # # $ o # # # # # # # # # # # # # # 9 ", -" # # # # # # # # # # # # # # < / # # # # # # # # # # # # # $ ", -" j # # # # # # # # # # # # - # ~ # # # # # # # # # # # # # # ", -" + # # # # # # # # # # # # # 3 - # # # # # # # # # # # # # : ", -" - # # # # # # # # # # # # # z h # # # # # # # # # # # # # + ", -" v # # # # # # # # # # # # # @ A B C D D D D E F G @ # # # # # # # # # # # # @ ", -" 3 # # # # # # # # # # # # # ' H I J K L M N N N M M N L L O P @ - # # # # # # # # # # # # b ", -" $ # # # # # # # # # # # # - d Q N N M M M M M M M M M M M M M M M O I R ' # # # # # # # # # # # # # 3 ", -" # @ # # # # # # # # # # # $ S L M M M M M M M M M M M M M M M M M M I I J I T U # # # # # # # # # # # # # @ ", -" j # # # # # # # # # # # # # h P N M M M M M M M M M M M M M M M M M M M M M M M V J W # # # # # # # # # # # # # # ", -" ' # # # # # # # # # # # # # b X J M M M M M M M V V M M M M M M M M M M M M M M M M I M J Q & # # # # # # # # # # # # # b ", -" $ # # # # # # # # # # # # # I M M M M M V V V V V V V V V V V M M M M M M M M M M M M I M J S 1 # # # # # # # # # # # # # ! ", -" @ # # # # # # # # # # # # @ J M M M V V V V V V V V V V V V V V V V M M M M M M M M M M M I M M Y # # # # # # # # # # # # # $ ", -" # # # # # # # # # # # # # h M M M V V V V V V V V V V V V V V V V V V V V M M M M M M M M M M I M M D @ # # # # # # # # # # # # @ ", -" ~ # # # # # # # # # # # # # > W M M V V V V V V V V V V V V V V V V V V V V V V V M M M M M M M M I I M I Z $ # # # # # # # # # # # # # ", -" 1 @ # # # # # # # # # # # # # V M I V V V V V V V V V V V V V V V V V V V V V V V V V M M M M M M M M I I ` M R ! # # # # # # # # # # # # # b ", -" ; @ # # # # # # # # # # # # # # # ' .N I V V V V V V V V V V V V V V V V V V V V V V V V V V V M M M M M M M M I M Y M c # # # # # # # # # # # # # : ", -" [ @ # # # # # # # # # # # # # # # # # # @ _ J I V V V V V V V V V V V V V J J V V V V V V V V V V V V V V M M M M M M M I I M M S @ # # # # # # # # # # # @ ; ", -" + # # # # # # # # # # # # # # # # # # # # # # ' C M V V V V V V V V V V J M M M J J M M M J V V V V V V V V V V V M M M M M M M I I Y J # # # # # # # # # # # # # $ ", -" @ # # # # # # # # # # # # # # # # # # # # # # # # 4 K I V V V V V V V V J M M J J J J J J J J J M J V V V V V V V V V M M M M M M M I I M Y S $ # # # # # # # # # # # # $ ", -" @ # # # # # # # # # # # # # # # # # # # # # # # # # # 4 P J V V V V V V V V J M J J J J J J J J J J J J M M V V V V V V V V V M M M M M M M I M Y J $ # # # # # # # # # # # # @ ", -" / # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; M I V V V V V V V J M J J J J J J J J J J J J J J M M V V V V V V V V M M M M M M M I I M M D ' # # # # # # # # # # # # # ", -" ! # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ^ L V V V V V V V J M J J J J J J J J J J J J J J J J M M V V V V V V V V M M M M M M I I M Y M ..@ # # # # # # # # # # # +. ", -" # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ @.M V V V V V V V M J J J J J J J J J J J J J J J J J J M J V V V V V V V M M M M M M M I M M J j # # # # # # # # # # # # # ", -" / # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # h W I V V V V V V J M J J J J J J J J J J J J J J J J J J J M V V V V V V V M M M M M M M I M M I Q U # # # # # # # # # # # # # #. ", -" # @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ # $. L I V V V V V V M J J J J J J J J J J J J J J J J J J J J M J V V V V V V V M M M M M M I M M M J - # # # # # # # # # # # # %. ", -" + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2 L V V V V V V J M J J J J J J J J Y Y Y Y J J J J J J J J J M V V V V V V V M M M M M M I M M Y Y = # # # # # # # # # # # # : ", -" # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ &.L V V V V V V J M J J J J J J J Y S S S S S J J J J J J J J M V V V V V V V M M M M M M I I M Y M @ # # # # # # # # # # # # : ", -" i # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *. =.L V V V V V V J J J J J J J J J S S S S S S J J J J J J J J M V V V V V V V M M M M M M I I M Y N # # # # # # # # # # # # # ! ", -" % # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b -.J V V V V V V M J J J J J J J J S S S S S S Y J J J J J J J M V V V V V V V M M M M M M I I M Y N # # # # # # # # # # # # # ' ", -" $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ' P J V V V V V V J J J J J J J J J S S S S S S J J J J J J J J M V V V V V V V M M M M M M I I M Y J # # # # # # # # # # # # # ;. ", -" - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ E N V V V V V V J M J J J J J J J Y S S S S Y J J J J J J J J M V V V V V V V M M M M M M I I M Y N # # # # # # # # # # # # # ' ", -" # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ / &.L V V V V V V J M J J J J J J J J J Y S Y J J J J J J J J J M V V V V V V V M M M M M M I M M Y J # # # # # # # # # # # # # : ", -" # @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - $ L V V V V V V V M J J J J J J J J J J J J J J J J J J J J M J V V V V V V V M M M M M M I M M Y N @ # # # # # # # # # # # # 1 ", -" - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ 4 L V V V V V V V J M J J J J J J J J J J J J J J J J J J J M V V V V V V V M M M M M M M I M M Y J @ # # # # # # # # # # # # ^ ", -" $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + I I V V V V V V V J J J J J J J J J J J J J J J J J J J M J V V V V V V V M M M M M M M I M M M C 0 # # # # # # # # # # # # # n ", -" + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2 C M V V V V V V V J M J J J J J J J J J J J J J J J J J J V V V V V V V V M M M M M M I I M M M &. c # # # # # # # # # # # # @ ", -" : # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # a >.N V V V V V V V V J M J J J J J J J J J J J J J J J J V V V V V V V V M M M M M M M I I M Y N 1 # # # # # # # # # # # - # ", -" # - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # N M V V V V V V V V J M J J J J J J J J J J J J M J V V V V V V V V V M M M M M M M I M M Y Y ' # # # # # # # # # # # # # ", -" - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4 S M V V V V V V V V V J J M J J J J J J J J M M J V V V V V V V V V M M M M M M M I I M M M A h # # # # # # # # # # # # @ ", -" ' # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b K M V V V V V V V V V V J J M M M M M M M J V V V V V V V V V V M M M M M M M M I M M Y M $ # # # # # # # # # # # # @ ", -" # @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ S M M V V V V V V V V V V V V V J J V V V V V V V V V V V V V M M M M M M M M I I M M J -. # @ # # # # # # # # # # # $ ", -" ; # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ^ K M M V V V V V V V V V V V V V V V V V V V V V V V V V V M M M M M M M M M I M M Y S # # # # # # # # # # # # # $ ", -" @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ ,.M M M V V V V V V V V V V V V V V V V V V V V V V V V M M M M M M M M M I I M Y J y # # # # # # # # # # # # # ' ", -" '.# # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ u M I M M V V V V V V V V V V V V V V V V V V V V V V M M M M M M M M M I I M M M Z ..# # # # # # # # # # # # # n ", -" ! @ # # # # # # # # # # # # # # # # # # # # # # # # # @ # j L M M M M V V V V V V V V V V V V V V V V V V V M M M M M M M M M I I M M Y M + # # # # # # # # # # # # # ", -" ; # # # # # # # # # # # # # # # # # # # # # # # # # # , H K M M M M M V V V V V V V V V V V V V V V M M M M M M M M M M M I I M Y M @ # # # # # # # # # # # # @ ", -" % # # # # # # # # # # # # # # # # # # # # # # # # , T L M M M M M M M V V V V V V V V V M M M M M M M M M M M M M I I M Y M @ # # # # # # # # # # # # $ ", -" g +.# # # # # # # # # # # # # # # # # # # # - | E K M M M M M M M M M M M M M M M M M M M M M M M M M M I I I M Y M j # # # # # # # # # # # # # * ", -" + # # - # # # # # # # # # # # # # # # 4 ).L M M M M M M M M M M M M M M M M M M M M M M M M I I I Y I I 3 # # # # # # # # # # # # # g ", -" + # # # # # # # # # # # # # # # # : I N M M M M M M M M M M M M M M M M M M M M M I I M Y N D @ # # # # # # # # # # # # # ", -" i 4 # # # # # # # # # # # # # $ -.J M M M M M M M M M M M M M M M M M M I I M I J I # # # # # # # # # # # # # @ ", -" - # # # # # # # # # # # # @ !.M L M M M M M M M M M M M M M I I I I N M E 9 # # # # # # # # # # # # # + ", -" + # # # # # # # # # # # # # , =.J L L M N M N M M M I M I I X I @. $ # # # # # # # # # # # # # g ", -" j # # # # # # # # # # # # # $ !.V I I J I J I I ,.~. # # # # # # # # # # # # # # ", -" - # # # # # # # # # # # # @ ! # # # # # # # # # # # # # @ ", -" $ # # # # # # # # # # # # # 5 $ # # # # # # # # # # # # # ' ", -" . # # # # # # # # # # # # @ @ y # # # # # # # # # # # # # # ", -" # # # # # # # # # # # # # # a h # # # # # # # # # # # # # @ ", -" @ # # # # # # # # # # # # # 4 # - # # # # # # # # # # # # % ", -" 1 # # # # # # # # # # # # # # {. ! # # # # # # # # # # # # # # ", -" # # # # # # # # # # # # # # ' - +.# # # # # # # # # # # # $ ", -" 3 # # # # # # # # # # # # # @ 1 # # # # # # # # # # # # # # g ", -" v # # # # # # # # # # # # # # ' @ @ # # # # # # # # # # # # # ", -" - # # # # # # # # # # # # # # 1 # # # # # # # # # # # # # # * ", -" ~ # # # # # # # # # # # # # # 3 @ # # # # # # # # # # # # # # ", -" @ # # # # # # # # # # # # # # ]. ! # # # # # # # # # # # # # # + ", -" : # # # # # # # # # # # # # # ^. # # # # # # # # # # # # # # - ", -" # # # # # # # # # # # # # # - _ + # # # # # # # # # # # # # # @ ", -" ! # # # # # # # # # # # # # # $ 6 # @ # # # # # # # # # # # @ # ", -" # # # # # # # # # # # # # # # ' - # # # # # # # # # # # # # # $ ", -" ! # # # # # # # # # # # # # # # z 3 # # # # # # # # # # # # # @ # ", -" - # # # # # # # # # # # # # # $ x # # # # # # # # # # # # # # # $ ", -" 1 # # # # # # # # # # # # # # # h @ # # # # # # # # # # # # # # - ", -" $ # # # # # # # # # # # # # # # n / # # # # # # # # # # # # # # # ; ", -" /.# # # # # # # # # # # # # # # # 1 # # # # # # # # # # # # # # # @ ", -" h # # # # # # # # # # # # # # # $ x # # # # # # # # # # # # # # # # g ", -" @ # # # # # # # # # # # # # # # h # # # # # # # # # # # # # # # # $ ", -" ~ - # # # # # # # # # # # # # # # 5 $ # # # # # # # # # # # # # # # # ", -" + # # # # # # # # # # # # # # # # < $ # # # # # # # # # # # # # # # # [ ", -" @ # # # # # # # # # # # # # # @ @ 6 3 # # # # # # # # # # # # # # # # $ ", -" ^ # # # # # # # # # # # # # # # # # (. % # # # # # # # # # # # # # # # # @ ", -" 3 # # # # # # # # # # # # # # # # @ (. ! # # # # # # # # # # # # # # # # - < ", -" @ # # # # # # # # # # # # # # # # @ (. ! # # # # # # # # # # # # # # # # # ! ", -" - # # # # # # # # # # # # # # # # @ a _._.{. ' # # # # # # # # # # # # # # # # # $ ", -" n # # # # # # # # # # # # # # # # # # ^ _ h - # # # # # @ @ $ 1 h # # # # # # # # # # # # # # # # # - ", -" [ # # # # # # # # # # # # # # # # # # 5 ' - # # # @ # # # # @ @ # # # 4 j 4 # # # # # # # # # # # # # # # # # # ", -" ; # # # # # # # # # # # # # # # # # # h ' @ # - # # # # # # # # # # # # - # # # # # # # # # # # # # # # # # # # # , ", -" $ # # # # # # # # # # # # # # # # # # $ 7 @ # @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ' ", -" $ # # # # # # # # # # # # # # # # # # @ l n @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 3 ", -" $ # # # # # # # # # # # # # # # # # # # , < # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ) ", -" @ # # # # # # # # # # # # # # # # # = # $ x # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + ", -" @ # # # # # # # # # # # # # # # # # # # - ~ - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ) ", -" $ # # # # # # # # # # # # # # # # # # # # 4 $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ) ", -" @ # # # # # # # # # # # # # # # # # # # # # ' b # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; ", -" $ # # # # # # # # # # # # # # # # # # # @ # @ ^ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; ", -" ) # # # # # # # # # # # # # # # # # # # # # # - b { # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - % ", -" ! # # # # # # # # # # # # # # # # # # # # # # # $ b 4 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" ~ # # # # # # # # # # # # # # # # # # # # # # # # @ 1 - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 9 ", -" - # # # # # # # # # # # # # # # # # # # # # # # # # h p :.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; ", -" 4 # # # # # # # # # # # # # # # # # # # # # # # # # # @ , 1 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" ! @ # # # # # # # # # # # # # # # # # # # # # # # # # # # $ : s & # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ 3 6 p 1 4 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" 2 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ 4 : a <.i ' $ @ # # # @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - # # # - - @ $ h ' ~ [.a l 7 0 }.0 G |.b [.9 ' & $ - # # # # @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - ", -" ! @ # - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @ # # # # # # # # # # # # # # # # # # @ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - ", -" $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + ", -" 1.$ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # % ", -" ^ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" /.$ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - ", -" 3 - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2. ", -" ~ / # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" 5 @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ 3. ", -" ! $ @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ # # # # - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # & ", -" 6 ; $ # = # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - $ ! * # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ ", -" _ % + @ # # # # # # - # # # # # # # # # # # # # # # # # # # # # # @ # @ + . $ # # # # # # # # # # # # # # # # # # # # # # # # # # # ", -" 9 ; h $ - @ # # # @ # # # # # - # @ - # @ # - 4 ; ! ^ + # # # # # # # # # # # # # # # # # # # # # # # # # ", -" b j n n n j 3 # # # # # # # # # # # # # # # # # # # # # # $ ", -" 4.@ # # # # # # # # # # # # # # # # # # # 5. ", -" 5.@ # # @ # # # # # # # # # # # # & ", -" 2.$ # # # # # # # # # @ - ; ", -" ! h * * * 2 ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", +". c #9C9C9C", +"+ c #ACACAC", +"@ c #BCBCBC", +"# c #C2C2C2", +"$ c #C9C9C9", +"% c #C7C7C7", +"& c #BFBFBF", +"* c #B4B4B4", +"= c #A3A3A3", +"- c #989898", +"; c #C0C0C0", +"> c #EDEDED", +", c #FFFFFF", +"' c #FCFCFC", +") c #D3D3D3", +"! c #A9A9A9", +"~ c #EEEEEE", +"{ c #FEFEFE", +"] c #9A9A9A", +"^ c #A7A7A7", +"/ c #CCCCCC", +"( c #D9D9D9", +"_ c #E8E8E8", +": c #F8F8F8", +"< c #AAAAAA", +"[ c #F5F5F5", +"} c #CECECE", +"| c #959595", +"1 c #BDBDBD", +"2 c #DADADA", +"3 c #F7F7F7", +"4 c #A6A6A6", +"5 c #E1E1E1", +"6 c #FBFBFB", +"7 c #B0B0B0", +"8 c #C8C8C8", +"9 c #F0F0F0", +"0 c #EFEFEF", +"a c #D4D4D4", +"b c #B3B3B3", +"c c #D7D7D7", +"d c #B1B1B1", +"e c #F6F6F6", +"f c #C6C6C6", +"g c #F4F4F4", +"h c #FDFDFD", +"i c #F3F3F3", +"j c #D8D8D8", +"k c #CACACA", +"l c #AEAEAE", +"m c #EAEAEA", +"n c #A4A4A4", +"o c #BBBBBB", +"p c #969696", +"q c #B9B9B9", +"r c #FAFAFA", +"s c #D5D5D5", +"t c #E3E3E3", +"u c #ECECEC", +"v c #DEDEDE", +"w c #E5E5E5", +"x c #9B9B9B", +"y c #EBEBEB", +"z c #F1F1F1", +"A c #DFDFDF", +"B c #D2D2D2", +"C c #C5C5C5", +"D c #CDCDCD", +"E c #F9F9F9", +"F c #C3C3C3", +"G c #AFAFAF", +"H c #A0A0A0", +"I c #A8A8A8", +"J c #B7B7B7", +"K c #C1C1C1", +"L c #A2A2A2", +"M c #D0D0D0", +"N c #E2E2E2", +"O c #B8B8B8", +"P c #9E9E9E", +"Q c #ABABAB", +"R c #999999", +"S c #9D9D9D", +"T c #DBDBDB", +"U c #CBCBCB", +"V c #9F9F9F", +"W c #979797", +"X c #E4E4E4", +"Y c #F2F2F2", +"Z c #B6B6B6", +"` c #B2B2B2", +" . c #ADADAD", +".. c #E6E6E6", +"+. c #C4C4C4", +"@. c #D1D1D1", +"#. c #E9E9E9", +"$. c #A5A5A5", +"%. c #DDDDDD", +"&. c #DCDCDC", +"*. c #D6D6D6", +"=. c #A1A1A1", +"-. c #26A9E0", +";. c #27A8DF", +">. c #25AAE0", +",. c #25A9E1", +"'. c #26A8DF", +"). c #25A9E0", +"!. c #27A9E1", +"~. c #26A9DF", +"{. c #26AADF", +"]. c #26ABE1", +"^. c #27AAE1", +"/. c #25A8E0", +"(. c #26A9E1", +"_. c #26A8E0", +":. c #26A8E1", +"<. c #27ABDF", +"[. c #27A9DF", +"}. c #E0E0E0", +"|. c #27A9E0", +"1. c #CFCFCF", +"2. c #25A8DF", +"3. c #E7E7E7", +"4. c #BEBEBE", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & * = ", +" - ; > , , , , , , , , , , , ' ) ! ", +" + ~ , , , , , , , , , , , , , , , , , { $ ", +" ] ^ * ; / ( _ : , , , , , , , , , , , , : _ ( / ; * ^ ] < [ , , , , , , , , , , , , , , , , , , , , , , } ", +" | ^ 1 2 3 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 3 ( 1 4 | 5 , , , , , , , , , , , , , , , , , , , , , , , , , 6 7 ", +" < 8 9 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 0 % ! ! ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , a ", +" | b c ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 6 a d 1 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ~ ", +" = 8 3 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , e f = 8 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , g ", +" = a , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , h f , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i ", +" ^ j , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _ ", +" & ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , k { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , / ", +" l m , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , n ", +" o 6 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , # , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i ", +" p $ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ( h , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , q ", +" p j , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , f , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , r ", +" s , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , t ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , d ", +" a , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , u ", +" & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , v , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , | ", +" < : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , b ", +" x y , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , z A a B $ $ C ; $ $ D a 2 _ E , , , , , , , , , , , , , , , , , , , F , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 2 ", +" % , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , g ) & G H x I J $ w , , , , , , , , , , , K , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , { ", +" L g , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > F < - L J ( h , , , , , } , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" M , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , N O P Q D r , t , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , R ", +" R 9 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 3 $ ^ 9 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P ", +" @ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 3 C S 6 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , n ", +" w , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , h f x 6 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = ", +" H E , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _ l 9 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P ", +" o , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , / p N , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - ", +" c , , , , , , , , , , , , , , , , , , , , , , , , , , , , , r 1 $ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" m , , , , , , , , , , , , , , , , , , , , , , , , , , , , E * * , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , h ", +" - [ , , , , , , , , , , , , , , , , , , , , , , , , , , , h & . , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , j ", +" n h , , , , , , , , , , , , , , , , , , , , , , , , , , , ; , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 7 ", +" d , , , , , , , , , , , , , , , , , , , , , , , , , , , c T , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , U l ", +" J , , , , , , , , , , , , , , , , , , , , , , , , , , > V ^ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , y 6 , * ", +" q , , , , , , , , , , , , , , , , , , , , , , , , , , & 6 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; , , , 1 ", +" K , , , , , , , , , , , , , , , , , , , , , , , , , _ W @ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , r X , , , , # ", +" C , , , , , , , , , , , , , , , , , , , , , , , , , J ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , # , , , , , , K ", +" 1 , , , , , , , , , , , , , , , , , , , , , , , , 9 ] * , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Y _ , , , , , , , o ", +" q , , , , , , , , , , , , , , , , , , , , , , , , k y , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , K , , , , , , , , , Z ", +" * , , , , , , , , , , , , , , , , , , , , , , , { l h , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , } h , , , , , , , , , , ` ", +" < , , , , , , , , , , , , , , , , , , , , , , , 9 p ., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ..u , , , , , , , , , , , , 4 ", +" . { , , , , , , , , , , , , , , , , , , , , , , 2 q , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , z ( , , , , , , , , , , , , , { ] ", +" : , , , , , , , , , , , , , , , , , , , , , , $ +., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Y @., , , , , , , , , , , , , , , 3 ", +" 0 , , , , , , , , , , , , , , , , , , , , , , q J , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , #.c , , , , , , , , , , , , , , , , , > ", +" 5 , , , , , , , , , , , , , , , , , , , , , { ^ $.r , , , , , , , , , , , , , , , , , , , , , , , , , , , , B w , , , , , , , , , , , , , , , , , , , %. ", +" f , , , , , , , , , , , , , , , , , , , , , { L &., , , , , , , , , , , , , , , , , , , , , , , , , E Q j , , , , , , , , , , , , , , , , , , , , , F ", +" Q , , , , , , , , , , , , , , , , , , , , , ' S ^ Y , , , , , , , , , , , , , , , , , , , , , , $ c , , , , , , , , , , , , , , , , , , , , , ^ ", +" p h , , , , , , , , , , , , , , , , , , , , E R ! m , , , , , , , , , , , , , , , , , ' +. @., , , , , , , , , , , , , , , , , , , , h ", +" 9 , , , , , , , , , , , , , , , , , , , , 6 W | o _ , , , , , , , , , , , E D $. ) , , , , , , , , , , , , , , , , , , , , > ", +" @., , , , , , , , , , , , , , , , , , , , h x R I J & % # o 7 H *., , , , , , , , , , , , , , , , , , , , } ", +" < , , , , , , , , , , , , , , , , , , , , { H &., , , , , , , , , , , , , , , , , , , , ^ ", +" 6 , , , , , , , , , , , , , , , , , , , , n .., , , , , , , , , , , , , , , , , , , E ", +" 5 , , , , , , , , , , , , , , , , , , , , ` Y , , , , , , , , , , , , , , , , , , , %. ", +" * , , , , , , , , , , , , , , , , , , , , C 6 , , , , , , , , , , , , , , , , , , , d ", +" h , , , , , , , , , , , , , , , , , , , ) V , , , , , , , , , , , , , , , , , , , ' ", +" T , , , , , , , , , , , , , , , , , , , m b , , , , , , , , , , , , , , , , , , , ( ", +" Q , , , , , , , , , , , , , , , , , , , 6 D , , , , , , , , , , , , , , , , , , , I ", +" r , , , , , , , , , , , , , , , , , , , n #., , , , , , , , , , , , , , , , , , 3 ", +" $ , , , , , , , , , , , , , , , , , , , & 6 , , , , , , , , , , , , , , , , , , C ", +" p , , , , , , , , , , , , , , , , , , , .. < , , , , , , , , , , , , , , , , , , , ", +" v , , , , , , , , , , , , , , , , , , h @., , , , , , , , , , , , , , , , , , &. ", +" 4 , , , , , , , , , , , , , , , , , , , + Y , , , , , , , , , , , , , , , , , , = ", +" z , , , , , , , , , , , , , , , , , , s P , , , , , , , , , , , , , , , , , , ~ ", +" ., , , , , , , , , , , , , , , , , , 6 $ , , , , , , , , , , , , , , , , , , < ", +" i , , , , , , , , , , , , , , , , , , . g , , , , , , , , , , , , , , , , , z ", +" 7 , , , , , , , , , , , , , , , , , , v 4 , , , , , , , , , , , , , , , , , , + ", +" e , , , , , , , , , , , , , , , , , , j , , , , , , , , , , , , , , , , , g ", +" d , , , , , , , , , , , , , , , , , , # , , , , , , , , , , , , , , , , , , . ", +" z , , , , , , , , , , , , , , , , , E ; , , , , , , , , , , , , , , , , , 9 ", +" 4 , , , , , , , , , , , , , , , , , , l 3 , , , , , , , , , , , , , , , , , = ", +" .., , , , , , , , , , , , , , , , , > G , , , , , , , , , , , , , , , , , t ", +" S , , , , , , , , , , , , , , , , , , 4 Y , , , , , , , , , , , , , , , , , ] ", +" a , , , , , , , , , , , , , , , , , #. Q , , , , , , , , , , , , , , , , , @. ", +" , , , , , , , , , , , , , , , , , , = 0 , , , , , , , , , , , , , , , , , ", +" * , , , , , , , , , , , , , , , , , _ ! , , , , , , , , , , , , , , , , , d ", +" 9 , , , , , , , , , , , , , , , , , ^ g , , , , , , , , , , , , , , , , ~ ", +" P , , , , , , , , , , , , , , , , , g b , , , , , , , , , , , , , , , , , ] ", +" } , , , , , , , , , , , , , , , , , b ' , , , , , , , , , , , , , , , , k ", +" h , , , , , , , , , , , , , , , , ' ; , , , , , , , , , , , , , , , , ' ", +" n , , , , , , , , , , , , , , , , , C , , , , , , , , , , , , , , , , , =. ", +" B , , , , , , , , , , , , , , , , , p A , , , , , , , , , , , , , , , , D ", +" { , , , , , , , , , , , , , , , , #. ^ , , , , , , , , , , , , , , , , h ", +" $., , , , , , , , , , , , , , , , , + 6 , , , , , , , , , , , , , , , , = ", +" / , , , , , , , , , , , , , , , , , C , , , , , , , , , , , , , , , , 8 ", +" r , , , , , , , , , , , , , , , , a -.-.;.>.>.>.-.,.'.). . , , , , , , , , , , , , , , , , 3 ", +" - , , , , , , , , , , , , , , , , , 4 -.!.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.~. 3 , , , , , , , , , , , , , , , , ", +" J , , , , , , , , , , , , , , , , , ).-.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.'. # , , , , , , , , , , , , , , , , ` ", +" w , , , , , , , , , , , , , , , , ) -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.{. x , , , , , , , , , , , , , , , , v ", +" , , , , , , , , , , , , , , , , , ! ].>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. 6 , , , , , , , , , , , , , , , , ", +" S , , , , , , , , , , , , , , , , , ^.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.~. M , , , , , , , , , , , , , , , , ] ", +" J , , , , , , , , , , , , , , , , > /.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. I , , , , , , , , , , , , , , , , b ", +" T , , , , , , , , , , , , , , , , o -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. , , , , , , , , , , , , , , , , *. ", +" h , , , , , , , , , , , , , , , , . (.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. > , , , , , , , , , , , , , , , ' ", +" , , , , , , , , , , , , , , , , , -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.). F , , , , , , , , , , , , , , , , ", +" ^ , , , , , , , , , , , , , , , , m ^.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. 4 , , , , , , , , , , , , , , , , $. ", +" 1 , , , i _ 5 N u : , , , , , , , ; -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , q ", +" Z K @.> , , , , , h N U & @.r , , n -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. 3 , , , , , , , , , , , , , , , *. ", +" R C r , , , , , , , , , , , , , , ~ K *. >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>._. a , , , , , , , , , , , , , , , : ", +" H 5 , , , , , , , , , , , , , , , , , , , , $ >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>._. q , , , , , , , , , , , , , , , , ", +" 2 , , , , , , , , , , , , , , , , , , , , , , , , C -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. n , , , , , , , , , , , , , , , , - ", +" ` { , , , , , , , , , , , , , , , , , , , , , , , , , , z R >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.{. , , , , , , , , , , , , , , , , n ", +" a , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , b -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , b ", +" A , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , # >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. z , , , , , , , , , , , , , , , C ", +" _ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , C -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. j , , , , , , , , , , , , , , , 2 ", +" A , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , q >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.:. # , , , , , , , , , , , , , , , g ", +" $ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , L _.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. d , , , , , , , , , , , , , , , , ", +" ! , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , E >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. = , , , , , , , , , , , , , , , , ", +" : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ( >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.). ] , , , , , , , , , , , , , , , , ", +" U , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = <.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , m -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , x ", +" U , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , = ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , v >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.[. , , , , , , , , , , , , , , , , 4 ", +" ., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. , , , , , , , , , , , , , , , , I ", +" A , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , G >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. ' , , , , , , , , , , , , , , , Q ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , a ~.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. e , , , , , , , , , , , , , , , G ", +" x , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ' /.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. z , , , , , , , , , , , , , , , d ", +" l , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. u , , , , , , , , , , , , , , , * ", +" # , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , S ~.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. 9 , , , , , , , , , , , , , , , d ", +" B , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ^ >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. e , , , , , , , , , , , , , , , l ", +" &., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.~. ' , , , , , , , , , , , , , , , < ", +" X , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , b >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. , , , , , , , , , , , , , , , , I ", +" %., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , l >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>./. , , , , , , , , , , , , , , , , 4 ", +" a , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , I >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , =. ", +" C , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , ] ", +" 7 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , '.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , ", +" P , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , { >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.(. ] , , , , , , , , , , , , , , , , ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 2 -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. = , , , , , , , , , , , , , , , , ", +" .., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , b -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. 7 , , , , , , , , , , , , , , , , ", +" b , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. K , , , , , , , , , , , , , , , z ", +" , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w ,.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. *., , , , , , , , , , , , , , , c ", +" a , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , I >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.(. 9 , , , , , , , , , , , , , , , # ", +" - , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Y (.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. , , , , , , , , , , , , , , , , d ", +" *., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , < >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.~. , , , , , , , , , , , , , , , , = ", +" h , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , }. ).>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. = , , , , , , , , , , , , , , , , p ", +" * , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , h ~.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. J , , , , , , , , , , , , , , , , ", +" *., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + >.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.|. B , , , , , , , , , , , , , , , i ", +" u , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 8 -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.^. e , , , , , , , , , , , , , , , @. ", +" i , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , a -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.~. , , , , , , , , , , , , , , , , Z ", +" 0 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , @. (.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. $., , , , , , , , , , , , , , , , =. ", +" X , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , F ).>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>. # , , , , , , , , , , , , , , , , ", +" & , , , , , , , , , , , , , , , , , , , , , , , , , , , 6 < -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. y , , , , , , , , , , , , , , , : ", +" S y , , , , , , , , , , , , , , , , , , , , , , , , B -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. , , , , , , , , , , , , , , , , 1. ", +" l i , , , , , , , , , , , , , , , , , , , , A o ~.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. ^ , , , , , , , , , , , , , , , , l ", +" 4 2 , , , , , , , , , , , , , , , 6 k f ' , |.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.~. D , , , , , , , , , , , , , , , , p ", +" $.+._ , , , , , , , 6 A F +.m , , , , ^ !.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.|. r , , , , , , , , , , , , , , , { ", +" &.Y ( @.U D ) v r , , , , , , , , M -.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>._. R , , , , , , , , , , , , , , , , *. ", +" d , , , , , , , , , , , , , , , , { ).>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. ; , , , , , , , , , , , , , , , , + ", +" , , , , , , , , , , , , , , , , , n _.(.>.>.>.>.>.>.>.>.>.>.>.>.>.>.-. g , , , , , , , , , , , , , , , , ", +" g , , , , , , , , , , , , , , , , @. >.~.2.-.-.-.,. x , , , , , , , , , , , , , , , , Y ", +" C , , , , , , , , , , , , , , , , { # , , , , , , , , , , , , , , , , ; ", +" H , , , , , , , , , , , , , , , , , ! E , , , , , , , , , , , , , , , , . ", +" 6 , , , , , , , , , , , , , , , , w $., , , , , , , , , , , , , , , , E ", +" 8 , , , , , , , , , , , , , , , , , T , , , , , , , , , , , , , , , , F ", +" P , , , , , , , , , , , , , , , , , K , , , , , , , , , , , , , , , , , x ", +" r , , , , , , , , , , , , , , , , r 1 , , , , , , , , , , , , , , , , 3 ", +" C , , , , , , , , , , , , , , , , , G r , , , , , , , , , , , , , , , , ; ", +" - , , , , , , , , , , , , , , , , , Y 7 , , , , , , , , , , , , , , , , , ", +" _ , , , , , , , , , , , , , , , , , n z , , , , , , , , , , , , , , , , .. ", +" ., , , , , , , , , , , , , , , , , X ^ , , , , , , , , , , , , , , , , , < ", +" h , , , , , , , , , , , , , , , , , H y , , , , , , , , , , , , , , , , h ", +" $ , , , , , , , , , , , , , , , , , w I , , , , , , , , , , , , , , , , , C ", +" | , , , , , , , , , , , , , , , , , , L ~ , , , , , , , , , , , , , , , , , ", +" T , , , , , , , , , , , , , , , , , _ < , , , , , , , , , , , , , , , , , j ", +" P , , , , , , , , , , , , , , , , , , < g , , , , , , , , , , , , , , , , , . ", +" _ , , , , , , , , , , , , , , , , , e 1 , , , , , , , , , , , , , , , , , 3. ", +" I , , , , , , , , , , , , , , , , , , 1 { , , , , , , , , , , , , , , , , , 4 ", +" > , , , , , , , , , , , , , , , , , { B , , , , , , , , , , , , , , , , , y ", +" 4 , , , , , , , , , , , , , , , , , , 2 =., , , , , , , , , , , , , , , , , , n ", +" m , , , , , , , , , , , , , , , , , , ! 9 , , , , , , , , , , , , , , , , , _ ", +" n , , , , , , , , , , , , , , , , , , : # , , , , , , , , , , , , , , , , , , =. ", +" 3., , , , , , , , , , , , , , , , , , 1. ] , , , , , , , , , , , , , , , , , , X ", +" . , , , , , , , , , , , , , , , , , , , 4 > , , , , , , , , , , , , , , , , , , R ", +" 1., , , , , , , , , , , , , , , , , , 6 k , , , , , , , , , , , , , , , , , , M ", +" { , , , , , , , , , , , , , , , , , , A 4 , , , , , , , , , , , , , , , , , , h ", +" o , , , , , , , , , , , , , , , , , , , J E , , , , , , , , , , , , , , , , , , J ", +" Y , , , , , , , , , , , , , , , , , , , P X , , , , , , , , , , , , , , , , , , 0 ", +" =., , , , , , , , , , , , , , , , , , , : 8 , , , , , , , , , , , , , , , , , , , P ", +" } , , , , , , , , , , , , , , , , , , , w ., , , , , , , , , , , , , , , , , , , D ", +" : , , , , , , , , , , , , , , , , , , , / ] { , , , , , , , , , , , , , , , , , , e ", +" I , , , , , , , , , , , , , , , , , , , , o 3 , , , , , , , , , , , , , , , , , , , ^ ", +" @., , , , , , , , , , , , , , , , , , , , < u , , , , , , , , , , , , , , , , , , , ) ", +" g , , , , , , , , , , , , , , , , , , , { P A , , , , , , , , , , , , , , , , , , , Y ", +" P , , , , , , , , , , , , , , , , , , , , ' ] a , , , , , , , , , , , , , , , , , , , , x ", +" 4., , , , , , , , , , , , , , , , , , , , r p S .1 +.$ 8 & Z n } , , , , , , , , , , , , , , , , , , , , & ", +" X , , , , , , , , , , , , , , , , , , , , e R K 0 , , , , , , , , , , , ' a < / , , , , , , , , , , , , , , , , , , , , }. ", +" 3 , , , , , , , , , , , , , , , , , , , , g .0 , , , , , , , , , , , , , , , , , { U $ , , , , , , , , , , , , , , , , , , , , [ ", +" . , , , , , , , , , , , , , , , , , , , , , : - Q e , , , , , , , , , , , , , , , , , , , , , , 1. 1., , , , , , , , , , , , , , , , , , , , , . ", +" Z , , , , , , , , , , , , , , , , , , , , , 6 . N , , , , , , , , , , , , , , , , , , , , , , , , , ' 7 } , , , , , , , , , , , , , , , , , , , , , ` ", +" @., , , , , , , , , , , , , , , , , , , , , ' H ! ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , c 5 , , , , , , , , , , , , , , , , , , , } ", +" A , , , , , , , , , , , , , , , , , , , , , , ` 1 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ~ B , , , , , , , , , , , , , , , , , 5 ", +" 0 , , , , , , , , , , , , , , , , , , , , , , K 8 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , g 1., , , , , , , , , , , , , , , > ", +" E , , , , , , , , , , , , , , , , , , , , , , @. ; , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i c , , , , , , , , , , , , , 3 ", +" . { , , , , , , , , , , , , , , , , , , , , , , m d , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , #._ , , , , , , , , , , , h ] ", +" = , , , , , , , , , , , , , , , , , , , , , , , 6 ^ p { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , M ' , , , , , , , , , { H ", +" I , , , , , , , , , , , , , , , , , , , , , , , , ; > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; , , , , , , , , , 4 ", +" ., , , , , , , , , , , , , , , , , , , , , , , , m O , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , [ X , , , , , , , < ", +" ` , , , , , , , , , , , , , , , , , , , , , , , , h G { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , F , , , , , , d ", +" G , , , , , , , , , , , , , , , , , , , , , , , , , v & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 6 N , , , , l ", +" ^ , , , , , , , , , , , , , , , , , , , , , , , , , { Z ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; , , , l ", +" $.{ , , , , , , , , , , , , , , , , , , , , , , , , , w R ! , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > E { L ", +" H ' , , , , , , , , , , , , , , , , , , , , , , , , , , D v , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 8 P ", +" | g , , , , , , , , , , , , , , , , , , , , , , , , , , h J , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 7 ", +" w , , , , , , , , , , , , , , , , , , , , , , , , , , , : Z P , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 2 ", +" ( , , , , , , , , , , , , , , , , , , , , , , , , , , , , g . * , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , { ", +" K , , , , , , , , , , , , , , , , , , , , , , , , , , , , , g b U , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" ^ ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ' ; t , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , R ", +" m , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , &.^ 9 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P ", +" @., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 3 1 6 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , n ", +" ^ r , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 0 o p 6 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , = ", +" N , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , > 1 S 0 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , P ", +" q , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , h a G p n # Y , N , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , - ", +" N , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , &.q = ] ./ [ , , , , , D , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" d ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 3.8 * 4 R H l & j E , , , , , , , , , , K , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , h ", +" a , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 9 v @.$ # & 1 Z Z q & & 8 D 2 _ E , , , , , , , , , , , , , , , , , , F , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , j ", +" S #., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , d ", +" < 3 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , &., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ", +" @ h , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , y ", +" o ' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w 6 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 7 ", +" # { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , +., , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , r ", +" ` e , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , %.' , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Z ", +" < > , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , K , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Y ", +" S M , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 9 m , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , L ", +" l u , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , } h , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , f ", +" W 1 g , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , & , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w ", +" R ; [ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , { # , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , z ", +" l a { , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 5 Z p F , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , z ", +" H @ t , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , N o V J , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , #. ", +" R ` @.g , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , i @.d R n E , , , , , , , , , , , , , , , , , , , , , , , , , , , , } ", +" W ! ; *.0 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 0 s & I p T , , , , , , , , , , , , , , , , , , , , , , , , , E Q ", +" - = Q * & / j 5 #.0 9 , , , , 0 0 #.5 j / & * Q = W 4 z , , , , , , , , , , , , , , , , , , , , , , 8 ", +" I _ , , , , , , , , , , , , , , , , , ' # ", +" q .., , , , , , , , , , , : / n ", +" R ^ Z 4.C ; q G V ", " ", " ", " ", diff --git a/share/pixmaps/iond32.png b/share/pixmaps/iond32.png index 8f47b737bba39..3451579edac23 100644 Binary files a/share/pixmaps/iond32.png and b/share/pixmaps/iond32.png differ diff --git a/share/pixmaps/iond32.xpm b/share/pixmaps/iond32.xpm index ec0aa9a221c74..a38639a1e5fdc 100644 --- a/share/pixmaps/iond32.xpm +++ b/share/pixmaps/iond32.xpm @@ -1,60 +1,114 @@ /* XPM */ static char * iond32_xpm[] = { -"32 32 25 1", +"32 32 79 1", " c None", -". c #F9FCFC", -"+ c #F8FBFF", -"@ c #FFFFFF", -"# c #FDFEFF", -"$ c #FBFBFC", -"% c #FEFFFF", -"& c #FCFDFF", -"* c #FDFDFF", -"= c #F9FCFE", -"- c #F3F9FF", -"; c #FEFEFF", -"> c #2CBFFF", -", c #2CBCFF", -"' c #2CBEFF", -") c #FBFEFF", -"! c #FBFDFE", -"~ c #F9FBFF", -"{ c #FBFCFF", -"] c #F9FCFF", -"^ c #2FB8FF", -"/ c #EEF5FF", -"( c #FBFDFF", -"_ c #FBFDFD", -": c #FBFCFC", -" ", -" ", -" ", -" ", -" . ", -" +@@@@@#@@@$ ", -" %@@@@@@@@@@@@ ", -" @@# &@@@@ ", -" @@ @@@@% ", -" @@ *@= ", -" @@ @@ ", -" @- @@ ", -" @@ %@ ", -" @; >>> @ ", -" @@@ ,'',> @) ", -" @@@@; ,'''>> @@ ", -" @@@@@ ,'',>> @% ", -" !@@@~ ,,,,> @{ ", -" ]@@ >>>^ @ ", -" @@ ;@ ", -" @/ @; ", -" @@ @@ ", -" @@ (@{ ", -" @@ @@@@@ ", -" @@# &@@@@ ", -" @@@@@%@@@@@@@ ", -" )@@@@@%@@@_ ", -" : ", -" ", -" ", +". c #A2A2A2", +"+ c #9B9B9B", +"@ c #BFBFBF", +"# c #E7E7E7", +"$ c #FBFBFB", +"% c #FFFFFF", +"& c #BEBEBE", +"* c #C0C0C0", +"= c #B9B9B9", +"- c #AAAAAA", +"; c #F4F4F4", +"> c #FEFEFE", +", c #C4C4C4", +"' c #959595", +") c #EBEBEB", +"! c #DEDEDE", +"~ c #AFAFAF", +"{ c #B1B1B1", +"] c #A0A0A0", +"^ c #E5E5E5", +"/ c #A4A4A4", +"( c #A5A5A5", +"_ c #E0E0E0", +": c #D9D9D9", +"< c #F8F8F8", +"[ c #A3A3A3", +"} c #FCFCFC", +"| c #ABABAB", +"1 c #A7A7A7", +"2 c #EDEDED", +"3 c #BBBBBB", +"4 c #B4B4B4", +"5 c #AEAEAE", +"6 c #D8D8D8", +"7 c #ADADAD", +"8 c #F6F6F6", +"9 c #999999", +"0 c #F5F5F5", +"a c #9E9E9E", +"b c #DADADA", +"c c #D2D2D2", +"d c #C5C5C5", +"e c #26AADF", +"f c #26A9E0", +"g c #A6A6A6", +"h c #C3C3C3", +"i c #BDBDBD", +"j c #C2C2C2", +"k c #25A9E0", +"l c #25AAE0", +"m c #EFEFEF", +"n c #9C9C9C", +"o c #FAFAFA", +"p c #E9E9E9", +"q c #E8E8E8", +"r c #25A8DF", +"s c #EAEAEA", +"t c #CCCCCC", +"u c #26A8E0", +"v c #FDFDFD", +"w c #F3F3F3", +"x c #B8B8B8", +"y c #C8C8C8", +"z c #A1A1A1", +"A c #CACACA", +"B c #D4D4D4", +"C c #CDCDCD", +"D c #A9A9A9", +"E c #B0B0B0", +"F c #9A9A9A", +"G c #CFCFCF", +"H c #9D9D9D", +"I c #C9C9C9", +"J c #B7B7B7", +"K c #F9F9F9", +"L c #E3E3E3", +"M c #CECECE", +"N c #CBCBCB", " ", +" . ", +" +@#$%%$#&*%%%= ", +" -;%%%%>>%%,%%%%%' ", +" )%%!~ {%%%%%- ", +" ]$%^] /%%%%%] ", +" (%%& _%%%:<[ ", +" }%| -@1.%} ", +" 2%3 4%2 ", +" 5%! 6%7 ", +" 8%9 %0 ", +" a%b c%a ", +" d%- eff g%h ", +" ij kllllf %m ", +" no%%p llllllf >% ", +" ;%%%%d llllllll 2% ", +" %%%%%q rlllllll s% ", +" o%%%%t llllllu v% ", +" 1%%%8 klllll %w ", +" x*+ fulf [%y ", +" z%c A%z ", +" o% >o ", +" 4%B C%4 ", +" w%7 D%; ", +" +%%a aE+9v>F ", +" 5%>5 c%%%C}7 ", +" ~%%G ]%%%%%z ", +" H0%>I] {%%%%%- ", +" J}%%%K^L<%j%%%%%9 ", +" gM}%%%%}NG%%%y ", +" H~+ ", " "}; diff --git a/share/pixmaps/iond48.png b/share/pixmaps/iond48.png index 8e9678cfc2092..d6f93fe353f2c 100644 Binary files a/share/pixmaps/iond48.png and b/share/pixmaps/iond48.png differ diff --git a/share/pixmaps/iond48.xpm b/share/pixmaps/iond48.xpm index 40401dae7b98c..dc58c89a1f9f3 100644 --- a/share/pixmaps/iond48.xpm +++ b/share/pixmaps/iond48.xpm @@ -1,103 +1,161 @@ /* XPM */ static char * iond48_xpm[] = { -"48 48 52 1", -" c None", -". c #F4FAFF", -"+ c #FDFEFE", -"@ c #FFFFFF", -"# c #FBFDFD", -"$ c #F8FBFF", -"% c #F7FAFC", -"& c #FDFEFF", -"* c #F5FAFF", -"= c #F0F8FF", -"- c #F0F7FF", -"; c #FAFBFF", -"> c #FEFEFF", -", c #FAFDFF", -"' c #F3F8FF", -") c #F7FAFD", -"! c #F9FBFF", -"~ c #F9FCFE", -"{ c #2FBAFF", -"] c #2FB8FF", -"^ c #ECF5FF", -"/ c #2CBDFF", -"( c #2CBCFF", -"_ c #2CBFFF", -": c #F1F8FF", -"< c #EEF5FF", -"[ c #F4F8FF", -"} c #2CBEFF", -"| c #F3F9FF", -"1 c #FCFEFF", -"2 c #2EBAFF", -"3 c #2DBEFF", -"4 c #2DBBFF", -"5 c #2EBBFF", -"6 c #F5F9FF", -"7 c #EEF6FF", -"8 c #2EBCFF", -"9 c #FAFCFF", -"0 c #FBFCFF", -"a c #FEFFFF", -"b c #F8FCFF", -"c c #FCFDFF", -"d c #F9FCFF", -"e c #F7FBFF", -"f c #E7F1FF", -"g c #E9F3FF", -"h c #FBFEFF", -"i c #F9F9FB", -"j c #F6FAFF", -"k c #F9FDFF", -"l c #FEFEFE", -"m c #FDFDFE", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .. +@@@# ", -" $@@@@@@@@@@@@@@@% ", -" &@@@@@@@@@@@@@@@@@@ ", -" *@@@@@= -@@@@@@@ ", -" &@@@; @@@@@@@ ", -" &@@@ @@@@@@> ", -" &@@& ,>,>@@& ", -" '@@& &@@) ", -" @@@ @@@ ", -" &@@ @@> ", -" @@! ,@@ ", -" $@@ @@~ ", -" @@> {] >@@ ", -" @@^ /((___ :@@ ", -" &@@< /(((((__ @@ ", -" @@@@@[ (_}}_(__ @@| ", -" 1@@@@@@ 2(}}3}((_4 @@) ", -" @@@@@@@ 2(}}}}(__5 @@) ", -" &@@@@@@ (}}}}(_/ @@6 ", -" @@@@@& _((((___ @@ ", -" @@@& _____/ 7@@ ", -" @@> 85 >@@ ", -" 9@@ @@0 ", -" @@! $@@ ", -" a@@ @@> ", -" @@@ @@@ ", -" b@@c &@@d ", -" &@@c e&ec@@> ", -" >@@> @@@@@@a ", -" >@@@e @@@@@@@ ", -" $@@@@>f g@@@@@@@ ", -" >@@@@@@@@@@@@@@@@@@ ", -" h@@@@@@@@@@@@@@@i ", -" jk,j l@@@m ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"48 48 110 2", +" c None", +". c #9B9B9B", +"+ c #B9B9B9", +"@ c #BFBFBF", +"# c #A9A9A9", +"$ c #B7B7B7", +"% c #DADADA", +"& c #F9F9F9", +"* c #FFFFFF", +"= c #959595", +"- c #D3D3D3", +"; c #F4F4F4", +"> c #969696", +", c #BDBDBD", +"' c #F6F6F6", +") c #CCCCCC", +"! c #C8C8C8", +"~ c #EFEFEF", +"{ c #FEFEFE", +"] c #D7D7D7", +"^ c #B4B4B4", +"/ c #ABABAB", +"( c #FAFAFA", +"_ c #F3F3F3", +": c #A0A0A0", +"< c #9E9E9E", +"[ c #A8A8A8", +"} c #CECECE", +"| c #D9D9D9", +"1 c #9D9D9D", +"2 c #D0D0D0", +"3 c #E1E1E1", +"4 c #E9E9E9", +"5 c #E6E6E6", +"6 c #C3C3C3", +"7 c #BBBBBB", +"8 c #EDEDED", +"9 c #E8E8E8", +"0 c #E5E5E5", +"a c #DCDCDC", +"b c #ADADAD", +"c c #C0C0C0", +"d c #E4E4E4", +"e c #D4D4D4", +"f c #AFAFAF", +"g c #AAAAAA", +"h c #EBEBEB", +"i c #D2D2D2", +"j c #C9C9C9", +"k c #F0F0F0", +"l c #B0B0B0", +"m c #EEEEEE", +"n c #9F9F9F", +"o c #F7F7F7", +"p c #CDCDCD", +"q c #B1B1B1", +"r c #CBCBCB", +"s c #FBFBFB", +"t c #26A9E0", +"u c #26AAE0", +"v c #25A9E1", +"w c #F5F5F5", +"x c #26AADF", +"y c #25AAE0", +"z c #EAEAEA", +"A c #B2B2B2", +"B c #CACACA", +"C c #AEAEAE", +"D c #26A9DF", +"E c #A6A6A6", +"F c #DBDBDB", +"G c #26A8DF", +"H c #FCFCFC", +"I c #26A9E1", +"J c #C6C6C6", +"K c #26A8E0", +"L c #999999", +"M c #D8D8D8", +"N c #27A8E0", +"O c #989898", +"P c #9A9A9A", +"Q c #A7A7A7", +"R c #BCBCBC", +"S c #25A9DF", +"T c #DDDDDD", +"U c #FDFDFD", +"V c #B3B3B3", +"W c #27AAE1", +"X c #E0E0E0", +"Y c #929292", +"Z c #C1C1C1", +"` c #DFDFDF", +" . c #27A9E1", +".. c #D5D5D5", +"+. c #A4A4A4", +"@. c #E3E3E3", +"#. c #A2A2A2", +"$. c #A5A5A5", +"%. c #F2F2F2", +"&. c #E7E7E7", +"*. c #B6B6B6", +"=. c #A3A3A3", +"-. c #979797", +";. c #9C9C9C", +">. c #F8F8F8", +",. c #F1F1F1", +"'. c #D1D1D1", +"). c #A1A1A1", +"!. c #DEDEDE", +"~. c #D6D6D6", +" ", +" ", +" . + @ # ", +" . $ % & * * * * * & % $ = - * * * * ; > ", +" , ' * * * * * * * * * * * * ) * * * * * * ' ", +" ! * * * * * * * * * ~ { * * * ] * * * * * * * * ^ ", +" / ( * * * * _ @ : < [ * * * * * * * * - ", +" } * * * * | 1 < * * * * * * * * 2 ", +" 3 * * * 4 . { * * * * * * * + ", +" 5 * * * 6 7 * * * * * * 8 9 0 ", +" a * * * b c * * * * d e * * % ", +" c * * * [ # f . : * * * , ", +" 1 * * * ^ g * * * . ", +" h * * i j * * 4 ", +" / * * & ; * * g ", +" k * * l [ * * m ", +" n * * o ~ * * < ", +" p * * 7 q * * r ", +" s * * t t u v * * ( ", +" > * * w x y y y y y y t z * * ", +" A 2 B C t y y y y y y y y D c * * E ", +" < s * * * * F G y y y y y y y y y y / * * + ", +" H * * * * * * ) I y y y y y y y y y y G < * * J ", +" 7 * * * * * * * * y y y y y y y y y y y K L * * } ", +" M * * * * * * * * < y y y y y y y y y y y N O * * 2 ", +" i * * * * * * * * P D y y y y y y y y y y D 1 * * ! ", +" b * * * * * * * s u y y y y y y y y y y Q * * R ", +" 4 * * * * * * l t y y y y y y y y S 7 * * # ", +" T * * * U V W y y y y y y G X * * O ", +" Y @ Z ` G .y y K * * U ", +" ..* * q [ * * i ", +" +.* * 8 @.* * #. ", +" o * * $. < * * ' ", +" ^ * * %. &.* * A ", +" ; * * c *.* * _ ", +" E * * * =. . * * * +. ", +" } * * H -. O ;. >.* * p ", +" h * * & L g o * * * B T * * 9 ", +" _ * * U g / * * * * * * ` ; ,. ", +" ~ * * * '. & * * * * * * * 7 ", +" 3 * * * H 7 . * * * * * * * * r ", +" @ * * * * * - Q ).* * * * * * * * .. ", +" = !.* * * * * * H 3 e j e !.s * 2 * * * * * * * * 7 ", +" . ..* * * * * * * * * * * * H | * * * * * * { ", +" g } >.* * * * * * * >.p n 9 * * * * { E ", +" L ;.L f ~.T c ", +" ", +" "}; diff --git a/share/pixmaps/iond64.png b/share/pixmaps/iond64.png index 1f82b4fb92a17..651aa532cfb55 100644 Binary files a/share/pixmaps/iond64.png and b/share/pixmaps/iond64.png differ diff --git a/share/pixmaps/iond64.xpm b/share/pixmaps/iond64.xpm index b49f89bda86eb..57ed919cab0de 100644 --- a/share/pixmaps/iond64.xpm +++ b/share/pixmaps/iond64.xpm @@ -1,134 +1,174 @@ /* XPM */ static char * iond64_xpm[] = { -"64 64 67 1", -" c None", -". c #FDFDFE", -"+ c #FFFFFF", -"@ c #F5F6F8", -"# c #F4F9FF", -"$ c #FAFCFF", -"% c #FEFEFF", -"& c #FDFEFF", -"* c #F9FCFF", -"= c #FDFDFD", -"- c #F7FCFF", -"; c #F4F6FA", -"> c #FBFEFF", -", c #F8FBFF", -"' c #F0F7FF", -") c #EAF3FF", -"! c #EBF4FF", -"~ c #F2F9FF", -"{ c #FAFDFF", -"] c #FAFBFF", -"^ c #FEFFFF", -"/ c #EDF5FF", -"( c #F1F7FF", -"_ c #F3F9FF", -": c #F2F7FF", -"< c #F5FAFF", -"[ c #FCFEFF", -"} c #FBFCFF", -"| c #2CBFFF", -"1 c #2DBDFF", -"2 c #2CBCFF", -"3 c #2CBDFF", -"4 c #2FB8FF", -"5 c #FBFDFE", -"6 c #2DBCFF", -"7 c #2CBEFF", -"8 c #2DBBFF", -"9 c #EDF4FF", -"0 c #30B5FF", -"a c #F9FBFF", -"b c #2DBEFF", -"c c #2FB6FF", -"d c #2DBAFF", -"e c #E3EEFF", -"f c #2FBAFF", -"g c #F6FBFF", -"h c #EFF7FF", -"i c #30B7FF", -"j c #FCFDFF", -"k c #F8FCFF", -"l c #FDFEFE", -"m c #F3F8FD", -"n c #EEF5FF", -"o c #F7FAFD", -"p c #FBFDFF", -"q c #F5F9FF", -"r c #E6F1FF", -"s c #FCFDFE", -"t c #E9F4FF", -"u c #F7FAFF", -"v c #E7F1FF", -"w c #EDF6FF", -"x c #F5FBFF", -"y c #FDFDFF", -"z c #F5F8FA", -"A c #F4FAFF", -"B c #F8F9FB", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+++@ ", -" #$%++++%&* ++++++= ", -" -%++++++++++++++++++++; ", -" >++++++++++++++++++++++++ ", -" -+++++++&,') !~{+++++++++++ ", -" %+++++] +++++++++ ", -" %++++, ++++++++^ ", -" ++++& /++++++++% ", -" ++++, /%+++++++^ ", -" ++++( &+++& ", -" &+++_ &+++# ", -" :+++{ +++% ", -" +++% +++& ", -" <+++ $+++ ", -" +++[ +++} ", -" +++ $+++ ", -" &++^ +++ ", -" +++( ||||1 ^++} ", -" +++ 12222||34 ,+++ ", -" 5+++ 6222222||3 +++ ", -" ++++++ 22777|22||| +++ ", -" ++++++++ 8277777722|3 +++ ", -" *++++++++9 3277117722|30 +++ ", -" &++++++++a 32777b7722|3c +++ ", -" [++++++++, d27777772||| +++ ", -" ++++++++e 227|7722||| +++ ", -" %++++++& 1222222||3 +++ ", -" ^++++& ||22|||3f g++% ", -" +++h i||||3 %++& ", -" j++^ +++ ", -" +++ g+++ ", -" +++{ +++& ", -" k+++ k+++ ", -" +++% +++l ", -" m+++, ^+++ ", -" &+++n &+++o ", -" ++++9 p+++l ", -" ++++q r%++++++++ ", -" ++++s t++++++++^ ", -" +++++# ++++++++% ", -" ^+++++u +++++++++ ", -" $+++++++p_v wxy++++++++++ ", -" l++++++++++++++++++++++++ ", -" $+++++++++++++++++++++z ", -" oy++++++%5A ++++++l ", -" ^+++B ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"64 64 107 2", +" c None", +". c #A1A1A1", +"+ c #CCCCCC", +"@ c #E8E8E8", +"# c #E5E5E5", +"$ c #C5C5C5", +"% c #9B9B9B", +"& c #ADADAD", +"* c #CDCDCD", +"= c #EBEBEB", +"- c #FFFFFF", +"; c #EAEAEA", +"> c #ACACAC", +", c #DDDDDD", +"' c #CECECE", +") c #BBBBBB", +"! c #F4F4F4", +"~ c #ECECEC", +"{ c #E4E4E4", +"] c #D2D2D2", +"^ c #9D9D9D", +"/ c #DCDCDC", +"( c #C1C1C1", +"_ c #A3A3A3", +": c #959595", +"< c #E1E1E1", +"[ c #F1F1F1", +"} c #EFEFEF", +"| c #F8F8F8", +"1 c #F3F3F3", +"2 c #DADADA", +"3 c #C2C2C2", +"4 c #DBDBDB", +"5 c #B4B4B4", +"6 c #9A9A9A", +"7 c #B1B1B1", +"8 c #BDBDBD", +"9 c #E3E3E3", +"0 c #AAAAAA", +"a c #FCFCFC", +"b c #F2F2F2", +"c c #A7A7A7", +"d c #F5F5F5", +"e c #D4D4D4", +"f c #AEAEAE", +"g c #969696", +"h c #F9F9F9", +"i c #ABABAB", +"j c #C3C3C3", +"k c #A2A2A2", +"l c #FDFDFD", +"m c #E6E6E6", +"n c #979797", +"o c #FBFBFB", +"p c #E9E9E9", +"q c #9E9E9E", +"r c #FEFEFE", +"s c #C8C8C8", +"t c #B3B3B3", +"u c #999999", +"v c #989898", +"w c #E7E7E7", +"x c #F0F0F0", +"y c #D6D6D6", +"z c #C7C7C7", +"A c #CACACA", +"B c #A4A4A4", +"C c #FAFAFA", +"D c #26A9E0", +"E c #25A9DF", +"F c #25A8E0", +"G c #B7B7B7", +"H c #D1D1D1", +"I c #25AAE0", +"J c #27A8E0", +"K c #C0C0C0", +"L c #B5B5B5", +"M c #26A9DF", +"N c #F6F6F6", +"O c #CFCFCF", +"P c #26ABE1", +"Q c #D8D8D8", +"R c #BCBCBC", +"S c #9C9C9C", +"T c #A0A0A0", +"U c #DFDFDF", +"V c #C6C6C6", +"W c #9F9F9F", +"X c #26A9E1", +"Y c #27ABDF", +"Z c #B9B9B9", +"` c #E2E2E2", +" . c #27A9E1", +".. c #C9C9C9", +"+. c #26A8E0", +"@. c #25A9E0", +"#. c #A6A6A6", +"$. c #A9A9A9", +"%. c #F7F7F7", +"&. c #BFBFBF", +"*. c #B6B6B6", +"=. c #B2B2B2", +"-. c #DEDEDE", +";. c #EDEDED", +">. c #B0B0B0", +",. c #949494", +"'. c #EEEEEE", +" ", +" ", +" ", +" . + @ # $ % ", +" & * = - - - - - - - - ; + > , - - - - - - ' ", +" ) ! - - - - - - - - - - - - - - - ~ { - - - - - - - - ] ", +" ^ / - - - - - - - - - - - - - - - - - - ( - - - - - - - - - - _ ", +" : < - - - - - - - - - - - - [ } - - - - - | 1 - - - - - - - - - - 2 ", +" 3 - - - - - - - - 4 5 % 6 7 8 - - - - - - - - - - - - ", +" @ - - - - - - 9 0 - - - - - - - - - - - - ", +" _ a - - - - - 4 % - - - - - - - - - - - b ", +" c - - - - - d 0 e - - - - - - - - - - $ f ", +" & - - - - - ] g - - - - - - - - - h 4 - i ", +" _ - - - - - 5 i - - - - - - - a j - - - k ", +" l - - - - f % m - - - - 4 n o - - - l ", +" p - - - - c q ^ % r - - - = ", +" s - - - - t c - - - - $ ", +" u - - - - ] ( - - - - v ", +" w - - - x # - - - # ", +" _ - - - - . v - - - - . ", +" # - - - y z - - - { ", +" u - - - - v - - - - u ", +" $ - - - 4 A - - - j ", +" o - - - B 6 - - - C ", +" 6 - - - o D E D D F [ - - - u ", +" G - - - H D I I I I I I I J K - - - L ", +" / a - - > D I I I I I I I I I M . - - - 2 ", +" G @ - N O 6 D I I I I I I I I I I I D - - - h ", +" % | - - - - - - $ D I I I I I I I I I I I I I P l - - - ", +" a - - - - - - - - K I I I I I I I I I I I I I I M # - - - ", +" , - - - - - - - - - - I I I I I I I I I I I I I I I Q - - - n ", +" - - - - - - - - - - - R I I I I I I I I I I I I I I I ' - - - S ", +" T - - - - - - - - - - - 2 I I I I I I I I I I I I I I I + - - - ^ ", +" _ - - - - - - - - - - - U I I I I I I I I I I I I I I I e - - - v ", +" g - - - - - - - - - - - V I I I I I I I I I I I I I I I U - - - ", +" x - - - - - - - - - - W X I I I I I I I I I I I I I Y h - - - ", +" B - - - - - - - - - / I I I I I I I I I I I I D - - - l ", +" Z - - - - - - - w I I I I I I I I I I I 6 - - - ` ", +" W # - - - | ) D I I I I I I I . G - - - R ", +" g ..H 1 ! +.I I I @. # - - - q ", +" - - - - 6 - - - r ", +" H - - - .. Z - - - O ", +" . - - - - h - - - T ", +" b - - - ( 5 - - - x ", +" & - - - - C - - - i ", +" ! - - - / ' - - - b ", +" #.- - - - 5 $.- - - - _ ", +" 2 - - - - % a - - - Q ", +" N - - - h x - - - %. ", +" . - - - - 1 &.N - - [ *. ; - - - - T ", +" G - - - - | u g d - - - - - - ~ e - - - *. ", +" ( - - - - r =. N - - - - - - - - ; = - j ", +" $ - - - - - e $ - - - - - - - - - - K j ", +" Z - - - - - a *. o - - - - - - - - - - w ", +" B h - - - - - C Z - - - - - - - - - - - - ", +" -.- - - - - - - < t v : . - - - - - - - - - - - - ", +" $.N - - - - - - - - - [ e ..K &...] ;.- - [ C - - - - - - - - - - @ ", +" t N - - - - - - - - - - - - - - - - - - ..- - - - - - - - - - >. ", +" c / - - - - - - - - - - - - - - - - 4 d - - - - - - - - @ ", +" #.s ! - - - - - - - - - - ! s #.,.! - - - - - - p ", +" q _ #.#.k q 8 ! - - '.5 ", +" ", +" ", +" "}; diff --git a/share/pixmaps/iond_regtest.ico b/share/pixmaps/iond_regtest.ico index f10e7d3553538..addf3ebe85686 100644 Binary files a/share/pixmaps/iond_regtest.ico and b/share/pixmaps/iond_regtest.ico differ diff --git a/share/pixmaps/iond_regtest128.png b/share/pixmaps/iond_regtest128.png index b4f49a942ce89..c821868d83eeb 100644 Binary files a/share/pixmaps/iond_regtest128.png and b/share/pixmaps/iond_regtest128.png differ diff --git a/share/pixmaps/iond_regtest128.xpm b/share/pixmaps/iond_regtest128.xpm index bec1efb8a487c..194580e02451a 100644 --- a/share/pixmaps/iond_regtest128.xpm +++ b/share/pixmaps/iond_regtest128.xpm @@ -1,133 +1,374 @@ /* XPM */ -static char * iond_regtest128_xpm[] = { -"128 128 2 1", -" c None", -". c #0000FF", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ....... ", -" ........... ", -" ............... ............. ", -" ....................................... ", -" ........................................... ", -" .............................................. ", -" ................................................. ", -" ................................................... ", -" ..................................................... ", -" .................. ....................... ", -" ................ ................... ", -" .............. ................... ", -" ............. .................. ", -" ............ ................... ", -" ........... .................... ", -" ........... .................... ", -" .......... .................... ", -" .......... .................. ", -" .......... ..... ......... ", -" .......... ......... ", -" ......... ......... ", -" ......... ........ ", -" ......... ......... ", -" ........ ......... ", -" ........ ........ ", -" ........ ........ ", -" ........ ........ ", -" ........ ........ ", -" ........ ........ ", -" ....... ........ ", -" ........ ........ ", -" ........ ....... ", -" ....... ........ ", -" ........ ....... ", -" ....... ....... ", -" ....... ........ ", -" ....... ....... ", -" ........ ....... ", -" ....... ....... ", -" .......... ....... ", -" ............ ........ ", -" .............. ....... ", -" ................ ....... ", -" .................. ....... ", -" .................. ....... ", -" .................. ....... ", -" .................... ....... ", -" .................... ....... ", -" .................... ....... ", -" .................. ....... ", -" .................. ....... ", -" .................. ........ ", -" ................ ....... ", -" ................ ....... ", -" .............. ....... ", -" ............ ....... ", -" ......... ........ ", -" ....... ....... ", -" ........ ....... ", -" ....... ........ ", -" ....... ....... ", -" ........ ........ ", -" ....... ........ ", -" ........ ........ ", -" ........ ........ ", -" ........ ........ ", -" ......... ........ ", -" ........ ........ ", -" ........ ......... ", -" ......... ......... ", -" ......... ......... ", -" .......... ......... ", -" .......... ......... ", -" .......... ..... ......... ", -" .......... ................... ", -" .......... .................... ", -" .......... .................... ", -" ........... ................... ", -" ............ ................... ", -" ............ .................. ", -" .............. ................... ", -" ............... ................... ", -" ................. ...................... ", -" ..................................................... ", -" ................................................... ", -" ................................................. ", -" .............................................. ", -" ............................................ ", -" ........................................ ", -" ................. ............. ", -" ........... ", -" ........ ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +static char * iond128_regtest_xpm[] = { +"128 128 243 2", +" c None", +". c #C35E5E", +"+ c #DE5757", +"@ c #E95151", +"# c #F34B4B", +"$ c #F14C4C", +"% c #E65353", +"& c #D85959", +"* c #BA5D5D", +"= c #969696", +"- c #9B9B9B", +"; c #A0A0A0", +"> c #A7A7A7", +", c #ABABAB", +"' c #B0B0B0", +") c #DC5858", +"! c #FE3A3A", +"~ c #FF3737", +"{ c #FA4141", +"] c #CE5C5C", +"^ c #B4B4B4", +"/ c #C9C9C9", +"( c #E5E5E5", +"_ c #FEFEFE", +": c #FFFFFF", +"< c #E4E4E4", +"[ c #C85C5C", +"} c #FD3C3C", +"| c #F64545", +"1 c #BDBDBD", +"2 c #EAEAEA", +"3 c #E8E8E8", +"4 c #9E9E9E", +"5 c #C15D5D", +"6 c #A3A3A3", +"7 c #D5D5D5", +"8 c #D97373", +"9 c #BA5E5E", +"0 c #C7C7C7", +"a c #FCFCFC", +"b c #D69696", +"c c #FF3838", +"d c #F9F4F4", +"e c #F64949", +"f c #DE5858", +"g c #EEEEEE", +"h c #D68181", +"i c #FE3838", +"j c #A8A8A8", +"k c #F3F3F3", +"l c #F05151", +"m c #D35B5B", +"n c #DEDEDE", +"o c #F8F8F8", +"p c #EDEDED", +"q c #E1E1E1", +"r c #EBEBEB", +"s c #F4F4F4", +"t c #EAD6D6", +"u c #F24B4B", +"v c #BFBFBF", +"w c #FBFBFB", +"x c #A9A9A9", +"y c #999999", +"z c #979797", +"A c #A6A6A6", +"B c #B7B7B7", +"C c #CECECE", +"D c #D59797", +"E c #9A9A9A", +"F c #F2F2F2", +"G c #FDFDFD", +"H c #959595", +"I c #C87575", +"J c #B2B2B2", +"K c #DBDBDB", +"L c #AAAAAA", +"M c #CF5B5B", +"N c #D8D8D8", +"O c #B1B1B1", +"P c #BE5E5E", +"Q c #A4A4A4", +"R c #FF3939", +"S c #F04D4D", +"T c #BBBBBB", +"U c #EF4F4F", +"V c #D87474", +"W c #AFAFAF", +"X c #D7D7D7", +"Y c #CA5D5D", +"Z c #E2C3C3", +"` c #B3B3B3", +" . c #F54848", +".. c #DF6666", +"+. c #BD5D5D", +"@. c #F94242", +"#. c #D15B5B", +"$. c #D8A6A6", +"%. c #D85A5A", +"&. c #FC3D3D", +"*. c #D59595", +"=. c #989898", +"-. c #F7F7F7", +";. c #ADADAD", +">. c #C55D5D", +",. c #F54747", +"'. c #DAB4B4", +"). c #F5F5F5", +"!. c #DCDCDC", +"~. c #DB5959", +"{. c #FD3A3A", +"]. c #FA4242", +"^. c #CA5C5C", +"/. c #E85353", +"(. c #EF4D4D", +"_. c #E65555", +":. c #D65B5B", +"<. c #B85D5D", +"[. c #9C9C9C", +"}. c #F6F6F6", +"|. c #CCCCCC", +"1. c #C5C5C5", +"2. c #C8C8C8", +"3. c #E6E6E6", +"4. c #A5A5A5", +"5. c #CDCDCD", +"6. c #FAFAFA", +"7. c #F9F9F9", +"8. c #AEAEAE", +"9. c #C0C0C0", +"0. c #DDDDDD", +"a. c #B5B5B5", +"b. c #E0E0E0", +"c. c #ECECEC", +"d. c #FF0000", +"e. c #D0D0D0", +"f. c #D4D4D4", +"g. c #C2C2C2", +"h. c #A2A2A2", +"i. c #CFCFCF", +"j. c #FDFBFB", +"k. c #F1E4E4", +"l. c #C75D5D", +"m. c #E65959", +"n. c #F84545", +"o. c #FE3939", +"p. c #F74747", +"q. c #E36060", +"r. c #D59090", +"s. c #BDB3B3", +"t. c #CE5D5D", +"u. c #FC3E3E", +"v. c #BD5E5E", +"w. c #F94343", +"x. c #FB3F3F", +"y. c #F64848", +"z. c #E95252", +"A. c #FA4040", +"B. c #F14D4D", +"C. c #B6B6B6", +"D. c #CC5D5D", +"E. c #EE5050", +"F. c #D2D2D2", +"G. c #F64747", +"H. c #ACACAC", +"I. c #EC5050", +"J. c #E25656", +"K. c #B9B9B9", +"L. c #D75A5A", +"M. c #BE5D5D", +"N. c #FD3D3D", +"O. c #A1A1A1", +"P. c #EC5151", +"Q. c #DA5A5A", +"R. c #EA5353", +"S. c #E55555", +"T. c #DC5959", +"U. c #D9D9D9", +"V. c #FA3F3F", +"W. c #F84444", +"X. c #D97070", +"Y. c #AFA0A0", +"Z. c #BB5E5E", +"`. c #D37878", +" + c #DC6C6C", +".+ c #E06363", +"++ c #DB6E6E", +"@+ c #D57E7E", +"#+ c #DBB1B1", +"$+ c #FEFDFD", +"%+ c #BCBCBC", +"&+ c #9D9D9D", +"*+ c #B8B8B8", +"=+ c #D6D6D6", +"-+ c #DADADA", +";+ c #D3D3D3", +">+ c #F1F1F1", +",+ c #B95E5E", +"'+ c #C25D5D", +")+ c #BF5E5E", +"!+ c #B55C5C", +"~+ c #D75B5B", +"{+ c #ED4F4F", +"]+ c #CC5C5C", +"^+ c #D95A5A", +"/+ c #FE3B3B", +"(+ c #C85E5E", +"_+ c #BFBEBE", +":+ c #F34A4A", +"<+ c #E45E5E", +"[+ c #F4EBEB", +"}+ c #EE5353", +"|+ c #F6EFEF", +"1+ c #CACACA", +"2+ c #F54949", +"3+ c #E45F5F", +"4+ c #DF5757", +"5+ c #D58E8E", +"6+ c #F8F3F3", +"7+ c #E2E2E2", +"8+ c #D48D8D", +"9+ c #E25B5B", +"0+ c #B65E5E", +"a+ c #C45E5E", +"b+ c #E9E9E9", +"c+ c #C96161", +"d+ c #DBAEAE", +"e+ c #FB3E3E", +"f+ c #FCFAFA", +"g+ c #E15656", +"h+ c #E1C2C2", +"i+ c #DF6565", +"j+ c #DFDFDF", +"k+ c #F3E9E9", +"l+ c #F24C4C", +"m+ c #B18F8F", +"n+ c #F94141", +"o+ c #F04C4C", +"p+ c #EFEFEF", +"q+ c #FD3B3B", +"r+ c #C65D5D", +"s+ c #EA5151", +"t+ c #B75E5E", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & * ", +" = - ; > , ' ' , > ; - = ) ! ~ ~ ~ ~ ~ ~ ~ ~ { ] ", +" ; ^ / ( _ : : : : : : : : : : : : : : _ < / ^ ; [ } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | ", +" ; 1 2 : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1 4 & ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ } 5 ", +" 6 7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! 9 ", +" - 0 a : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : b c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { ", +" 6 3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : d e ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ f ", +" > g : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : h ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ i ", +" j k : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : l ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ m ", +" n : : : : : : : : : : : : : : : : : : : : : : : : : o p q q r s : : : : : : : : : : t c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ u ", +" v : : : : : : : : : : : : : : : : : : : w 7 1 x y z A B C s : : D ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c ", +" E F : : : : : : : : : : : : : : : : G 7 ' H x I ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" J : : : : : : : : : : : : : : : : K L M ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" N : : : : : : : : : : : : : : F O [ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" z k : : : : : : : : : : : : : p j P ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c ", +" 4 w : : : : : : : : : : : : p Q R ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ S ", +" 6 _ : : : : : : : : : : : _ T U ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ V > ", +" W : : : : : : : : : : : : X Y ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ i Z : J ", +" ` : : : : : : : : : : : a L .~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ..: : : O ", +" x : : : : : : : : : : : r +.c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @.t : : : : A ", +" ; : : : : : : : : : : : / #.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! $.: : : : : _ 4 ", +" = w : : : : : : : : : : T %.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ &.*.: : : : : : : a =. ", +" -.: : : : : : : : : : ;. >.&.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ,.'.: : : : : : : : : ). ", +" !.: : : : : : : : : _ A ~.{.~ ~ ~ ~ ~ ~ ~ ~ ].^. F : : : : : : : : : n ", +" T : : : : : : : : : : 6 5 ) /.u (._.:.<. ).: : : : : : : : : 1 ", +" ; : : : : : : : : : : , = w : : : : : : : : : [. ", +" }.: : : : : : : : : B 4 _ : : : : : : : : s ", +" |.: : : : : : : : : 1. L : : : : : : : : : 2. ", +" - : : : : : : : : : ( / : : : : : : : : : y ", +" 3 : : : : : : : : w 3 : : : : : : : : 3. ", +" J : : : : : : : : : 4. a : : : : : : : : W ", +" a : : : : : : : : 5. W : : : : : : : : 6. ", +" B : : : : : : : : w < : : : : : : : : ^ ", +" 7.: : : : : : : : 8. y : : : : : : : : o ", +" ` : : : : : : : : ( 1.: : : : : : : : ' ", +" }.: : : : : : : : [. G : : : : : : : s ", +" x : : : : : : : : q 9.: : : : : : : : > ", +" 0.: : : : : : : : ; _ : : : : : : : !. ", +" : : : : : : : : 3 1.: : : : : : : : ", +" a.: : : : : : : : A : : : : : : : : J ", +" p : : : : : : : G b.: : : : : : : c. ", +" = : : : : : : : : 0 L : : : : : : : : ", +" O : : : : : : : : - d.d.d.d.d. _ : : : : : : : W ", +" N : : : : : : : k d.d.d.d.d.d.d.d.d.d.d.d. e.: : : : : : : f. ", +" G : : : : : : : g. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. > : : : : : : : a ", +" y : : : : : : : : h. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. : : : : : : : : = ", +" ^ : : : : : : : : d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. F : : : : : : : O ", +" i.: j.k.: : : : c. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. 1.: : : : : : : |. ", +" l.m.n.o.~ {.p.q.r.s. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. A : : : : : : : 3 ", +" t.u.~ ~ ~ ~ ~ ~ ~ ~ ~ { t. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. H : : : : : : : : ", +" | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ $ d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. : : : : : : : : ", +" v.&.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ w. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. o : : : : : : : - ", +" x.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. K : : : : : : : L ", +" y.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ z. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. 1.: : : : : : : ^ ", +" ] ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ P d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. 1 : : : : : : : 1 ", +" A.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ B. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. C.: : : : : : : 0 ", +" P ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. ' : : : : : : : |. ", +" ) ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ D. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. L : : : : : : : e. ", +" E.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ) d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. A : : : : : : : F. ", +" G.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ % d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. H.: : : : : : : 5. ", +" ].~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ I. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. ` : : : : : : : / ", +" u ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ J. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. K.: : : : : : : g. ", +" /.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ L. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. 9.: : : : : : : B ", +" ] ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ M. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. 5.: : : : : : : 8. ", +" ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ N. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. 2 : : : : : : : O. ", +" P.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. : : : : : : : : ", +" c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ &. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. : : : : : : : : ", +" Q.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [ d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. [.: : : : : : : ). ", +" R.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ f d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. O : : : : : : : X ", +" S.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ T. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. U.: : : : : : : 1 ", +" #.} ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { >. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. _ : : : : : : : O. ", +" T.V.~ ~ ~ ~ ~ ~ ~ W.X.Y. d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. E : : : : : : : : ", +" Z.`. +.+++@+#+$+: N d.d.d.d.d.d.d.d.d.d.d.d.d.d. B : : : : : : : 3 ", +" v : : : : : : : : d.d.d.d.d.d.d.d. p : : : : : : : %+ ", +" ; : : : : : : : : H. = : : : : : : : : 4 ", +" G : : : : : : : ( 9.: : : : : : : a ", +" |.: : : : : : : : o : : : : : : : 0 ", +" &+: : : : : : : : v 4.: : : : : : : : - ", +" s : : : : : : : G 3 : : : : : : : s ", +" %+: : : : : : : : K. O.: : : : : : : : K. ", +" : : : : : : : : w < : : : : : : : : ", +" e.: : : : : : : : K. ; : : : : : : : : 5. ", +" H : : : : : : : : _ p : : : : : : : : ", +" f.: : : : : : : : U. *+: : : : : : : : F. ", +" y : : : : : : : : : h. G : : : : : : : : z ", +" =+: : : : : : : : F -+: : : : : : : : F. ", +" G : : : : : : : : ;+ C.: : : : : : : : G ", +" B : : : : : : : : : O y : : : : : : : : : ^ ", +" c.: : : : : : : : _ =. F : : : : : : : : 2 ", +" 4 : : : : : : : : : >+ !.: : : : : : : : : &+ ", +" g.: : : : : : : : : r i.: : : : : : : : : 1. ", +" < : : : : : : : : : b. ,+'+)+!+ g.: : : : : : : : : ( ", +" w : : : : : : : : : f. ~+y.~ ~ ~ ~ ~ R {+]+ T : : : : : : : : : 7. ", +" > : : : : : : : : : : !. ^+/+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ].(+_+: : : : : : : : : : 6 ", +" 9.: : : : : : : : : : ( :+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ <+[+: : : : : : : : 1 ", +" 5.: : : : : : : : : : g A.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ }+|+: : : : : : 1+ ", +" =+: : : : : : : : : : w L 2+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 3+$+: : : : N ", +" n : : : : : : : : : : : 1+ 4+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 5+: : : b. ", +" < : : : : : : : : : : : 3. R ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ G.6+: 7+ ", +" N : : : : : : : : : : : : 1. 4+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 8+-+ ", +" C : : : : : : : : : : : : s A V.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 9+ ", +" 9.: : : : : : : : : : : : : 2 > 0+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ u. ", +" , G : : : : : : : : : : : : : r A a+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" 3 : : : : : : : : : : : : : : -.1.y ] ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" |.: : : : : : : : : : : : : : : : b+O c+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" A s : : : : : : : : : : : : : : : : : 7.C L Q 1.k 5+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" g.: : : : : : : : : : : : : : : : : : : : : s 7 1 W > h.4 y =.&+O.> ;.*+e.p : : : : : d+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ e+ ", +" !.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : f+].~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ g+ ", +" h.3.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : .+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ '+ ", +" &+n : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : h+o.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ y. ", +" - e._ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : i+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 5 ", +" > j+: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : k+l+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 4+ ", +" O N G : : : : : : : : : : : : : : : : : : : : : : : : : : : : G =+m+n+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ I. ", +" y ^ K 6.: : : : : : : : : : : : : : : : : : : : 6.-+^ =. o+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ g+ ", +" z A B 1+N 3.p+6.: : 6.p+3.N / B 4.= :.q+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W.r+ ", +" m u ~ ~ ~ ~ ~ o.s+Y ", +" t+M.P ", +" ", +" ", +" ", +" ", +" "}; diff --git a/share/pixmaps/iond_regtest16.png b/share/pixmaps/iond_regtest16.png index 4d1bd71c9db37..1e4b7b4ccf546 100644 Binary files a/share/pixmaps/iond_regtest16.png and b/share/pixmaps/iond_regtest16.png differ diff --git a/share/pixmaps/iond_regtest16.xpm b/share/pixmaps/iond_regtest16.xpm index 5b219e94be592..1fd3048c328b6 100644 --- a/share/pixmaps/iond_regtest16.xpm +++ b/share/pixmaps/iond_regtest16.xpm @@ -1,21 +1,81 @@ /* XPM */ static char * iond_regtest16_xpm[] = { -"16 16 2 1", +"16 16 62 1", " c None", -". c #0000FF", +". c #9E9E9E", +"+ c #CDCDCD", +"@ c #F8F8F8", +"# c #FFFFFF", +"$ c #D36A6A", +"% c #FF3737", +"& c #F94444", +"* c #D4D4D4", +"= c #9A9A9A", +"- c #EB5252", +"; c #AC6464", +"> c #E0E0E0", +", c #AEAEAE", +"' c #B95E5E", +") c #EF4E4E", +"! c #D55F5F", +"~ c #DCDADA", +"{ c #BBBBBB", +"] c #B9B9B9", +"^ c #B7B7B7", +"/ c #F3F3F3", +"( c #F0F0F0", +"_ c #A78080", +": c #BAA0A0", +"< c #FF0000", +"[ c #BEBEBE", +"} c #A0A0A0", +"| c #C15E5E", +"1 c #FF3838", +"2 c #FE3B3B", +"3 c #A9A9A9", +"4 c #AFAFAF", +"5 c #D75A5A", +"6 c #C85D5D", +"7 c #A8A8A8", +"8 c #B0B0B0", +"9 c #E65454", +"0 c #E05A5A", +"a c #BCBCBC", +"b c #F1F1F1", +"c c #EEEEEE", +"d c #BFBFBF", +"e c #B4B4B4", +"f c #B2B2B2", +"g c #BDBDBD", +"h c #E5E5E5", +"i c #A7A7A7", +"j c #E95252", +"k c #D06363", +"l c #E2E1E1", +"m c #DADADA", +"n c #CCCCCC", +"o c #959595", +"p c #EA5252", +"q c #AB6666", +"r c #A2A2A2", +"s c #FEFEFE", +"t c #EFEFEF", +"u c #D76767", +"v c #FA4040", +"w c #B65E5E", " ", -" ", -" . .. ", -" .. ... ", -" . ... ", -" . . ", -" . . ", -" .. . ", -" .. . ", -" . . ", -" . . ", -" . ... ", -" .. ... ", -" . .. ", -" ", -" "}; +" .+@#@$%& ", +" **= -%%; ", +" >, ')!~ ", +" {] ^] ", +" / ( ", +" _: < [}", +"|12 <<< 34", +"5%%6 <<< 78", +" 90 < a}", +" b c ", +" de fg ", +" hi jkl ", +" mno p%%q ", +" r*stsu%v ", +" w "}; diff --git a/share/pixmaps/iond_regtest256.png b/share/pixmaps/iond_regtest256.png index 54fbc85a774ac..ea8aaff9f7006 100644 Binary files a/share/pixmaps/iond_regtest256.png and b/share/pixmaps/iond_regtest256.png differ diff --git a/share/pixmaps/iond_regtest256.xpm b/share/pixmaps/iond_regtest256.xpm index 43b34b0c6e22f..d085d6d9713e5 100644 --- a/share/pixmaps/iond_regtest256.xpm +++ b/share/pixmaps/iond_regtest256.xpm @@ -1,261 +1,562 @@ /* XPM */ static char * iond_regtest256_xpm[] = { -"256 256 2 1", -" c None", -". c #0000FF", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ............ ", -" ................. ", -" .................... ", -" ....................... ", -" ....................... .......................... ", -" ................................... ............................ ", -" ............................................ .............................. ", -" ................................................................................. ", -" .................................................................................... ", -" ........................................................................................ ", -" ........................................................................................... ", -" .............................................................................................. ", -" ................................................................................................ ", -" ................................................................................................... ", -" ..................................................................................................... ", -" ....................................................................................................... ", -" ........................................................................................................ ", -" .......................................................................................................... ", -" ........................................ ................................................. ", -" ................................... ........................................... ", -" ................................ ....................................... ", -" .............................. ...................................... ", -" ............................ ...................................... ", -" ........................... ..................................... ", -" ........................... .................................... ", -" .......................... .................................... ", -" ......................... ..................................... ", -" ........................ ...................................... ", -" ....................... ...................................... ", -" ...................... ....................................... ", -" ...................... ....................................... ", -" ..................... ....................................... ", -" ..................... ....................................... ", -" ..................... ...................................... ", -" .................... ...................................... ", -" ................... ..................................... ", -" ................... .............. ................... ", -" ................... ........ ................... ", -" ................... ................... ", -" ................... .................. ", -" .................. .................. ", -" .................. .................. ", -" .................. ................. ", -" ................. .................. ", -" ................. .................. ", -" .................. ................. ", -" ................. ................. ", -" ................. ................. ", -" ................. ................. ", -" ................. ................. ", -" ................. ................ ", -" ................ ................ ", -" ................. ................ ", -" ................ ................ ", -" ................ ................ ", -" ................ ................ ", -" ................ ............... ", -" ................ ................ ", -" ............... ............... ", -" ................ ............... ", -" ............... ............... ", -" ................ ............... ", -" ............... ................ ", -" ............... ............... ", -" ............... ............... ", -" ............... ............... ", -" ............... ............... ", -" ............... ............... ", -" ............... ............... ", -" ............... ............... ", -" .............. ............... ", -" ............... .............. ", -" ............... ............... ", -" .............. ............... ", -" .............. .............. ", -" .............. .............. ", -" ............... .............. ", -" ............... ............... ", -" .................. ............... ", -" ...................... .............. ", -" ........................ .............. ", -" .......................... .............. ", -" ............................ .............. ", -" .............................. .............. ", -" ................................ .............. ", -" ................................ .............. ", -" .................................. ............... ", -" .................................. ............... ", -" .................................... .............. ", -" .................................... .............. ", -" ...................................... .............. ", -" ...................................... .............. ", -" ...................................... .............. ", -" ...................................... .............. ", -" ...................................... .............. ", -" ...................................... .............. ", -" ...................................... .............. ", -" ...................................... ............... ", -" ...................................... ............... ", -" ...................................... .............. ", -" .................................... .............. ", -" .................................... .............. ", -" .................................... .............. ", -" .................................. .............. ", -" .................................. .............. ", -" ................................ ............... ", -" ................................ ............... ", -" .............................. .............. ", -" ............................ .............. ", -" .......................... .............. ", -" ........................ ............... ", -" .................... ............... ", -" .................. .............. ", -" ................ .............. ", -" .............. ............... ", -" ............... ............... ", -" ............... .............. ", -" .............. ............... ", -" ............... ............... ", -" ............... ............... ", -" ............... ............... ", -" ............... ............... ", -" ................ ............... ", -" ............... ............... ", -" ............... ................ ", -" ................ ............... ", -" ............... ................ ", -" ................ ............... ", -" ................ ................ ", -" ................ ............... ", -" ................ ................ ", -" ................ ................. ", -" ................ ................ ", -" ................. ................ ", -" ................ ................. ", -" ................. ................ ", -" ................. ................. ", -" ................. ................. ", -" ................. .................. ", -" ................. ................. ", -" .................. ................. ", -" .................. .................. ", -" .................. .................. ", -" ................... .................. ", -" ................... ................... ", -" ................... ................... ", -" ................... .. ................... ", -" .................... ............ ................... ", -" .................... .................................... ", -" .................... ...................................... ", -" .................... ....................................... ", -" ..................... ....................................... ", -" ..................... ....................................... ", -" ..................... ....................................... ", -" ...................... ...................................... ", -" ...................... ...................................... ", -" ....................... ...................................... ", -" ........................ ..................................... ", -" ......................... ..................................... ", -" .......................... .................................... ", -" ........................... ..................................... ", -" ............................ ...................................... ", -" ............................. ...................................... ", -" ................................ ...................................... ", -" ................................. .......................................... ", -" ..................................... ............................................... ", -" ........................................................................................................... ", -" ......................................................................................................... ", -" ....................................................................................................... ", -" ..................................................................................................... ", -" .................................................................................................... ", -" ................................................................................................. ", -" ............................................................................................... ", -" ............................................................................................ ", -" ......................................................................................... ", -" ...................................................................................... ", -" .................................................................................. ", -" .............................................. .............................. ", -" ...................................... ............................ ", -" ........................... .......................... ", -" ....... ........................ ", -" ...................... ", -" .................. ", -" .............. ", -" ...... ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"256 256 303 2", +" c None", +". c #C45D5D", +"+ c #D35B5B", +"@ c #E05656", +"# c #E55555", +"$ c #E95252", +"% c #E85353", +"& c #E15555", +"* c #DA5A5A", +"= c #CA5C5C", +"- c #BB5D5D", +"; c #C05E5E", +"> c #E35555", +", c #FA4141", +"' c #FF3737", +") c #FE3838", +"! c #EF4E4E", +"~ c #D15C5C", +"{ c #FA4040", +"] c #FF3838", +"^ c #BA5E5E", +"/ c #9A9A9A", +"( c #A7A7A7", +"_ c #B4B4B4", +": c #C0C0C0", +"< c #CCCCCC", +"[ c #D9D9D9", +"} c #E8E8E8", +"| c #F8F8F8", +"1 c #FFFFFF", +"2 c #D15B5B", +"3 c #FD3D3D", +"4 c #EC5050", +"5 c #959595", +"6 c #BDBDBD", +"7 c #DADADA", +"8 c #F7F7F7", +"9 c #A6A6A6", +"0 c #B95E5E", +"a c #F64848", +"b c #FE3939", +"c c #D85A5A", +"d c #AAAAAA", +"e c #C8C8C8", +"f c #F0F0F0", +"g c #EFEFEF", +"h c #C7C7C7", +"i c #A9A9A9", +"j c #F04D4D", +"k c #B3B3B3", +"l c #D7D7D7", +"m c #FCFCFC", +"n c #FBFBFB", +"o c #D4D4D4", +"p c #B1B1B1", +"q c #E15656", +"r c #B65E5E", +"s c #A3A3A3", +"t c #F6F6F6", +"u c #C6C6C6", +"v c #FC3D3D", +"w c #B85D5D", +"x c #FDFBFB", +"y c #E45F5F", +"z c #FC3E3E", +"A c #D8D8D8", +"B c #DB6C6C", +"C c #F94444", +"D c #BFBFBF", +"E c #D69B9B", +"F c #EB5151", +"G c #AEAEAE", +"H c #EAEAEA", +"I c #EEDFDF", +"J c #FA4242", +"K c #CC5D5D", +"L c #BBBBBB", +"M c #DF6565", +"N c #969696", +"O c #C9C9C9", +"P c #DEBABA", +"Q c #FF3939", +"R c #DE5757", +"S c #E46060", +"T c #FE3A3A", +"U c #D5D5D5", +"V c #E6CDCD", +"W c #D85959", +"X c #D87676", +"Y c #F44B4B", +"Z c #BE5E5E", +"` c #E7CFCF", +" . c #D95959", +".. c #9B9B9B", +"+. c #EBEBEB", +"@. c #F1F1F1", +"#. c #DFDFDF", +"$. c #D2D2D2", +"%. c #C5C5C5", +"&. c #CDCDCD", +"*. c #F9F9F9", +"=. c #D58888", +"-. c #F24B4B", +";. c #F4F4F4", +">. c #D3D3D3", +",. c #AFAFAF", +"'. c #A0A0A0", +"). c #A8A8A8", +"!. c #B7B7B7", +"~. c #E5E5E5", +"{. c #DE6868", +"]. c #A2A2A2", +"^. c #EDEDED", +"/. c #C3C3C3", +"(. c #989898", +"_. c #FDFDFD", +":. c #EA5656", +"<. c #D0D0D0", +"[. c #E2E2E2", +"}. c #B8B8B8", +"|. c #9E9E9E", +"1. c #ABABAB", +"2. c #FAFAFA", +"3. c #F64747", +"4. c #C05D5D", +"5. c #999999", +"6. c #FB4040", +"7. c #C65D5D", +"8. c #BCBCBC", +"9. c #9D9D9D", +"0. c #F5F5F5", +"a. c #C55D5D", +"b. c #F24C4C", +"c. c #A4A4A4", +"d. c #D46060", +"e. c #F34B4B", +"f. c #D69E9E", +"g. c #9F9F9F", +"h. c #CF5B5B", +"i. c #F94242", +"j. c #FBF8F8", +"k. c #B9B9B9", +"l. c #C1C1C1", +"m. c #979797", +"n. c #C2C2C2", +"o. c #DF6666", +"p. c #DB5959", +"q. c #FC3F3F", +"r. c #EAD6D6", +"s. c #CACACA", +"t. c #D68181", +"u. c #B6B6B6", +"v. c #FEFEFE", +"w. c #EA5757", +"x. c #B2B2B2", +"y. c #D45B5B", +"z. c #F74545", +"A. c #EDDDDD", +"B. c #9C9C9C", +"C. c #DF5858", +"D. c #FB3F3F", +"E. c #DFBABA", +"F. c #E55353", +"G. c #D9AAAA", +"H. c #DC5858", +"I. c #DDB7B7", +"J. c #E1E1E1", +"K. c #CC5C5C", +"L. c #ED5252", +"M. c #E7D0D0", +"N. c #DDDDDD", +"O. c #B55C5C", +"P. c #F44A4A", +"Q. c #FE3B3B", +"R. c #D25D5D", +"S. c #D9D6D6", +"T. c #CF5C5C", +"U. c #FB3E3E", +"V. c #E95353", +"W. c #B75E5E", +"X. c #D1D1D1", +"Y. c #BC5D5D", +"Z. c #DF5757", +"`. c #F84343", +" + c #EC5151", +".+ c #C15D5D", +"++ c #D05C5C", +"@+ c #E45555", +"#+ c #C85C5C", +"$+ c #D6D6D6", +"%+ c #CECECE", +"&+ c #DCDCDC", +"*+ c #E6E6E6", +"=+ c #F2F2F2", +"-+ c #DBDBDB", +";+ c #E9E9E9", +">+ c #DEDEDE", +",+ c #ACACAC", +"'+ c #EEEEEE", +")+ c #ADADAD", +"!+ c #F3F3F3", +"~+ c #B0B0B0", +"{+ c #E3E3E3", +"]+ c #A1A1A1", +"^+ c #A5A5A5", +"/+ c #FF0000", +"(+ c #F3E9E9", +"_+ c #E4C9C9", +":+ c #E5CACA", +"<+ c #F8F3F3", +"[+ c #C98888", +"}+ c #DD6A6A", +"|+ c #ED5454", +"1+ c #E85858", +"2+ c #D87474", +"3+ c #DAAAAA", +"4+ c #FAF6F6", +"5+ c #E65454", +"6+ c #DD6969", +"7+ c #DCB4B4", +"8+ c #EF4D4D", +"9+ c #F54848", +"0+ c #E65353", +"a+ c #CA5D5D", +"b+ c #FD3A3A", +"c+ c #E95151", +"d+ c #CA5E5E", +"e+ c #BA5D5D", +"f+ c #F44949", +"g+ c #D65B5B", +"h+ c #C45E5E", +"i+ c #ECECEC", +"j+ c #EE4D4D", +"k+ c #F34A4A", +"l+ c #F64545", +"m+ c #B85E5E", +"n+ c #F84545", +"o+ c #F74646", +"p+ c #BF5D5D", +"q+ c #F04C4C", +"r+ c #B75D5D", +"s+ c #FA3F3F", +"t+ c #EE5050", +"u+ c #E65555", +"v+ c #C55E5E", +"w+ c #EF4F4F", +"x+ c #CFCFCF", +"y+ c #CF8484", +"z+ c #CE5C5C", +"A+ c #E85A5A", +"B+ c #D59292", +"C+ c #FCFAFA", +"D+ c #E55454", +"E+ c #F84444", +"F+ c #E06363", +"G+ c #D58B8B", +"H+ c #EBD9D9", +"I+ c #F3E8E8", +"J+ c #D79E9E", +"K+ c #D7A2A2", +"L+ c #DBAFAF", +"M+ c #E2C3C3", +"N+ c #E4E4E4", +"O+ c #E7E7E7", +"P+ c #BEBEBE", +"Q+ c #D55B5B", +"R+ c #E0E0E0", +"S+ c #BB5E5E", +"T+ c #FD3C3C", +"U+ c #CFCACA", +"V+ c #F04F4F", +"W+ c #DAADAD", +"X+ c #D9A6A6", +"Y+ c #DDB6B6", +"Z+ c #D75A5A", +"`+ c #BD5D5D", +" @ c #EC5555", +".@ c #D67B7B", +"+@ c #DD5858", +"@@ c #E25656", +"#@ c #E5CBCB", +"$@ c #DC6A6A", +"%@ c #F9F4F4", +"&@ c #D59999", +"*@ c #D55C5C", +"=@ c #F64646", +"-@ c #D58A8A", +";@ c #D75959", +">@ c #F34C4C", +",@ c #D77878", +"'@ c #D75B5B", +")@ c #E26262", +"!@ c #E1C1C1", +"~@ c #DC5959", +"{@ c #DD6868", +"]@ c #F1E4E4", +"^@ c #F94343", +"/@ c #D8A4A4", +"(@ c #E75353", +"_@ c #D97171", +":@ c #FEFDFD", +"<@ c #ED5050", +"[@ c #C75D5D", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & * = - ", +" ; > , ' ' ' ' ' ' ' ' ' ' ' ) ! ~ ", +" + { ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ] $ ^ ", +" / ( _ : < [ } | 1 1 1 1 1 1 1 1 1 1 1 1 | } [ < : _ ( / 2 3 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 4 ", +" 5 ( 6 7 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 [ 6 9 5 0 a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b c ", +" d e f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 g h i ~ ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' j ", +" 5 k l m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n o p q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' { r ", +" s e 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 t u s % ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' v w ", +" s o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x y ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' z ", +" ( A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' C ", +" D m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 E ] ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' F ", +" G H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I J ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' K ", +" L n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' z ", +" N O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 P Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' R ", +" N A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 S ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' T ", +" U 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 V ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' W ", +" o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' , ", +" D 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Y ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Z ", +" d | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ` ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' . ", +" ..+.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 @.#.o $.O O %.: O O &.o 7 } *.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 =.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' -. ", +" h 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;.>.D ,.'. ..).!.O ~.1 1 1 1 1 1 1 1 1 1 1 {.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ] ", +" ].;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^./.d (. ].!.[ _.1 1 1 1 1 :.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" <.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [.}.|. 1.&.2.1 3.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 4. ", +" 5.f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 O ( 6.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 7. ", +" 8.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 %.9. b ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' K ", +" ~.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _.u .. b ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' = ", +" '.*.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 } G 6.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 7. ", +" L 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 < N 3.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ; ", +" l 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2.6 $ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 *._ * ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q ", +" (.0.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _.D a.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b. ", +" c._.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 : ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' d. ", +" p 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 l e.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' f.G ", +" !.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^.g. h.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' i.j.1 _ ", +" k.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D b ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' B 1 1 1 6 ", +" l.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 } m. @ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' T ` 1 1 1 1 n. ", +" %.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 !. ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' o.1 1 1 1 1 1 l. ", +" 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f / p.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' q.r.1 1 1 1 1 1 1 L ", +" k.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s. J ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' t.1 1 1 1 1 1 1 1 1 u. ", +" _ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v.G - Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' w.x 1 1 1 1 1 1 1 1 1 1 x. ", +" d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f N y.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' z.A.1 1 1 1 1 1 1 1 1 1 1 1 9 ", +" B.v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7 C.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D.E.1 1 1 1 1 1 1 1 1 1 1 1 1 v./ ", +" | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O F.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' q.G.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 ", +" g 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 k. H.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' C I.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^. ", +" J.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v.( K.T ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' L.M.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 N. ", +" u 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v.]. O.P.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q.R.S.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 /. ", +" 1.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m 9. T.U.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' V. l 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ( ", +" N _.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 *.5. ~ i.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) F.W. X.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _. ", +" f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n m. Y.Z.`.' ' ' ' ' ' ' ' ' ' ' Q. +K. >.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^. ", +" X.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _... .+++H.& % @+Z.c #+0 $+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %+ ", +" d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v.'. &+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ( ", +" n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c. *+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 *. ", +" J.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x. =+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 N. ", +" _ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %. n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 p ", +" _.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >. g.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m ", +" -+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 H k 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [ ", +" 1.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n &.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ). ", +" 2.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c. ;+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 ", +" O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %. ", +" N 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 *+ d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" >+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _. X.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 &+ ", +" 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,+ =+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s ", +" @.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 U |.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 '+ ", +" )+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d ", +" !+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 )+ ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 @. ", +" ~+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >+ 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,+ ", +" t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;. ", +" p 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 )+ ", +" @.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 *. : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f ", +" 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s ", +" *+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^. ,.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 {+ ", +" 9.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 =+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 / ", +" o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;+ 1.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X. ", +" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s g 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" _ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 } i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 p ", +" f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ( ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 '+ ", +" |.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;. k 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 / ", +" %+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 k m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s. ", +" _.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m ", +" c.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]+ ", +" $.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 N #.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 &. ", +" v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;+ ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _. ", +" ^+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,+ n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s ", +" < 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 e ", +" 2.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 o /+/+/+/+/+/+/+ B.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 ", +" (.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" !.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ n.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x. ", +" ~.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ ..1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >+ ", +" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" 9.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ <.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 / ", +" !.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ ).1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 k ", +" -+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 L /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 $+ ", +" _.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ ^.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m ", +" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ /.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 H /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^+ ", +" 6 1 1 1 (+r._+:+A.<+1 1 1 1 1 1 1 : /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 k. ", +" [+}+|+J ' ' ' ' ' Q a 1+2+3+4+1 1 c. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 $+ ", +" 4.5+T ' ' ' ' ' ' ' ' ' ' ' ' ' ' { 6+7+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | ", +" #+a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $ w /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ k.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" w -.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 5+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ c.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (. ", +" W ] ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D..+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c. ", +" 8+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' . /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 k ", +" 9+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' # /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ @.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %. ", +" C ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 0+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7 ", +" 9+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' C. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ n.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;. ", +" V.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ p 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" 2 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" b+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' -. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ / 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" c+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' d+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" e+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' i. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .. ", +" c+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' d+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' f+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 ", +" y.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ). ", +" 9+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' g+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1. ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 8+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,. ", +" h+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ @.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 p ", +" g+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ i+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _ ", +" # ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' . /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 p ", +" j+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' h. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G ", +" k+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' y. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d ", +" l+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' . /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ). ", +" P.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' g+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 ", +" 8+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' T. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]+ ", +" 5+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 / ", +" c ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' m+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" 7.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ] /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ / 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' -. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" n+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' . /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ ~+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" .' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' w /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ l.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 @. ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' o+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ $+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 l ", +" j ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ++ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n. ", +" p+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' U. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 p ", +" q+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 2 /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 s ", +" Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 N ", +" * ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q e+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ !.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" q+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' + /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ $.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 !+ ", +" , ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' % /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X. ", +" z ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 8+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 u. ", +" r+s+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' t+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ ^+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]+ ", +" l+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' u+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ n.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b ~ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ +.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | ", +" v+J ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' w+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x+ ", +" g+z ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' P.y+ /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G ", +" z+-.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b A+B+C+1 /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ &.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 N ", +" K.D+E+' ' ' ' ' ' ' b P.F+G+H+1 1 1 1 ( /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 2.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v. ", +" &+I+E.3+J+K+L+M+4+1 1 1 1 1 1 1 1 <. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ 5.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 $+ ", +" p 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,+ ", +" 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c. /+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+ ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X. /+ ..1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 =+ ", +" %.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v. n.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 : ", +" '.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i *.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B. ", +" n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ~. ^+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 *. ", +" e 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 /. ", +" |.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 l. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .. ", +" 2.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2. 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 ", +" %.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,. 2.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 : ", +" (.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 =+ ~+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" } 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c. @.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 *+ ", +" )+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 N+ ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d ", +" _.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 '. +.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _. ", +" O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ~. ).1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %. ", +" 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]. '+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ", +" -+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 } d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A ", +" |.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B. ", +" } 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 t 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O+ ", +" ).1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 ", +" ^.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v. $.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +. ", +" 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7 ]+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c. ", +" H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 } ", +" c.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | n.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]+ ", +" O+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x+ / 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 N+ ", +" B.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 ^.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5. ", +" x+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n s.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 <. ", +" v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 #. 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _. ", +" L 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 !. *.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 !. ", +" =+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |. N+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 g ", +" ]+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | e 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |. ", +" %+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ~. )+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 &. ", +" | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 < / v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 t ", +" ).1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 L 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ( ", +" X.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d i+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >. ", +" ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v.|. #.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 =+ ", +" |.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m / o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .. ", +" P+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2.N v+Q+@ F.$ % & p.K - %+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D ", +" N+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 t .+@+s+' ' ' ' ' ' ' ' ' ' ' ) j 2 < 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 R+ ", +" 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;. Q+s+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ] c+S+ O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0. ", +" B.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | (. + T+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' t+ x+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B. ", +" u.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n B. w 3.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) Q+U+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x. ", +" X.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m '. 2 ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' V+_+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 %+ ", +" #.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x. q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' { W+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 J. ", +" g 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 l. % ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' v X+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^. ", +" *.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X. > ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' z Y+1 1 1 1 1 1 1 1 1 1 1 1 1 8 ", +" B.v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 H Z+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' C r.1 1 1 1 1 1 1 1 1 1 1 _./ ", +" s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 n ( `+] ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' @C+1 1 1 1 1 1 1 1 1 v.'. ", +" ).1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 : , ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' .@1 1 1 1 1 1 1 1 1 9 ", +" )+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 H +@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 3 ` 1 1 1 1 1 1 1 d ", +" x.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _.,. ] ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' F+1 1 1 1 1 1 p ", +" ,.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >+ @@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b #@1 1 1 1 G ", +" ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 v.u. ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' $@1 1 1 G ", +" ^+v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ~.5. 2 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' , %@v.]. ", +" '.m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 &. f+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' &@|. ", +" 5 ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _.!. ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' *@ ", +" ~.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | u. 7.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' -. ", +" [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;.)+ p.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ] ", +" l.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;.k c+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" ( m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 m : =@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 4. ", +" H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 &+( 6.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 7. ", +" X.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 8 6 b ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' K ", +" ( 2.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 g L N b ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' = ", +" [.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ^.6 9. 6.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 7. ", +" k.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _.o ,.N c.n.=+1 a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ; ", +" [.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 &+k.s / )+< 0.1 1 1 1 1 w.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" p m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O+e _ 9 5. '.G D A *.1 1 1 1 1 1 1 1 1 1 }+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q ", +" o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 f >+X.O n.D 6 u.u.k.D D e &.7 } *.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b. ", +" 9.;+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ;@ ", +" d 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - ", +" 8._.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' J ", +" L m 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M.b ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '@ ", +" n.v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 )@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' T ", +" x.t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 !@) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ~@ ", +" d ^.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 {@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' U. ", +" 9.<.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]@^@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a+ ", +" G i+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 /@Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' (@ ", +" m.6 ;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 _@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' z. ", +" 5.: 0.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 :@F+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D. ", +" G o v.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 J.u.N u+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' D.r ", +" '.8.{+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [.L g. H.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ^@ ", +" 5.x.X.;.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 !+X.p 5. K Q.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' <@ ", +" m.i : $+g 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 g U D ).N e.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q.+ ", +" (.s 1._ D < A J.;+g f 1 1 1 1 g g ;+J.A < D _ 1.s m. z+D.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' % ", +" T.C ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) # ", +" - R n+' ' ' ' ' ' ' ' ' ' ' b+F K ", +" 4.h.p.q 0+> R g+[@0 ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/share/pixmaps/iond_regtest32.png b/share/pixmaps/iond_regtest32.png index 3f38765e39cc3..909dd3637e8cb 100644 Binary files a/share/pixmaps/iond_regtest32.png and b/share/pixmaps/iond_regtest32.png differ diff --git a/share/pixmaps/iond_regtest32.xpm b/share/pixmaps/iond_regtest32.xpm index e33f7b4f5756f..2d0c5ae5ef04f 100644 --- a/share/pixmaps/iond_regtest32.xpm +++ b/share/pixmaps/iond_regtest32.xpm @@ -1,37 +1,144 @@ /* XPM */ static char * iond_regtest32_xpm[] = { -"32 32 2 1", -" c None", -". c #0000FF", -" ", -" ", -" ", -" ", -" . ", -" ........... ", -" ............. ", -" ... ..... ", -" .. ..... ", -" .. ... ", -" .. .. ", -" .. .. ", -" .. .. ", -" .. . ", -" ... .. ", -" ..... .. ", -" ..... .. ", -" ..... .. ", -" ... . ", -" .. .. ", -" .. .. ", -" .. .. ", -" .. ... ", -" .. ..... ", -" ... ..... ", -" ............. ", -" ........... ", -" . ", -" ", -" ", -" ", -" "}; +"32 32 109 2", +" c None", +". c #BA5D5D", +"+ c #CA5D5D", +"@ c #B85E5E", +"# c #9B9B9B", +"$ c #BFBFBF", +"% c #E7E7E7", +"& c #FBFBFB", +"* c #FFFFFF", +"= c #C0BDBD", +"- c #E25757", +"; c #FF3737", +"> c #DE5858", +", c #AAAAAA", +"' c #F4F4F4", +") c #FEFEFE", +"! c #D58D8D", +"~ c #BC5D5D", +"{ c #EBEBEB", +"] c #DEDEDE", +"^ c #AFAFAF", +"/ c #D45F5F", +"( c #D15B5B", +"_ c #A0A0A0", +": c #E5E5E5", +"< c #CC5D5D", +"[ c #BE6D6D", +"} c #A5A5A5", +"| c #BEBEBE", +"1 c #F64848", +"2 c #F14E4E", +"3 c #F8F3F3", +"4 c #A3A3A3", +"5 c #FCFCFC", +"6 c #ABABAB", +"7 c #D15C5C", +"8 c #E25656", +"9 c #CF5B5B", +"0 c #A79B9B", +"a c #EDEDED", +"b c #BBBBBB", +"c c #B4B4B4", +"d c #AEAEAE", +"e c #D8D8D8", +"f c #ADADAD", +"g c #F6F6F6", +"h c #999999", +"i c #F5F5F5", +"j c #9E9E9E", +"k c #DADADA", +"l c #D2D2D2", +"m c #C5C5C5", +"n c #FF0000", +"o c #A6A6A6", +"p c #C3C3C3", +"q c #D47A7A", +"r c #D58787", +"s c #987B7B", +"t c #EFEFEF", +"u c #C55D5D", +"v c #FE3A3A", +"w c #F94343", +"x c #FC3D3D", +"y c #E65454", +"z c #F84343", +"A c #EAEAEA", +"B c #EA5151", +"C c #FDFDFD", +"D c #FD3C3C", +"E c #B55C5C", +"F c #F3F3F3", +"G c #BD5E5E", +"H c #DA6363", +"I c #DA6F6F", +"J c #AA8585", +"K c #C8C8C8", +"L c #A1A1A1", +"M c #CACACA", +"N c #FAFAFA", +"O c #D4D4D4", +"P c #CDCDCD", +"Q c #A9A9A9", +"R c #C65D5D", +"S c #D75B5B", +"T c #C45E5E", +"U c #9A9696", +"V c #9A9A9A", +"W c #EE4D4D", +"X c #EA5757", +"Y c #FCFAFA", +"Z c #CFCFCF", +"` c #C85D5D", +" . c #BC7474", +".. c #9D9D9D", +"+. c #C9C9C9", +"@. c #D65E5E", +"#. c #B7B7B7", +"$. c #F9F9F9", +"%. c #E3E3E3", +"&. c #F8F8F8", +"*. c #D58484", +"=. c #C15D5D", +"-. c #CECECE", +";. c #CCC7C7", +">. c #ED5050", +",. c #E85353", +"'. c #C55E5E", +"). c #D65B5B", +"!. c #C35D5D", +" ", +" . + @ ", +" # $ % & * * & % = - ; ; ; > ", +" , ' * * * * ) ) * * ! ; ; ; ; ; ~ ", +" { * * ] ^ / ; ; ; ; ; ( ", +" _ & * : _ < ; ; ; ; ; [ ", +" } * * | 1 ; ; ; 2 3 4 ", +" 5 * 6 7 8 9 0 * 5 ", +" a * b c * a ", +" d * ] e * f ", +" g * h * i ", +" j * k l * j ", +" m * , n n o * p ", +" q r s n n n n n * t ", +" u v ; ; w n n n n n n n ) * ", +" x ; ; ; ; y n n n n n n n a * ", +" ; ; ; ; ; z n n n n n n n A * ", +" v ; ; ; ; B n n n n n n n C * ", +" 9 ; ; ; D E n n n n n n * F ", +" G H I J n n n 4 * K ", +" L * l M * L ", +" N * ) N ", +" c * O P * c ", +" F * f Q * ' ", +" # * * j R S T U C ) V ", +" d * ) d W ; ; ; X Y f ", +" ^ * * Z ` ; ; ; ; ; . ", +" ..i * ) +._ @.; ; ; ; ; ( ", +" #.5 * * * $.: %.&.* *.; ; ; ; ; =. ", +" o -.5 * * * * 5 ;.>.; ; ; ,. ", +" '.).!. ", +" "}; diff --git a/share/pixmaps/iond_regtest48.png b/share/pixmaps/iond_regtest48.png index d053c5a69670a..1d9a90744c2c5 100644 Binary files a/share/pixmaps/iond_regtest48.png and b/share/pixmaps/iond_regtest48.png differ diff --git a/share/pixmaps/iond_regtest48.xpm b/share/pixmaps/iond_regtest48.xpm index fb6aa163e29ef..ad5cf615efc48 100644 --- a/share/pixmaps/iond_regtest48.xpm +++ b/share/pixmaps/iond_regtest48.xpm @@ -1,53 +1,201 @@ /* XPM */ static char * iond_regtest48_xpm[] = { -"48 48 2 1", -" c None", -". c #0000FF", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .. ..... ", -" ................. ", -" ................... ", -" ....... ........ ", -" ..... ....... ", -" .... ....... ", -" .... ....... ", -" .... .... ", -" ... ... ", -" ... ... ", -" ... ... ", -" ... ... ", -" ... ... ", -" ... ... ", -" .... .. ", -" ...... ... ", -" ....... ... ", -" ....... ... ", -" ....... ... ", -" ...... .. ", -" .... ... ", -" ... ... ", -" ... ... ", -" ... ... ", -" ... ... ", -" ... ... ", -" .... .... ", -" .... ....... ", -" .... ....... ", -" ..... ....... ", -" ....... ........ ", -" ................... ", -" ................. ", -" .... ..... ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"48 48 150 2", +" c None", +". c #C35E5E", +"+ c #DF5858", +"@ c #E15555", +"# c #D15B5B", +"$ c #9B9B9B", +"% c #B7B7B7", +"& c #DADADA", +"* c #F9F9F9", +"= c #FFFFFF", +"- c #9F8787", +"; c #EF4E4E", +"> c #FF3737", +", c #FC3D3D", +"' c #BF5E5E", +") c #BDBDBD", +"! c #F6F6F6", +"~ c #E95858", +"{ c #FD3C3C", +"] c #C8C8C8", +"^ c #EFEFEF", +"/ c #FEFEFE", +"( c #DDB7B7", +"_ c #DB5959", +": c #ABABAB", +"< c #FAFAFA", +"[ c #F3F3F3", +"} c #BFBFBF", +"| c #A0A0A0", +"1 c #9E9E9E", +"2 c #C47373", +"3 c #CECECE", +"4 c #D9D9D9", +"5 c #9D9D9D", +"6 c #C55D5D", +"7 c #ED4F4F", +"8 c #E1E1E1", +"9 c #E9E9E9", +"0 c #FF3838", +"a c #D76B6B", +"b c #E6E6E6", +"c c #C3C3C3", +"d c #DF5757", +"e c #FA4141", +"f c #EAD6D6", +"g c #E5E5E5", +"h c #DCDCDC", +"i c #ADADAD", +"j c #E35555", +"k c #F64545", +"l c #DBB1B1", +"m c #C0C0C0", +"n c #A8A8A8", +"o c #B75E5E", +"p c #D65B5B", +"q c #B4B4B4", +"r c #AAAAAA", +"s c #EBEBEB", +"t c #D2D2D2", +"u c #C9C9C9", +"v c #F4F4F4", +"w c #F0F0F0", +"x c #B0B0B0", +"y c #EEEEEE", +"z c #9F9F9F", +"A c #F7F7F7", +"B c #CDCDCD", +"C c #BBBBBB", +"D c #B1B1B1", +"E c #CBCBCB", +"F c #FBFBFB", +"G c #FF0000", +"H c #969696", +"I c #F5F5F5", +"J c #EAEAEA", +"K c #D76060", +"L c #EC5555", +"M c #E75B5B", +"N c #C97373", +"O c #A6A6A6", +"P c #C65D5D", +"Q c #FE3939", +"R c #F34B4B", +"S c #B9B9B9", +"T c #FE3838", +"U c #EB5151", +"V c #C6C6C6", +"W c #999999", +"X c #F24C4C", +"Y c #989898", +"Z c #D0D0D0", +"` c #EE4D4D", +" . c #C25E5E", +".. c #D55B5B", +"+. c #A7A7A7", +"@. c #BCBCBC", +"#. c #F94343", +"$. c #D85A5A", +"%. c #A9A9A9", +"&. c #F44A4A", +"*. c #FF3939", +"=. c #D95A5A", +"-. c #E0E0E0", +";. c #B66161", +">. c #D67B7B", +",. c #D58282", +"'. c #E3C6C6", +"). c #FDFDFD", +"!. c #D5D5D5", +"~. c #A4A4A4", +"{. c #EDEDED", +"]. c #E3E3E3", +"^. c #A2A2A2", +"/. c #A5A5A5", +"(. c #F2F2F2", +"_. c #E7E7E7", +":. c #B2B2B2", +"<. c #B6B6B6", +"[. c #A3A3A3", +"}. c #FCFCFC", +"|. c #979797", +"1. c #C05E5E", +"2. c #C45D5D", +"3. c #F8F8F8", +"4. c #FD3B3B", +"5. c #EA5151", +"6. c #E0CACA", +"7. c #E8E8E8", +"8. c #D35B5B", +"9. c #F4EBEB", +"0. c #F1F1F1", +"a. c #D1D1D1", +"b. c #FE3B3B", +"c. c #D47676", +"d. c #EB5252", +"e. c #D3D3D3", +"f. c #C26969", +"g. c #F14D4D", +"h. c #959595", +"i. c #DEDEDE", +"j. c #D4D4D4", +"k. c #D9A8A8", +"l. c #FCFAFA", +"m. c #AD8787", +"n. c #F94444", +"o. c #CE5C5C", +"p. c #9C9C9C", +"q. c #F04C4C", +"r. c #E45555", +"s. c #B85D5D", +" ", +" ", +" . + @ # ", +" $ % & * = = = = = * & % - ; > > > > , ' ", +" ) ! = = = = = = = = = = = = ~ > > > > > > { ", +" ] = = = = = = = = = ^ / = = = ( > > > > > > > > _ ", +" : < = = = = [ } | 1 2 > > > > > > > > ; ", +" 3 = = = = 4 5 6 > > > > > > > > 7 ", +" 8 = = = 9 $ 0 > > > > > > > a ", +" b = = = c d > > > > > > e f g ", +" h = = = i j > > > > k l = = & ", +" m = = = n o # p . | = = = ) ", +" 5 = = = q r = = = $ ", +" s = = t u = = 9 ", +" : = = * v = = r ", +" w = = x n = = y ", +" z = = A ^ = = 1 ", +" B = = C D = = E ", +" F = = G G G = = < ", +" H = = I G G G G G G G J = = ", +" K L M N G G G G G G G G G m = = O ", +" P Q > > > > R G G G G G G G G G G : = = S ", +" T > > > > > > U G G G G G G G G G G G 1 = = V ", +" d > > > > > > > > G G G G G G G G G G G G W = = 3 ", +" X > > > > > > > > P G G G G G G G G G G G G Y = = Z ", +" ` > > > > > > > > . G G G G G G G G G G G 5 = = ] ", +" ..> > > > > > > Q G G G G G G G G G G +.= = @. ", +" #.> > > > > > $. G G G G G G G G G C = = %. ", +" &.> > > *.=. G G G G G G G -.= = Y ", +" ;.>.,.'. G G G G = = ). ", +" !.= = D n = = t ", +" ~.= = {. ].= = ^. ", +" A = = /. 1 = = ! ", +" q = = (. _.= = :. ", +" v = = m <.= = [ ", +" O = = = [. $ = = = ~. ", +" 3 = = }.|. 1.2. 3.= = B ", +" s = = * W # 4.> > > 5.6.= = 7. ", +" [ = = ).r 8.> > > > > > &.9.0. ", +" ^ = = = a. b.> > > > > > > c. ", +" 8 = = = }.C . > > > > > > > > d. ", +" } = = = = = e.+. f.> > > > > > > > g. ", +" h.i.= = = = = = }.8 j.u j.i.F = k.> > > > > > > > d ", +" $ !.= = = = = = = = = = = = l.g.> > > > > > 0 o ", +" r 3 3.= = = = = = = 3.B m.n.> > > > 0 o. ", +" W p.W p q.&.r.s. ", +" ", +" "}; diff --git a/share/pixmaps/iond_regtest64.png b/share/pixmaps/iond_regtest64.png index 9657e57a937ae..682a53a5dedc2 100644 Binary files a/share/pixmaps/iond_regtest64.png and b/share/pixmaps/iond_regtest64.png differ diff --git a/share/pixmaps/iond_regtest64.xpm b/share/pixmaps/iond_regtest64.xpm index 44c8e42949ed8..27e85148ee2a3 100644 --- a/share/pixmaps/iond_regtest64.xpm +++ b/share/pixmaps/iond_regtest64.xpm @@ -1,69 +1,234 @@ /* XPM */ static char * iond_regtest64_xpm[] = { -"64 64 2 1", -" c None", -". c #0000FF", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ..... ", -" .......... ....... ", -" ....................... ", -" ......................... ", -" ............ .............. ", -" ....... ......... ", -" ...... ......... ", -" ..... .......... ", -" ..... .......... ", -" ..... ..... ", -" ..... ..... ", -" ..... .... ", -" .... .... ", -" .... .... ", -" .... .... ", -" ... .... ", -" .... ... ", -" .... .... ", -" ... .... ", -" .... ... ", -" ...... ... ", -" ........ ... ", -" .......... ... ", -" .......... ... ", -" .......... ... ", -" .......... ... ", -" ........ ... ", -" ...... .... ", -" .... .... ", -" .... ... ", -" ... .... ", -" .... .... ", -" .... .... ", -" .... .... ", -" ..... .... ", -" ..... ..... ", -" ..... ..... ", -" ..... .......... ", -" ..... .......... ", -" ...... ......... ", -" ....... ......... ", -" ........... ............. ", -" ......................... ", -" ....................... ", -" ........... ....... ", -" ..... ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"64 64 167 2", +" c None", +". c #C85C5C", +"+ c #EA5151", +"@ c #F84343", +"# c #F74545", +"$ c #E65353", +"% c #C35D5D", +"& c #ADADAD", +"* c #CDCDCD", +"= c #EBEBEB", +"- c #FFFFFF", +"; c #EAEAEA", +"> c #CCCCCC", +", c #ACACAC", +"' c #F44A4A", +") c #FF3737", +"! c #EC5050", +"~ c #BBBBBB", +"{ c #F4F4F4", +"] c #EDDDDD", +"^ c #F74747", +"/ c #EE4D4D", +"( c #9D9D9D", +"_ c #DCDCDC", +": c #DD6868", +"< c #CA5C5C", +"[ c #959595", +"} c #E1E1E1", +"| c #F1F1F1", +"1 c #EFEFEF", +"2 c #F8F3F3", +"3 c #FC3E3E", +"4 c #F24B4B", +"5 c #C2C2C2", +"6 c #DBDBDB", +"7 c #B4B4B4", +"8 c #9B9B9B", +"9 c #9A9A9A", +"0 c #B1B1B1", +"a c #C7A1A1", +"b c #E8E8E8", +"c c #E3E3E3", +"d c #AAAAAA", +"e c #B75E5E", +"f c #A3A3A3", +"g c #FCFCFC", +"h c #A7A7A7", +"i c #F5F5F5", +"j c #F04D4D", +"k c #E36060", +"l c #AEAEAE", +"m c #D2D2D2", +"n c #BD5D5D", +"o c #FE3B3B", +"p c #E0BDBD", +"q c #ABABAB", +"r c #D35B5B", +"s c #FE3838", +"t c #D58989", +"u c #A2A2A2", +"v c #FDFDFD", +"w c #C45E5E", +"x c #F84545", +"y c #F34B4B", +"z c #B17171", +"A c #FBFBFB", +"B c #E9E9E9", +"C c #B95E5E", +"D c #C55D5D", +"E c #C45D5D", +"F c #FEFEFE", +"G c #C8C8C8", +"H c #B3B3B3", +"I c #C5C5C5", +"J c #999999", +"K c #C1C1C1", +"L c #989898", +"M c #E7E7E7", +"N c #F0F0F0", +"O c #E5E5E5", +"P c #A1A1A1", +"Q c #D6D6D6", +"R c #C7C7C7", +"S c #E4E4E4", +"T c #CACACA", +"U c #C3C3C3", +"V c #A4A4A4", +"W c #FAFAFA", +"X c #FF0000", +"Y c #B7B7B7", +"Z c #D1D1D1", +"` c #C0C0C0", +" . c #B5B5B5", +".. c #FCFAFA", +"+. c #DADADA", +"@. c #DC5858", +"#. c #F84444", +"$. c #FD3C3C", +"%. c #EB5555", +"&. c #BB6868", +"*. c #F9F9F9", +"=. c #FD3A3A", +"-. c #BA5D5D", +";. c #E45555", +">. c #BB5E5E", +",. c #D8D8D8", +"'. c #979797", +"). c #E05656", +"!. c #CECECE", +"~. c #9C9C9C", +"{. c #C85D5D", +"]. c #F54848", +"^. c #D4D4D4", +"/. c #E75353", +"(. c #DFDFDF", +"_. c #FB4040", +":. c #C75D5D", +"<. c #CC5D5D", +"[. c #DE5757", +"}. c #E2E2E2", +"|. c #F74646", +"1. c #DD5F5F", +"2. c #BCBCBC", +"3. c #A77B7B", +"4. c #D69A9A", +"5. c #DAAAAA", +"6. c #F3E9E9", +"7. c #9E9E9E", +"8. c #C9C9C9", +"9. c #B9B9B9", +"0. c #CFCFCF", +"a. c #A0A0A0", +"b. c #F2F2F2", +"c. c #A6A6A6", +"d. c #A9A9A9", +"e. c #F6F6F6", +"f. c #F7F7F7", +"g. c #F3F3F3", +"h. c #E15555", +"i. c #FB3F3F", +"j. c #DC5959", +"k. c #9D7676", +"l. c #F8F8F8", +"m. c #BF5E5E", +"n. c #FD3D3D", +"o. c #FA4242", +"p. c #DBB1B1", +"q. c #B6B6B6", +"r. c #B2B2B2", +"s. c #F94343", +"t. c #ECDBDB", +"u. c #DC6C6C", +"v. c #FE3939", +"w. c #DEDEDE", +"x. c #B18383", +"y. c #BFBFBF", +"z. c #EDEDED", +"A. c #F2E6E6", +"B. c #FE3A3A", +"C. c #E75B5B", +"D. c #D85A5A", +"E. c #E0BEBE", +"F. c #F94444", +"G. c #B56565", +"H. c #FC3D3D", +"I. c #FA4040", +"J. c #DB5959", +" ", +" ", +" ", +" . + @ # $ % ", +" & * = - - - - - - - - ; > , ' ) ) ) ) ) ) ! ", +" ~ { - - - - - - - - - - - - - - - ] ^ ) ) ) ) ) ) ) ) / ", +" ( _ - - - - - - - - - - - - - - - - - - : ) ) ) ) ) ) ) ) ) ) < ", +" [ } - - - - - - - - - - - - | 1 - - - - - 2 3 ) ) ) ) ) ) ) ) ) ) 4 ", +" 5 - - - - - - - - 6 7 8 9 0 a ) ) ) ) ) ) ) ) ) ) ) ) ", +" b - - - - - - c d e ) ) ) ) ) ) ) ) ) ) ) ) ", +" f g - - - - - 6 8 ) ) ) ) ) ) ) ) ) ) ) 3 ", +" h - - - - - i d j ) ) ) ) ) ) ) ) ) ) k l ", +" & - - - - - m n ) ) ) ) ) ) ) ) ) o p - q ", +" f - - - - - 7 r ) ) ) ) ) ) ) s t - - - u ", +" v - - - - l w x ) ) ) ) y z A - - - v ", +" B - - - - h C D E 8 F - - - = ", +" G - - - - H h - - - - I ", +" J - - - - m K - - - - L ", +" M - - - N O - - - O ", +" f - - - - P L - - - - P ", +" O - - - Q R - - - S ", +" J - - - - L - - - - J ", +" I - - - 6 T - - - U ", +" A - - - V 9 - - - W ", +" 9 - - - A X X X | - - - J ", +" Y - - - Z X X X X X X X X X ` - - - . ", +" _ ..- - , X X X X X X X X X X X P - - - +. ", +" @.#.) $.%.&. X X X X X X X X X X X X X - - - *. ", +" w =.) ) ) ) ) ) $ X X X X X X X X X X X X X v - - - ", +" -.s ) ) ) ) ) ) ) ) ;. X X X X X X X X X X X X X X X O - - - ", +" ' ) ) ) ) ) ) ) ) ) ) >. X X X X X X X X X X X X X X X ,.- - - '. ", +" e ) ) ) ) ) ) ) ) ) ) ) ). X X X X X X X X X X X X X X X !.- - - ~. ", +" {.) ) ) ) ) ) ) ) ) ) ) 4 X X X X X X X X X X X X X X X > - - - ( ", +" < ) ) ) ) ) ) ) ) ) ) ) ]. X X X X X X X X X X X X X X X ^.- - - L ", +" n ) ) ) ) ) ) ) ) ) ) ) /. X X X X X X X X X X X X X X X (.- - - ", +" _.) ) ) ) ) ) ) ) ) ) :. X X X X X X X X X X X X X X *.- - - ", +" <.) ) ) ) ) ) ) ) ) ' X X X X X X X X X X X X X - - - v ", +" [.) ) ) ) ) ) ) #. X X X X X X X X X X X 9 - - - }. ", +" :.|.) ) ) =.1. X X X X X X X X X Y - - - 2. ", +" 3.4.5.6.{ X X X X X O - - - 7. ", +" - - - - 9 - - - F ", +" Z - - - 8. 9.- - - 0. ", +" P - - - - *.- - - a. ", +" b.- - - K 7 - - - N ", +" & - - - - W - - - q ", +" { - - - _ !.- - - b. ", +" c.- - - - 7 d.- - - - f ", +" +.- - - - 8 g - - - ,. ", +" e.- - - *. N - - - f. ", +" P - - - - g. h.$.) ) i.j.k.; - - - - a. ", +" Y - - - - l.J m.n.) ) ) ) ) ) o.p.- - - q. ", +" K - - - - F r. $.) ) ) ) ) ) ) ) s.t.- U ", +" I - - - - - ^. $ ) ) ) ) ) ) ) ) ) ) u.U ", +" 9.- - - - - g q. v.) ) ) ) ) ) ) ) ) ) #. ", +" V *.- - - - - W 9. ) ) ) ) ) ) ) ) ) ) ) ) ", +" w.- - - - - - - } H L [ x.) ) ) ) ) ) ) ) ) ) ) ) ", +" d.e.- - - - - - - - - | ^.8.` y.8.m z.- - A.B.) ) ) ) ) ) ) ) ) ) @ ", +" H e.- - - - - - - - - - - - - - - - - - C.) ) ) ) ) ) ) ) ) ) D. ", +" h _ - - - - - - - - - - - - - - - - E.n.) ) ) ) ) ) ) ) F. ", +" c.G { - - - - - - - - - - { G c.G.H.) ) ) ) ) ) s. ", +" 7.f c.c.u 7. ).H.) ) I.J. ", +" ", +" ", +" "}; diff --git a/share/pixmaps/iond_testnet.ico b/share/pixmaps/iond_testnet.ico index db86e9da3546d..85c71556f9f69 100644 Binary files a/share/pixmaps/iond_testnet.ico and b/share/pixmaps/iond_testnet.ico differ diff --git a/share/pixmaps/iond_testnet128.png b/share/pixmaps/iond_testnet128.png index 3e7f67a8eb966..f41c0767baa58 100644 Binary files a/share/pixmaps/iond_testnet128.png and b/share/pixmaps/iond_testnet128.png differ diff --git a/share/pixmaps/iond_testnet128.xpm b/share/pixmaps/iond_testnet128.xpm index df5f0786d6132..0196d52bde169 100644 --- a/share/pixmaps/iond_testnet128.xpm +++ b/share/pixmaps/iond_testnet128.xpm @@ -1,202 +1,382 @@ /* XPM */ -static char * iond_testnet128_xpm[] = { -"128 128 71 1", -" c None", -". c #13BDFC", -"+ c #14BFFF", -"@ c #13BFFF", -"# c #13BEFF", -"$ c #13BCFB", -"% c #13BBFB", -"& c #13BBFA", -"* c #13BAFB", -"= c #14BEFD", -"- c #14BEFF", -"; c #14BDFE", -"> c #13BBFC", -", c #13BEFE", -"' c #13BDFE", -") c #13B2EE", -"! c #13C0FF", -"~ c #12BEFE", -"{ c #13BAF9", -"] c #14BEFE", -"^ c #12BBFB", -"/ c #14C0FF", -"( c #13BCFA", -"_ c #11B6F5", -": c #13BDFD", -"< c #13BAFA", -"[ c #13BAF8", -"} c #12BBFA", -"| c #13B5F4", -"1 c #12B9F9", -"2 c #12B8F6", -"3 c #12BDFB", -"4 c #12B3EF", -"5 c #14BCFB", -"6 c #13BCFC", -"7 c #13BBF9", -"8 c #12BDFC", -"9 c #12B9F7", -"0 c #12B6F3", -"a c #12B7F5", -"b c #14BDFC", -"c c #12B8F7", -"d c #14BCFD", -"e c #13BDFF", -"f c #12BAFA", -"g c #12B7F7", -"h c #12BFFF", -"i c #13B8F8", -"j c #13B9F8", -"k c #13B9F7", -"l c #13B9F6", -"m c #12BAF9", -"n c #12BCFC", -"o c #13B7F5", -"p c #13BFFE", -"q c #12BEFD", -"r c #14BFFE", -"s c #12B6F5", -"t c #14BDFD", -"u c #12B5F1", -"v c #14BBFA", -"w c #13BBF8", -"x c #12B7F6", -"y c #11B3F0", -"z c #13B7F4", -"A c #13B7F6", -"B c #12B8F5", -"C c #13B8F7", -"D c #12BCFE", -"E c #13B9F9", -"F c #11ABE3", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+@#@@$ ", -" %@@@@@@@@#& ", -" *=#+@@+##+@@-;> ,@@@@@@@@@@@@ ", -" '#@@@@@@@@@@@@@@@@@@#@@),@@@@@@@@@@@@@! ", -" ~+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{ ", -" .@!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# ", -" ]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@% ", -" .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ", -" ^@@@@@@@@@@@@@@@@@!@+##@@/@@#@@@@@@@@@@@@@@@@@@@@@@@+ ", -" ,!@@@@@@@@@@@@##]( _'+@@@@@@@@@@@@@@@@@@@@ ", -" :+@@@@@@@@@@@#@< /@@@@@@@@@@@@@@@@@@ ", -" '#@@@@@@@@@@-; ,@@@@@@@@@@@@@@@@@@ ", -" '@@@@@@@@@@@< @@@@@@@@@@@@@@@@@[ ", -" -@@@@@@@@@!} @@@@@@@@@@@@@@@@@@| ", -" @@@@@@@@@@' 1#@@@@@@@@@@@@@@@@@2 ", -" @@@@@@@@@+3 %@@@@@@@@@@@@@@@@@#2 ", -" #@@@@@@@@@ ~#@@@@@@@@@@@@@@@@@4 ", -" #@@@@@@@@: +@@@@@@@@@@@@@@@@@ ", -" ,@@@@@@@@5 '@#@+ #@@@@@@@@ ", -" =@@@@@@@@6 -@@@@@@@] ", -" #@@@@@@@6 !@@@@@@@7 ", -" -@@@@@@@8 @@@@@@@# ", -" ,@@@@@@@# 8@@@@@@@# ", -" #@@@@@@@ '@@@@@@@9 ", -" #@@@@@@# +@@@@@@@ ", -" #@@@@@@8 @@@@@@@8 ", -" #@@@@@@@ ,@@@@@@# ", -" !@@@@@!0 #@@@@@@. ", -" #@@@@@@- 6@@@@@@@ ", -" #@@@@@! @@@@@@@{ ", -" ,@@@@@@@ 6@@@@@@@ ", -" #@@@@@@a +@@@@@@ ", -" @@@@@@@ ,@@@@@@b ", -" '@@@@@@' #@@@@@@ ", -" -@@@@@# #@@@@@! ", -" #@@@@@# .@@@@@@[ ", -" @@@@@@@ @@@@@@' ", -" '@@@@@@7 @@@@@@@ ", -" @@@@@@! @@@@@@@ ", -" ##@@@@@@@] #@@@@@@ ", -" #@@@@@@@@@@@ c@@@@@@a ", -" -@@@@@@@@@@@@- @@@@@@d ", -" /@@@@@@@@@@@@@@+ @@@@@@e ", -" f@@@@@@@@@@@@@@@@- #@@@@@+ ", -" #@@@@@@@@@@@@@@@@@ #@@@@@# ", -" @@@@@@@@@@@@@@@@@! #@@@@@@ ", -" g@@@@@@@@@@@@@@@@@@h #@@@@@# ", -" <@@@@@@@@@@@@@@@@@@@ #@@@@@+ ", -" i@@@@@@@@@@@@@@@@@@@ #@@@@@- ", -" !@@@@@@@@@@@@@@@@@ @@@@@@+ ", -" #@@@@@@@@@@@@@@@@+ @@@@@@@ ", -" 6@@@@@@@@@@@@@@@@@ j@@@@@@k ", -" !@@@@@@@@@@@@@@! ]@@@@@@ ", -" l#@@@@@@@@@@@@#$ @@@@@@# ", -" m#@@@@@@@@@@#n @@@@@@# ", -" @@@@@@@@@- @@@@@@@ ", -" $+@@@@@@+ .@@@@@@o ", -" @@@@@@# @@@@@@@ ", -" p@@@@@@6 #@@@@@# ", -" @@@@@@+ q@@@@@@r ", -" +@@@@@! @@@@@@@ ", -" @@@@@@@- k@@@@@@@ ", -" #@@@@@# @@@@@@@$ ", -" @@@@@@@, s@@@@@@# ", -" ^!@@@@@# #@@@@@@t ", -" +@@@@@@@ 6@@@@@@# ", -" :@@@@@@@& @@@@@@@' ", -" #@@@@@@@ -@@@@@@@ ", -" #@@@@@@@ r@@@@@@@$ ", -" -@@@@@@@] #@@@@@@@ ", -" #@@@@@@@6 +@@@@@@!u ", -" #@@@@@@#v @@@@@@@@6 ", -" .@@@@@@@@$ #@@@@@@@# ", -" -@@@@@@@#w %6@nx #@@@@@@@! ", -" @@@@@@@@#' +@@@@@@#/#@@@@@@@#y ", -" +@@@@@@@@' :@@@@@@@@@@@@@@@@@@z ", -" #@@@@@@@@# n#@@@@@@@@@@@@@@@@@A ", -" #@@@@@@@@@$ @@@@@@@@@@@@@@@@@@c ", -" +@@@@@@@@@@B @@@@@@@@@@@@@@@@@#x ", -" #@@@@@@@@@@# !@@@@@@@@@@@@@@@@C ", -" @@@@@@@@@@@!@x D@@@@@@@@@@@@@@@@@@ ", -" %@@@@@@@@@@@@#, @@@@@@@@@@@@@@@@@@@ ", -" @@@@@@@@@@@@@@@-} 9##@@@@@@@@@@@@@@@@@@! ", -" .#@@@@@@@@@@@@@@@!+@-#+#+!@+@#@@@@@@@@@@@@@@@@@@@@@@# ", -" @#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+ ", -" !#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@, ", -" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# ", -" :@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@, ", -" $@+!@@@@@@@@@@@@@@@@@@@@o@@@@@@@@@@@@@@+ ", -" E'@-+#######@@+,: !@@@@@@@@@@@# ", -" .!@@@@@@@@, ", -" p@!!!@#F ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +static char * iond128_testnet_xpm[] = { +"128 128 251 2", +" c None", +". c #649E7B", +"+ c #62AE7F", +"@ c #60B782", +"# c #5BBA81", +"$ c #5CBA81", +"% c #60B481", +"& c #63AC80", +"* c #629978", +"= c #969696", +"- c #9B9B9B", +"; c #A0A0A0", +"> c #A7A7A7", +", c #ABABAB", +"' c #B0B0B0", +") c #62AE80", +"! c #50BF7B", +"~ c #4FC07B", +"{ c #55BE7E", +"] c #64A57D", +"^ c #B4B4B4", +"/ c #C9C9C9", +"( c #E5E5E5", +"_ c #FEFEFE", +": c #FFFFFF", +"< c #E4E4E4", +"[ c #64A27C", +"} c #52BF7C", +"| c #59BC80", +"1 c #BDBDBD", +"2 c #EAEAEA", +"3 c #E8E8E8", +"4 c #9E9E9E", +"5 c #639C79", +"6 c #A3A3A3", +"7 c #D5D5D5", +"8 c #7CB692", +"9 c #629776", +"0 c #C7C7C7", +"a c #FCFCFC", +"b c #9CC0AA", +"c c #50C17C", +"d c #F5F8F6", +"e c #5ABC80", +"f c #EEEEEE", +"g c #88B89B", +"h c #50C07B", +"i c #A8A8A8", +"j c #F3F3F3", +"k c #61BB84", +"l c #64A980", +"m c #DEDEDE", +"n c #F8F8F8", +"o c #EDEDED", +"p c #E1E1E1", +"q c #EBEBEB", +"r c #F4F4F4", +"s c #D8E4DC", +"t c #BFBFBF", +"u c #FBFBFB", +"v c #A9A9A9", +"w c #999999", +"x c #979797", +"y c #A6A6A6", +"z c #B7B7B7", +"A c #CECECE", +"B c #9DC0AB", +"C c #9A9A9A", +"D c #F2F2F2", +"E c #FDFDFD", +"F c #959595", +"G c #7DAC8F", +"H c #B2B2B2", +"I c #DBDBDB", +"J c #AAAAAA", +"K c #64A67E", +"L c #D8D8D8", +"M c #B1B1B1", +"N c #639A78", +"O c #A4A4A4", +"P c #4FBF7B", +"Q c #5DB981", +"R c #BBBBBB", +"S c #5EB982", +"T c #7DB693", +"U c #AFAFAF", +"V c #D7D7D7", +"W c #C6D7CD", +"X c #B3B3B3", +"Y c #5ABB80", +"Z c #71B58C", +"` c #649C7A", +" . c #57BE7F", +".. c #D9E4DD", +"+. c #64A77E", +"@. c #ABC7B6", +"#. c #63AA7F", +"$. c #53BF7D", +"%. c #9BBFA9", +"&. c #989898", +"*. c #F7F7F7", +"=. c #ADADAD", +"-. c #64A07C", +";. c #5ABC81", +">. c #B7CDBF", +",. c #F5F5F5", +"'. c #DCDCDC", +"). c #63AD80", +"!. c #52C07D", +"~. c #56BE7E", +"{. c #64A47C", +"]. c #649D7A", +"^. c #63AF81", +"/. c #61B582", +"(. c #5BBA80", +"_. c #5EBA82", +":. c #61B382", +"<. c #64AB80", +"[. c #639777", +"}. c #9C9C9C", +"|. c #F6F6F6", +"1. c #CCCCCC", +"2. c #C5C5C5", +"3. c #C8C8C8", +"4. c #E6E6E6", +"5. c #A5A5A5", +"6. c #CDCDCD", +"7. c #FAFAFA", +"8. c #F9F9F9", +"9. c #AEAEAE", +"0. c #C0C0C0", +"a. c #DDDDDD", +"b. c #B5B5B5", +"c. c #E0E0E0", +"d. c #ECECEC", +"e. c #00A540", +"f. c #00A440", +"g. c #D0D0D0", +"h. c #D4D4D4", +"i. c #C2C2C2", +"j. c #00A23F", +"k. c #A2A2A2", +"l. c #CFCFCF", +"m. c #FCFDFC", +"n. c #E6EDE9", +"o. c #00A53F", +"p. c #63A07A", +"q. c #67B786", +"r. c #59BE80", +"s. c #51C07C", +"t. c #6CB689", +"u. c #96BDA5", +"v. c #B4BAB6", +"w. c #65A77F", +"x. c #54BF7E", +"y. c #56BF7F", +"z. c #00A33F", +"A. c #649B7A", +"B. c #57BE80", +"C. c #54BE7D", +"D. c #59BB7F", +"E. c #5FB581", +"F. c #65A57E", +"G. c #639A79", +"H. c #5DBA81", +"I. c #B6B6B6", +"J. c #63AE81", +"K. c #63A37C", +"L. c #5FB882", +"M. c #D2D2D2", +"N. c #ACACAC", +"O. c #5FB781", +"P. c #61B180", +"Q. c #B9B9B9", +"R. c #63AB80", +"S. c #64A57E", +"T. c #629B77", +"U. c #53C07D", +"V. c #A1A1A1", +"W. c #64AD81", +"X. c #64A37C", +"Y. c #00A53E", +"Z. c #61B381", +"`. c #62AD7F", +" + c #D9D9D9", +".+ c #63A67E", +"++ c #58BD80", +"@+ c #7AB591", +"#+ c #A1A9A4", +"$+ c #659A7A", +"%+ c #81B495", +"&+ c #75B48E", +"*+ c #6FB58A", +"=+ c #78B690", +"-+ c #86B799", +";+ c #B5CDBE", +">+ c #BCBCBC", +",+ c #9D9D9D", +"'+ c #B8B8B8", +")+ c #D6D6D6", +"!+ c #DADADA", +"~+ c #D3D3D3", +"{+ c #F1F1F1", +"]+ c #639879", +"^+ c #639D7A", +"/+ c #639B79", +"(+ c #5EB781", +"_+ c #64A47D", +":+ c #64AD80", +"<+ c #51BF7C", +"[+ c #65A27C", +"}+ c #BEBEBE", +"|+ c #5BBB81", +"1+ c #6BB789", +"2+ c #ECF1EE", +"3+ c #62BA84", +"4+ c #F0F4F2", +"5+ c #CACACA", +"6+ c #5BBC81", +"7+ c #6BB688", +"8+ c #63B081", +"9+ c #95BDA5", +"0+ c #5ABD80", +"a+ c #F3F6F4", +"b+ c #E2E2E2", +"c+ c #62B081", +"d+ c #94BCA4", +"e+ c #67B486", +"f+ c #639E7A", +"g+ c #E9E9E9", +"h+ c #68A27F", +"i+ c #B3CCBD", +"j+ c #FAFBFB", +"k+ c #56BE7F", +"l+ c #62B181", +"m+ c #C5D7CC", +"n+ c #70B58B", +"o+ c #DFDFDF", +"p+ c #EAF0EC", +"q+ c #5EBC83", +"r+ c #91A498", +"s+ c #55BD7D", +"t+ c #5CB981", +"u+ c #EFEFEF", +"v+ c #52BF7D", +"w+ c #58BE80", +"x+ c #649F7B", +"y+ c #63A87E", +"z+ c #5CBB82", +"A+ c #5FB681", +"B+ c #63A27C", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & * ", +" = - ; > , ' ' , > ; - = ) ! ~ ~ ~ ~ ~ ~ ~ ~ { ] ", +" ; ^ / ( _ : : : : : : : : : : : : : : _ < / ^ ; [ } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | ", +" ; 1 2 : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1 4 & ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ } 5 ", +" 6 7 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! 9 ", +" - 0 a : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : b c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { ", +" 6 3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : d e ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ) ", +" > f : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : g ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ h ", +" i j : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : k ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ l ", +" m : : : : : : : : : : : : : : : : : : : : : : : : : n o p p q r : : : : : : : : : : s c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ $ ", +" t : : : : : : : : : : : : : : : : : : : u 7 1 v w x y z A r : : B ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c ", +" C D : : : : : : : : : : : : : : : : E 7 ' F v G ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" H : : : : : : : : : : : : : : : : I J K ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" L : : : : : : : : : : : : : : D M [ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" x j : : : : : : : : : : : : : o i N ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ c ", +" 4 u : : : : : : : : : : : : o O P ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Q ", +" 6 _ : : : : : : : : : : : _ R S ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ T > ", +" U : : : : : : : : : : : : V [ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ h W : H ", +" X : : : : : : : : : : : a J Y ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Z : : : M ", +" v : : : : : : : : : : : q ` c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ...: : : : y ", +" ; : : : : : : : : : : : / +.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! @.: : : : : _ 4 ", +" = u : : : : : : : : : : R #.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ $.%.: : : : : : : a &. ", +" *.: : : : : : : : : : =. -.$.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ;.>.: : : : : : : : : ,. ", +" '.: : : : : : : : : _ y ).!.~ ~ ~ ~ ~ ~ ~ ~ ~.{. D : : : : : : : : : m ", +" R : : : : : : : : : : 6 ].^./.(._.:.<.[. ,.: : : : : : : : : 1 ", +" ; : : : : : : : : : : , = u : : : : : : : : : }. ", +" |.: : : : : : : : : z 4 _ : : : : : : : : r ", +" 1.: : : : : : : : : 2. J : : : : : : : : : 3. ", +" - : : : : : : : : : ( / : : : : : : : : : w ", +" 3 : : : : : : : : u 3 : : : : : : : : 4. ", +" H : : : : : : : : : 5. a : : : : : : : : U ", +" a : : : : : : : : 6. U : : : : : : : : 7. ", +" z : : : : : : : : u < : : : : : : : : ^ ", +" 8.: : : : : : : : 9. w : : : : : : : : n ", +" X : : : : : : : : ( 2.: : : : : : : : ' ", +" |.: : : : : : : : }. E : : : : : : : r ", +" v : : : : : : : : p 0.: : : : : : : : > ", +" a.: : : : : : : : ; _ : : : : : : : '. ", +" : : : : : : : : 3 2.: : : : : : : : ", +" b.: : : : : : : : y : : : : : : : : H ", +" o : : : : : : : E c.: : : : : : : d. ", +" = : : : : : : : : 0 J : : : : : : : : ", +" M : : : : : : : : - e.f.f. _ : : : : : : : U ", +" L : : : : : : : j e.f.f.f.f.f.f.f.f.f.f. g.: : : : : : : h. ", +" E : : : : : : : i. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.j. > : : : : : : : a ", +" w : : : : : : : : k. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. : : : : : : : : = ", +" ^ : : : : : : : : j.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. D : : : : : : : M ", +" l.: m.n.: : : : d. o.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. 2.: : : : : : : 1. ", +" p.q.r.s.~ !.| t.u.v. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. y : : : : : : : 3 ", +" w.x.~ ~ ~ ~ ~ ~ ~ ~ ~ y.w. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. F : : : : : : : : ", +" | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ $ f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.z. : : : : : : : : ", +" A.$.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ B. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. n : : : : : : : - ", +" C.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.e. I : : : : : : : J ", +" D.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ E. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. 2.: : : : : : : ^ ", +" F.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ G. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. 1 : : : : : : : 1 ", +" { ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ H. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. I.: : : : : : : 0 ", +" N ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.j. ' : : : : : : : 1. ", +" J.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ K. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. J : : : : : : : g. ", +" L.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ^. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. y : : : : : : : M. ", +" e ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ % f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.e. N.: : : : : : : 6. ", +" ~.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ O. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. X : : : : : : : / ", +" $ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ P. z.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. Q.: : : : : : : i. ", +" /.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ R. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. 0.: : : : : : : z ", +" S.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ T. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. 6.: : : : : : : 9. ", +" ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ U. z.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. 2 : : : : : : : V. ", +" O.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ). f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. : : : : : : : : ", +" c ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ $. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. : : : : : : : : ", +" W.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ X. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.Y. }.: : : : : : : ,. ", +" E.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ) f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.e. M : : : : : : : V ", +" Z.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ `. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. +: : : : : : : 1 ", +" .+} ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { -. f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.z. _ : : : : : : : V. ", +" `.{ ~ ~ ~ ~ ~ ~ ~ ++@+#+ Y.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f. C : : : : : : : : ", +" $+%+&+*+=+-+;+E : L o.f.f.f.f.f.f.f.f.f.f.f.f. z : : : : : : : 3 ", +" t : : : : : : : : e.f.f.f.f.f.f.Y. o : : : : : : : >+ ", +" ; : : : : : : : : N. = : : : : : : : : 4 ", +" E : : : : : : : ( 0.: : : : : : : a ", +" 1.: : : : : : : : n : : : : : : : 0 ", +" ,+: : : : : : : : t 5.: : : : : : : : - ", +" r : : : : : : : E 3 : : : : : : : r ", +" >+: : : : : : : : Q. V.: : : : : : : : Q. ", +" : : : : : : : : u < : : : : : : : : ", +" g.: : : : : : : : Q. ; : : : : : : : : 6. ", +" F : : : : : : : : _ o : : : : : : : : ", +" h.: : : : : : : : + '+: : : : : : : : M. ", +" w : : : : : : : : : k. E : : : : : : : : x ", +" )+: : : : : : : : D !+: : : : : : : : M. ", +" E : : : : : : : : ~+ I.: : : : : : : : E ", +" z : : : : : : : : : M w : : : : : : : : : ^ ", +" d.: : : : : : : : _ &. D : : : : : : : : 2 ", +" 4 : : : : : : : : : {+ '.: : : : : : : : : ,+ ", +" i.: : : : : : : : : q l.: : : : : : : : : 2. ", +" < : : : : : : : : : c. ]+^+/+ i.: : : : : : : : : ( ", +" u : : : : : : : : : h. #.Y ~ ~ ~ ~ ~ P (+_+ R : : : : : : : : : 8. ", +" > : : : : : : : : : : '. :+<+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~.[+}+: : : : : : : : : : 6 ", +" 0.: : : : : : : : : : ( |+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1+2+: : : : : : : : 1 ", +" 6.: : : : : : : : : : f { ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 3+4+: : : : : : 5+ ", +" )+: : : : : : : : : : u J 6+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 7+E : : : : L ", +" m : : : : : : : : : : : 5+ 8+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 9+: : : c. ", +" < : : : : : : : : : : : 4. P ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0+a+: b+ ", +" L : : : : : : : : : : : : 2. c+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ d+!+ ", +" A : : : : : : : : : : : : r y { ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ e+ ", +" 0.: : : : : : : : : : : : : 2 > 9 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ x. ", +" , E : : : : : : : : : : : : : q y f+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" 3 : : : : : : : : : : : : : : *.2.w ] ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" 1.: : : : : : : : : : : : : : : : g+M h+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" y r : : : : : : : : : : : : : : : : : 8.A J O 2.j 9+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ", +" i.: : : : : : : : : : : : : : : : : : : : : r 7 1 U > k.4 w &.,+V.> =.'+g.o : : : : : i+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ x. ", +" '.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : j+k+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ l+ ", +" k.4.: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : *+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ^+ ", +" ,+m : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : m+s.~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ D. ", +" - g._ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : n+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 5 ", +" > o+: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : p+q+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 8+ ", +" M L E : : : : : : : : : : : : : : : : : : : : : : : : : : : : E )+r+s+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ O. ", +" w ^ I 7.: : : : : : : : : : : : : : : : : : : : 7.!+^ &. t+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ l+ ", +" x y z 5+L 4.u+7.: : 7.u+4.L / z 5.= <.v+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ w+x+ ", +" y+z+~ ~ ~ ~ ~ s.A+B+ ", +" A.G. ", +" ", +" ", +" ", +" ", +" "}; diff --git a/share/pixmaps/iond_testnet16.png b/share/pixmaps/iond_testnet16.png index dd0d38b4debb5..7af3b56591503 100644 Binary files a/share/pixmaps/iond_testnet16.png and b/share/pixmaps/iond_testnet16.png differ diff --git a/share/pixmaps/iond_testnet16.xpm b/share/pixmaps/iond_testnet16.xpm index 9cde610676291..e7eaf80056ebc 100644 --- a/share/pixmaps/iond_testnet16.xpm +++ b/share/pixmaps/iond_testnet16.xpm @@ -1,29 +1,82 @@ /* XPM */ static char * iond_testnet16_xpm[] = { -"16 16 10 1", +"16 16 63 1", " c None", -". c #12BDFB", -"+ c #13BFFF", -"@ c #13BAF9", -"# c #13B9F7", -"$ c #13BEFF", -"% c #13BEFE", -"& c #14BEFF", -"* c #12BDFD", -"= c #12BCFA", +". c #9E9E9E", +"+ c #CDCDCD", +"@ c #F8F8F8", +"# c #FFFFFF", +"$ c #73AE8B", +"% c #4FC07B", +"& c #57BE80", +"* c #D4D4D4", +"= c #9A9A9A", +"- c #60B782", +"; c #679076", +"> c #E0E0E0", +", c #AEAEAE", +"' c #639878", +") c #5EBA82", +"! c #69AD84", +"~ c #DBDCDB", +"{ c #BBBBBB", +"] c #B9B9B9", +"^ c #B7B7B7", +"/ c #F3F3F3", +"( c #F0F0F0", +"_ c #82998B", +": c #A2B0A8", +"< c #BEBEBE", +"[ c #A0A0A0", +"} c #659F7B", +"| c #50C17C", +"1 c #51BF7C", +"2 c #00A440", +"3 c #A9A9A9", +"4 c #AFAFAF", +"5 c #63AB80", +"6 c #64A27C", +"7 c #A8A8A8", +"8 c #B0B0B0", +"9 c #63B583", +"0 c #67B284", +"a c #00A53F", +"b c #BCBCBC", +"c c #F1F1F1", +"d c #EEEEEE", +"e c #BFBFBF", +"f c #B4B4B4", +"g c #B2B2B2", +"h c #BDBDBD", +"i c #E5E5E5", +"j c #A7A7A7", +"k c #5FB581", +"l c #6CA984", +"m c #E1E1E1", +"n c #DADADA", +"o c #CCCCCC", +"p c #959595", +"q c #61B782", +"r c #6A9079", +"s c #A2A2A2", +"t c #FEFEFE", +"u c #EFEFEF", +"v c #71B08A", +"w c #55BE7E", +"x c #629776", " ", -" ", -" . +@ ", -" ++ #++ ", -" + $+% ", -" $ + ", -" + + ", -" ++ + ", -" ++ + ", -" + + ", -" & + ", -" + %+% ", -" ++ ++ ", -" * += ", -" ", -" "}; +" .+@#@$%& ", +" **= -%%; ", +" >, ')!~ ", +" {] ^] ", +" / ( ", +" _: <[", +"}|1 222 34", +"5%%6 222 78", +" 90 a b[", +" c d ", +" ef gh ", +" ij klm ", +" nop q%%r ", +" s*tutv%w ", +" x "}; diff --git a/share/pixmaps/iond_testnet256.png b/share/pixmaps/iond_testnet256.png index 2085c02f44a26..1624891a4b111 100644 Binary files a/share/pixmaps/iond_testnet256.png and b/share/pixmaps/iond_testnet256.png differ diff --git a/share/pixmaps/iond_testnet256.xpm b/share/pixmaps/iond_testnet256.xpm index 0b4b3d1823c94..bd80805a71da5 100644 --- a/share/pixmaps/iond_testnet256.xpm +++ b/share/pixmaps/iond_testnet256.xpm @@ -1,307 +1,571 @@ /* XPM */ static char * iond_testnet256_xpm[] = { -"256 256 48 1", -" c None", -". c #12BDFD", -"+ c #13BEFF", -"@ c #14BEFF", -"# c #13BFFF", -"$ c #14BFFF", -"% c #13C0FF", -"& c #12B7F3", -"* c #13BEFD", -"= c #13BDFF", -"- c #12BAFA", -"; c #13BCFA", -"> c #13B8F6", -", c #14C0FF", -"' c #12BBFA", -") c #13BDFD", -"! c #13BCFB", -"~ c #14BDFF", -"{ c #12BBF9", -"] c #12BFFF", -"^ c #13BCFD", -"/ c #13BBFB", -"( c #12BEFF", -"_ c #13BDFC", -": c #13BAF9", -"< c #12B9F8", -"[ c #14B8F7", -"} c #13BFFE", -"| c #12B7F4", -"1 c #14BDFD", -"2 c #13B8F5", -"3 c #13BDFE", -"4 c #13BEFE", -"5 c #14BEFD", -"6 c #12BAF7", -"7 c #14BBFA", -"8 c #13B9F7", -"9 c #14BFFE", -"0 c #12BCFB", -"a c #12B9F6", -"b c #13BBFA", -"c c #13BCFC", -"d c #13BAF8", -"e c #13B9F8", -"f c #14BCFB", -"g c #12BEFD", -"h c #12AEEB", -"i c #14BBFB", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+@####+$+#+ ", -" $+++++%###+++++#& ", -" %$++############++## ", -" #++#################+$* ", -" =+@#+#++##+++##+$+#$#@ -++####################+#$ ", -" ##$+$+++++++++%%%%%%%+++++++#+$#### ;#+#######################++ ", -" +$+#++++%%#######################%%++++++$+ >#+#########################+# ", -" %#,#+++#####################################+++##+#+############################' ", -" #%#+++#############################################++#############################++ ", -" )##++#################################################################################+$ ", -" $@++####################################################################################%+ ", -" @##+########################################################################################+# ", -" $+++##########################################################################################++ ", -" ##++#############################################################################################+! ", -" ##++###############################################################################################+% ", -" ~$++#################################################################################################+# ", -" ##+###################################+#++++++++++++##################################################++ ", -" $++#############################%+++++%$#$+#@+####@$++#$#+++%#%##########################################+ ", -" @++##########################%+++$++%+{ #]$++++++%#####################################%$ ", -" +++########################%+++$+$^ #@@+++###################################%$ ", -" #++#######################++++#/ (+##################################### ", -" _@+######################++##, #+##################################+@ ", -" ##+#####################++++ ++##################################+$ ", -" ++%####################+#$# ++#################################++ ", -" #+####################++@: @+#################################+ ", -" <++###################++# $+#################################+ ", -" %++##################+##[ ++################################+# ", -" }+##################+++* ++#################################+$| ", -" ##%#################+## $+#################################++; ", -" ###################++# %+%#################################+#_ ", -" ##%################+#= #+##################################+#) ", -" #+%################+$ $+##################################+#1 ", -" ##################+++ #+##################################++2 ", -" 3+%###############+$+ %++#################################+# ", -" ##################+# ##++##############++################+# ", -" ++###############++ %+++%#########++%#++###############+% ", -" #+###############++ ##@#+++++++#$$ ++###############+, ", -" ++###############+$ ~#+###( #+################+ ", -" @+###############+# @###############+#: ", -" *+##############%+$ $###############+# ", -" #+##############+# $+##############+, ", -" #+##############+@ #+##############+# ", -" 4+##############++ ++#############+# ", -" ++#############+# ++#############+# ", -" #+#############+# (++#############+4 ", -" 5##############+% #+#############++ ", -" $+############%#@ $+#############+$ ", -" $+#############+$ ++##############_ ", -" #%############++ 6++############+# ", -" #+############+% 4+#############+# ", -" +##############+$ ++############++ ", -" $+############+# ++############++ ", -" $+############%# %+############+$ ", -" $+############+# #+############+# ", -" ++############+# 7#%###########+$ ", -" ++############++ @+############+$ ", -" @+############+, #+###########+# ", -" ++#############^ $+############+$ ", -" #%###########+# ++###########++ ", -" #+#############$ #+###########%+ ", -" #+###########+$ #+###########+# ", -" *+############+@ #+###########+# ", -" ++###########+# +############++ ", -" $+###########+@ ++###########++ ", -" #+###########%+ *+###########+$ ", -" #+###########+# ,############+# ", -" #+############@ ++###########+# ", -" )+###########+# )############+# ", -" $+###########+# #%###########+ ", -" @+############+ ++###########+$ ", -" #+##########++ ++###########+# ", -" ++###########++ $###########+@ ", -" #+###########+# %+###########+ ", -" ++############ ++###########+# ", -" $+##########++ ############+$ ", -" ############+, $%##########+% ", -" ++###########+$ $+##########+# ", -" @############## #+###########+ ", -" @$+#############+4 =+###########++ ", -" #@++###############++# ############+$ ", -" #++##################++# +###########+@ ", -" ++######################++ $+##########+$ ", -" #+########################+$ $+##########++ ", -" #+##########################+$ #+##########++ ", -" #+############################+$ $+##########+# ", -" #+############################++ ++###########+ ", -" #+##############################+# =+###########+@ ", -" ++##############################+# +###########+@ ", -" #+################################+# ############+( ", -" @+################################+# ############++ ", -" $+##################################+= ############+$ ", -" #+##################################+( +###########+# ", -" #+##################################++ +###########++ ", -" ,+##################################+@ +###########+@ ", -" ++##################################+# ############++ ", -" #+##################################%# ############+@ ", -" #+##################################++ ############++ ", -" #+##################################+# ,+###########++ ", -" ++##################################+# %+###########+ ", -" #+##################################++ #+###########+ ", -" +%################################## $+##########++ ", -" ++################################+$ #+##########+# ", -" #+################################++ ++##########+$ ", -" $+##############################+# ++##########++ ", -" ++##############################++ +###########++ ", -" #+############################+# @+###########+$ ", -" 8++##########################+#5 ++###########++ ", -" 4#+########################%#+ ++###########+ ", -" #++######################+++ #+##########+# ", -" 9++####################++$ ############+# ", -" )$+##################+#= (+###########+@ ", -" #++################# #+###########+@ ", -" +#++############+@ #+##########+# ", -" #$+###########+# +###########++ ", -" #+############ $+###########+# ", -" #+###########+$ @+###########+$ ", -" @+###########+$ ############+$ ", -" %+############ ,+###########+# ", -" #+###########+, #+###########+# ", -" #+###########+# $############+# ", -" +%###########+# ,+###########+$ ", -" #+###########++ +%###########++ ", -" ++############+ ++###########+# ", -" $+###########++ +%###########+@ ", -" #+###########%# $+############+* ", -" /#############+$ ++###########+# ", -" ,+###########%# #+############+# ", -" ++############+# #+###########%# ", -" #+###########%# ++############+@ ", -" $+############++ #+###########%+ ", -" $+#############+ #+############+$ ", -" %+############+# @#+###########+# ", -" $+############+# #+############+# ", -" ++############%#0 #+############+# ", -" #+############++ *++############+$ ", -" @+#############+# ++############+$ ", -" @+############### #+#############+# ", -" 5##############++ #+#############++ ", -" $+#############+# a#+##############b ", -" ++#############+$ ++#############+# ", -" @###############+$ $+#############+$ ", -" #+##############+4 $+##############+c ", -" #+#############+#5 $+##############+# ", -" b+##############+#$ @+##############+# ", -" @+##############++$ $###############%#d ", -" #+##############+%@ #################+# ", -" #+##############+#+ ]@ #################+$ ", -" )#+##############+#+ #+#$++++###$ #+###############+# ", -" ++###############++$ #@++++####%+++##@@+###############+$ ", -" #+################+$ +#+%############%+++###############+#e ", -" %+################+# !++%################################%#1 ", -" #+################+#( $#+##################################+# ", -" $+################+#+ #++##################################+$ ", -" ++################%++ c++##################################+# ", -" ++#################+$# $+##################################+@ ", -" $+#################+## #+##################################+} ", -" #+##################+#+ ++#################################++$ ", -" ++##################+++# #+################################++$ ", -" #####################+#++ )+##################################+ ", -" #++###################+#+* ,+#################################$ ", -" +++####################+##$ $+#################################+@ ", -" #+#####################++@# #+##################################+@ ", -" #++#####################%+#%% #+##################################+# ", -" 4++#######################+++$# $##################################### ", -" $++########################++#%#+ $+$+####################################@ ", -" ##+##########################++++#+$= +#+$++++####################################%$ ", -" #++############################%++++$##+$#%+@#@$#+#@($#$$##++++%########################################%$ ", -" #$+%###############################%+++++++++++++++++++++%############################################### ", -" @#+##################################################################################################+# ", -" +#+################################################################################################+# ", -" #+#+##############################################################################################++ ", -" (#++###########################################################################################%+ ", -" $+#++########################################################################################+$ ", -" $#++%######################################################################################5 ", -" 1$#++##################################################################################+# ", -" #++++##############################################################################+#f ", -" #$$#++########################################++++$+############################+# ", -" %@###+++###############################++++$@@ #+##########################++ ", -" @@+##+++++%#################+++++#@#+g #+########################+# ", -" (++$+@+##+######+##%$#$+##~ $++#####################+$ ", -" @+=#$ _#+##################+#+ ", -" h$++##############++$f ", -" $#++%#########++@$ ", -" i@##++++++#$++ ", -" $$+$$# ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"256 256 312 2", +" c None", +". c #649F7B", +"+ c #63A87E", +"@ c #62B080", +"# c #61B381", +"$ c #5FB581", +"% c #61B582", +"& c #62B181", +"* c #64AD81", +"= c #63A27C", +"- c #629877", +"; c #639C79", +"> c #62B382", +", c #55BE7E", +"' c #4FC07B", +") c #50C07B", +"! c #5EBA82", +"~ c #64A77F", +"{ c #50C17C", +"] c #629776", +"^ c #9A9A9A", +"/ c #A7A7A7", +"( c #B4B4B4", +"_ c #C0C0C0", +": c #CCCCCC", +"< c #D9D9D9", +"[ c #E8E8E8", +"} c #F8F8F8", +"| c #FFFFFF", +"1 c #64A77E", +"2 c #53C07D", +"3 c #5FB781", +"4 c #959595", +"5 c #BDBDBD", +"6 c #DADADA", +"7 c #F7F7F7", +"8 c #A6A6A6", +"9 c #639878", +"0 c #59BB7F", +"a c #51C07C", +"b c #63AA7F", +"c c #AAAAAA", +"d c #C8C8C8", +"e c #F0F0F0", +"f c #EFEFEF", +"g c #C7C7C7", +"h c #A9A9A9", +"i c #5CB880", +"j c #B3B3B3", +"k c #D7D7D7", +"l c #FCFCFC", +"m c #FBFBFB", +"n c #D4D4D4", +"o c #B1B1B1", +"p c #A3A3A3", +"q c #F6F6F6", +"r c #C6C6C6", +"s c #60B581", +"t c #53BF7D", +"u c #639777", +"v c #FCFDFC", +"w c #6BB688", +"x c #54BF7E", +"y c #D8D8D8", +"z c #77B58F", +"A c #57BE80", +"B c #BFBFBF", +"C c #A1C2AE", +"D c #AEAEAE", +"E c #EAEAEA", +"F c #E1E9E4", +"G c #56BE7F", +"H c #64A57E", +"I c #BBBBBB", +"J c #70B58B", +"K c #969696", +"L c #C9C9C9", +"M c #BED2C6", +"N c #4FBF7B", +"O c #62AE7F", +"P c #6CB689", +"Q c #50BF7B", +"R c #D5D5D5", +"S c #CFDDD5", +"T c #63AC80", +"U c #7FB695", +"V c #55BE7D", +"W c #5CBC81", +"X c #639A79", +"Y c #D2DFD7", +"Z c #63AC7F", +"` c #9B9B9B", +" . c #EBEBEB", +".. c #F1F1F1", +"+. c #DFDFDF", +"@. c #D2D2D2", +"#. c #C5C5C5", +"$. c #CDCDCD", +"%. c #F9F9F9", +"&. c #8FBAA0", +"*. c #5CBB82", +"=. c #F4F4F4", +"-. c #D3D3D3", +";. c #AFAFAF", +">. c #A0A0A0", +",. c #A8A8A8", +"'. c #B7B7B7", +"). c #E5E5E5", +"!. c #72B48C", +"~. c #A2A2A2", +"{. c #EDEDED", +"]. c #C3C3C3", +"^. c #989898", +"/. c #FDFDFD", +"(. c #65B986", +"_. c #D0D0D0", +":. c #E2E2E2", +"<. c #B8B8B8", +"[. c #9E9E9E", +"}. c #ABABAB", +"|. c #FAFAFA", +"1. c #5ABD80", +"2. c #649D79", +"3. c #999999", +"4. c #55BF7E", +"5. c #65A17C", +"6. c #BCBCBC", +"7. c #9D9D9D", +"8. c #63A37C", +"9. c #64A47C", +"0. c #54BE7D", +"a. c #5ABC80", +"b. c #F5F5F5", +"c. c #639E79", +"d. c #5CBA81", +"e. c #A4A4A4", +"f. c #68AA82", +"g. c #5BBA81", +"h. c #A3C3AF", +"i. c #9F9F9F", +"j. c #64A67E", +"k. c #57BE7F", +"l. c #F8FAF9", +"m. c #B9B9B9", +"n. c #C1C1C1", +"o. c #979797", +"p. c #D1DFD6", +"q. c #C2C2C2", +"r. c #71B58C", +"s. c #D8E4DC", +"t. c #CACACA", +"u. c #56BE7E", +"v. c #88B89B", +"w. c #B6B6B6", +"x. c #FEFEFE", +"y. c #639977", +"z. c #65B885", +"A. c #B2B2B2", +"B. c #64A97F", +"C. c #58BD7F", +"D. c #DFE8E3", +"E. c #9C9C9C", +"F. c #63B081", +"G. c #BED3C6", +"H. c #AFCAB9", +"I. c #63AE81", +"J. c #58BE80", +"K. c #BAD0C2", +"L. c #E1E1E1", +"M. c #64A47D", +"N. c #62B984", +"O. c #D3E0D8", +"P. c #DDDDDD", +"Q. c #5BBB81", +"R. c #51BF7C", +"S. c #66A880", +"T. c #D6D8D7", +"U. c #63A67D", +"V. c #60B582", +"W. c #D1D1D1", +"X. c #629978", +"Y. c #57BD80", +"Z. c #63A67C", +"`. c #62B081", +" + c #64A27C", +".+ c #D6D6D6", +"++ c #CECECE", +"@+ c #DCDCDC", +"#+ c #E6E6E6", +"$+ c #F2F2F2", +"%+ c #DBDBDB", +"&+ c #E9E9E9", +"*+ c #DEDEDE", +"=+ c #ACACAC", +"-+ c #EEEEEE", +";+ c #ADADAD", +">+ c #F3F3F3", +",+ c #B0B0B0", +"'+ c #E3E3E3", +")+ c #A1A1A1", +"!+ c #A5A5A5", +"~+ c #00A53E", +"{+ c #00A440", +"]+ c #00A53F", +"^+ c #00A23F", +"/+ c #00A540", +"(+ c #EAF0EC", +"_+ c #CCDCD2", +":+ c #CEDDD4", +"<+ c #F3F6F4", +"[+ c #8DB19B", +"}+ c #75B68E", +"|+ c #62B884", +"1+ c #67B887", +"2+ c #7DB593", +"3+ c #AFCABA", +"4+ c #F7F9F8", +"5+ c #74B68E", +"6+ c #B9D0C2", +"7+ c #60B681", +"8+ c #639678", +"9+ c #5BBA80", +"0+ c #5ABB80", +"a+ c #60B481", +"b+ c #64A37C", +"c+ c #52C07D", +"d+ c #60B782", +"e+ c #64A37D", +"f+ c #5ABA7F", +"g+ c #64AA80", +"h+ c #639E7A", +"i+ c #64A97E", +"j+ c #ECECEC", +"k+ c #64A07B", +"l+ c #5DB881", +"m+ c #59BC80", +"n+ c #5BBB80", +"o+ c #64A67D", +"p+ c #57BD7E", +"q+ c #59BD80", +"r+ c #649B79", +"s+ c #5CB981", +"t+ c #63A67E", +"u+ c #5FB481", +"v+ c #649778", +"w+ c #5EB881", +"x+ c #61B382", +"y+ c #64A87E", +"z+ c #63A07B", +"A+ c #5EB982", +"B+ c #CFCFCF", +"C+ c #8BB59B", +"D+ c #64A57D", +"E+ c #67B786", +"F+ c #98BEA7", +"G+ c #FAFBFB", +"H+ c #00A340", +"I+ c #60B381", +"J+ c #58BD80", +"K+ c #6FB68B", +"L+ c #92BCA2", +"M+ c #DBE5DF", +"N+ c #E9EFEB", +"O+ c #A3C3B0", +"P+ c #A7C5B3", +"Q+ c #B3CCBD", +"R+ c #C6D7CD", +"S+ c #00A33F", +"T+ c #E4E4E4", +"U+ c #E7E7E7", +"V+ c #BEBEBE", +"W+ c #64AA7F", +"X+ c #63AD80", +"Y+ c #E0E0E0", +"Z+ c #64A980", +"`+ c #52BF7C", +" @ c #5FB882", +".@ c #CACDCB", +"+@ c #60BB83", +"@@ c #B1CBBB", +"#@ c #AAC7B5", +"$@ c #B9CFC2", +"%@ c #63AB80", +"&@ c #D9E4DD", +"*@ c #649C7A", +"=@ c #64B985", +"-@ c #84B798", +";@ c #64B081", +">@ c #61B180", +",@ c #75B58E", +"'@ c #56BF7F", +")@ c #F5F8F6", +"!@ c #9FC1AC", +"~@ c #66AA80", +"{@ c #59BC7F", +"]@ c #91BBA1", +"^@ c #5DBB82", +"/@ c #80B695", +"(@ c #6DB589", +"_@ c #C5D7CC", +":@ c #62AD7F", +"<@ c #73B58D", +"[@ c #E6EDE9", +"}@ c #A9C6B4", +"|@ c #7BB592", +"1@ c #6EB489", +"2@ c #5FB782", +"3@ c #63A87D", +"4@ c #65A57E", +"5@ c #64AB80", +"6@ c #63A07A", +"7@ c #639879", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ # $ % & * = - ", +" ; > , ' ' ' ' ' ' ' ' ' ' ' ) ! ~ ", +" + , ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' { $ ] ", +" ^ / ( _ : < [ } | | | | | | | | | | | | } [ < : _ ( / ^ 1 2 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 3 ", +" 4 / 5 6 7 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7 < 5 8 4 9 0 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a b ", +" c d e | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f g h ~ ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' i ", +" 4 j k l | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | m n o & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' , ] ", +" p d 7 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | q r p s ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' t u ", +" p n | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v w ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x ", +" / y | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | z ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' A ", +" B l | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C { ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 3 ", +" D E | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | F G ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' H ", +" I m | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | J ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x ", +" K L | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | M N ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' O ", +" K y | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | P ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q ", +" R | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | S ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' T ", +" n | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' V ", +" B | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | W ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' X ", +" c } | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Y ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Z ", +" ` .| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ..+.n @.L L #._ L L $.n 6 [ %.| | | | | | | | | | | | | | | | | | | &.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' *. ", +" g | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | =.-.B ;.>. ` ,.'.L ).| | | | | | | | | | | !.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' { ", +" ~.=.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {.].c ^. ~.'.< /.| | | | | (.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" _.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :.<.[. }.$.|.| 1.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 2. ", +" 3.e | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7 L / 4.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 5. ", +" 6.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7 #.7. a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 8. ", +" ).| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /.r ` a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 9. ", +" >.%.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ D 0.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 5. ", +" I | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | : K a.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ; ", +" k | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |.5 $ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" E | | | | | | | | | | | | | | | | | | | | | | | | | | | | %.( * ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' N ", +" ^.b.| | | | | | | | | | | | | | | | | | | | | | | | | | | /.B c.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' d. ", +" e./.| | | | | | | | | | | | | | | | | | | | | | | | | | | _ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' f. ", +" o | | | | | | | | | | | | | | | | | | | | | | | | | | | k g.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' h.D ", +" '.| | | | | | | | | | | | | | | | | | | | | | | | | | {.i. j.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' k.l.| ( ", +" m.| | | | | | | | | | | | | | | | | | | | | | | | | | B a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' z | | | 5 ", +" n.| | | | | | | | | | | | | | | | | | | | | | | | | [ o. @ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q p.| | | | q. ", +" #.| | | | | | | | | | | | | | | | | | | | | | | | | '. ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' r.| | | | | | n. ", +" 5 | | | | | | | | | | | | | | | | | | | | | | | | e ^ T ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x s.| | | | | | | I ", +" m.| | | | | | | | | | | | | | | | | | | | | | | | t. u.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' v.| | | | | | | | | w. ", +" ( | | | | | | | | | | | | | | | | | | | | | | | x.D y.N ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' z.v | | | | | | | | | | A. ", +" c | | | | | | | | | | | | | | | | | | | | | | | e K B.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' C.D.| | | | | | | | | | | | 8 ", +" E.x.| | | | | | | | | | | | | | | | | | | | | | 6 F.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 0.G.| | | | | | | | | | | | | x.^ ", +" } | | | | | | | | | | | | | | | | | | | | | | L # ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x H.| | | | | | | | | | | | | | | 7 ", +" f | | | | | | | | | | | | | | | | | | | | | | m. I.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' J.K.| | | | | | | | | | | | | | | | | {. ", +" L.| | | | | | | | | | | | | | | | | | | | | x./ M.Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' N.O.| | | | | | | | | | | | | | | | | | | P. ", +" r | | | | | | | | | | | | | | | | | | | | | x.~. Q.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' R.S.T.| | | | | | | | | | | | | | | | | | | | | ]. ", +" }.| | | | | | | | | | | | | | | | | | | | | l 7. U.x ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' V. k | | | | | | | | | | | | | | | | | | | | | / ", +" K /.| | | | | | | | | | | | | | | | | | | | %.3. ~ u.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) # W.| | | | | | | | | | | | | | | | | | | | /. ", +" e | | | | | | | | | | | | | | | | | | | | m o. X.F.Y.' ' ' ' ' ' ' ' ' ' ' R.3 M. -.| | | | | | | | | | | | | | | | | | | | {. ", +" W.| | | | | | | | | | | | | | | | | | | | /.` ; Z.I.& % # `.b +9 .+| | | | | | | | | | | | | | | | | | | | ++ ", +" c | | | | | | | | | | | | | | | | | | | | x.>. @+| | | | | | | | | | | | | | | | | | | | / ", +" m | | | | | | | | | | | | | | | | | | | | e. #+| | | | | | | | | | | | | | | | | | | %. ", +" L.| | | | | | | | | | | | | | | | | | | | A. $+| | | | | | | | | | | | | | | | | | | P. ", +" ( | | | | | | | | | | | | | | | | | | | | #. m | | | | | | | | | | | | | | | | | | | o ", +" /.| | | | | | | | | | | | | | | | | | | -. i.| | | | | | | | | | | | | | | | | | | l ", +" %+| | | | | | | | | | | | | | | | | | | E j | | | | | | | | | | | | | | | | | | | < ", +" }.| | | | | | | | | | | | | | | | | | | m $.| | | | | | | | | | | | | | | | | | | ,. ", +" |.| | | | | | | | | | | | | | | | | | | e. &+| | | | | | | | | | | | | | | | | | 7 ", +" L | | | | | | | | | | | | | | | | | | | B m | | | | | | | | | | | | | | | | | | #. ", +" K | | | | | | | | | | | | | | | | | | | #+ c | | | | | | | | | | | | | | | | | | | ", +" *+| | | | | | | | | | | | | | | | | | /. W.| | | | | | | | | | | | | | | | | | @+ ", +" 8 | | | | | | | | | | | | | | | | | | | =+ $+| | | | | | | | | | | | | | | | | | p ", +" ..| | | | | | | | | | | | | | | | | | R [.| | | | | | | | | | | | | | | | | | -+ ", +" ;+| | | | | | | | | | | | | | | | | | m L | | | | | | | | | | | | | | | | | | c ", +" >+| | | | | | | | | | | | | | | | | | ;+ =.| | | | | | | | | | | | | | | | | .. ", +" ,+| | | | | | | | | | | | | | | | | | *+ 8 | | | | | | | | | | | | | | | | | | =+ ", +" q | | | | | | | | | | | | | | | | | | y | | | | | | | | | | | | | | | | | =. ", +" o | | | | | | | | | | | | | | | | | | q. | | | | | | | | | | | | | | | | | | ;+ ", +" ..| | | | | | | | | | | | | | | | | %. _ | | | | | | | | | | | | | | | | | e ", +" 8 | | | | | | | | | | | | | | | | | | D 7 | | | | | | | | | | | | | | | | | p ", +" #+| | | | | | | | | | | | | | | | | {. ;.| | | | | | | | | | | | | | | | | '+ ", +" 7.| | | | | | | | | | | | | | | | | | 8 $+| | | | | | | | | | | | | | | | | ^ ", +" n | | | | | | | | | | | | | | | | | &+ }.| | | | | | | | | | | | | | | | | W. ", +" | | | | | | | | | | | | | | | | | | p f | | | | | | | | | | | | | | | | | ", +" ( | | | | | | | | | | | | | | | | | [ h | | | | | | | | | | | | | | | | | o ", +" e | | | | | | | | | | | | | | | | | / =.| | | | | | | | | | | | | | | | -+ ", +" [.| | | | | | | | | | | | | | | | | =. j | | | | | | | | | | | | | | | | | ^ ", +" ++| | | | | | | | | | | | | | | | | j l | | | | | | | | | | | | | | | | t. ", +" /.| | | | | | | | | | | | | | | | l _ | | | | | | | | | | | | | | | | l ", +" e.| | | | | | | | | | | | | | | | | #. | | | | | | | | | | | | | | | | | )+ ", +" @.| | | | | | | | | | | | | | | | | K +.| | | | | | | | | | | | | | | | $. ", +" x.| | | | | | | | | | | | | | | | &+ / | | | | | | | | | | | | | | | | /. ", +" !+| | | | | | | | | | | | | | | | | =+ m | | | | | | | | | | | | | | | | p ", +" : | | | | | | | | | | | | | | | | | #.| | | | | | | | | | | | | | | | d ", +" |.| | | | | | | | | | | | | | | | n ~+{+{+{+]+ E.| | | | | | | | | | | | | | | | 7 ", +" ^.| | | | | | | | | | | | | | | | | 8 ~+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ 7 | | | | | | | | | | | | | | | | ", +" '.| | | | | | | | | | | | | | | | | ^+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ q.| | | | | | | | | | | | | | | | A. ", +" ).| | | | | | | | | | | | | | | | -. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ` | | | | | | | | | | | | | | | | *+ ", +" | | | | | | | | | | | | | | | | | h {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ m | | | | | | | | | | | | | | | | ", +" 7.| | | | | | | | | | | | | | | | | /+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ _.| | | | | | | | | | | | | | | | ^ ", +" '.| | | | | | | | | | | | | | | | {. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ,.| | | | | | | | | | | | | | | | j ", +" %+| | | | | | | | | | | | | | | | I {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+/+ | | | | | | | | | | | | | | | | .+ ", +" /.| | | | | | | | | | | | | | | | E. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ {.| | | | | | | | | | | | | | | l ", +" | | | | | | | | | | | | | | | | | ^+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ].| | | | | | | | | | | | | | | | ", +" / | | | | | | | | | | | | | | | | E /+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ 8 | | | | | | | | | | | | | | | | !+ ", +" 5 | | | (+s._+:+D.<+| | | | | | | _ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | m. ", +" [+}+|+G ' ' ' ' ' N a.1+2+3+4+| | e. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ 7 | | | | | | | | | | | | | | | .+ ", +" 2.# Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' , 5+6+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ n | | | | | | | | | | | | | | | } ", +" +0 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 7+8+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ m.| | | | | | | | | | | | | | | | ", +" 8+9+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' # {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ e.| | | | | | | | | | | | | | | | ^. ", +" T { ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 0.; {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | e. ", +" ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Z ]+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | j ", +" 0+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' # {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ..| | | | | | | | | | | | | | | #. ", +" A ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a+ ^+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ y | | | | | | | | | | | | | | | 6 ", +" 0+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' F. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ q.| | | | | | | | | | | | | | | =. ", +" V.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ o | | | | | | | | | | | | | | | | ", +" 1 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' R. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ p | | | | | | | | | | | | | | | | ", +" c+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' d. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ^ | | | | | | | | | | | | | | | | ", +" d+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' e+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | ", +" X ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' u. ^+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | ` ", +" d+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' e+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | p ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' f+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | 8 ", +" B.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | ,. ", +" 0+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' g+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ l | | | | | | | | | | | | | | | }. ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ! {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ q | | | | | | | | | | | | | | | ;. ", +" h+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ..| | | | | | | | | | | | | | | o ", +" i+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ j+| | | | | | | | | | | | | | | ( ", +" # ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' k+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ e | | | | | | | | | | | | | | | o ", +" l+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' j. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ q | | | | | | | | | | | | | | | D ", +" Q.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' B. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ l | | | | | | | | | | | | | | | c ", +" m+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Z {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | ,. ", +" n+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' i+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | 8 ", +" ! ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' o+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | )+ ", +" # ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' k+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | ^ ", +" b ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ] {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | ", +" 5.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' { {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ^ | | | | | | | | | | | | | | | | ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' *. /+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ p | | | | | | | | | | | | | | | | ", +" p+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Z {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ ,+| | | | | | | | | | | | | | | | ", +" Z ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' u {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ n.| | | | | | | | | | | | | | | .. ", +" ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' q+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ .+| | | | | | | | | | | | | | | k ", +" i ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Z. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ e | | | | | | | | | | | | | | | q. ", +" r+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | o ", +" s+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' t+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | p ", +" N ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 0+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ p | | | | | | | | | | | | | | | | K ", +" * ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' N X. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ '.| | | | | | | | | | | | | | | | ", +" s+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' + {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ @.| | | | | | | | | | | | | | | >+ ", +" V ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' u+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+/+ q | | | | | | | | | | | | | | | W. ", +" x ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ! {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | w. ", +" v+, ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' w+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ !+| | | | | | | | | | | | | | | | )+ ", +" m+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ q.| | | | | | | | | | | | | | | | ", +" & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a y+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+]+ .| | | | | | | | | | | | | | | } ", +" z+u.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' A+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ | | | | | | | | | | | | | | | | B+ ", +" i+x ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' W C+ {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ / | | | | | | | | | | | | | | | | D ", +" D+9+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a E+F+G+| {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+H+ $.| | | | | | | | | | | | | | | | K ", +" M.I+J+' ' ' ' ' ' ' a W K+L+M+| | | | / ~+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ |.| | | | | | | | | | | | | | | x. ", +" @+N+G.3+O+P+Q+R+4+| | | | | | | | _. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ 3.| | | | | | | | | | | | | | | | .+ ", +" o | | | | | | | | | | | | | | | | x. {+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ _ | | | | | | | | | | | | | | | | =+ ", +" | | | | | | | | | | | | | | | | | e. S+{+{+{+{+{+{+{+{+{+{+{+{+{+{+ =.| | | | | | | | | | | | | | | | ", +" =.| | | | | | | | | | | | | | | | W. ` | | | | | | | | | | | | | | | | $+ ", +" #.| | | | | | | | | | | | | | | | x. q.| | | | | | | | | | | | | | | | _ ", +" >.| | | | | | | | | | | | | | | | | h %.| | | | | | | | | | | | | | | | E. ", +" m | | | | | | | | | | | | | | | | ). !+| | | | | | | | | | | | | | | | %. ", +" d | | | | | | | | | | | | | | | | | %+| | | | | | | | | | | | | | | | ]. ", +" [.| | | | | | | | | | | | | | | | | n. | | | | | | | | | | | | | | | | | ` ", +" |.| | | | | | | | | | | | | | | | |. 5 | | | | | | | | | | | | | | | | 7 ", +" #.| | | | | | | | | | | | | | | | | ;. |.| | | | | | | | | | | | | | | | _ ", +" ^.| | | | | | | | | | | | | | | | | $+ ,+| | | | | | | | | | | | | | | | | ", +" [ | | | | | | | | | | | | | | | | | e. ..| | | | | | | | | | | | | | | | #+ ", +" ;+| | | | | | | | | | | | | | | | | T+ / | | | | | | | | | | | | | | | | | c ", +" /.| | | | | | | | | | | | | | | | | >. .| | | | | | | | | | | | | | | | /. ", +" L | | | | | | | | | | | | | | | | | ). ,.| | | | | | | | | | | | | | | | | #. ", +" 4 | | | | | | | | | | | | | | | | | | ~. -+| | | | | | | | | | | | | | | | | ", +" %+| | | | | | | | | | | | | | | | | [ c | | | | | | | | | | | | | | | | | y ", +" [.| | | | | | | | | | | | | | | | | | c =.| | | | | | | | | | | | | | | | | E. ", +" [ | | | | | | | | | | | | | | | | | q 5 | | | | | | | | | | | | | | | | | U+ ", +" ,.| | | | | | | | | | | | | | | | | | 5 x.| | | | | | | | | | | | | | | | | 8 ", +" {.| | | | | | | | | | | | | | | | | x. @.| | | | | | | | | | | | | | | | | . ", +" 8 | | | | | | | | | | | | | | | | | | 6 )+| | | | | | | | | | | | | | | | | | e. ", +" E | | | | | | | | | | | | | | | | | | h e | | | | | | | | | | | | | | | | | [ ", +" e.| | | | | | | | | | | | | | | | | | } q.| | | | | | | | | | | | | | | | | | )+ ", +" U+| | | | | | | | | | | | | | | | | | B+ ^ | | | | | | | | | | | | | | | | | | T+ ", +" E.| | | | | | | | | | | | | | | | | | | 8 {.| | | | | | | | | | | | | | | | | | 3. ", +" B+| | | | | | | | | | | | | | | | | | m t.| | | | | | | | | | | | | | | | | | _. ", +" x.| | | | | | | | | | | | | | | | | | +. 8 | | | | | | | | | | | | | | | | | | /. ", +" I | | | | | | | | | | | | | | | | | | | '. %.| | | | | | | | | | | | | | | | | | '. ", +" $+| | | | | | | | | | | | | | | | | | | [. T+| | | | | | | | | | | | | | | | | | f ", +" )+| | | | | | | | | | | | | | | | | | | } d | | | | | | | | | | | | | | | | | | | [. ", +" ++| | | | | | | | | | | | | | | | | | | ). ;+| | | | | | | | | | | | | | | | | | | $. ", +" } | | | | | | | | | | | | | | | | | | | : ^ x.| | | | | | | | | | | | | | | | | | q ", +" ,.| | | | | | | | | | | | | | | | | | | | I 7 | | | | | | | | | | | | | | | | | | | / ", +" W.| | | | | | | | | | | | | | | | | | | | c j+| | | | | | | | | | | | | | | | | | | -. ", +" =.| | | | | | | | | | | | | | | | | | | x.[. +.| | | | | | | | | | | | | | | | | | | $+ ", +" [.| | | | | | | | | | | | | | | | | | | | l ^ n | | | | | | | | | | | | | | | | | | | | ` ", +" V+| | | | | | | | | | | | | | | | | | | | |.K z+W+& # $ u+& X+H y. ++| | | | | | | | | | | | | | | | | | | | B ", +" T+| | | | | | | | | | | | | | | | | | | | q ; # , ' ' ' ' ' ' ' ' ' ' ' ) i t+ : | | | | | | | | | | | | | | | | | | | | Y+ ", +" 7 | | | | | | | | | | | | | | | | | | | | =. W+, ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' { d+- L | | | | | | | | | | | | | | | | | | | | b. ", +" E.| | | | | | | | | | | | | | | | | | | | | } ^. Z+`+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' @ B+| | | | | | | | | | | | | | | | | | | | | E. ", +" w.| | | | | | | | | | | | | | | | | | | | | m E. u a.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) g+.@| | | | | | | | | | | | | | | | | | | | | A. ", +" W.| | | | | | | | | | | | | | | | | | | | | l >. 1 ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' +@_+| | | | | | | | | | | | | | | | | | | ++ ", +" +.| | | | | | | | | | | | | | | | | | | | | | A. & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' , @@| | | | | | | | | | | | | | | | | L. ", +" f | | | | | | | | | | | | | | | | | | | | | | n. u+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' t #@| | | | | | | | | | | | | | | {. ", +" %.| | | | | | | | | | | | | | | | | | | | | | W. > ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x $@| | | | | | | | | | | | | 7 ", +" E.x.| | | | | | | | | | | | | | | | | | | | | | E %@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' J.&@| | | | | | | | | | | /.^ ", +" p | | | | | | | | | | | | | | | | | | | | | | | m / *@{ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' =@G+| | | | | | | | | x.>. ", +" ,.| | | | | | | | | | | | | | | | | | | | | | | | _ , ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' -@| | | | | | | | | 8 ", +" ;+| | | | | | | | | | | | | | | | | | | | | | | | E ;@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 2 p.| | | | | | | c ", +" A.| | | | | | | | | | | | | | | | | | | | | | | | /.;. { ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' K+| | | | | | o ", +" ;.| | | | | | | | | | | | | | | | | | | | | | | | | *+ >@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' a :+| | | | D ", +" / | | | | | | | | | | | | | | | | | | | | | | | | | x.w. ) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ,@| | | D ", +" !+x.| | | | | | | | | | | | | | | | | | | | | | | | | ).3. 1 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '@)@x.~. ", +" >.l | | | | | | | | | | | | | | | | | | | | | | | | | | $. f+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' !@[. ", +" 4 =.| | | | | | | | | | | | | | | | | | | | | | | | | | /.'. ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ~@ ", +" ).| | | | | | | | | | | | | | | | | | | | | | | | | | | } w. . ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' *. ", +" < | | | | | | | | | | | | | | | | | | | | | | | | | | | | =.;+ T ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' { ", +" n.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | =.j d+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" / l | | | | | | | | | | | | | | | | | | | | | | | | | | | | | l _ {@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 2. ", +" E | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @+/ 0.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 5. ", +" W.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7 5 a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 8. ", +" / |.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f I K a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 9. ", +" :.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {.5 7. 0.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 5. ", +" m.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /.n ;.K e.q.$+| a.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ; ", +" :.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @+m.p ^ ;+: b.| | | | | z.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ", +" o l | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U+d ( 8 3. >.D B y %.| | | | | | | | | | }+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' N ", +" n | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e *+W.L q.B 5 w.w.m.B B d $.6 [ %.| | | | | | | | | | | | | | | | | | ]@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' d. ", +" 7.&+| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | O.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b ", +" c 7 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ^@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - ", +" 6./.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' u. ", +" I l | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | O.a ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' b ", +" q.x.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Q ", +" A.q | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _@) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' :@ ", +" c {.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' x ", +" 7._.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [@k.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' = ", +" D j+| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | }@N ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' s ", +" o.5 =.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' J+ ", +" 3._ b.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /.1@' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 0. ", +" D n x.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | L.w.K x+' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 0.] ", +" >.6.'+| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :.I i. I.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' A ", +" 3.A.W.=.| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >+W.o 3. 8.R.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 2@ ", +" o.h _ .+f | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f R B ,.K g.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' R.3@ ", +" ^.p }.( B : y L.&+f e | | | | f f &+L.y : B ( }.p o. 4@0.' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' s ", +" o+A ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ) # ", +" y.O p+' ' ' ' ' ' ' ' ' ' ' c+3 8. ", +" 2.j.X+& a+> O 5@6@7@ ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/share/pixmaps/iond_testnet32.png b/share/pixmaps/iond_testnet32.png index 737dedf4feb2a..41c6ac817d1e4 100644 Binary files a/share/pixmaps/iond_testnet32.png and b/share/pixmaps/iond_testnet32.png differ diff --git a/share/pixmaps/iond_testnet32.xpm b/share/pixmaps/iond_testnet32.xpm index 6ff6a869a3ead..8cb1140da9130 100644 --- a/share/pixmaps/iond_testnet32.xpm +++ b/share/pixmaps/iond_testnet32.xpm @@ -1,55 +1,146 @@ /* XPM */ static char * iond_testnet32_xpm[] = { -"32 32 20 1", -" c None", -". c #13B9F7", -"+ c #14BDFD", -"@ c #13BFFF", -"# c #13BEFE", -"$ c #13BAF9", -"% c #14BEFF", -"& c #13BEFF", -"* c #12BBF9", -"= c #13BCFC", -"- c #14BFFF", -"; c #13BDFC", -"> c #13C0FF", -", c #12BCFD", -"' c #12BEFE", -") c #14BEFE", -"! c #13BBFA", -"~ c #13BDFE", -"{ c #14BDFC", -"] c #13BBFB", -" ", -" ", -" ", -" ", -" . ", -" +@@@@@#@@@$ ", -" %@@@@&@@@@@@@ ", -" @@@ #@@@@ ", -" @@ @@@@& ", -" @@ @@* ", -" @@ @@ ", -" @= @& ", -" @@ %@ ", -" @- @ ", -" @@@ @; ", -" &@@@& @& ", -" @@@@@ @> ", -" ,@@@' @# ", -" )@& @ ", -" @@ @@ ", -" @! @@ ", -" @@ &@ ", -" @@ @@! ", -" @@ @@@@@ ", -" @@~ ~@@@@ ", -" &@@@@&@@@@@@@ ", -" {@@@@@@@@@! ", -" ] ", -" ", -" ", -" ", -" "}; +"32 32 111 2", +" c None", +". c #639A79", +"+ c #63A27C", +"@ c #629776", +"# c #9B9B9B", +"$ c #BFBFBF", +"% c #E7E7E7", +"& c #FBFBFB", +"* c #FFFFFF", +"= c #BDBEBD", +"- c #63B382", +"; c #4FC07B", +"> c #62AE80", +", c #AAAAAA", +"' c #F4F4F4", +") c #FEFEFE", +"! c #94BDA4", +"~ c #629978", +"{ c #EBEBEB", +"] c #DEDEDE", +"^ c #AFAFAF", +"/ c #69AC83", +"( c #64A77E", +"_ c #A0A0A0", +": c #E5E5E5", +"< c #63A37C", +"[ c #72A084", +"} c #A5A5A5", +"| c #BEBEBE", +"1 c #5ABB80", +"2 c #5EBA82", +"3 c #F3F6F4", +"4 c #A3A3A3", +"5 c #FCFCFC", +"6 c #ABABAB", +"7 c #64A87E", +"8 c #61B180", +"9 c #64A67E", +"0 c #9BA29E", +"a c #EDEDED", +"b c #BBBBBB", +"c c #B4B4B4", +"d c #AEAEAE", +"e c #D8D8D8", +"f c #ADADAD", +"g c #F6F6F6", +"h c #999999", +"i c #F5F5F5", +"j c #9E9E9E", +"k c #DADADA", +"l c #D2D2D2", +"m c #C5C5C5", +"n c #00A23F", +"o c #A6A6A6", +"p c #C3C3C3", +"q c #83B697", +"r c #8EBA9F", +"s c #7E8D83", +"t c #00A440", +"u c #00A53F", +"v c #EFEFEF", +"w c #639E79", +"x c #50BF7B", +"y c #57BE80", +"z c #53BF7D", +"A c #61B381", +"B c #57BD80", +"C c #EAEAEA", +"D c #5FB681", +"E c #FDFDFD", +"F c #52BF7C", +"G c #F3F3F3", +"H c #649B7A", +"I c #6DB087", +"J c #79B590", +"K c #889D91", +"L c #00A33F", +"M c #C8C8C8", +"N c #A1A1A1", +"O c #CACACA", +"P c #FAFAFA", +"Q c #D4D4D4", +"R c #CDCDCD", +"S c #A9A9A9", +"T c #649F7B", +"U c #63AA7F", +"V c #639E7A", +"W c #969898", +"X c #9A9A9A", +"Y c #5DB881", +"Z c #65B885", +"` c #FAFBFB", +" . c #CFCFCF", +".. c #64A27C", +"+. c #79A189", +"@. c #9D9D9D", +"#. c #C9C9C9", +"$. c #68AC82", +"%. c #B7B7B7", +"&. c #F9F9F9", +"*. c #E3E3E3", +"=. c #F8F8F8", +"-. c #8CBA9E", +";. c #639C79", +">. c #CECECE", +",. c #C8CBC9", +"'. c #5FB781", +"). c #5FB481", +"!. c #63A07B", +"~. c #64AB80", +"{. c #649E7B", +" ", +" . + @ ", +" # $ % & * * & % = - ; ; ; > ", +" , ' * * * * ) ) * * ! ; ; ; ; ; ~ ", +" { * * ] ^ / ; ; ; ; ; ( ", +" _ & * : _ < ; ; ; ; ; [ ", +" } * * | 1 ; ; ; 2 3 4 ", +" 5 * 6 7 8 9 0 * 5 ", +" a * b c * a ", +" d * ] e * f ", +" g * h * i ", +" j * k l * j ", +" m * , n o * p ", +" q r s t t t t u * v ", +" w x ; ; y t t t t t t ) * ", +" z ; ; ; ; A t t t t t t t a * ", +" ; ; ; ; ; B t t t t t t t C * ", +" x ; ; ; ; D t t t t t t E * ", +" 9 ; ; ; F t t t t t * G ", +" H I J K L t 4 * M ", +" N * l O * N ", +" P * ) P ", +" c * Q R * c ", +" G * f S * ' ", +" # * * j T U V W E ) X ", +" d * ) d Y ; ; ; Z ` f ", +" ^ * * . ..; ; ; ; ; +. ", +" @.i * ) #._ $.; ; ; ; ; ( ", +" %.5 * * * &.: *.=.* -.; ; ; ; ; ;. ", +" o >.5 * * * * 5 ,.'.; ; ; ). ", +" !.~.{. ", +" "}; diff --git a/share/pixmaps/iond_testnet48.png b/share/pixmaps/iond_testnet48.png index 721c6ec7ec9d1..349e61bfac73e 100644 Binary files a/share/pixmaps/iond_testnet48.png and b/share/pixmaps/iond_testnet48.png differ diff --git a/share/pixmaps/iond_testnet48.xpm b/share/pixmaps/iond_testnet48.xpm index 119c0f48364a6..07d370eccb4f0 100644 --- a/share/pixmaps/iond_testnet48.xpm +++ b/share/pixmaps/iond_testnet48.xpm @@ -1,88 +1,206 @@ /* XPM */ static char * iond_testnet48_xpm[] = { -"48 48 37 1", -" c None", -". c #12BEFD", -"+ c #12BDFB", -"@ c #13BDFD", -"# c #13BFFF", -"$ c #13BAF9", -"% c #13BDFE", -"& c #13C0FF", -"* c #12B6F3", -"= c #13BEFD", -"- c #14BEFF", -"; c #13BBFA", -"> c #13B9F7", -", c #13BEFF", -"' c #13BEFE", -") c #14BDFD", -"! c #12BBFA", -"~ c #12BCFC", -"{ c #12BBFC", -"] c #12BBF9", -"^ c #14BEFE", -"/ c #14BAFB", -"( c #12BDFE", -"_ c #12BAF8", -": c #12BAFA", -"< c #13BBFB", -"[ c #14BFFE", -"} c #13BDFC", -"| c #12BDFC", -"1 c #14BFFF", -"2 c #14BDFC", -"3 c #12BDFD", -"4 c #13B8F8", -"5 c #14BCFC", -"6 c #12B8F5", -"7 c #13BCFB", -"8 c #12BCFA", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .+ @###$ ", -" %&##############* ", -" ################### ", -" =####-; >####### ", -" ,###' ,#####& ", -" #### ####### ", -" '##, ,#)###' ", -" @##' '##! ", -" ##, ,## ", -" ,## ##' ", -" ##% @## ", -" ~## ##{ ", -" ##, ### ", -" ##+ ]## ", -" ###; ## ", -" #####^ ##/ ", -" (###### ##_ ", -" ####### ##: ", -" -###### ##< ", -" #####[ ## ", -" ###' >## ", -" ##, ,## ", -" '## ##} ", -" ##| |## ", -" -## ##1 ", -" ##, ,## ", -" 2##3 ,##4 ", -" 1##' '#5###' ", -" ###1 ######- ", -" ,###} ######& ", -" }##### ####### ", -" ################### ", -" '###############6 ", -" )337 %###8 ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"48 48 155 2", +" c None", +". c #649E7B", +"+ c #63B081", +"@ c #62B181", +"# c #64A77E", +"$ c #9B9B9B", +"% c #B7B7B7", +"& c #DADADA", +"* c #F9F9F9", +"= c #FFFFFF", +"- c #89978F", +"; c #5EBA82", +"> c #4FC07B", +", c #53BF7D", +"' c #639B79", +") c #BDBDBD", +"! c #F6F6F6", +"~ c #66B886", +"{ c #52BF7C", +"] c #C8C8C8", +"^ c #EFEFEF", +"/ c #FEFEFE", +"( c #BAD0C2", +"_ c #63AD80", +": c #ABABAB", +"< c #FAFAFA", +"[ c #F3F3F3", +"} c #BFBFBF", +"| c #A0A0A0", +"1 c #9E9E9E", +"2 c #79A78A", +"3 c #CECECE", +"4 c #D9D9D9", +"5 c #9D9D9D", +"6 c #64A07C", +"7 c #5EB881", +"8 c #E1E1E1", +"9 c #E9E9E9", +"0 c #50C17C", +"a c #74B18C", +"b c #E6E6E6", +"c c #C3C3C3", +"d c #62B081", +"e c #56BF7F", +"f c #D9E4DD", +"g c #E5E5E5", +"h c #DCDCDC", +"i c #ADADAD", +"j c #62B382", +"k c #58BC7F", +"l c #B5CDBE", +"m c #C0C0C0", +"n c #A8A8A8", +"o c #64AA80", +"p c #B4B4B4", +"q c #AAAAAA", +"r c #EBEBEB", +"s c #D2D2D2", +"t c #C9C9C9", +"u c #F4F4F4", +"v c #F0F0F0", +"w c #B0B0B0", +"x c #EEEEEE", +"y c #9F9F9F", +"z c #F7F7F7", +"A c #CDCDCD", +"B c #BBBBBB", +"C c #B1B1B1", +"D c #CBCBCB", +"E c #FBFBFB", +"F c #00A23F", +"G c #969696", +"H c #F5F5F5", +"I c #00A440", +"J c #EAEAEA", +"K c #69AD84", +"L c #64B985", +"M c #68B787", +"N c #7BAC8E", +"O c #A6A6A6", +"P c #65A17C", +"Q c #51C07C", +"R c #5BBA81", +"S c #B9B9B9", +"T c #50C07B", +"U c #5FB781", +"V c #00A33F", +"W c #C6C6C6", +"X c #999999", +"Y c #5CBA81", +"Z c #649F7B", +"` c #989898", +" . c #D0D0D0", +".. c #5DB881", +"+. c #649E7A", +"@. c #64AA7F", +"#. c #A7A7A7", +"$. c #BCBCBC", +"%. c #57BE80", +"&. c #63AA7F", +"*. c #A9A9A9", +"=. c #5BBB80", +"-. c #4FBF7B", +";. c #64AC80", +">. c #00A540", +",. c #E0E0E0", +"'. c #67987B", +"). c #83B697", +"!. c #8AB99C", +"~. c #C8D8CE", +"{. c #00A53E", +"]. c #FDFDFD", +"^. c #D5D5D5", +"/. c #A4A4A4", +"(. c #EDEDED", +"_. c #E3E3E3", +":. c #A2A2A2", +"<. c #A5A5A5", +"[. c #F2F2F2", +"}. c #E7E7E7", +"|. c #B2B2B2", +"1. c #B6B6B6", +"2. c #A3A3A3", +"3. c #FCFCFC", +"4. c #979797", +"5. c #639C79", +"6. c #F8F8F8", +"7. c #63A67E", +"8. c #52BF7D", +"9. c #5FB681", +"0. c #CDD9D2", +"a. c #E8E8E8", +"b. c #63A87D", +"c. c #5CBC81", +"d. c #ECF1EE", +"e. c #F1F1F1", +"f. c #D1D1D1", +"g. c #51BF7C", +"h. c #7EB494", +"i. c #60B782", +"j. c #D3D3D3", +"k. c #6FA183", +"l. c #5DBA81", +"m. c #959595", +"n. c #DEDEDE", +"o. c #D4D4D4", +"p. c #ADC9B8", +"q. c #FAFBFB", +"r. c #5EBB82", +"s. c #8AA093", +"t. c #64A57D", +"u. c #9C9C9C", +"v. c #5CB981", +"w. c #61B281", +"x. c #639678", +" ", +" ", +" . + @ # ", +" $ % & * = = = = = * & % - ; > > > > , ' ", +" ) ! = = = = = = = = = = = = ~ > > > > > > { ", +" ] = = = = = = = = = ^ / = = = ( > > > > > > > > _ ", +" : < = = = = [ } | 1 2 > > > > > > > > ; ", +" 3 = = = = 4 5 6 > > > > > > > > 7 ", +" 8 = = = 9 $ 0 > > > > > > > a ", +" b = = = c d > > > > > > e f g ", +" h = = = i j > > > > k l = = & ", +" m = = = n # o . | = = = ) ", +" 5 = = = p q = = = $ ", +" r = = s t = = 9 ", +" : = = * u = = q ", +" v = = w n = = x ", +" y = = z ^ = = 1 ", +" A = = B C = = D ", +" E = = F = = < ", +" G = = H I I I I I I J = = ", +" K L M N I I I I I I I I m = = O ", +" P Q > > > > R I I I I I I I I I I : = = S ", +" T > > > > > > U V I I I I I I I I I I 1 = = W ", +" d > > > > > > > > I I I I I I I I I I I X = = 3 ", +" Y > > > > > > > > Z I I I I I I I I I I I ` = = . ", +" ..> > > > > > > > +. I I I I I I I I I I I 5 = = ] ", +" @.> > > > > > > Q I I I I I I I I I I #.= = $. ", +" %.> > > > > > &. F I I I I I I I I B = = *. ", +" =.> > > -.;. >.I I I I I I ,.= = ` ", +" '.).!.~. {.I I = = ]. ", +" ^.= = C n = = s ", +" /.= = (. _.= = :. ", +" z = = <. 1 = = ! ", +" p = = [. }.= = |. ", +" u = = m 1.= = [ ", +" O = = = 2. $ = = = /. ", +" 3 = = 3.4. 5.Z 6.= = A ", +" r = = * X 7.8.> > > 9.0.= = a. ", +" [ = = ].q b.> > > > > > c.d.e. ", +" ^ = = = f. g.> > > > > > > h. ", +" 8 = = = 3.B . > > > > > > > > i. ", +" } = = = = = j.#. k.> > > > > > > > l. ", +" m.n.= = = = = = 3.8 o.t o.n.E = p.> > > > > > > > d ", +" $ ^.= = = = = = = = = = = = q.r.> > > > > > 0 ", +" q 3 6.= = = = = = = 6.A s.%.> > > > 0 t. ", +" X u.X o v.=.w.x. ", +" ", +" "}; diff --git a/share/pixmaps/iond_testnet64.png b/share/pixmaps/iond_testnet64.png index 6d9f93fcc8c72..c56b72e604b37 100644 Binary files a/share/pixmaps/iond_testnet64.png and b/share/pixmaps/iond_testnet64.png differ diff --git a/share/pixmaps/iond_testnet64.xpm b/share/pixmaps/iond_testnet64.xpm index 7f0ebeb63be56..41c07974c5fdc 100644 --- a/share/pixmaps/iond_testnet64.xpm +++ b/share/pixmaps/iond_testnet64.xpm @@ -1,110 +1,239 @@ /* XPM */ static char * iond_testnet64_xpm[] = { -"64 64 43 1", -" c None", -". c #12BCFB", -"+ c #13BFFF", -"@ c #14BFFF", -"# c #12B1ED", -"$ c #13BBFB", -"% c #13BEFE", -"& c #13BEFF", -"* c #13BDFE", -"= c #13BBFA", -"- c #12BDFD", -"; c #13C0FF", -"> c #11B3EE", -", c #13BEFD", -"' c #13BDFC", -") c #13BCFC", -"! c #12B9F7", -"~ c #13BAF7", -"{ c #13BCFA", -"] c #14BEFF", -"^ c #13BCFB", -"/ c #12BCFC", -"( c #12BDFE", -"_ c #14BEFE", -": c #14BDFD", -"< c #12B7F6", -"[ c #14BCFD", -"} c #13BCFD", -"| c #14BDFC", -"1 c #13BBF9", -"2 c #12BBFA", -"3 c #13BDFD", -"4 c #13BBFC", -"5 c #12B8F7", -"6 c #12BDFB", -"7 c #13BAF9", -"8 c #13BFFE", -"9 c #13B9F7", -"0 c #13BAFB", -"a c #14C0FF", -"b c #11B3EF", -"c c #12BBF9", -"d c #13B5F2", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" .++@# ", -" $%&+++++&* &+++++= ", -" -;++++++++++++++++++++> ", -" %+++++++++++++++++++++++& ", -" ,+++++++&')! ~{)]++++++++++ ", -" ++++++* ++++++++& ", -" +++++^ ++++++++& ", -" +++++ /+++++++++ ", -" ++++( );+++&+++_ ", -" &+++) %+++: ", -" ++++/ &+++< ", -" [+++* +++; ", -" +++@ +++} ", -" )+++ |+++ ", -" &++% +++| ", -" +++ '+++ ", -" &+++ +++ ", -" ;++) +++% ", -" +++ 1+++ ", -" =+++ +++ ", -" ++++++ +++ ", -" ;++++++; +++ ", -" =++++++++& +++ ", -" &+++++++++ +++ ", -" *+++++++++ +++ ", -" ++++++++ +++ ", -" +++++++& +++ ", -" @++++@ .+++ ", -" +++2 +++* ", -" ++++ +++ ", -" +++ *+++ ", -" &++% &++* ", -" )+++ |+++ ", -" &+++ +++3 ", -" 4+++% ;+++ ", -" ]+++= @+++5 ", -" &+++6 &+++) ", -" ++++* +++++++++ ", -" ++++& 7++++++++& ", -" +++++2 &+++++++& ", -" 8++++;) ++++++++& ", -" )++++++&%= 90a++++++++++ ", -" 3+++++++++++++++++++++++@ ", -" (&++++++++++++++++++++b ", -" 4@+++++++&c ++++++3 ", -" &++&d ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; +"64 64 172 2", +" c None", +". c #64A37C", +"+ c #5FB681", +"@ c #57BD80", +"# c #58BD80", +"$ c #60B481", +"% c #649E7B", +"& c #ADADAD", +"* c #CDCDCD", +"= c #EBEBEB", +"- c #FFFFFF", +"; c #EAEAEA", +"> c #CCCCCC", +", c #ACACAC", +"' c #5BBB80", +") c #4FC07B", +"! c #5FB781", +"~ c #BBBBBB", +"{ c #F4F4F4", +"] c #DFE8E3", +"^ c #59BC80", +"/ c #5DB881", +"( c #9D9D9D", +"_ c #DCDCDC", +": c #73B58D", +"< c #64A47C", +"[ c #959595", +"} c #E1E1E1", +"| c #F1F1F1", +"1 c #EFEFEF", +"2 c #F3F6F4", +"3 c #54BF7E", +"4 c #5CBB82", +"5 c #C2C2C2", +"6 c #DBDBDB", +"7 c #B4B4B4", +"8 c #9B9B9B", +"9 c #9A9A9A", +"0 c #B1B1B1", +"a c #A5BBAD", +"b c #E8E8E8", +"c c #E3E3E3", +"d c #AAAAAA", +"e c #A3A3A3", +"f c #FCFCFC", +"g c #A7A7A7", +"h c #F5F5F5", +"i c #5CB880", +"j c #6CB689", +"k c #AEAEAE", +"l c #D2D2D2", +"m c #649C7A", +"n c #51BF7C", +"o c #C1D4C9", +"p c #ABABAB", +"q c #64A980", +"r c #50C07B", +"s c #90BBA1", +"t c #A2A2A2", +"u c #FDFDFD", +"v c #639E7A", +"w c #57BD7E", +"x c #5BBA81", +"y c #759984", +"z c #FBFBFB", +"A c #E9E9E9", +"B c #639879", +"C c #64A07C", +"D c #64A07B", +"E c #FEFEFE", +"F c #C8C8C8", +"G c #B3B3B3", +"H c #C5C5C5", +"I c #999999", +"J c #C1C1C1", +"K c #989898", +"L c #E7E7E7", +"M c #F0F0F0", +"N c #E5E5E5", +"O c #A1A1A1", +"P c #D6D6D6", +"Q c #C7C7C7", +"R c #E4E4E4", +"S c #CACACA", +"T c #C3C3C3", +"U c #A4A4A4", +"V c #FAFAFA", +"W c #00A540", +"X c #B7B7B7", +"Y c #D1D1D1", +"Z c #00A440", +"` c #C0C0C0", +" . c #B5B5B5", +".. c #FAFBFB", +"+. c #00A340", +"@. c #DADADA", +"#. c #64AF81", +"$. c #52BF7C", +"%. c #64B985", +"&. c #6E9C80", +"*. c #00A53F", +"=. c #F9F9F9", +"-. c #52C07D", +";. c #629978", +">. c #61B281", +",. c #649A79", +"'. c #D8D8D8", +"). c #979797", +"!. c #62B080", +"~. c #CECECE", +"{. c #9C9C9C", +"]. c #64A27C", +"^. c #63A27C", +"/. c #5ABB80", +"(. c #D4D4D4", +"_. c #60B581", +":. c #DFDFDF", +"<. c #54BE7D", +"[. c #63A07A", +"}. c #64A57E", +"|. c #5BBB81", +"1. c #62AE7F", +"2. c #58BE80", +"3. c #E2E2E2", +"4. c #59BD80", +"5. c #6AB186", +"6. c #00A53E", +"7. c #BCBCBC", +"8. c #7E9888", +"9. c #9FC1AC", +"0. c #AFCABA", +"a. c #EAF0EC", +"b. c #9E9E9E", +"c. c #C9C9C9", +"d. c #B9B9B9", +"e. c #CFCFCF", +"f. c #A0A0A0", +"g. c #F2F2F2", +"h. c #A6A6A6", +"i. c #A9A9A9", +"j. c #F6F6F6", +"k. c #F7F7F7", +"l. c #F3F3F3", +"m. c #62B181", +"n. c #62AD7F", +"o. c #778E7F", +"p. c #F8F8F8", +"q. c #639B79", +"r. c #53C07D", +"s. c #56BE7E", +"t. c #B5CDBE", +"u. c #B6B6B6", +"v. c #B2B2B2", +"w. c #57BE7F", +"x. c #DDE7E1", +"y. c #75B48E", +"z. c #51C07C", +"A. c #57BD7F", +"B. c #DEDEDE", +"C. c #87A191", +"D. c #BFBFBF", +"E. c #EDEDED", +"F. c #E8EFEB", +"G. c #50BF7B", +"H. c #68B787", +"I. c #63AA7F", +"J. c #C1D4C8", +"K. c #57BE80", +"L. c #6C9A7D", +"M. c #53BF7D", +"N. c #55BE7E", +"O. c #63AD80", +" ", +" ", +" ", +" . + @ # $ % ", +" & * = - - - - - - - - ; > , ' ) ) ) ) ) ) ! ", +" ~ { - - - - - - - - - - - - - - - ] ^ ) ) ) ) ) ) ) ) / ", +" ( _ - - - - - - - - - - - - - - - - - - : ) ) ) ) ) ) ) ) ) ) < ", +" [ } - - - - - - - - - - - - | 1 - - - - - 2 3 ) ) ) ) ) ) ) ) ) ) 4 ", +" 5 - - - - - - - - 6 7 8 9 0 a ) ) ) ) ) ) ) ) ) ) ) ) ", +" b - - - - - - c d ) ) ) ) ) ) ) ) ) ) ) ) ", +" e f - - - - - 6 8 ) ) ) ) ) ) ) ) ) ) ) 3 ", +" g - - - - - h d i ) ) ) ) ) ) ) ) ) ) j k ", +" & - - - - - l m ) ) ) ) ) ) ) ) ) n o - p ", +" e - - - - - 7 q ) ) ) ) ) ) ) r s - - - t ", +" u - - - - k v w ) ) ) ) x y z - - - u ", +" A - - - - g B C D 8 E - - - = ", +" F - - - - G g - - - - H ", +" I - - - - l J - - - - K ", +" L - - - M N - - - N ", +" e - - - - O K - - - - O ", +" N - - - P Q - - - R ", +" I - - - - K - - - - I ", +" H - - - 6 S - - - T ", +" z - - - U 9 - - - V ", +" 9 - - - z W | - - - I ", +" X - - - Y Z Z Z Z Z Z Z ` - - - . ", +" _ ..- - , W Z Z Z Z Z Z Z Z Z +. O - - - @. ", +" #.# ) $.%.&. *.Z Z Z Z Z Z Z Z Z Z Z - - - =. ", +" v -.) ) ) ) ) ) $ Z Z Z Z Z Z Z Z Z Z Z Z Z u - - - ", +" ;.r ) ) ) ) ) ) ) ) >. Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z N - - - ", +" ' ) ) ) ) ) ) ) ) ) ) ,. Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z '.- - - ). ", +" ) ) ) ) ) ) ) ) ) ) ) !. Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ~.- - - {. ", +" ].) ) ) ) ) ) ) ) ) ) ) 4 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z > - - - ( ", +" ^.) ) ) ) ) ) ) ) ) ) ) /. Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z (.- - - K ", +" m ) ) ) ) ) ) ) ) ) ) ) _. Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z :.- - - ", +" <.) ) ) ) ) ) ) ) ) ) [. Z Z Z Z Z Z Z Z Z Z Z Z Z =.- - - ", +" }.) ) ) ) ) ) ) ) ) |. Z Z Z Z Z Z Z Z Z Z Z Z *. - - - u ", +" 1.) ) ) ) ) ) ) 2. Z Z Z Z Z Z Z Z Z Z Z 9 - - - 3. ", +" [.4.) ) ) -.5. *.Z Z Z Z Z Z Z 6. X - - - 7. ", +" 8.9.0.a.{ Z Z Z N - - - b. ", +" - - - - 9 - - - E ", +" Y - - - c. d.- - - e. ", +" O - - - - =.- - - f. ", +" g.- - - J 7 - - - M ", +" & - - - - V - - - p ", +" { - - - _ ~.- - - g. ", +" h.- - - - 7 i.- - - - e ", +" @.- - - - 8 f - - - '. ", +" j.- - - =. M - - - k. ", +" O - - - - l. m.$.) ) <.n.o.; - - - - f. ", +" X - - - - p.I q.r.) ) ) ) ) ) s.t.- - - u. ", +" J - - - - E v. $.) ) ) ) ) ) ) ) w.x.- T ", +" H - - - - - (. $ ) ) ) ) ) ) ) ) ) ) y.T ", +" d.- - - - - f u. z.) ) ) ) ) ) ) ) ) ) A. ", +" U =.- - - - - V d. ) ) ) ) ) ) ) ) ) ) ) ) ", +" B.- - - - - - - } G K [ C.) ) ) ) ) ) ) ) ) ) ) ) ", +" i.j.- - - - - - - - - | (.c.` D.c.l E.- - F.G.) ) ) ) ) ) ) ) ) ) @ ", +" G j.- - - - - - - - - - - - - - - - - - H.) ) ) ) ) ) ) ) ) ) I. ", +" g _ - - - - - - - - - - - - - - - - J.r.) ) ) ) ) ) ) ) K. ", +" h.F { - - - - - - - - - - { F h.L.M.) ) ) ) ) ) K. ", +" b.e h.h.t b. m.M.) ) N.O. ", +" ", +" ", +" "}; diff --git a/share/pixmaps/nsis-wizard.bmp b/share/pixmaps/nsis-wizard.bmp index 168ae9d6e369b..4b6195ff31aa3 100644 Binary files a/share/pixmaps/nsis-wizard.bmp and b/share/pixmaps/nsis-wizard.bmp differ diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in index eadda3829c9b6..49660b4adf9d7 100644 --- a/share/qt/Info.plist.in +++ b/share/qt/Info.plist.in @@ -17,7 +17,7 @@ APPL CFBundleGetInfoString - @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2014-@COPYRIGHT_YEAR@ The Dash Core developers, 2015-@COPYRIGHT_YEAR@ The PIVX Core developers, 2018-@COPYRIGHT_YEAR@ The Ion Core developers + @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2014-@COPYRIGHT_YEAR@ The Dash Core developers, 2015-@COPYRIGHT_YEAR@ The PIVX Core developers, 2018-@COPYRIGHT_YEAR@ The ION Core Developers CFBundleShortVersionString @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@ diff --git a/share/qt/img/reload.png b/share/qt/img/reload.png index 735d9f165b164..e45d86a935200 100644 Binary files a/share/qt/img/reload.png and b/share/qt/img/reload.png differ diff --git a/snap/local/desktop/ion.ico b/snap/local/desktop/ion.ico index 1d5c8bc703208..1192835ade3b2 100644 Binary files a/snap/local/desktop/ion.ico and b/snap/local/desktop/ion.ico differ diff --git a/snap/local/desktop/ion_regtest.ico b/snap/local/desktop/ion_regtest.ico index 81e72a3804bb8..2e9527273ff1b 100644 Binary files a/snap/local/desktop/ion_regtest.ico and b/snap/local/desktop/ion_regtest.ico differ diff --git a/snap/local/desktop/ion_testnet.ico b/snap/local/desktop/ion_testnet.ico index d39305f42e05a..0b79bf73fb87a 100644 Binary files a/snap/local/desktop/ion_testnet.ico and b/snap/local/desktop/ion_testnet.ico differ diff --git a/snap/local/desktop/iond.ico b/snap/local/desktop/iond.ico index dc556ea7ef826..36e37c395ef42 100644 Binary files a/snap/local/desktop/iond.ico and b/snap/local/desktop/iond.ico differ diff --git a/snap/local/desktop/iond_regtest.ico b/snap/local/desktop/iond_regtest.ico index 5edf33167381b..88ea9eb69910f 100644 Binary files a/snap/local/desktop/iond_regtest.ico and b/snap/local/desktop/iond_regtest.ico differ diff --git a/snap/local/desktop/iond_testnet.ico b/snap/local/desktop/iond_testnet.ico index eda8d446f2b36..c9bb0256685e1 100644 Binary files a/snap/local/desktop/iond_testnet.ico and b/snap/local/desktop/iond_testnet.ico differ diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index cc28455fd757a..319f5a28f919a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -192,9 +192,15 @@ parts: git apply $SNAPCRAFT_PART_BUILD/snap/local/patches/X003-fix-use-snap-instead-of-dirty.patch sed -i 's/tar --strip-components/tar --no-same-owner --strip-components/' ${SNAPCRAFT_PART_BUILD}/depends/funcs.mk echo "replace splash screen with snapcrafts" - mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/splash/splash.png $SNAPCRAFT_PART_BUILD/src/qt/res/images/splash.png - mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/splash/splash_regtest.png $SNAPCRAFT_PART_BUILD/src/qt/res/images/splash_regtest.png - mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/splash/splash_testnet.png $SNAPCRAFT_PART_BUILD/src/qt/res/images/splash_testnet.png + mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/images/splash.png $SNAPCRAFT_PART_BUILD/src/qt/res/images/splash.png + mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/images/splash_regtest.png $SNAPCRAFT_PART_BUILD/src/qt/res/images/splash_regtest.png + mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/images/splash_testnet.png $SNAPCRAFT_PART_BUILD/src/qt/res/images/splash_testnet.png + mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/icons/favicon.ico $SNAPCRAFT_PART_BUILD/share/pixmaps/favicon.ico + mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/icons/favicon_testnet.ico $SNAPCRAFT_PART_BUILD/share/pixmaps/favicon_testnet.ico + mv -f $SNAPCRAFT_PART_BUILD/contrib/snap/icons/favicon_regtest.ico $SNAPCRAFT_PART_BUILD/share/pixmaps/favicon_regtest.ico + mv -f $SNAPCRAFT_PART_BUILD/snap/local/desktop/ion.png $SNAPCRAFT_PART_BUILD/src/qt/res/icons/ion.png + mv -f $SNAPCRAFT_PART_BUILD/snap/local/desktop/ion_testnet.png $SNAPCRAFT_PART_BUILD/src/qt/res/icons/ion_testnet.png + mv -f $SNAPCRAFT_PART_BUILD/snap/local/desktop/ion_regtest.png $SNAPCRAFT_PART_BUILD/src/qt/res/icons/ion_regtest.png echo "-----------------------------------------------" echo "+++++++++++++++++++++++++++++++++++++++++++++++" echo "BUILD DEPENDENCIES" diff --git a/src/Makefile.am b/src/Makefile.am index bb5f155aded3e..927741ab78893 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -77,16 +77,11 @@ endif # ion core # BITCOIN_CORE_H = \ activemasternode.h \ - accumulators.h \ - accumulatorcheckpoints.h \ - accumulatorcheckpoints.json.h \ - accumulatormap.h \ addrman.h \ alert.h \ allocators.h \ amount.h \ base58.h \ - bech32.h \ bip38.h \ bloom.h \ blocksignature.h \ @@ -104,19 +99,16 @@ BITCOIN_CORE_H = \ compat/endian.h \ compat/sanity.h \ compressor.h \ - consensus/validation.h \ core_memusage.h \ dstencode.h \ primitives/block.h \ - primitives/deterministicmint.h \ primitives/transaction.h \ - primitives/zerocoin.h \ core_io.h \ crypter.h \ denomination_functions.h \ obfuscation.h \ obfuscation-relay.h \ - db.h \ + wallet/db.h \ hash.h \ httprpc.h \ httpserver.h \ @@ -124,7 +116,6 @@ BITCOIN_CORE_H = \ invalid.h \ invalid_outpoints.json.h \ invalid_serials.json.h \ - ionaddrenc.h \ kernel.h \ swifttx.h \ key.h \ @@ -132,16 +123,15 @@ BITCOIN_CORE_H = \ leveldbwrapper.h \ limitedmap.h \ main.h \ - memusage.h \ masternode.h \ masternode-payments.h \ masternode-budget.h \ masternode-sync.h \ masternodeman.h \ masternodeconfig.h \ + memusage.h \ merkleblock.h \ miner.h \ - mintpool.h \ mruset.h \ netbase.h \ net.h \ @@ -173,7 +163,6 @@ BITCOIN_CORE_H = \ timedata.h \ tinyformat.h \ torcontrol.h \ - transactionrecord.h \ txdb.h \ txmempool.h \ ui_interface.h \ @@ -185,12 +174,20 @@ BITCOIN_CORE_H = \ utiltime.h \ validationinterface.h \ version.h \ - wallet.h \ - wallet_ismine.h \ - walletdb.h \ + wallet/wallet.h \ + wallet/wallet_ismine.h \ + wallet/walletdb.h \ xionchain.h \ - xiontracker.h \ - xionwallet.h \ + xion/accumulators.h \ + xion/accumulatorcheckpoints.h \ + xion/accumulatorcheckpoints.json.h \ + xion/accumulatormap.h \ + xion/deterministicmint.h \ + xion/mintpool.h \ + xion/witness.h \ + xion/zerocoin.h \ + xion/xiontracker.h \ + xion/xionwallet.h \ genwit.h \ concurrentqueue.h \ lightxionthread.h \ @@ -263,7 +260,7 @@ libbitcoin_wallet_a_SOURCES = \ denomination_functions.cpp \ obfuscation.cpp \ obfuscation-relay.cpp \ - db.cpp \ + wallet/db.cpp \ crypter.cpp \ swifttx.cpp \ masternode.cpp \ @@ -272,18 +269,19 @@ libbitcoin_wallet_a_SOURCES = \ masternode-sync.cpp \ masternodeconfig.cpp \ masternodeman.cpp \ - mintpool.cpp \ - rpcdump.cpp \ - primitives/deterministicmint.cpp \ - primitives/zerocoin.cpp \ - rpcwallet.cpp \ + wallet/rpcdump.cpp \ + xion/deterministicmint.cpp \ + xion/zerocoin.cpp \ + wallet/rpcwallet.cpp \ kernel.cpp \ - transactionrecord.cpp \ - wallet.cpp \ - wallet_ismine.cpp \ - walletdb.cpp \ - xionwallet.cpp \ - xiontracker.cpp \ + wallet/wallet.cpp \ + wallet/wallet_ismine.cpp \ + wallet/walletdb.cpp \ + xion/accumulators.cpp \ + xion/mintpool.cpp \ + xion/witness.cpp \ + xion/xionwallet.cpp \ + xion/xiontracker.cpp \ stakeinput.cpp \ genwit.cpp \ lightxionthread.cpp \ @@ -355,23 +353,20 @@ libzerocoin_libbitcoin_zerocoin_a_SOURCES = \ libbitcoin_common_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) libbitcoin_common_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_common_a_SOURCES = \ - accumulators.cpp \ - accumulatorcheckpoints.cpp \ - accumulatormap.cpp \ + xion/accumulators.cpp \ + xion/accumulatorcheckpoints.cpp \ + xion/accumulatormap.cpp \ allocators.cpp \ amount.cpp \ base58.cpp \ - bech32.cpp \ bip38.cpp \ chainparams.cpp \ coins.cpp \ compressor.cpp \ - dstencode.cpp \ - ionaddrenc.cpp \ primitives/block.cpp \ - primitives/deterministicmint.cpp \ + xion/deterministicmint.cpp \ primitives/transaction.cpp \ - primitives/zerocoin.cpp \ + xion/zerocoin.cpp \ core_read.cpp \ core_write.cpp \ hash.cpp \ diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 122df9a64e87d..6955d65c601cb 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -8,37 +8,38 @@ EXTRA_LIBRARIES += qt/libbitcoinqt.a # ion qt core # QT_TS = \ qt/locale/ion_bg.ts \ - qt/locale/ion_ca.ts \ - qt/locale/ion_cs.ts \ - qt/locale/ion_da.ts \ - qt/locale/ion_de.ts \ - qt/locale/ion_en.ts \ - qt/locale/ion_en_US.ts \ - qt/locale/ion_eo.ts \ - qt/locale/ion_es.ts \ - qt/locale/ion_es_ES.ts \ - qt/locale/ion_fi.ts \ - qt/locale/ion_fr_FR.ts \ - qt/locale/ion_hi_IN.ts \ - qt/locale/ion_hr.ts \ - qt/locale/ion_hr_HR.ts \ - qt/locale/ion_it.ts \ - qt/locale/ion_ja.ts \ - qt/locale/ion_ko_KR.ts \ - qt/locale/ion_lt_LT.ts \ - qt/locale/ion_nl.ts \ - qt/locale/ion_pl.ts \ - qt/locale/ion_pt.ts \ - qt/locale/ion_pt_BR.ts \ - qt/locale/ion_ro_RO.ts \ - qt/locale/ion_ru.ts \ - qt/locale/ion_sk.ts \ - qt/locale/ion_sv.ts \ - qt/locale/ion_tr.ts \ - qt/locale/ion_uk.ts \ - qt/locale/ion_vi.ts \ - qt/locale/ion_zh_CN.ts \ - qt/locale/ion_zh_TW.ts + qt/locale/ion_ca.ts \ + qt/locale/ion_cs.ts \ + qt/locale/ion_da.ts \ + qt/locale/ion_de.ts \ + qt/locale/ion_en.ts \ + qt/locale/ion_en_GB.ts \ + qt/locale/ion_en_US.ts \ + qt/locale/ion_eo.ts \ + qt/locale/ion_es.ts \ + qt/locale/ion_es_ES.ts \ + qt/locale/ion_fi.ts \ + qt/locale/ion_fr_FR.ts \ + qt/locale/ion_hi_IN.ts \ + qt/locale/ion_hr.ts \ + qt/locale/ion_hr_HR.ts \ + qt/locale/ion_it.ts \ + qt/locale/ion_ja.ts \ + qt/locale/ion_ko_KR.ts \ + qt/locale/ion_lt_LT.ts \ + qt/locale/ion_nl.ts \ + qt/locale/ion_pl.ts \ + qt/locale/ion_pt.ts \ + qt/locale/ion_pt_BR.ts \ + qt/locale/ion_ro_RO.ts \ + qt/locale/ion_ru.ts \ + qt/locale/ion_sk.ts \ + qt/locale/ion_sv.ts \ + qt/locale/ion_tr.ts \ + qt/locale/ion_uk.ts \ + qt/locale/ion_vi.ts \ + qt/locale/ion_zh_CN.ts \ + qt/locale/ion_zh_TW.ts QT_FORMS_UI = \ qt/forms/addressbookpage.ui \ @@ -195,6 +196,7 @@ BITCOIN_QT_H = \ qt/transactiondesc.h \ qt/transactiondescdialog.h \ qt/transactionfilterproxy.h \ + qt/transactionrecord.h \ qt/transactiontablemodel.h \ qt/transactionview.h \ qt/utilitydialog.h \ @@ -214,6 +216,7 @@ RES_ICONS = \ qt/res/icons/ion.png \ qt/res/icons/ion_testnet.ico \ qt/res/icons/ion_testnet.png \ + qt/res/icons/ion_regtest.ico \ qt/res/icons/ion_regtest.png \ qt/res/icons/browse.png \ qt/res/icons/clock1.png \ @@ -238,12 +241,16 @@ RES_ICONS = \ qt/res/icons/eye_plus.png \ qt/res/icons/filesave.png \ qt/res/icons/history.png \ + qt/res/icons/history_regtest.png \ + qt/res/icons/history_testnet.png \ qt/res/icons/key.png \ qt/res/icons/lock_closed.png \ qt/res/icons/lock_open.png \ qt/res/icons/masternodes.png \ qt/res/icons/onion.png \ qt/res/icons/overview.png \ + qt/res/icons/overview_testnet.png \ + qt/res/icons/overview_regtest.png \ qt/res/icons/qrcode.png \ qt/res/icons/quit.png \ qt/res/icons/receive.png \ @@ -254,13 +261,23 @@ RES_ICONS = \ qt/res/icons/send_dark.png \ qt/res/icons/governance.png \ qt/res/icons/governance_dark.png \ + qt/res/icons/governance_testnet.png \ + qt/res/icons/governance_regtest.png \ + qt/res/icons/governance_dark_testnet.png \ + qt/res/icons/governance_dark_regtest.png \ qt/res/icons/staking_active.png \ qt/res/icons/staking_inactive.png \ qt/res/icons/synced.png \ - qt/res/icons/trade.png \ + qt/res/icons/notsynced.png \ + qt/res/icons/notsynced_testnet.png \ + qt/res/icons/notsynced_regtest.png \ qt/res/icons/transaction0.png \ qt/res/icons/transaction2.png \ + qt/res/icons/transaction2_testnet.png \ + qt/res/icons/transaction2_regtest.png \ qt/res/icons/transaction_conflicted.png \ + qt/res/icons/transaction_conflicted_testnet.png \ + qt/res/icons/transaction_conflicted_regtest.png \ qt/res/icons/tx_inout.png \ qt/res/icons/tx_input.png \ qt/res/icons/tx_output.png \ @@ -334,6 +351,7 @@ BITCOIN_QT_WALLET_CPP = \ qt/transactiondesc.cpp \ qt/transactiondescdialog.cpp \ qt/transactionfilterproxy.cpp \ + qt/transactionrecord.cpp \ qt/transactiontablemodel.cpp \ qt/transactionview.cpp \ qt/walletframe.cpp \ @@ -356,6 +374,8 @@ RES_IMAGES = \ qt/res/images/splash_testnet.png \ qt/res/images/splash_regtest.png \ qt/res/images/ion_logo_horizontal.png \ + qt/res/images/ion_logo_horizontal_regtest.png \ + qt/res/images/ion_logo_horizontal_testnet.png \ qt/res/images/downArrow_dark.png \ qt/res/images/downArrow_small_dark.png \ qt/res/images/downArrow_small.png \ @@ -363,10 +383,7 @@ RES_IMAGES = \ qt/res/images/upArrow_small.png \ qt/res/images/leftArrow_small_dark.png \ qt/res/images/rightArrow_small_dark.png \ - qt/res/images/qtreeview_selected.png \ - qt/res/images/walletFrame.png \ - qt/res/images/walletFrame_bg.png \ - qt/res/images/walletFrame_bg.png + qt/res/images/qtreeview_selected.png RES_CSS = \ qt/res/css/default.css diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 6b702bac59774..0a6c977addf17 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -48,8 +48,8 @@ BITCOIN_TESTS =\ test/hash_tests.cpp \ test/key_tests.cpp \ test/main_tests.cpp \ - test/mempool_tests.cpp \ - test/mruset_tests.cpp \ + #test/mempool_tests.cpp \ + #test/mruset_tests.cpp \ test/multisig_tests.cpp \ test/netbase_tests.cpp \ test/pmt_tests.cpp \ @@ -74,7 +74,7 @@ BITCOIN_TESTS =\ if ENABLE_WALLET BITCOIN_TESTS += \ test/accounting_tests.cpp \ - test/wallet_tests.cpp \ + wallet/test/wallet_tests.cpp \ test/rpc_wallet_tests.cpp endif diff --git a/src/accumulatorcheckpoints.cpp b/src/accumulatorcheckpoints.cpp deleted file mode 100644 index 7c5887eee7302..0000000000000 --- a/src/accumulatorcheckpoints.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "accumulatorcheckpoints.h" -#include "accumulatorcheckpoints.json.h" - -namespace AccumulatorCheckpoints -{ - std::map mapCheckpoints; - - UniValue read_json(const std::string& jsondata) - { - UniValue v; - - if (!v.read(jsondata) || !v.isArray()) - { - return UniValue(UniValue::VARR); - } - return v.get_array(); - } - - bool LoadCheckpoints(const std::string& strNetwork) - { - UniValue v; - if (strNetwork == "main") - v = read_json(GetMainCheckpoints()); - else if (strNetwork == "test") - v = read_json(GetTestCheckpoints()); - else if (strNetwork == "regtest") - v = read_json(GetRegTestCheckpoints()); - else - return false; - - if (v.empty()) - return false; - - for (unsigned int idx = 0; idx < v.size(); idx++) { - const UniValue &val = v[idx]; - const UniValue &o = val.get_obj(); - - const UniValue &vHeight = find_value(o, "height"); - if (!vHeight.isNum()) - return false; - - int nHeight = vHeight.get_int(); - if (nHeight < 0) - return false; - - Checkpoint checkpoint; - for (auto denom : libzerocoin::zerocoinDenomList) { - const UniValue& vDenomValue = find_value(o, std::to_string(denom)); - if (!vDenomValue.isStr()) { - return false; - } - CBigNum bn = 0; - bn.SetHex(vDenomValue.get_str()); - checkpoint.insert(std::make_pair(denom, bn)); - } - - mapCheckpoints.insert(make_pair(nHeight, checkpoint)); - } - return true; - } - - Checkpoint GetClosestCheckpoint(const int& nHeight, int& nHeightCheckpoint) - { - nHeightCheckpoint = -1; - for (auto it : mapCheckpoints) { - //only checkpoints that are less than the height requested (unless height is less than the first checkpoint) - if (it.first < nHeight) { - if (nHeightCheckpoint == -1) - nHeightCheckpoint = it.first; - if (nHeight - it.first < nHeightCheckpoint) - nHeightCheckpoint = it.first; - } - } - - if (nHeightCheckpoint != -1) - return mapCheckpoints.at(nHeightCheckpoint); - - return Checkpoint(); - } -} - diff --git a/src/accumulatorcheckpoints.h b/src/accumulatorcheckpoints.h deleted file mode 100644 index 8f8e867889b00..0000000000000 --- a/src/accumulatorcheckpoints.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef ION_ACCUMULATORCHECKPOINTS_H -#define ION_ACCUMULATORCHECKPOINTS_H - -#include -#include - -namespace AccumulatorCheckpoints -{ - typedef std::map Checkpoint; - extern std::map mapCheckpoints; - - UniValue read_json(const std::string& jsondata); - bool LoadCheckpoints(const std::string& strNetwork); - Checkpoint GetClosestCheckpoint(const int& nHeight, int& nHeightCheckpoint); -} - -#endif //ION_ACCUMULATORCHECKPOINTS_H diff --git a/src/accumulatorcheckpoints.json.h b/src/accumulatorcheckpoints.json.h deleted file mode 100644 index 7eab0e5f64db1..0000000000000 --- a/src/accumulatorcheckpoints.json.h +++ /dev/null @@ -1,545 +0,0 @@ -// Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018 The ION developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef ION_ACCUMULATORCHECKPOINTS_JSON_H -#define ION_ACCUMULATORCHECKPOINTS_JSON_H - -#include -std::string GetMainCheckpoints() { - std::string strMainCheckpoints = "[\n" - " {\n" - " \"height\": 560020,\n" - " \"1\": \"9412e77497fa982e7c5317d1d037048c0b6b463e6794087285d357ea39a363b6695c78129e26f96b2bf34354feb2d8fa643e614c176ec8ce0d8b9bfa99ff82e548f97c82272c1b62d23ca8cbd68a20102a03fb5a84f9d08a5ed3c563fd8c603c187fcf17c0c94e97dfe1d7c47005bab3d1b42c1261a89a1dc49942a9a3fa175d8d764c794fcde134d2a0bbfec940a87833ba2688f169590287ffc3f7ff95f48320c04a71796f5999b96145fe22ee5d81b69237494b8b96d7e233e639e27323a1e6d3b19e2c8aed0a9698ddc934ac8942b73e3456a5409b1d6c3f7b8f2d72eceb0fe6fbad9c1140964030c496f56c44e160240ea57932ac8c609f867a244469c3\",\n" - " \"5\": \"85cd60669c34802bb2b92bffdb6ca189b9714f4a78eaba349341b314ce13de8053362e9b881e28943c4d9f7c8eb59306615043e977a10015666a1438b36500b69ab50b0340c98cbaec72e40369c494787ee636c1762e34ee145966ca9c2d2fae9eb62a78da4c231b28d2850504ef30e161299a9283329d2a724d47b52b727963bced0a364fc81e8b394e52b3a58f0225f70d382ba20f3fc7fc6fca8fd47c311319572ec3947b9e74cb017be8847777669ac05039f7506e21900a56445e66960c5d9efb203c0dbc739f2fffeacf606e6051e2280cf40e02f89d1b98eec9c6e2d8ad574737e387762fd003f26d8eb40be56596eadd3f62f8e537845a3218c62795\",\n" - " \"10\": \"539120e26e8c3112557c5c03ff3fa873bb2d9f6cdff9b5a04d5fa2b878caaff6cda10749ce2814f2f281ee2d05ac63daf4dd82b98aad79403271798c886c3c315ec965e1d0fbe40bc4a9e00b1f7e4cbe0e43c0e49fd91c40e34b1099558c2b2e87d02ff56c6c0fa5da99d38de6e00b1eabe0218b2f1394b893d6e6963071bb5299e7f04c0bec074a728af704d395677c9c5fff802b8ab36c9c64d4d0b8001116f78452d071f944cb86731d79f8e7f9e509e3397054edd9802e7fa99b04fe6919c4eb8796514d56329452c0419bca5226fb813605bae82dfca19508a61360ffa9e49ff9e03a63ef0f94aab9fd431e6f264d968f7bd2eb2e1c284d44b6790ff1ee\",\n" - " \"50\": \"6c4555accf33b76b70b77565eaf176ed468788286a634112d8baef7659b4712bca6ad4e7f6164434c4a0c7ee490ee3eb550cd255c9499dc92ee550f9d2e4a785cc5a2eea599478a0e767019ea58e8f70ae75d11a21b518a4443035feef52cf57615402574e477f795c04d7607677b75996ccf4bb00a9a084362403918183ad92ceb57aa7c67e4b9252b60f8e532fc0c0911553040185a650715874c7f338d56d3e65ed938614d12b17dd0c50c1fbec48c9985ebde6c69ca82767d0e2457de97b4a3f48c253e54caeb8f2c5ecac3b43f5f745d017aa579199f9d59b6127d1fb45afa44ca2883a88d14565b3cb0397803473670def144758c5d4bbc7e6f3b49365\",\n" - " \"100\": \"6ba7571da0cebde839821426baba6f0159e6d1d3ae45b3c5c5dc5a02c5bf37b3b5280518df1d895c4f9a267fa77e9370329f3d379ccd1327728f18f310a98ff48aaeb04bfecc73627b0802b8d0adbbeb9900d36c3bcd28dd441141ac6805ecceaa359d5b1ae0e2ac16008e0a6e67bac75d3569fe50157d1429374de6cbbb0e3bcca2c004514307f07456682c822b236164bda6aa1fb4dc1c349d7287c0a53ac895b64004e86f7d64b5e7694b47b94ff91eaee81129b807e06922325a8fcd95c97db6a4d508e6c4178f20bbc0090f0f78c88c5ba21ba265f09ceb4c32656581e3f1aa557273c6a5a0f9e45da1d69520aa72a55de69c4cf8a90cb923bc79e9a313\",\n" - " \"500\": \"7c969b7a8e0e6e7f3a21e98741aa23022d5cee3cb0a5d20f5dac654fa05af98b7125d855505d4451bdd5ff8c1267c4111ed951b532ebd4ebf1a3443febeac787335dd1c4957ef12d2fa2621777399e0e75eaa835a0a336eedb677235eb7f6cbdf1f81eef45e1fcfb195be724f2ed689d5f0e873feae27149a9842a17f8a9b69595d656d74be80d5ceaeba94a6aea7a4b645bd1875661da7e0ff45d5a2c2ba38cdea46f311e04a393242408fdd17fbcc2a8cc61fb0770bcef84922f18f7ed542df6a4fe271a3076e59bcd94e6e433dffc597903c2edee49f4b3de6e203e10915b512c0771e78fb477f24f3b3917e60013a59373c8181cae16375cc758aacadc3d\",\n" - " \"1000\": \"6bdcc598205fbe85f17050b78b9a29650dc8b85158b88f9ff5c3b45675869b20d2511acfe0556ad387027316ad1b68db52b543ae21ab6c1480445f677b00380f9995b44b9b8068f48f8fd09fe6a05937f57b4a2edb4b0aa0c490a3c67fd4750837d119045107d41bc18bcb415f19c4e0e3e1ca4562944fcf588fde1b55501e60692b3539e319f3a50ed539294cfa6b8a5e2ba21f4795624bf68e12ecbcda45fa805adbb9ccb918e45ac5af8c1711fce54876d783eb83e3196e40be5afdb2a892f094418be9ea77c96b6d9583207e21c30af37d0b383c2030ec4c1e30207911200bc02d2c97d06decc3cfb1893fea268e072f0d3f115cf6039aca254a5b2704e2\",\n" - " \"5000\": \"650e85dcd32b5c9a28958f808ecfc14d8e1e473c2d578a0e947eb48f785cdd938568146fd8798ec3184804c622034973e7139a9f69ae81fb80dc81362bd12dab139ca503e6a3cfdf1c026bb75a9763321e84d2a3bd568d280a0aa4cd4e0a2c648a3f695b912f907c24acdf4ae0767d104bee5248267e5945f8aa6b4dc35bb3d45449dd5a469677e7e232d0bb7e4542ece8350b5f2d5c292a7933691c066ac87c13fbe94faf42b610608eb71bff2a944dd6c7380d927867e3e1f41937365a1e586c4939ced0ac105febfc8ea0317bb2dd75d0a03e1b9a0608988aafb49037f477ba247f3f14ca661799cbc6d98b80adef467d288a5e22bbac0d7a9e3b4354eb2a\"\n" - " },\n" - " {\n" - " \"height\": 570020,\n" - " \"1\": \"5e019fce9294077262d856721394d55a62b948300f62a7362568c6a07a1f83175cc3f6cc0c8dac59b7f4811fd332aa25eb29cf0565af25bc9eb0d7a490e37e261c4513f1381d2b18b95405c8aaa052794fd1efe03b6692943800e642d4195a4159ab246804188ae27128dd344e4881db969c02b6e0d0ab3eedcff497249757523fe7cec892e3133dba0452f86fc2d75b1a639a8e7a319bd8b602b2893b2c189380d7b968729cc184f827187371609158b332275fd2ebbad98d0397e05a9d127457f546532eea35ac6ee3fbe38344c2be93de560b214524aba810d7eb39ddfd4e24e99d70ed45c1ebcb9d9925fb86577c0bbca95e7faec79aaf556c3d6a4fca89\",\n" - " \"5\": \"13ec528d2423d59326ef5eff466f0bf5a8d8bc45c35d15a7452d3faff5a7c7ce0c30bea00c73d56ec1f798526991e751c99921229ee00e72a2439bdd0d51c99fe993f192017860c97f697c66e945974e51eacfa06fd1077e738391c0701cc00cf381c839280b2c61e43a211831ea8048e2f3df759d32daee7b788afd22aa0932159ffbe7814f2c5a7d3c156f7fe1787a8d190eb4a6ccc27a712cdd4a7795dabeacc20e823c8935557665a07a4bfda74ff5dc2044ca3290a75e763ad0e05c85ad59f0f1b44d51d5eb3457a5c05f7d5d1c166937d2f2e8e22a03cf51d2a8a1818f7385c2645c7f6f18f4064f425eee13ee5c340026030bd7908a0b20e971484a6f\",\n" - " \"10\": \"2b0e6565d6c5613996529f7973fdef9c2621883cd3c91f814775ee3b9269b1625e47d149055b1ca2ee18189f55b65a911413f3eebf006747739ef515a1f9641ab4f45c91c8b0c10c343ac5ae5bdf0506c2852b00a62b85beef6c467e7ba5c14770b5fa736547248011411e372ee21c33c87badd06a8b2b8a4331263c57623804f9f4bf6a67d621d0ed020737f7de870cb7e4a27338aa36ef07480bcca04b9747db72cb398710d3a237504d6b5df05ef7d983e7a9fa88ed06cea0148b5a4af028e63db4b72deebf316a2b5c408ab3c81f577ab9cfdfd2826019c5c382f5df8c8ce7440e9bc977acd08045a5097da4476465c8ea90948978f33180d251e4508f27\",\n" - " \"50\": \"608b12424fb15afe540807f5a0acd476cffa7dfec60a97a92c4ec770c7c9aae946f5a422c4f19eef326a3f56f384272ee8b9352596c4417619a977c1e245968ba53eabbc8fff1d94f02419d5988b1afd1e6566c5ac7f5b0393e8e7c767e6a64fc0d436d57c0432a6c7c2f6b7d8e69eb2eb4209a15190f878d6e5edc7c503efbef4a165016fcaafa8582dbe31d0b86c7d654501428bde619f48c20383cc069cb8d5261c0359704377dccd4ef8aa688f902a323be4a4f10ed987f67134b51bc03519216d9a300ef5e11e69e226c834d7521d5bd31de276d75fc87e6884bc3a8b76aa1c8d551588d449ad7b2b700530edc29dca396b21bdf73f0f53b6e83f1d7161\",\n" - " \"100\": \"2ef1a4abf1655ab3a59563a014821d4bfa8c243aea492d4af30c96e8071af6a0696811b209c81001a4bb00b8a5bfbea2a66fb14e9731e99d7dd4696ef014324487aeed02fea3f6a88181f7450a9fab66c4fd78a50efb92e0836c4240d036b27b4d98e67d05dc4be91190aa1cbd33667a9f53f52e0bbf0992b13b2f3e6b9e9cdf6f6c7da6dc61c6f06dfbb84813e8cf5d897bfa1c74cfbc4483af6eb311049b91d192e93834af3575a08c15358f0bcf8cca1d9f9a1ce2ac96d96bc96127241cc28bb03d51a8bd828d3024e8a7659163c70dff4c7a460cbeb690df4dcadad363b19f64f09597888e080600f7bfe070051cf4b03f247b43231edf57abab467e647a\",\n" - " \"500\": \"5aa7e1520a3189c24258cb424e5ade222782155f883adf1eba6f700ad474ff06f949d88f6bdf4887ff9eda21c2546bfef8022c742cd57bacbd519432d421dccb955af91039d2a33bcef9e3b81c5ca617d0e8ea75e81bb19101cecd15f65e605b82ff457ed169d5d4c71466d934b442915470d5c56f2631b38de3f275dccaf8105e40f9300a73002028f83f7e28be14adf3034f48d736232713273da49ac05701c26468b7dbbe0447eb98fb7c452c362b5d141dc4a738d439720e0f4774703a2018ee666408c3b7e20ecd644bd96167b7270903d4a1610f360304453d05c0dfb381f731493376f8a5552d6185afb62e19c52838aedfd13e16a9561cea40ec17fc\",\n" - " \"1000\": \"2e87b8a70a46c45930a4b2d8cf9ad1b7a58f071c63b43e104d68d80fadacef19623f07107a4c62e94be82452c22d43532d8ebfbb82b9dc3ce40b440452f52ce847342cd9f774f0c14b65af0583ca3d13d3861ed32a53e78211a085ab8c14cf6766c336eb866f2022388097e38f333d26dea9b68ca14527a99b8cce74139f8337a75d151c983f6b9a3dd609c6693da370b127b6f3846caa040ef1c7119251c54f018164c9c05d45ce304fd12e22991c7cdd70d95b4305565a418140dab0ac5f4a38f04fad605c4abe399b593a3fb46ff611e2a4ae6fcd0d28bcf6a84d1ff6fb5ea54d15c5ce34d61d4ad8ae2b7cabf1d929205c06b8a9436af4d34b685f3c9f4b\",\n" - " \"5000\": \"921a6afb47d724711d6631e5b04a28271e0e91768ee875f2b537a06da83e395e6882994d9e005f913e43c3235e6284fc3b48f239038b845413f0167dc834e3c5510b815d59e81f7f61e96fc4b3df855aef25ee59344a5437a0d493e1e6f6eaa82d958a88422b2d92b15646efae0cf406e50dcfdf52f1d6aa258eab659848d5d7a595e0e38ce9626258a2d324f48b0935943807f93d8163e0c31b29d7fcd0807ba619273ddfbaae5ec33eb86aa29d76e74ec8c610b7617d73417cd28c3ccc2bb78319069ad2feda3ed76929aaad953c19608762ed8872175627ae29f504fcb02fe9e1ce891b6cb3fca7bcc433f6c20ae0d36f3c07cb25b576cd67fa676683f319\"\n" - " },\n" - " {\n" - " \"height\": 580020,\n" - " \"1\": \"8e7ab83b8086140d85647e31c174f675d0712d392bd66e6bc8a20ca689fd9d0702be7bbd8592e31d0acd87b14c89dab6eceea752fb9af586ef6dd00faf947fd5a63ac761b7d91b29421e9199538b0ae9db59f5887f69060fb0a873a7824968ea65ee9e84233c2c81713bf45ba4b26adadb7080e949e5da86af68a5c65407e9086b60f3b7f096e139f8759dd9f81af73a7bc3eeab4473c22f625c21f33e5e6f52cceeb9e3471fdc7d3f075dd230245403653049ed291bc56da65079583182129c52023494a3741e476c8dc3cff9c75bebebed92023ea76fb212e134c3c7751415b52ecd2d76841839c9f8ad2686c2cf46efbd74dec551a4eedde1716488255a00\",\n" - " \"5\": \"acdc5cfb9ef61d72988d0e205c3be6e7f4bae4b460ea0ac52b18dfd336db506f705f2a91378ea7b1546d168f9f026f17751c21b12c83163358ea63a51533ca91ad3f020c5b7c7a64ff99a6b9f6baf52d4ed18709eaed31683b543d299c706e8e23b475a60d8d5e4a486fa0d852cfc4715ee4cc8acb80753d6ecc6e4c6f224e92e887b1cde37c82c56a3901cbbecdc304effa7267839bf792ae503dc8a5fd2a77f2bb0816dd074db5cffac081f6940ced809f52d62ae75f737ec83f6b35d44c09fc06c3aa4e40703ca51c3e5c5ff5382da484e7a317ec10b5f96d82ddafe2d2d752c1d1643e319921249b4351c29b47ede53ac90e9b825a01e87f2accbab0fe14\",\n" - " \"10\": \"358ec1941cf2b0152aac8daf3174e6411526fe0b2f02335f3afc8c61c56dde74802d4927c7070077e585be118deacd6dc2e5e372fdf1fd2a9c13ef1646489dff1da5b3b0d2c32897958b2760f29e52febe427b431accec6191ef134f1f640b31ecad04efbd3ce5e1f205d64a2171da31c3e07eadde8190217a2b623d7638f412426092f4b76f025e637ab1614b5d8840b20c59565f125eebedbcaf9ec5a6f4204721ec35092b05f50b6600b24fc37081cbcb963769935728d6b37e1cbd311614fa97a83ff121083a5836d116be750cc81f5b50e3949a5b0964b40e72f17bc4a8d08e1c6c408bf9ff29babeeed5e5e13b8433178487b4c68d091f2951af0d8644\",\n" - " \"50\": \"2b8481b1e2a02bf8f9587d3821ea7fd1b440d6c991a0a1404ba74a00189ace495b370f6d1281818741d174c9e72f7cc3b3264faa7f07919c400878e69f4d0e927c0002e11fd8a1e5f2f3fee8540c0f536782f9adefa239f38e91cc00af8f31c5bb76cf0c101a75cfefb6de316620e2fdf9d011c1fa9cd24dc952f1ad1b66e643f51ef351c9fa21ffc4b614ed45fab382b1690cfb16a62766a9f9b5fe8344666e3415a305cb263a38f1d9dde1010777a5f76e7a5685ec38955f3f01b1c13a8211e29f7f1a6b346c0aff3d9016c9eff1cad58457f3160ffc25fd132a40d6f360897879e0161804c5f54ce5bcf12f6b116b337b565cd99d69b4f12b71d448b20bc\",\n" - " \"100\": \"3eed77cb5657bf8a6456b225ab9e7bdb68ad78fd4ce3f85e3b9e763856a90552f4d5a4764e9296e33a4d2dc8aac6e707c0de32f6bd2ec8ff9102cdec723e14ac5e9b87eb2d9dce847b9da46e8fde223f9112cf0e6270c35a7079c5a6d5c0644ea0e6ffad721fdec2a1007dc7118074984ace7c58fb3de542b56fa52e9564eaa56be79e516e26360a5657e6d63110ad48d90b1dd6e5f46330f778c96bcb98cfee6377d853ee1a4c137362278ec59133bef1c7b1e66ab08906188dd8695ec40d938684ffd00e33a47af32b8e00f1de00b0f332658400570c9bea60ee562089afe98480cbde2ddce0f8612cb4e12875d4f0f498e50602986a0b61367915c6260085\",\n" - " \"500\": \"2d47e46c8c1c8cadf6a8f4259e0af2f9408044325d21d010a8833f7499b4f3c6dadda97e37666d34aee7cb69cc6bd45780acbb0536a0e2f44961862039a40d97e79d97e1c4c0c4fca6b77382d1e17d0719d4fff7af774cc1e1c1ba0c4330e52ab7e70a8aff14d699872127d1856ae1594d9d75d61dc37bc44b5a8d93c3f682d9e06d1db5ed48ba6485dc961cea0caeac392d017109f61b96a1cd5cce6bb38f21d88e396c1452169e448b958865a3616ab6a7b6373fdf5e2ed22b1de473ca545bacc37ca6cde417427ddb8231a683982a2aa24e70d23730de22151b3b42b6b35fe46d458b309d349266f058d30d6dd88e784321815dc1580cf82be0f7bed0ccbb\",\n" - " \"1000\": \"931c3f37bc4db85bda1dad69505c5cebb15ead71b0b6ea081d9835f81281958319981bc0e95748811e6c32bc88d28734342e680c9c6bfbf37a3d72bbf6ddbc422b326c5a25db3cedcbc855e02a74b32acc5faf36d633cd72c3a53953e1a34f054a97e691ff81be347952c5f5cc599c0cab92d3ff67d2f1e34fa925c9e996cc5788b014b9b86b1cb95a61f69ea1e4ae281ba27a57c128ed4b9e3bf0813b70ae79c0d4d6cfe407c9e56a0f66749bb9f7d78df759b751476da1caaa1e98d1297337179bf982fbcdce756235df8b8f79ba823d5294d3584535c61df7f4c2d9885aa4b13c03d906d03dbc581cc5505e1d49039bf22c60afb1275b4de34545949db079\",\n" - " \"5000\": \"921a6afb47d724711d6631e5b04a28271e0e91768ee875f2b537a06da83e395e6882994d9e005f913e43c3235e6284fc3b48f239038b845413f0167dc834e3c5510b815d59e81f7f61e96fc4b3df855aef25ee59344a5437a0d493e1e6f6eaa82d958a88422b2d92b15646efae0cf406e50dcfdf52f1d6aa258eab659848d5d7a595e0e38ce9626258a2d324f48b0935943807f93d8163e0c31b29d7fcd0807ba619273ddfbaae5ec33eb86aa29d76e74ec8c610b7617d73417cd28c3ccc2bb78319069ad2feda3ed76929aaad953c19608762ed8872175627ae29f504fcb02fe9e1ce891b6cb3fca7bcc433f6c20ae0d36f3c07cb25b576cd67fa676683f319\"\n" - " },\n" - " {\n" - " \"height\": 590020,\n" - " \"1\": \"404df0ad8320d1f8d10e5bbca0017012bf17713bb170857d63874d062d1734b8f987c2a02cdd12c6d615edf1db996401febc691d2517506d8feaa5a738bb206fed5e27b621c4dcb9dab875e466cda08d213e2eef80ebeb5569f0f75430a86a422f3d21e0b9e01e48bdeb7ef270a70c8203223960868b1793d880c66620ac9d35731b11cca4f4706f563515b6788e107feb14ffd9562395c5593132af3b49c362eaf0ed182482a2a01d35b87057d4758e23804cb26859afc8b4d9cba31ab0449b4709e2b4f620e22e4810441757981c2ce9987efe55d76519a84ade5e7dd1da3aad0538fb5dae16c9888b88bceac9fc00430da08ea6cc18ba91fdc1b53224c864\",\n" - " \"5\": \"4a5872755716d4cad79cf65b2295aed625601f0c62bc1977cacc4e544b6cfe57bfd16eed10908145f22a5a34293e85a8234552b057d2cd82da5ab2c92761d4c8ef1845743a19c357294a1fa28cdc8914b0907579dde8b4232d461a2259c514e42f119a50ce8ba1626e2a6e04fdcd1c0f8834ab22b38b6fc20e0b74f9ed99c41fb721f333a0dd13d4d3e38a517478cc20c4892b3bc714587ac75f4ad1d76bd1d10b72a64cc6ad2d297624032d3b2eb834b281fad1afd4fbf6637d4d2b696851e85d02522fc5680ab796c5116eadbd06ac929e8efdca52435bd885ce6de3cc31ab14907c0c504dc6ab26d9b5bdef1504b2bf0ee2c7b618957d0081a972e982e2d6\",\n" - " \"10\": \"aacf76ff64fce4f3ed6f712edd8d6851d6de54d3447d0da6f9a6b8272ef206ce9c09970800416dd1ff7f5dd27ab432eaf566b43ae0ed6315b8dd70a965c305af1e42196f081de2f34477858ae0fd7b78a8af44c482333ae9efa257646f242c2775147447be5d9da4c5f8763925a025e182b49954c0cf738536b19e8b27160c0088a229d4b95854ca086d994e8fc2deca1e37ee0e0d89f4713cc73c2a2d8297d0443e7a0f713012ab63785f7347a405833a5e8bb874423c03ae79a2e922ddfabce9487f67e3b1f41ee3b3b9a1613b6b873134996d6cb4bd4e68fc7c155926bdab1c681d86712f355eba49579d1686433dc7f5786ecd7ff5397ac027eebe2008b\",\n" - " \"50\": \"7eecf979bfea4d437d587042c4d36bb72b82ff9a6246fd4144c6153e647fa7b1bd7095466f1d218510ce5cfd8939be3514b5908c7fefbd35940e9b6948556532c6339118b969e2d1163313a12881ba2ef1a9bad4b6f08124af2355dff2d68d3e048452b6eea9a7e14316be8eff49a12623e3154805df70e4247eae6aeeeb60bb056baf9a444fd07e27ceff19ec82849bc124178beb7215bd976d1543c33915bb7635cc3f1b7d5961703a1ab3fa670860685b0d18a35bb6a695de13f36441305df01c81b75cc2ade1d9872745cda304d851d09bb1cca78b57960d53a9758860065bc61f2f72f386e165a0a35e1b9dcfa549552973a0cf431c75017471e9072376\",\n" - " \"100\": \"ac7b763986d899617e5757fe821ea3bda2820a7fc07beeb702fe0100f49ce469fed71e1cf62169567011dd0df2c4150510f2396a044b2e73ae78473c539a77c9e4578a070125de9b6dad07f077e9e5e5f2af606be7f1f24bf7711b1911969ce9924b20bbb832a79776d156e916efed5eb3c08be3ca45d49fecf6fe3609d19890164b6982554c2389bba5f9f34e18c268ebf3fdbf6569617d15dd385e0aab504a478d718aa375949c9707a8d2067adc95b792209fda07c04956760edc932addbe87cd760582d5f0e4632c6c01d78257cc8fd1cc582d984b1e48053ca260a70171c25f7ea7918f5abbc1bf2672d15454527e3cd9c73b8b628136aaac7d3dfcdf9c\",\n" - " \"500\": \"9aa232ffd76db0db9ad58186d59c68443e9a202260f8e78043fb3adfac1cb0576266d404673f0f06f2c199b45787621177c6f3cf8c83897cf8e5d292c251be662729b7b231b733c4a5c1bcd2efa2fa67535b8a89a6d31be7f712bbb22fcdb1cce4cf6a825bd335b598111ddd91a19391b0f86ca6ede9a2e74252f2c3723207620d4c3c41730453e420b1395c7f3418b8cdc8586ae42a2ba7f5f8ad47b511a1f1d70903a95aa07e33c669a715dac8e02545672f69f18e99b7e2992a073ce8d8c8487c96f1586d129cdddac3d6dd55c174aa5dec717b4a334110af79705ae7a4a5bcae6f005681ecc3eda5e825cc1b3574b811a5896f5a7c2c60584e1954a9a2a0\",\n" - " \"1000\": \"9460967d19d92af7737d02e01e147ad822694d56608e970315f6730fc75a7ecf85189ba8b8824fa0ec8c2f7170dcc4e840b6d3ca57135e8189acbda42dcb23759da1e4339ddc346509ae24ef40deeb1a979d6531e6188d3e027e673a4a56947073f5459370743b68104f53c0862ed16468ccde5d24eb92d620df42771a489e7e151d5c9b7f0b3ab08db1f4a900be16c382f666cd2c6abea3829c2c645331a6ddae9090b36ea4929d58cf5dd4b9032c7ebdf3a4c095c08fde8761c15d482c3782bce050f3abce6d376473147c37969ddce81653209e80e805a12cf2f3dd28f7e7e91a2a155b4439a99bbe8adb94644549f86e93548c055ae23aa0eb71ee8d8cbe\",\n" - " \"5000\": \"921a6afb47d724711d6631e5b04a28271e0e91768ee875f2b537a06da83e395e6882994d9e005f913e43c3235e6284fc3b48f239038b845413f0167dc834e3c5510b815d59e81f7f61e96fc4b3df855aef25ee59344a5437a0d493e1e6f6eaa82d958a88422b2d92b15646efae0cf406e50dcfdf52f1d6aa258eab659848d5d7a595e0e38ce9626258a2d324f48b0935943807f93d8163e0c31b29d7fcd0807ba619273ddfbaae5ec33eb86aa29d76e74ec8c610b7617d73417cd28c3ccc2bb78319069ad2feda3ed76929aaad953c19608762ed8872175627ae29f504fcb02fe9e1ce891b6cb3fca7bcc433f6c20ae0d36f3c07cb25b576cd67fa676683f319\"\n" - " },\n" - " {\n" - " \"height\": 600020,\n" - " \"1\": \"b2163bbbf427a36075dfe34af43c635f9f266e233256fbf3eabe548c9e90930b354c9a9c1fdaa1d85773e434d19ed928a2d1f4b48e111d2a62e0d97836c303c6110f9ee432cf27cfd890b7b03d9326febb84364267c9f5d2e97da1b94215ba6697a4492c8de58942dfed771873af32d564289482679dd8c5914929d028652ca6bbdc281217ccf7c8c7743e57c1baa735479e4833772127d731082e158a5180ac3d409367945b10bb71bdad56a2c10dda11ae7b5cea1faa653860fd33557eee64aa72fd1a9c92d4faaef6c5f9e0c943f61c315a0aad481c9aeb86cc8f436e3104a005dcd370d5659a7618489ca51ec7bafcc45a02d2d3996246302cd2c74dda01\",\n" - " \"5\": \"baa3996a2739ad7ec3f2c1a479d3ac8dfd73cab1fd1076523b1348480f0460e01155e191bfa499a74598db2eb10446e224f351699d123bf26764efd46b5c9392076cbd9ed5a7fde967532fe2981467fbe0547bcdc12e3c5c9dc368cf6dce0f11cde29584955fa1cfe492137a0c76e13192ef8db22681a607948beaaa63173118d2bf508d81994ae3d0d32277c1778c4768e05b2355cd04ba959bae7717b3cb9936bfac8da7f43f5e1515e6ad4b0ac9f97b81b117bdb84c59c082c57c18132786a74a11bddd20163f94c3465a6952cd2169d564102df984dffcfeeb3ec53ef055afd089dca66ad75792758d8861542855463547f3eb663c4fd7f5a306d0ee48d3\",\n" - " \"10\": \"b74fc50087db5453d14725af907a3045a8ca2cc83853a35831397c03193ad287f1a43219a91f5768b37a580ec701a812fdc070b43239b2b46644633a14206154a877e20f9492d56d5b6777422e892224cd5d5bdbcc636ace11796bb110d1733c18894b0fec3ab42b5688bdbce10069141166fe176f2e449ad364fc88e507caffb4596b204f39f4ed609e5721f4620ef442f5fdc85adf71aaadd7d22f8c1c273d552742f7aca6c9f34e1c1cfd07ff47391884dbef913913081f66b677e69cf7ac50d99fa16e215572e5c40827fe74bac26b51c912f0d022fd2d46519cf10f92cad9b9ae63aefd8f7099255a83ed7afe77bb302fd79e3fb32f1f7ec3d441941094\",\n" - " \"50\": \"a993af8b0e12fe031e6cfb901b996b2f161419ea93cf028ab151291f57e3d671e9cac26e6b48a2b9d3e39192192aee1f548cbf124802c2272ed30e9f96afe70ca32e5fbb100b3396f7aa1463ed06bb3b5aa9b8b2ef67801ae8d09c0b6535b53121f990928f5b782547c771534f8267434dfd3fb53a3da4bc86bae79d96a799c4449d922876b8d6c98b6e3ce49785772c20de05601f4c12b06bd08dfad1665ca2ca8e4aaa217db9e7e9935aef76037516b48c88d8e61b805f76b078d31e6fc00b4d7642917c81b32a72296e86346cacc4a8cfb10b99b3134a4298d645697e2e3ffced9de433acbfac060946df47a8a3034710e5ceff418485916cf3174a241697\",\n" - " \"100\": \"b7def500524512418eb1f543edab171b85b737fbb1e00ffb99e05ea44cb0c66fa0f1b2cff3e174f52b62c2d00b4a3b946dccf286eab386fe141427eddf03bec6323843fa4217d294246c7c18cbb5973fe74abcd11bd6a275a0950027aeb17ed56ee868ddc63dbe772cbcd8d21b40979a10a54616c12375a74959add36c86d504e748516a7d00da987849b226226cc2a8576126035845cb82f2fac6a916b0065582c3a7f010e3429c64274b3c0424f2f1cd8670ee786c7fa9ee0e7a755b8a8c268d1d725473ffee6c4073e0783360734ba8859a40ba9278d288c0aa3f1d2319bb59014f89a4ee301c80ed051be931d69d98b32f24493cccb59029e9a7f2ccdf01\",\n" - " \"500\": \"8d979b9427eb9dc73e2a3b9aaf139a60a826e7da5391652e8ed1427ddc4e2221d155d5ddea850ae765cdb4649b406d2d89c8ebd9fec39939abe8ff3d916c63a0152ec99b9b8869449ffcfaf3927f6189ae105ed5b8efde06e41b43ecae635cd97a657a6786d1b2f75c417a20b0014fecdbc1e359fb3a61aef982a08a0847c3e01d5a974bad5f905cb49d0a5123efde13912aed6f599ea38946a5387681f3926543192e7ad2527f789f6b3c3bf4bc800ead2696c8cdeb1b27f5288896a7f4fb7b43a7bfc89b2ad8512bb82dd0457c36ff40f07911ca19b34f55430f7c133eff78ac1ecc3a6fb21b77789ed3b52db9f4a688d37a9fd494e267bc3d2818abddbed6\",\n" - " \"1000\": \"27e1dde9730419f83061742056b79fce523c122a6107bd79254797d8274b800d038e71223d2c6e2f55a0e9f4ca2a63dfe196b2530caee5dbb5dcff5561e01a6fd2cc1571174991412754f165beafac1cb1b0a703c83d2eee7298ca2c3fb3d540315c857ec3ddec5105107c16b447bbaf819ef1b5c593d510f23c86f150e10d758913869e8aac6cf48092f7122cefa8c4f24a499f1b12cdb60708db0ee7f63c1ea439ce3119c31668456e4974889f6b13344a3581014c3b9db87cd334b35d3935a8951d56e9d46bd427c487fafb7451a5ead5feb52b975292b237f091477b5f3ad325d88c47278c3d521f02be29fae19ae0bea29551f2054a770aa4d03b6e9c9\",\n" - " \"5000\": \"c6ea4d0305067d7de66356bbf734a11e563dddb462a044c7877f6abbaa2cb7b58d92d787af0611716a1a5e80956ebc1f8ce880768879753a07a62cf08cbc8b9a6a6349d5de775a81a6ae891313d8fda279f6084509bbc3463f89e2d2679141fcfcd83ea7f4d049c9acbcf44f11328ae20cf82e07e04e78f0b67d01d83595fe1bd6f152dbf72a963d8835aead0ff76c44b8386df42b72705957d21965fd7e94165344681eb917ec6a8e4c4f090616bedbbdac89b9d69c29ffad11c8e0c39ce6972bb4664d2371c04fc15c0508faaf6f8e2fc2887b3bdd103f0547f55c55a48ab9ccf1aa1c1917718a008a781e1da871af73846fb4878340d7d96b1e53e85b6446\"\n" - " },\n" - " {\n" - " \"height\": 610020,\n" - " \"1\": \"5a575625e0a70f41542b779f1025b087ad94971e7cc1ccafefd03751eba4eb1a05bfe892e9c60812ba6e7a4508717254d746ee18cc2eb8de0a2bb0283a4ef4d41c4e01a86cf370a9a5f376124f57bbcab7af07e099a7800774c45bb1d2275d8ce7c6e60905fd634437c70f3ad61881c439af0cd434909c1c76cb3437f8c0ae95fcf5950c27948d9ca1806e8171997e199de22b0081a85c15d1cce1a227d71c39a21cda4376e8c5df6a481796482adf0a3bef22405e6cd4afc9ac2a68a0c7be7439ce1cfcadc27b267a22cc72d92462d6d4d57d1de3ae6cdd8e387b07cc63453b427127fad173c75f57e2b258c7c8b22345a565959b7d3a55b3d7e2de1039d6c6\",\n" - " \"5\": \"587e8376facebbb015a4ad63a10733d5a6cfa5d86c48ce40525c6d3862fd3f1f2b6090fc6423833cc75371d2e43061679f67757a531c5c0c474cbaa29da1e01dc1fc4edbbd7eeeb9ffe3cf3a1eb47b11a0e5b898ce018c46497e2c985495b25eb3c35c7d3e384460825b4d84a261a4ca2fdc41ae6a384c27fe842b6a8f10e68adec423dcd9973d93ee3c83fae922843ee32328663aa486bb721aca2a458e4929acc41afdd394bf8f2f85c5acbb27a73181f9bacf89e9be56f077d567fd7da1e08ca13e92aebdceb73dc4437df8b66e6fb209df4bf35104e45bd1c09ad402057f30703393ee4ce21163f993223225eb05341d2fc7716ac33a27a1ef0181b5eccd\",\n" - " \"10\": \"6d608eee59371ee200c4fd8f0e34f85f22f82ac6fbd78893ae9ebb101842bb9b3293346de3af100875b6974586557fb1b89d3619911f5bcd19d40370c40534e937cf4faec399745977180b0a073a3c2e2ad3e40d148c40a55eeca1d82b0888b0d0e077094107bf4e482d6bc653779e56fce00f15789ad78a52e274b82c8f071f64cd2607a3c71c13de1ced88625256bcc4e8a2c4cd7714270e47c2b3ffead06d8bd697d9c6da8f8eb280af065896a41a2e099b552ddb4964cc813e9e92b2eca287a4662cf5639bb7722ebe7720cfb692e21b0bc3650846ab1112789c7d36c39c2762e14f9645e025864f445c41bdce243faaeee7ac9aa5d67ea943b48201fec0\",\n" - " \"50\": \"a22dca68bce45b778de613d97d70a947908b5f6874af72534cd6076d3e3c5119c1503645b8af4d1fd842d8e14086a7f6d13e267fb594c2a1504e362b4d8352699811d42ce7f28c443404910d750ba37ac43ead5bac86036f984efc43495b04a8c0def545b3064ce946b2bd41b545fb83861e5465297399ffd41fb14ec14e7ff37bdee98aacd4de2475e3482f25ec91344f2ed1931520fbcb6928d44a716b2411f905ce402314adbc78806ee0280bb3f6c842677a8f1d61341f9a26c8d2d04614bbffdd4ec094f8b05ffd760bbeb32e0c042f6acad3c75f7df539f2cd8cb00affd470c2c66acb6398b235ab1073b246c1d75061aa460d8532bded7c971f10a137\",\n" - " \"100\": \"7a431bdc41fbb21becaa006a3499d9412225e196bc9890bd5bc5e7778af3699c49c176e2c0c4763cbea957281defb957679f791e258606e432267074fd05f769cad856d373e3aa01725e5a5af2655de8aae41d354939813bcfecdfe6db339f5fe4c14d738e7c8071d8227c3cc274b3b9e9aab073347c5bc297b6702cdc4c84cbe479863676f813314075c1499a138ce0021a47ab0046d351f16f8f9c0dcf0985164543adba732ea64746c13461f00817ec817df192192481404bd61acf7391175e3934e4f148748d373971833337fd0b152a24d53ecdf032e0c5944a79aaec2542080ecec837995b2d7012b664a45cc43e7a75409735673eeeb56d782faed8ed\",\n" - " \"500\": \"39a7722562d274498da402e4d4f824f63c5f62e96085f725924a9d9d3d82bc048e7abd85acf68672972ce7b9e64e24de5602a2d0375d034023667f4ad04e659c442c4db32536da2670f0081648283a7a53b3b98a16264f3033627ecfeaca8825e311ff0c6e8f691be602cf3d903113b6a093661507b6ec290f293862e45f2c79b34a6f6727bf10172fd9204cc39ba78779d3a289a3f0898ecab5c0d338be650d700d0109ffca54be39e338c45b42d5135a706c5321d4fbfe5b20df7179d5d680639f14d887fac16d4ed3846599b3d05394e59a6e32df21c4d28309c4b6e8082acb86d73027e7cdee5a992371ed89dde369f0280267a54a7837241a5fcaff02e6\",\n" - " \"1000\": \"433665a1bd2618a3633e53584ed4280128e631200d1e1692007099962c68dc661f01333cebd505725ea4120604dc50a9d2f20bf3d8167ee4fc854d1ac1260348b7dbdbc3f8893b451aa75c87cc642b56f490ecd58814ed0d683ea1ec9942ce5dc8454c3994373649288e8cf80354f54d3369ad36ca54f95f9c00502e360780d7a2bd79f4763848d20d3148d3d8d9b51ee7861939515558648947c7a3095ff72951adb985c7d2c0ff8c2937249b7ff02b4d6ca497345fa8ed88b447a9d104c07b707555db2e6e4bb6816a0162321aa33eeae8d95a2766dac17a9de32259106915b65cec0ba83b58bf6500781afdc97a43b2ecb18995ec43d8cf96742bad769cbe\",\n" - " \"5000\": \"c6ea4d0305067d7de66356bbf734a11e563dddb462a044c7877f6abbaa2cb7b58d92d787af0611716a1a5e80956ebc1f8ce880768879753a07a62cf08cbc8b9a6a6349d5de775a81a6ae891313d8fda279f6084509bbc3463f89e2d2679141fcfcd83ea7f4d049c9acbcf44f11328ae20cf82e07e04e78f0b67d01d83595fe1bd6f152dbf72a963d8835aead0ff76c44b8386df42b72705957d21965fd7e94165344681eb917ec6a8e4c4f090616bedbbdac89b9d69c29ffad11c8e0c39ce6972bb4664d2371c04fc15c0508faaf6f8e2fc2887b3bdd103f0547f55c55a48ab9ccf1aa1c1917718a008a781e1da871af73846fb4878340d7d96b1e53e85b6446\"\n" - " },\n" - " {\n" - " \"height\": 620020,\n" - " \"1\": \"adab2ecd96c1d2890714824eca8206f54f61ec268b435121acef3180b4720dcb18dcbefd462ad8f555d262b614c9d513efe641050c4b5cfe6a0ae23bb53c69418ee64f31d76ccbd3c2324a1d9a85ff4196ab6b2302b96f9bda6ab57cff8f24de571d92d9467675b9605e8a2bace5df17907a23364625dc56e6cbb7d95c86b68a83ff1cf8f5ab72ee779b048c4fa7d3ddf2fe724093cf6ade25bcfc4f9b0c4622e37e46832fce42fb75a64bd913f8ab93963d97f047ff07878f23ff66235b2541f46705f828e1cfe201579c516841a502eab4668ad1f45d7941dab32b5c4230ea245da1abf704aa3d7c6948d252a01be361652c19244f4c99493b7a4596512bba\",\n" - " \"5\": \"1b107248430ae421ca4fe1f597dd8a110bef701ba16e72b4b548a0aa69429980d87f856671a70a18c634129bb70170f3fa38d10c79a9960bf53430b209cd52c268a6bbd4acc576604235d48d3ab207d04df68a58fb946ce51ff27ff75411f431bc62fe7ddcb8351c61700a6564c4b755cd8f372e99d7b7f2faaa2cd06cc2a57e3c26870f8249e9a0a94a7777297952c2cbc7fcf2e6138d245162fee827c22ae3c00f57d7d21cc63d70c1ae9c7604487ed62dcac3a6a975a00c86d34de3d8e12cbdc67db91793a5e0b64ba07ee547603ef763ae711ba2096de846f50027e535768731b81790d672e5099a2262bb2ff0f675769b17e8427dd3c4ef292152fb5119\",\n" - " \"10\": \"73a8035994add98d599ff4f95fbe73deaf594fa06dc95a607181b10de05942998d6ac2cfb1d97bda26345c14c31140399c339cb9a0c7ff5dc40594e5d1c06100943e2d8af3340d562957fe84dc626da28e6c2f3e591769729a727122435c81b4fc37479f5dc2d373a3a36ddd1acaa49d01689acc9abedd93176726132691bc5706bc9637f1d0fafb2b140f0c1d566736e17b192ee307ce8d7bd00de21cab7acb6852d1440017c2e8ef7bd9b552533a9e883e475664755a91135092157ff2997b819943648a707e0c9860b2c19e44667e1afa78861b7056532db3f40447d5b54d113a56b42c75f1043de7f19879e115dc42d4d337f909a126c962acecfea425d6\",\n" - " \"50\": \"ba8b825d6457617146e82830bb996f19809f23d785a63c74b758118eb9b83130e5bfe9043bb30c647019a32b5ddc6374a352287d1afbaf814549831ed77cdb8deb0d3303d89a5eb7b400f1b39a04f8c30ef6111486ea0c7bc5f7c6b3731358bd753b16e5eaf0c496834f6b9b9ddfc3fe64493dae3ac726a929d617d338b929ca1c332ef059d27adfe846cc099e0d02265f9473e6dce252d692b69ad96a42302c36a625f2aa2420b87e9e516d2482ebfcc43c053936b541080ee8574ab3c796f17606645b66558dc022137759e3fb3c1838612de211da0ca0cc044ed6fbdc30c406f422eaf3af49d77f85ce7aade39ebfbad7a51f7841f360be57e702343cd989\",\n" - " \"100\": \"3ff057a3363676692ce591e6732968b0c8685c3a20c8968f19c2ce7b281a0d819c399ab933e920017bab26f59b6fb0d058906f4eddee772ccf53be38325efd3d1ae33939744fd6de22ab3cffe19f3b25bc3a7e8ca5acd51257648da35c15ae2f2e0f033c54241bedfd7faa3bbbdb870a3087d07e9a56226428bc9c4e4238a4c450788dbe7bb06f3306fa1954bdd3fba6de0d964d2a7ead4745d02344cff78ef5a16ff2b963a41308d3613b213c7c8c716660b8f43d60dba96b510a4491b481bc3e2c31c44229264326d49ad31a2af1ef7aa1545fa50f7d04617131a50c17086316dcf6ae46c5aa5eee74eac968d37523e5e702266dbc67b53b145eac6e12fc56\",\n" - " \"500\": \"77377938a0390cc94319fa379b93f949c0b682d2f0993741334b6c7cce1298e0e39719e7a50b21123be92fe5116f04823ed4cf2e4e8e0d05687bdccdbe5c157b3ef7c80b3e9b6932ebe769c0052e1ea2ade28fa4e4ae82f596e9311cbb131f6bfd1566ea1bbaee0a5b2f855c2156b06bfdcc2ae8f3e49cf89380de4aa036cddb0d9e6051be18049880d76c5a3c10ee495439cc199868b47a0ba68e69920e07c870e440958e6ccfbc056dd7a07717207129e8d185ab2f332942fd97a812eb7e148035d7351aa48bc1ec7e7d59d39af500350156e010ddda6d8e3f9d122ce3eb49b936da778ca15cf140484e0f9e349d1abe09e2753b05b0f183e16b531b6b6730\",\n" - " \"1000\": \"609bcf44576d24127d895b0e51169808575cc48e7342e3c8b2b5cc1f00a4266b14b63365cfc15577eca74f489f9f00d71b5f0c8265f27e8edb4959cdd36a540fc3be507476aa2bccc71821cb1cb855cf2e0cc3bf6fa195d671992bc0c86d40ced514dc6d91dbf09f507e77cf660d77f888fb0ecc0fee3614ffa27a5a80162e87f2ab80de7ee01695b7b24287f511d75c0c28ebde7d71bc49e89b4f9d7faa3beefda26600c21cfbe97be24fbc3a156e0c7dff717e86e5223e11639308e99db3bdbe27619d1c12912e5f38656815b5e85ca72484d48b4d0690e85ce32e5f9b026d373d0516ee7166b822b701c56132b814463f2e1b176dd4a462d79e7ef73c6119\",\n" - " \"5000\": \"c6ea4d0305067d7de66356bbf734a11e563dddb462a044c7877f6abbaa2cb7b58d92d787af0611716a1a5e80956ebc1f8ce880768879753a07a62cf08cbc8b9a6a6349d5de775a81a6ae891313d8fda279f6084509bbc3463f89e2d2679141fcfcd83ea7f4d049c9acbcf44f11328ae20cf82e07e04e78f0b67d01d83595fe1bd6f152dbf72a963d8835aead0ff76c44b8386df42b72705957d21965fd7e94165344681eb917ec6a8e4c4f090616bedbbdac89b9d69c29ffad11c8e0c39ce6972bb4664d2371c04fc15c0508faaf6f8e2fc2887b3bdd103f0547f55c55a48ab9ccf1aa1c1917718a008a781e1da871af73846fb4878340d7d96b1e53e85b6446\"\n" - " },\n" - " {\n" - " \"height\": 630020,\n" - " \"1\": \"c785edfc6af9062d7865e9dc8c87eab1ced032f7a208dd339f376ed57bf2b9554b97d3e0e071466761af3cf8b75f2f719afb9c75859ce73318241a3d2dda14def67c6c22efe38d67c6219f776621041c94c3f0d00e266d5bbd28176a538909bd69fb8adf9eb38a431d1913e695e2873ab00ba96f0c383677074be926a2d1f7d655bf69cde3fb10bd8f417ae39fefe873564cb3e4660e12d6153aebefbba33b4740053a74bd7fff545e1c2a88cbe337d98c1e22ec0f572504d578a5909b91a6578ae8b21d0a9242e9ccd9ac2b6d463d175b7df58bd2fec33b3165f39dd3bff116a4139dfb2e873cc4875ef1f981cc1baa8931bdc6ccfcde9fddd9149e3a83ac64\",\n" - " \"5\": \"6621e0c5d827532a998d334822841d8ba715c9c5924d8f408c24c78bb5c6b1f1d11160be9c1fbb68a388991893ecccdf336a48a6cad8e64050ac928a29ee569647d595da4310b95db2ddd9bfdfe54ccac8321cf6cb6d32da4f93bab2a50f404e38ae278fe22fd067427eb8e8ee0a416d13d545c65951499e2c872b5573b4d0f88baeca55ef62642057324ea65e4f9778acffd97388c78ce4aca11e03ea1a9559bfb4ad5aba60635f10e8e0ba721a9049b6a5c0b4e21b7c00531c173e00da8a0c1c223e01f9a18ebcc5000d033c413675596cce83e6393ca8c9715892411e4e2a69d82b813e82eb1f683cc42c6b512e89a692b7aab7f75762e6e26ec0470482f8\",\n" - " \"10\": \"d5b095153f6a97794855fe78854ab2bcc8e0c8241d79848b47302dfb322394d991b73a4e60c692b5ced9531def28ec5ae27d93ea49dda10e12146808be1817cb67ad4489573946b2df0a5d1fd102d697376e7e96b2fbe3c593601507b1d539200d1522696bb7e58083575b5e1c512a3391c4f8c0451e1140cea2b6910eaefec9f21c78539b3a89f8d84f0bea28ba3d07a9d437c3ef116bcf832a523c5b5dc7f2e391877dc3ff346872787fa181ced7c31a4228436ae82fb2044017590b2bf22be9fbd8b6e4a5bad0171e592caa4a9e524427289bff65db25f7778e167956373059b94273f778ae3b3d7d19a5a85fb31b5909105a7a844389e65386f7845fc41\",\n" - " \"50\": \"7607d36cecd4e4348be97f2ca1ace64669dc081d29106145fdbef15b584a0c7d061035887620e38936752a3218b867fe8fb5b38c27d557f061b6aeb0b60f9f5599fe77798d840a69833a0c7df10aeb6a9e1c5e032b82c8b0d68a5a9232d236807e500073a942df3b67e6370c350c2f14f3bb33e17e49e37a9a8607222a4818ec7c1f9afa2b1a630b24d3288c7b1f96101699b359deecf40a34432331101a16c707856ff63a6e6ce8d34dd34c13a6ce373e15eb99c33b5a7bda89c7f3f1dd53507775f8f8b26bb408bb541f8c99dc013d57f9f659bd976a0e7864d0841355eac1b02c5ac92f928964e9eba7d7c5efb496996288521577363ff07712bddd08729f\",\n" - " \"100\": \"8fcb62fbfe76a9d1eb61376e1678ea68ca2ee7089c78af7f4bfd9815c06aec167cd89a45e008730b951e0ed07c25efb3d8775d3155200c9c04f532d9346abcedf9ddf3ca58a4a77b7e7f43eedebb1d99d8ce8d6ab5c7822c243249f5844bdd514bb7bd66851affc164ce4777aa6585daaf4da2af1abb62c371dd1fd50fa0f8d3671469b5141bf79796e45543fc356b9f8403e40e71112302c94d03dfe2f53f23eede06c8bbac5d8f0948c20e909450002e8496155524db74eb236d41aa308d516f97c4b1a2b00db9a62d4f1612649a37f61642143d2d06627219fac9fa5d2f055384f34f49e56584cc3b7daa9f4dc395730780fe626b1c0fb727febde99f0b52\",\n" - " \"500\": \"77377938a0390cc94319fa379b93f949c0b682d2f0993741334b6c7cce1298e0e39719e7a50b21123be92fe5116f04823ed4cf2e4e8e0d05687bdccdbe5c157b3ef7c80b3e9b6932ebe769c0052e1ea2ade28fa4e4ae82f596e9311cbb131f6bfd1566ea1bbaee0a5b2f855c2156b06bfdcc2ae8f3e49cf89380de4aa036cddb0d9e6051be18049880d76c5a3c10ee495439cc199868b47a0ba68e69920e07c870e440958e6ccfbc056dd7a07717207129e8d185ab2f332942fd97a812eb7e148035d7351aa48bc1ec7e7d59d39af500350156e010ddda6d8e3f9d122ce3eb49b936da778ca15cf140484e0f9e349d1abe09e2753b05b0f183e16b531b6b6730\",\n" - " \"1000\": \"609bcf44576d24127d895b0e51169808575cc48e7342e3c8b2b5cc1f00a4266b14b63365cfc15577eca74f489f9f00d71b5f0c8265f27e8edb4959cdd36a540fc3be507476aa2bccc71821cb1cb855cf2e0cc3bf6fa195d671992bc0c86d40ced514dc6d91dbf09f507e77cf660d77f888fb0ecc0fee3614ffa27a5a80162e87f2ab80de7ee01695b7b24287f511d75c0c28ebde7d71bc49e89b4f9d7faa3beefda26600c21cfbe97be24fbc3a156e0c7dff717e86e5223e11639308e99db3bdbe27619d1c12912e5f38656815b5e85ca72484d48b4d0690e85ce32e5f9b026d373d0516ee7166b822b701c56132b814463f2e1b176dd4a462d79e7ef73c6119\",\n" - " \"5000\": \"c6ea4d0305067d7de66356bbf734a11e563dddb462a044c7877f6abbaa2cb7b58d92d787af0611716a1a5e80956ebc1f8ce880768879753a07a62cf08cbc8b9a6a6349d5de775a81a6ae891313d8fda279f6084509bbc3463f89e2d2679141fcfcd83ea7f4d049c9acbcf44f11328ae20cf82e07e04e78f0b67d01d83595fe1bd6f152dbf72a963d8835aead0ff76c44b8386df42b72705957d21965fd7e94165344681eb917ec6a8e4c4f090616bedbbdac89b9d69c29ffad11c8e0c39ce6972bb4664d2371c04fc15c0508faaf6f8e2fc2887b3bdd103f0547f55c55a48ab9ccf1aa1c1917718a008a781e1da871af73846fb4878340d7d96b1e53e85b6446\"\n" - " },\n" - " {\n" - " \"height\": 640020,\n" - " \"1\": \"2f793fa3a7ba3e9d33fe797ce3cfec9b6b3e46644e0cb93df27a6abc957a58a6bc980ea2cec5747f46a8928b040eebcc3174de68e8e1ab8cab2300c534df426b91ab88bc6f74c82c76d111e900353562ad51bd6b792f2d442ed6a99917f8dd20c4f674967a0de31985aaa9692cde50750cd973e6d7c5a84b6392d1b91e7d6e030ce6d349a9a2e71ea6890ecb52540f34e52c167afac002f837174d355bb8459a3223ae032cc4e12fb0cd3fd9717a3a6bbb35ba7798f3a36d312b8a4d780a2f297e438c533e534ba43ed01c011fcb318644125432f37b591d381f3785f15bdb67a15640e53473c833f75f25829831507f4eb3a934f7a83b545b2a33414a56420\",\n" - " \"5\": \"1ec4b198ce2fdcd8155d08531c7a3ef9bfefd3285a04cb361a0982cbc93b5c5227c73acb2bf78ed000666a75eab7872ccddab4e455d5ebb0376c461d13c645099aa1fc11c2d777fc44e761d90172e3802ae30f0a35d2643fa96c1a9b3f8a0a501c3c8d9d1ea072e7ec5157a7da26db1f791df46c8d0b3c687b0e3a5a6ffa9e851679a4a5511f458f3f080540bcbd4af2b5224490013e7fec64a6d86915e2a69cf7ad271857925dbfa9a980cc7a1ce003edc23ba0147baf7dd11c97ce562a931532181c830d56b083bbf253664352441d8b2173211a55601fced04639494eb14ed42564a024828910506551f74c0d458099bd0427e9d524f395f69670bb678ce0\",\n" - " \"10\": \"6c921f0f1d2b81e4114c118741327302d3d8d2ca08b8452c8ae7caeb9ac46a566b34a66e5ff25234fe210277b5cb1cd3cd21c20912d663f8091f654c6e3febe85a7192f30550674fafd07813c099c5b88144f1b73cfe920125903c920b85e54ec7c068f431ed6b1e7e16815178acd9896f37e7d3b178c68d79db056a1b37b1023e3f8c5ee600567d5606088d13ef648b14f4d69264e7f00bcca03dc5e38993ae585fbae27591e286a5ae85ed0b0c03ee15356f0a16b8b11714e21a5307d12c80882ff4cfa0c9f7a1cbc6ce20932f83b60a25c40341632b6d6cb243538847732106a1dbbe2682327887e45cd6beed800fc0d497eec764c8331e560f32b1bf8dcf\",\n" - " \"50\": \"af3fae21129d66fd4b73d68ce56bf1b7cac2feb3ca5421b5264a517b62bfbaec455ba3c454a11b54bc929589e9fb9dec347847a1cb4a231e973e1846459f0f84d3c57a3b2c6e349b6184e2c59b00a85a11bcd274434600ba7b2a2cc4169b00450275372386dca28bf4b69d5f308c70073fb1592acad797c6aefb8bad251c26f8f6f96cc934452dad731313a2d36c3379c5030fc70885ff6e14b6c976ab78bf6177882f46599351a7c8658c5fcb0f86360adab7ac4058482278affa3b1f7e12e0497c4c16b012c3c2d709b9d483c99d60d04dc83dfc8fc5643f6400acaeee77c569da79ced535a7bdcdc88072ae5fa6ee4259d30a93733a9c0c3ded324d1fa295\",\n" - " \"100\": \"8fcb62fbfe76a9d1eb61376e1678ea68ca2ee7089c78af7f4bfd9815c06aec167cd89a45e008730b951e0ed07c25efb3d8775d3155200c9c04f532d9346abcedf9ddf3ca58a4a77b7e7f43eedebb1d99d8ce8d6ab5c7822c243249f5844bdd514bb7bd66851affc164ce4777aa6585daaf4da2af1abb62c371dd1fd50fa0f8d3671469b5141bf79796e45543fc356b9f8403e40e71112302c94d03dfe2f53f23eede06c8bbac5d8f0948c20e909450002e8496155524db74eb236d41aa308d516f97c4b1a2b00db9a62d4f1612649a37f61642143d2d06627219fac9fa5d2f055384f34f49e56584cc3b7daa9f4dc395730780fe626b1c0fb727febde99f0b52\",\n" - " \"500\": \"5c1afc1bb9b1a15b9950821666ea8c1d3ef17083ad8e7ba4cc4a0e8b6f7db962df2fd00cd860a8a9e35d62c72e5733f57934c965fe8a861c38a838c6f05d4086f28fd734e8fd42813c5dadb0fa91794587c81b1785f964d155e36f8f4e8d623ed5a9d0bac3c80ad32f527cd8b797841d77fec6aab8509aba3dbb6e6f84d81bb6295c48b6b7c06a25ba4fc2c43808cb350d9a234ec46284e3c55eb789500861198db8c8c2924838a4f86bcbbea8d2904dded35c68802e7ba52b4a73c4e2772623f70b254e158f9e5bde1abd218c98e77a6dd81512072c1de972c3b8544fd8606de2c762645dbba777c5fc6ed926b2be3a91e87531c12098074d2f179070e90689\",\n" - " \"1000\": \"4298e3662fa17e3de8513b4a6cc4e1eba91a9fff5401cb10ef622456d8888eb67705c6b516420c0ee5d756d28d6bbe1c8558417610612d428ac03356278a5794a4694965c2013d2af54c7f12c9a396704a54fa0884734215be71f8bdf9ceec9102a1cd00c1c2f0bf5e793614f762a3e022e411cd97181e8c4b655ad64cf422adc13c3b0d97f13685d130e02e0b9af348037c6d5a4002564e06cb75d957aad460f7aa0d6944db44c666e55d75afd900f2e34fb6e3f5a3b45a2d28ea47dfce3cd606917c8c1efa09fe02cbeb9c48a561d288299508148bd0c8b4a328a2daf4e237790163d40dbd8567a2ad8f7c1fedb0396374e72c9266fa7ef4290e773206e6bd\",\n" - " \"5000\": \"c6ea4d0305067d7de66356bbf734a11e563dddb462a044c7877f6abbaa2cb7b58d92d787af0611716a1a5e80956ebc1f8ce880768879753a07a62cf08cbc8b9a6a6349d5de775a81a6ae891313d8fda279f6084509bbc3463f89e2d2679141fcfcd83ea7f4d049c9acbcf44f11328ae20cf82e07e04e78f0b67d01d83595fe1bd6f152dbf72a963d8835aead0ff76c44b8386df42b72705957d21965fd7e94165344681eb917ec6a8e4c4f090616bedbbdac89b9d69c29ffad11c8e0c39ce6972bb4664d2371c04fc15c0508faaf6f8e2fc2887b3bdd103f0547f55c55a48ab9ccf1aa1c1917718a008a781e1da871af73846fb4878340d7d96b1e53e85b6446\"\n" - " },\n" - " {\n" - " \"height\": 650020,\n" - " \"1\": \"353dad77cc1d774612e6c46d93fbfd5d5a054254f4902e8446d18103a031cf7ef8f959187e63bf0bdc02f85635bfb1840f171da0da5b827019647135f52fbf5d3e1902018beeceb3f9ec86ac7f484817d4fe6188dbd61a73d3a4db4cc92358ae9ea94d21c7e256ef7c3748c546b58339048713c1885afa072ef2f3be6c4824bba7af2ad1ff7e9264edfdebde9523902842a52f855ce3f1528d090fe77f1e9776f64e402acab2181be5c72d4736ac08726ddd605cd73cd8affab57af3da11ba731eeeb5065f730da98b14823891b1a174c5e06478d72a2f043c487e0cdaaad497763235b52ed94a2d6ce859441cb2bfd3d4af4eb1df3e9e9468ff4540e6c3218f\",\n" - " \"5\": \"3b3d080f310d4e15fd9b0d9c5d334ff858ff984126819187063d8c5829c75a67a76efa5ba123b264a2c157489527309a7275258dd0ea797b2864d49d71b638e28757125107a1cc1627a903eb8b612d7314604364258db8fb1e9fb0b28a7f4d1c1327ec6f3b941b5f0dd8df8c02924b9efb33945757c7ce3c3f901d035e6ccee18fceb4dd9563f552a3484f9ca9b52a678b7114c8fe3cd5a864297932fedb4c0809ebc19eeb15bbf5d395b20c281f767135477e9d61b87891b73dc9882ee00c386e7cf3175cb881c672a48c39855fc4ab15554510620b112a48ddec864bacec385209edd4728f9b0a04e6e29fde3d3871d3064c732630ee065e73bf0e19a9bee6\",\n" - " \"10\": \"81e1baee6ca66de6a6d86441ebc39338b524776d21a0db6ffd6b7ffc0fa499a42442e5a66c23d3287aefac0373fd6b84e054ea1692fa2af431aa327392a3463dec987ea14dc37a378362a0f9113e92172f10c3aba1a9f9e55f75e036d429fb6951c165d7a6428b23d313a5727024af7688d8ca8ae46505adc82b0b0d45ba7c7a2f57bf36ee72fbaacbfef6655524b94c0a548c6fc4a7b1b5a4b1d769d28887cb4ddadebdb3eeb79a67f048bba7b9ce0ff26d6147c829e031eb3126a7af559540085dbf6ac84f68fb6e7d46941a28c393e7ad8ee329e958ccb629157b344d0f2e6fc8f03b0064ac15c6042864774def49aae5b5f2f199ccfaa0bfd31c8d81baa8\",\n" - " \"50\": \"21263c99faf443b23e1df8b58d38b7e449e8eed0f2ed5cbbc5dbc0b2bfa9de985d81d4dba3db1fc8f5755a88f6fe778949855ab35762b013481cb55e16d6aacccb39f95e8771e441a972e7be617e7757453801ab4e3ff117829968db8cfbf5b7ffca4273ab51a3db10fc579ee822f450a539b87224d7840c24fb9ca8969bc3df8b170a5ffc2b025e02e397e5a6cb0a0c146a4b00d1e74fc2c97cf070ebb90bc406f36b0c62c3d88d67ade23b0d6adfd95ee587b62eccacb523fcf3746618d916701fe73a5aa7e35982177a0ce338e34f77fa229911b77f7b688f5509cfc53aaffe541d44b62489cec2d4629e44e3cd310570851b090b3586f1addbaa7d955127\",\n" - " \"100\": \"8fcb62fbfe76a9d1eb61376e1678ea68ca2ee7089c78af7f4bfd9815c06aec167cd89a45e008730b951e0ed07c25efb3d8775d3155200c9c04f532d9346abcedf9ddf3ca58a4a77b7e7f43eedebb1d99d8ce8d6ab5c7822c243249f5844bdd514bb7bd66851affc164ce4777aa6585daaf4da2af1abb62c371dd1fd50fa0f8d3671469b5141bf79796e45543fc356b9f8403e40e71112302c94d03dfe2f53f23eede06c8bbac5d8f0948c20e909450002e8496155524db74eb236d41aa308d516f97c4b1a2b00db9a62d4f1612649a37f61642143d2d06627219fac9fa5d2f055384f34f49e56584cc3b7daa9f4dc395730780fe626b1c0fb727febde99f0b52\",\n" - " \"500\": \"5c1afc1bb9b1a15b9950821666ea8c1d3ef17083ad8e7ba4cc4a0e8b6f7db962df2fd00cd860a8a9e35d62c72e5733f57934c965fe8a861c38a838c6f05d4086f28fd734e8fd42813c5dadb0fa91794587c81b1785f964d155e36f8f4e8d623ed5a9d0bac3c80ad32f527cd8b797841d77fec6aab8509aba3dbb6e6f84d81bb6295c48b6b7c06a25ba4fc2c43808cb350d9a234ec46284e3c55eb789500861198db8c8c2924838a4f86bcbbea8d2904dded35c68802e7ba52b4a73c4e2772623f70b254e158f9e5bde1abd218c98e77a6dd81512072c1de972c3b8544fd8606de2c762645dbba777c5fc6ed926b2be3a91e87531c12098074d2f179070e90689\",\n" - " \"1000\": \"7751b9d8f46e950609e039b3f2e48137873e45c97d7c4432e3d4468dbca3d92d34fab7f4112964c05acfc70b719d08117cef1916cddaac109a0b9bf1458faacd86e7fdbcb65241cea65a2efbea19b71de26ff911f2e4e9e77c70253f7c3f1d11d04c23d6a76301dbc1a41560b2f171a6c8063c110d145ae46281beda08de048965f6cefc3896685c9ace639f11dbfbedfa71a4f4c8626650506de748e78256375e8f5fc9665921da954bc631d783cd482ee2a39d6d257e361fb00ef9f68fcee49b85ebab3a1146726c36bc479efd4cd48ffbc46458b8318d03a1cf8223fb4eda9e157da2fed57ad9c42e647dbd42df1bc7f7c344a02e4e30c39db818482157df\",\n" - " \"5000\": \"c6ea4d0305067d7de66356bbf734a11e563dddb462a044c7877f6abbaa2cb7b58d92d787af0611716a1a5e80956ebc1f8ce880768879753a07a62cf08cbc8b9a6a6349d5de775a81a6ae891313d8fda279f6084509bbc3463f89e2d2679141fcfcd83ea7f4d049c9acbcf44f11328ae20cf82e07e04e78f0b67d01d83595fe1bd6f152dbf72a963d8835aead0ff76c44b8386df42b72705957d21965fd7e94165344681eb917ec6a8e4c4f090616bedbbdac89b9d69c29ffad11c8e0c39ce6972bb4664d2371c04fc15c0508faaf6f8e2fc2887b3bdd103f0547f55c55a48ab9ccf1aa1c1917718a008a781e1da871af73846fb4878340d7d96b1e53e85b6446\"\n" - " },\n" - " {\n" - " \"height\": 660020,\n" - " \"1\": \"25014d37eb87f5a4eb4598a415b9f6b7809b348fdbf676907ce1e47f332feb6bd802d9c29f0de6950bb8fb1e91ed2a15accc03d3cf3d2bb88102b8cb6aa193cee2b8289e39732841223e0868f6eaf029e4e15f487a65f3bdfc49eb1c2ff998e00d3d55b079cddd0897783ed10c47ce00e8c8b930ca821a2bcb2dadd50e15d8b611883c490fd97911e3e8cd66a0aba499f472a981735d773052d2a9fd3afd8818242392e41590ce473e849750b51456d2bc58f6a878d12b624833669959621046f097fbf2dca33675a5482323d265d536de29767d69dd07b968b2a8e7d0c53a895c10784108c9d2bb716fa045f4325f647da9637ce6051cecfaacdc8ea3e04808\",\n" - " \"5\": \"b1bb3bdc37d26528fbe056b2d2d9c6992a785e72260bb19e996216d9e0be44f6caa3d9edcbecf68773018d99d093dc959f7191a4faeb869bbcefd899ad6c4347a54745b9f5f2bd3d431b544e58dc9029ad22f956b9fa5fd24a5e191384506f86cdc8cec1326828718ceceac7768024dcc68cc371e2262b17313e7d69f33c5e7681a8de866d3068aebca9a52e3ba10f4b6695eb6a8c015b235509bad73be2d9dcb98abcd850fa026b915e632bcc05995a0f1f6a21a4c8fb38f15518c586ff8924d8b7b4bcdfb152487445f23d38ee24d34bd89483640816da8344c1930c45b469489677735bd6df29a2f79eef601f598da119ba9b075036c248669397bdb74a32\",\n" - " \"10\": \"7691a46bc2e29623964d99ba45ef6bd5d926a280f24d1b20bca5fed23b320f9947bc2ce1cee82526a9e7692d2e1ffefecb79a030d689603bf6e9e4cb882a4947b12d4d41c285987cf2a81dad265ff48b383598befd9085836ef96d791e416932c049ceb820a1bdf354ef65949592f6704e66a824031bd2347d3ec0074306bd601857fe5c821ea111538a290f08508d075630c87d9c91c7d897f872ea07aa841290ff59c3ab4160bf3f0a9aaff3c5af8560518adc0206282a52ddadcd232a81be02f98d0753a37b6a1d3f357f153ca49122f9864282f4f8be233d3963a0e59ae0a6d2e91149993d1e93968a869aa739c6c97a0faae3882d08df31f3ab09699f98\",\n" - " \"50\": \"21263c99faf443b23e1df8b58d38b7e449e8eed0f2ed5cbbc5dbc0b2bfa9de985d81d4dba3db1fc8f5755a88f6fe778949855ab35762b013481cb55e16d6aacccb39f95e8771e441a972e7be617e7757453801ab4e3ff117829968db8cfbf5b7ffca4273ab51a3db10fc579ee822f450a539b87224d7840c24fb9ca8969bc3df8b170a5ffc2b025e02e397e5a6cb0a0c146a4b00d1e74fc2c97cf070ebb90bc406f36b0c62c3d88d67ade23b0d6adfd95ee587b62eccacb523fcf3746618d916701fe73a5aa7e35982177a0ce338e34f77fa229911b77f7b688f5509cfc53aaffe541d44b62489cec2d4629e44e3cd310570851b090b3586f1addbaa7d955127\",\n" - " \"100\": \"8fcb62fbfe76a9d1eb61376e1678ea68ca2ee7089c78af7f4bfd9815c06aec167cd89a45e008730b951e0ed07c25efb3d8775d3155200c9c04f532d9346abcedf9ddf3ca58a4a77b7e7f43eedebb1d99d8ce8d6ab5c7822c243249f5844bdd514bb7bd66851affc164ce4777aa6585daaf4da2af1abb62c371dd1fd50fa0f8d3671469b5141bf79796e45543fc356b9f8403e40e71112302c94d03dfe2f53f23eede06c8bbac5d8f0948c20e909450002e8496155524db74eb236d41aa308d516f97c4b1a2b00db9a62d4f1612649a37f61642143d2d06627219fac9fa5d2f055384f34f49e56584cc3b7daa9f4dc395730780fe626b1c0fb727febde99f0b52\",\n" - " \"500\": \"5c1afc1bb9b1a15b9950821666ea8c1d3ef17083ad8e7ba4cc4a0e8b6f7db962df2fd00cd860a8a9e35d62c72e5733f57934c965fe8a861c38a838c6f05d4086f28fd734e8fd42813c5dadb0fa91794587c81b1785f964d155e36f8f4e8d623ed5a9d0bac3c80ad32f527cd8b797841d77fec6aab8509aba3dbb6e6f84d81bb6295c48b6b7c06a25ba4fc2c43808cb350d9a234ec46284e3c55eb789500861198db8c8c2924838a4f86bcbbea8d2904dded35c68802e7ba52b4a73c4e2772623f70b254e158f9e5bde1abd218c98e77a6dd81512072c1de972c3b8544fd8606de2c762645dbba777c5fc6ed926b2be3a91e87531c12098074d2f179070e90689\",\n" - " \"1000\": \"88396973ac3df2110a20a7f0988ba61701dfaabed12f48d78786fec2bb57246ab575ff44c406213ddd14bf4aefb787e5678fec7e005e3f9faca61be4fcac4aa51fc25b0b3d81c2f349dc3215903eeed68b5b5414e245203d89fb4a31dde7a0dc8a3c06d07615f80f727ee3211a8c326ba76ad00b700fe4b97a56138023fec409aff0a602ead65f7ebc13bbd294de25aab9847830b82d459cd56f63b11c02e2f4931bea92559c2c111292714d86ecc70711d706c2d2fc7a31a71b4e4a43d34147b6c694e62760ab23b3b7494d95bcdf89fb96b804d8adde930bc3ed0ce9c55ce4b8892c7b6c6969743cd90e5715c51da679ac69cd25b8a1afeee6d824cbd31f26\",\n" - " \"5000\": \"c6ea4d0305067d7de66356bbf734a11e563dddb462a044c7877f6abbaa2cb7b58d92d787af0611716a1a5e80956ebc1f8ce880768879753a07a62cf08cbc8b9a6a6349d5de775a81a6ae891313d8fda279f6084509bbc3463f89e2d2679141fcfcd83ea7f4d049c9acbcf44f11328ae20cf82e07e04e78f0b67d01d83595fe1bd6f152dbf72a963d8835aead0ff76c44b8386df42b72705957d21965fd7e94165344681eb917ec6a8e4c4f090616bedbbdac89b9d69c29ffad11c8e0c39ce6972bb4664d2371c04fc15c0508faaf6f8e2fc2887b3bdd103f0547f55c55a48ab9ccf1aa1c1917718a008a781e1da871af73846fb4878340d7d96b1e53e85b6446\"\n" - " },\n" - " {\n" - " \"height\": 670020,\n" - " \"1\": \"7f505cd29a1ab5d3447993eef6488ef0dc85ea54d8254bdc98b1f698cf40722495625a656b5007f004ac68c9a48111d0273fa78aca4d6a373e0d8e3435a45016da386cd0dd47e6b11dd951114e8723370a192ff82ee133ac44086a61b52af21156ac77d77aac9c4b533e96478be8407228303320f349f5fec990b402810d060759fceaf86ee9b2669abdd805f5713c80bcc94cc59e94185ce84f75b695a892200416b5ea6181ae47b8477a466fb19a083c21aa57ef0835b5541530d2e2d903fa0086359b1b2ea4575c76c053e6f8f978ef4c53666cce9338dfb46ae1ed1413bff1a1b579138ca23e333b0733fefcfdaebd332a95f265aeb6bde3e3cc37d68726\",\n" - " \"5\": \"d737ae36ebacc935bf63ef0da525315096c6b99ae0570863792eba35b0e56a7c8bf056232f5f8c4755475fe254e0f45501114995edd4f9f860ed30c5d662cebceebc4a0903303b3d556f18a0e71c88d447405ebebf80376a2c7d5404b28851555101e44e521647b6d13ec5df3b949800bf658f3bf94b373bd9dcea808f0f53fe9dd3a8b7b24e5a5e5e8aefae4ab2f97f0dcc72ea45e3c4e3745ef3f51f301914a99372cc892a317d75d95b00053d615a36b5e527a9526b7f053ebd4816a8c92ed3bc879a4d18e881cbb69e889ab778ca9090ccff1b55070e01a8c6e8bcfbe09c7d49d3a55c710f1851fa9bc0d6d8374dc17cf4454852b699df197129965dea8\",\n" - " \"10\": \"21c824c1591f31727b173a0804055511993ef49dabf53a84bb8b01edd3f76848ad1d7a719d1df9443689f16ebd9a579fa484966042202c3c8bc6530a580eefb0bed081fbeeb3c034dab0d253622240e624bbcc6bf2728952c8044d6a473f28bde2cee590628c0ca7c89ee797c46617cc835373299696e5baafa3c27552ba6b0b6adf99e32d911d4ec119867709606ae1cc511ccd39a45c5112367bdb3e41d6db0ef1b4631c04aa5ec4858566b2dda014ca6959e7e441f1dd0c1e215102eb534475d40c108442ab60c1c26b0ae383f19e7935458b49327fb273af8c59b2d5abe3932b3d64389ce11a3432b2b98355c4499b1e8f81eebb416ddf4182db29b22614\",\n" - " \"50\": \"81f9dc14def416cc2fb2ddd999e2eaaebd90e5bede99666b4e2dec2c1c5989adf36de410ac523298b1644d522b001bf780207204a299140a33367355ed69a8293dd82ceeb1b45fb5a74b4bacd887f7df29e2276b2e22d5f8181ff512300e05df8b5855cc19d221740bc057049e5ab7503af52fa2ee66e29d3c6f4059070390fbc09fe8c3a9606d72e2aa67ff639cf8f8571e109bc0aee3a1c13138231f50020b4e187fc9654ea298cb8c524cde514c430843f781888504e90e1eaae23f3f29185e9e2f288b88b03d78e49925cd87f72194afd5aa8c76c1080f8808b9c96a3b02f2bbaa03b52c8798217b375f2f0c0843d2e1aeca606f229af88e88a4f5cfc589\",\n" - " \"100\": \"3308a574c559a9cfa5b515c07a6f38205b773de0029fca8e7ea83ca25157e43e3d290577b10b7aaa09ce91ab09483b7a114141e2084f2e78983a59613d65ea5f43c9adf4ee28e704e2c798d1a9345964be55d1ab3e0c39222ef0b76e1488feabd55d56f025df7d2589a2bf26506b4d4e6d276f0328389074a63994afb30f0a40ad2f4b70c74335c3ca2ef22e586833096df45d7e11c68393aedd8e6841bded6b5f229d76130f6342a761e1bc65680909d240cf5af6db4c4c981f26e2d7c5e625555ec0ac92b7d605ec2666c8478f8fddbc10485012850638bc48b0b0c7c882d308f62db7d74cca0e398eb58d22b58d9055716f8a0a20d10a90d469cebf80c216\",\n" - " \"500\": \"20d80c676b2ba127822c52541991927df8a67814db9e29158f18676d0d1247c639702815cacec9a865da60b65a5e03018c7f5a6b1e255a45b57ddc8ca9386a862ae011bfe775ef1801fb380e72ae2f7807ca6b3ba8e8de102a70c5d5b16797f810f622f6c2cbd2f047251a9bc285560c2b4266441692594120e64d17cdda587f2404e93348db0c123ccf023ec41a59926a4d1e64038856edfeefaad11bf517165b837b32199d99fdc05ba4cb678f52f741f50a699a89b5e9a4e1aec03bc2fefc10bdf869603b98821f6da59b70c63f59b573be5bdf09777e1ce8b6ac00282d997f922b48c25886cd0f375a4e74c9a63c3470790058f53a8796eba76e541c5d2e\",\n" - " \"1000\": \"26b92329cac577ecac78d35cabc00b1eff6aad364a67e3617541acbd0cf94a3ccce320b90a731f6d7f47ae2b6a32ab1b35d8b44820f4987409b204565ba5e963c9355ef065ed27bf3bf611d6aa6adc217264bf74d4fde6dc8bf6e2ce7cf4bab14acc4b678ae3063b052f7bf90c81640bd7b05c8cd108871cf01a43b4c8599787f3ae983739a15d15a88473b998514b68ec252cfe0dc3f182b8cbbaddad88e5695129d3932fadce082df2ebb26c86fd68611e49b76db274ba52181558d96e6cd75e4db38b2b2fc84cfdb3b1ecb57b5e370e4b6956630896960ec61bbfe57507ed48dee9d9c7a09114a2a63be65a91bd96231eac96e58652cbeab6beca7df50e2b\",\n" - " \"5000\": \"9634620737027f5203c530698a727d5c7d2123b633a67b93aa646ca004b82a99b035cf95d620121521e7f9044eda548c7ac1fada8993020d6e417bc9cde830ddd024ef2f8301c29c05e2d7aeef53deb35ed3558e4bfe2eccb55b623d574e6266f17215c1aaa3431095460b9949e661a72d99c11546f5abd3dd7795046b7d39073c85fa1ba640dd056d2818f49104cda8598e184afb10f48e3b4521c46f7c84d3a380263429a7dbd775d66c3fd61bc720bda6cba157c2a1b0a4d680cfca3ad35dc0ee746790d3d7bf83a4de6f33fa35d1d7e28ae1f004ae70e7e54c13d5bc4a8481945971a19c27fe60a940984b27e7596559e30b2a02fd88918527c9c02e3a92\"\n" - " },\n" - " {\n" - " \"height\": 680020,\n" - " \"1\": \"2fa56e77e547c8f9bc137bfc9b5a8fe2db87e72964752015c5b6eb856f483703d7009cabd30dc127ce7db87fe8fe455a7aaf66be79a81b1715854618f8f9ade890bbfdbadc737fff50ee515cb9150cec14597c2e065f4cddf713054cace9f9cfdaf8657955997a34570e806b9f2e0fff24a40dcf5f5f0ccb1f1724ad207030fe2f59f3d09cfe7990023acee4a1b515c0318db5f61e6462c27c3659a228ef23c0980c8dfd741b0d810d787a77d2741084777e19520e4c778d68f1f3917f729eda842444f4daf0d3858e2f6dfc898993c693301dc0530d2047768fbf00561277d116215a1683c26b8d6f8aa0016cd056047ceaee744f0269d8808c89880af42549\",\n" - " \"5\": \"52c5d6bf11fbed48603b11fe243e0943e5bde02cff2d1a09561d374b37466cb311a7b5ae0a35657b67a7da567222a82df89aab2f1a360aabfe1dfa2a2a6ac519251969432fa54c199d8b69b3db223aa7608501a4d2edb640c10e7039746550b3bcdeddf167b50299e2a3947c465409171eba72b4210128a17504370045c4d4ffe077e55d6b89669310eafd07e9d4d90c012d9925f4692db63d1af47f9ceff4dde7e583c309946c332830894c8b015c4e0e54ef917c30df3746cb636e647198d722d5641cf2d0071d1b30342e5dc3371b9294587bb78a90bf08db73159587847bcf1ae0c32c918b12dd30ef67fb341b3aba7354659cce4dec272d1847ed2ceab\",\n" - " \"10\": \"d45715650e0d9e176dfadd9d367d8258a34fb9612a4c4a0eeaccd6a3424e506c8c1ea4df1fd2dde0e66325cd2f60455eeabe95686ec2653da2ef61dab58c60f2e6b079f89beb68a32d05862d5d7c4b17686ff184eb30d858d31023f2d212c4c60fb3e1f461462506e97e90ea7c4888651a101337757cfca6219fbaa7049e4b6a08f71654306619eb4932b103627f4f6ffe4980be6bf2d487598b3723680ad6dfd0b8254af7b99d595c050ba009633f8c2553b77b3fdd0734289fae4ba64837720b9dd01c533c87573fbfb17a5d9073a6e9dfd0cd0ddcc3c282c139337466d48458035ab9c5e3b33d3d906f606b5414859b5bddab73ff54b06d0627eaafc7367\",\n" - " \"50\": \"aac47977d16f998e5f1b6bfc14619ff95483df3240d57ba8e34c963c96412793489a69623e137dcfa0fa78c308042c4286e57e3779dd5ee558364c62c4120fcbe32ffbaa4ed097f3b3dd7ccced8c4f67c9081dc6b9c9e9c8fd50e3dae240343c108b84e42d2d1c58fb75dd0bd6d1bf89a16bbfc109bc879223a5361c7fafcd537dca47d85956b8f9cad1bc9f7d7b3f1658de5b239eee4ccbd9c6deeb25dff7ec44504c401a9a9fb0ae0ccb4499cbbd4b4e320a2174b194147ba5fceb0b221f5d7aa8d74357fb2e9a8a987da743ff6a72ab52549aca657fdd86061efe8cca1a37cacfb25f5a0912d744885ebad08e05b04dbd36ec379fb1e788966806d4cc2e3f\",\n" - " \"100\": \"c13092a0a94c80765e547686a66c81c6a8acc9d475dec8bfdee1dfb9eb9240d4cefcf7253f9ce597c639c7517743cbf8a696045fe1c6f014b6f6ded9c7d2dc2f3ff8592c3f85c61ea8e6f309bb9b7548e6263ffd29af7882bd19b7939a2b3bb474e569c2c2e534e8c894dab5235f574e160d7d002ceedef3183b3607d0381469d860fe7ade199fbff23f7aa3445f92399041bac884b0527cd1063d1872f7db6f2bd3cb6dac8b0171b6d916fb30a9f549c265328748e20eb56ab20c766881339e564684d085f09dd6336331df3b17c8cc3498f6482406f07110cc1a9bef3d03c0e42d0bbaab90766574c2fd1fc0aa2cff5f1c34263e3e2e204d879d4a7f80757\",\n" - " \"500\": \"1519ad259adbe46e59183200e4baa444e62673a71862ca37d9197cbd82941a49e8439364d344d6fb7708d4795ee3a573655863d8c0ef381b220d306b051a041b1f81272c277701e78642ab5be0c68d39002bd54d895c4d8a3bc510d27b8aa33d33691b3510a61f62de17b6f4c180b9d8418b7be0b8268238000f961853305c6e282585765c547f73866b6fb152f54e152349d81338fe25b4da27428b9806e20e82c45446a59340f4312a9d4ba0333f9caa5e3e2f50314e403f716510f1aaeb9291a9295df85c59b8af51b076acf44ed6c305b3a6e4e6b2e5edf841216f9b486e6481b303793d41833c2bf00edf86eb63272c061f2d0a70175b237fe3976f969f\",\n" - " \"1000\": \"9bbb36fc8d26bd351026c091cd74ae0a04012af66224a71fadc4455c08313b5dcff60462e5c3e609a46e61b868ed4b9518ff82e2662bc943d9df16ec30827163d1034db210e1a1b9ffc4d395a5c6aec6de3b3ad9926722b905bca8128d16f46e181af0640bdfa6997113bb46904aabc49e8dce8837b62066cdb9bc4e5306b39c94ac839be0d0278a5817afaa32c36837dd71a3f6f8d8ad314fc36418c38f7814c47f79d9c8958e156ef9fc7bb6defe1ff9aa29638fcec4b7ae87ddb7fc13b0a6490caed8f74e51e48900f3aa54c36e90e9f231e9825558821638b3c31a3b8aea227bd494e74fe482be86dd531d0896d5624c3065dcd3ecba087887141e4c4215\",\n" - " \"5000\": \"862a07e7b581b1e2b814387847ba71ed669e67709b3a524d31de315e53ae987862bf84356aa75d4438cfa52d59649cd94cb9279e72a27642b69dff61720438e660aab804be5bfaa661d6bca77c32ee03deb190f3b1e1a23933cd53e2474ec9a1b330fe302c8b7662ddd6600b1f1ceb7752af8f909ea01bd5ba70d7f437b794707096a32515301d1f4d2760d66b8c31dd0af1274ceb0da02886fc073486489c14e53c48e9b2b01fcb6af425d258af4866d09d709b87a1823f8a8da8557c5ce0042d2e542d7e7ba301fcb7bb3e13298cb85fd4c16e0ae05dcc27516d45df5d62ef35f0a69375c653393352d27bcf6fb8086bddb6580a2b9b9c12d85215c1191c00\"\n" - " },\n" - " {\n" - " \"height\": 690020,\n" - " \"1\": \"2b955cdf75f61c75acf0cd9354db268c6a8d835a7e8e31d871db5128b1c8f47e5ed113020a56fb0535b5a86c7779c9a02d2e8862d37ff635bb161e7be5449b1355dde6b6681d4fa3ce9b6a3e799d746df5cfba4836215da99aea3bdc84aee12d42dc4c4bb0d3a24b6bac94c1531a7273cad0f8331e81671ef0056c74beaeaa34a7fc56ff8d5ac5895b639a164b4b339d3d70478f06674131a3fbcb6257ee741d4422f1c0e26e4379d836d80b4da8515035c3d868a6cbe286d9ea428a9177f9a8132d33804cc7140b1caf9bece9e7705876e9ef01649c12feb14cd935f8a843a356773af742ece5c369d2a269e987ea03e8bbc682cb130c449b24709204527673\",\n" - " \"5\": \"527efc828b460c58144fc7c9bf4a26c2dbb9b8db7ada2ff79e84affa231f3d0c51cfbee5da75e6fd34ca43816f2935008ce1a9e0863e312ed3d2404877452be7e782d7959987a5a4576e65a81acc2ca13fffd03258d333cc5ece213d2d4411b22b6827359b9fc1d64e4e84e2e2f8971e9c8a1f0af8e2a820c0e041bc0945127fc263bd1eab222f374b65488cdd45b2bbbe906883a15140d40bd98e2437ec89ef91e8789fdc4cfca32f684bfc543f3dff881d2075938816c205b7dac275d49932bee959c8dd257480f887a85138f4de82745a04a1ccc0df389bbc405bdbd9a805586bd241beeb5a50169dc3bcdd86582c49a3f18badc2fb4599a97f7377241295\",\n" - " \"10\": \"9ce42e8b4fdc704145463489d1d7e9932ae26979bce41ed3693c80ecfdff9daff122f09d3b67cc88d930a9f696d6c34cbd6d724064bbcd13dfd323df73521f658697ff08f95c6e8da88673e9dd54e0037e1ca3034181b83d5c420574933f6bd9b12d6937ccd74bc16e6074fc1580a0596297b07e4f96279dce83d68c38c2324eae94ed3c2122e91f8b1e6559a52d0048eabd0c0a68b1ba7e03818a1d8c24ba48455b59497a77c17eee1e8d17ae4cd14c2941b1782817a299de45f918bed5082439262954f6708cdee385d73b843455fa9ae3e0fbf10d8ab5feb0511239429adfe03d68b753ae707c34848bf609e2066ef83d7fee357a008f4a9ec6d6db23092b\",\n" - " \"50\": \"76a5747715b3bd6d0d44426d5d1dca4b4bc869dc1e4f526f8f4bf71c5d3a09cca4f3f139d07bda0134dcc364ac7a2fd56dc3622136e0cf72e2505291dcfe9723799fdbaaa930e56257fd38b7b5bb99331bc84d0e36ee6f5415ae40fdf27fc7cac2e00e247384d2eccc0924415a22cc17198644fedb5f6864b31176e732840b5f8528896d78c090037a069bc4f7612d48342726b9a9f5cc5f03212f3494595a3090ffd736fdab66ae28cc3b5f65030a1ff776f404c5210e4ce018e2299161cd0ec457a2769e16f24fca3ef5a7722aabfce325ac40533b70be8f73d9f52114fc1ff89f8b19342ed9364ed7e5ac2a97426a865219b83f88d80a7e307b6f7e201e77\",\n" - " \"100\": \"51e41f44787efc0363903257b8eab1fb90b5f1266b53671a6d466b897ace5d3221819ca48978e6a3dd981e940245fb84bc8fdb3619e2bb4cfd8db706e9e8aa6c4eefeda95ed359f5de916238d23552a13ae0585f6e0b71de7cd4bb1bb6799b45debfc90450c9ece3766b1ba16e0facd30c93a749d69be9c5228db6de71e95e4863c9907fb4737a14531398d565dafbd058f24a060a5b5080d6efb63141b0eec9d608816990f890ddc500f4d22c09f8744f65e61360308568ce9223c8e1f3d78c6764e565fe1a882c0841fe91efaa619d35ff5bd80c2a0c643ada3b10a33135db34a0bb702ba235b704b77117145f3332d4838d40ff6546beb38bb29282ffc79e\",\n" - " \"500\": \"206ccf3ff61acb7c3e41964b4ffa403d31cc3aaace5991bc57d8bfdb891037e3a2554803003c538174b16756b8158cd4c0d946068cbec49dd198f8da5cfa9a4028626de2bb8e16e63cacdf063349b6a828b400988be820c61463c075bb72f41e162ba9f51160d5efed63546976055e38805dfcc013b0257d7b054413aa4069247833e8474c473a5d26f44ce365fa3407c2395d6178f7bea5f2c3d80162b599b2c7f4fe6bb183aef3bd395550b11424ecccaed408bd973d273d264083dda408392c0e9cb90e26e3a00688b7d38f393624212a762ae85395721ade216e3b4dbd99cb9a613bbab80e48062cc9db6f1055289fb51583cbe0d4df13b4540ab0d29675\",\n" - " \"1000\": \"23ea14d92d0142eecdcaa45751a0dd2c34d8abebc13c64f9c6ad2113544a2f62248be5ba13799c9dac378d37cfdabd7a31dd5831f1a8b7509ca0922925817a1f06ba0ff4033c9bc08fdb882e701ab4d41b86ed8871f0ece61a26ff2191e9b6ad2e5deb2e245ce13467484a60bc2ef1e29cb4960bd5818a94cfa1fcd4d07dc436463efa05126c64f85ee9c70cb46deae7cfc39ef2576df5181fb8ee4fb12a00f604425554ec71b7af942be0b486a968754eba60d3cddddc7a5dada2f0ae586e101b43e8360b282132236c62a2399cdc8fca1cbf99dc57c13fbe25e16ccfe3af4c2a82d29b5ba6c2cbe0888430d716a4b2d9f622c6cce76c218525a1ea3fa0a09f\",\n" - " \"5000\": \"bed7a0ffc37fd149839b7a79dd60582d61c0c373dca8c99cbbd1250d8c7ad040d5f2ad58b638a8a3181906d8d394224f043b9801d4b2fbfaa7c8e198da7f32470524f429cd94ea80fc7e4f240417fb276d07d2ce87847d0c72f159e4e57bbc00476156577a83b81b4047d67f6f8a3d92b2694b14afadc19d0b1dbc410cdcbcbe73b9f147638dde5b5590cd9ec74fef43e37912b526cddded26adea0c9fc8912ff82f50e48eba9d8e59378ec5666d74025b7d5ca919f5328daf5b3b9d58d234803b281a0255dddb22978c8d9178bfe511ba07a3377ab090a1267de84917cef7a41f81cafe350f45a283041bfd2db451fa9eca98a820d3618d4ab0f58a32079541\"\n" - " },\n" - " {\n" - " \"height\": 700020,\n" - " \"1\": \"a9fb50c831de5dd0ec11c7187ca5fefceade60371986bbe88938a204f6be5c29f493741a63060d13c82a369bfb06d9e8e12d4351f747ad34e44e3220562a61169c3d2dc1c4f4a3f4d58c82d09c8cb622911b1e85ceb44b533f4fc32ad8836f1e161d1902540a8cd9f522e31aacae128153c568e16d5aceb155e270095d64edb20dac23ab760f599e70c7bc7542cb7941b4815113a6c3f4202d84943d1b375e6f798632ab0760017dbf9750e5c27a2009086e2d6afd41d519eabc74d033508ededf28103714b6ad02f1dd15a1fe18584288d0aafee325cf4589a309221f256c1bbc6637002943f08a2d822442db7c61f80ef683f2cce50379f3eda01fce6446ad\",\n" - " \"5\": \"5ef173c085028505fc69a3d46391b5b18d0dfff6f8195af87f54776fd8b3b0e1170a0b003e9790422e276e814f883fbe2cb87f81dd0220464688546fc05fb123a78a753f09ee40560d8f3377f2e34f50478f51cd72c651dc90589b50634efafa3cfa38236eb12dd7ac632bcc13ed867b132ecb7129f28cf248d7cf2ec0e36e6d07bc185877ae8a3610eb4bf92a688b0a2b35a8b0bafb62fd15c73f915657efee2f1c43303c2da77098912c4727e5c993e84d17bbcaf8f204bedae60916f8b342bc9e8d8f53257f1d0446ad35fe071ea679802f5b1b5dd42b94d85f146f369287b9cc7b3d28521a2be5525201109711d610a041af8323a5961f10b78605e8b15f\",\n" - " \"10\": \"9ce42e8b4fdc704145463489d1d7e9932ae26979bce41ed3693c80ecfdff9daff122f09d3b67cc88d930a9f696d6c34cbd6d724064bbcd13dfd323df73521f658697ff08f95c6e8da88673e9dd54e0037e1ca3034181b83d5c420574933f6bd9b12d6937ccd74bc16e6074fc1580a0596297b07e4f96279dce83d68c38c2324eae94ed3c2122e91f8b1e6559a52d0048eabd0c0a68b1ba7e03818a1d8c24ba48455b59497a77c17eee1e8d17ae4cd14c2941b1782817a299de45f918bed5082439262954f6708cdee385d73b843455fa9ae3e0fbf10d8ab5feb0511239429adfe03d68b753ae707c34848bf609e2066ef83d7fee357a008f4a9ec6d6db23092b\",\n" - " \"50\": \"124a8a1ea623b66b86cfc555615b97a6094631dace0957883910c5dd93c23ab4642ed7197159383a8d4ebb18ed6abc96d75a086453fa34afc291bbaa1f9baead3f243bd7fb343991cade4419d3c8f3debcfd87f0a2ce2f38c44ff68b26d6e577b94ecd12a4ea7647aac50ffb917ae0750ba231234ec39adfd18794c5d8951c77c428cb4a4e071d599bf631f8c1d2d56bbe4c4d07baffdbcbb4a845bc51d759dd869f4fef4bb385d61538fd36474627a9d7f8170320bbd06ad8368486fec93af086d6802c0b13394a89d85a8323d79255fe04bdc9af0979f027052d26d8a5143cb40efe326712f228c51f8414c747cc182dfcb407c0a69216d8c06a52e6605046\",\n" - " \"100\": \"4c21810b05a7dce57b408510cf0ec511d06cc6bf3b598736bca2cf872128ece5f1d3e297c1551e77dfa693cb86f797cc44a72c058d1fcec14627a52f60753dab170aecd370bef48332ab91352c2df3547058ec89a7e66e5694ab1102029d93979d566fb67a9ab5fec56bf8cfee3623534b19ad637982cba415fdd932de8a8772e080067865dc03a30f74dd2c3160578f8662683679a74e1cedfe208b7410c0b0ee7737ec5e509234eec6a5d2adfab0ea0d3ae74d0adce08c2290cb76070e96d4c776e3213026b8b2615f16cfe7e71d6be972d478cc1d09847bf3b24cecb1c8a8ec72b6b66ca8b6ded8e0715eea18f19ce068ea1898ee55d822ad713744b0ff3a\",\n" - " \"500\": \"206ccf3ff61acb7c3e41964b4ffa403d31cc3aaace5991bc57d8bfdb891037e3a2554803003c538174b16756b8158cd4c0d946068cbec49dd198f8da5cfa9a4028626de2bb8e16e63cacdf063349b6a828b400988be820c61463c075bb72f41e162ba9f51160d5efed63546976055e38805dfcc013b0257d7b054413aa4069247833e8474c473a5d26f44ce365fa3407c2395d6178f7bea5f2c3d80162b599b2c7f4fe6bb183aef3bd395550b11424ecccaed408bd973d273d264083dda408392c0e9cb90e26e3a00688b7d38f393624212a762ae85395721ade216e3b4dbd99cb9a613bbab80e48062cc9db6f1055289fb51583cbe0d4df13b4540ab0d29675\",\n" - " \"1000\": \"8bb7bc2c09947c1a50ef5a5e243e983357e2696567647cd144b652c6b8e4eee62eea857affd438f9214e990d0724fd666ee157b84a52eb4acafb6ccd34477c0eca448f9436c559bd2c3dcf690fb51423229e50bdaec388b8d4300512c26d4f2bac4cbc9ebf1bd15e72838a1ed893ff58c236e6274e0242f9af5f6e6d4e207629243fe90eefd766534281f8d850c0b7c8a45c3f433fa6cc653a4a9c03e68ae6723b090d6e89d7e1a76e4b547ddf590f542e8903f426bcfc0aa723180df29f6d991827fd3c936dd334f67da7b03f2e888749894c8e8391b0f49ba28e91fa4958ed83d53351911bfbf29caa59eb76aa7da5b5653ae567fd19ac908a39e14f9a6f77\",\n" - " \"5000\": \"bed7a0ffc37fd149839b7a79dd60582d61c0c373dca8c99cbbd1250d8c7ad040d5f2ad58b638a8a3181906d8d394224f043b9801d4b2fbfaa7c8e198da7f32470524f429cd94ea80fc7e4f240417fb276d07d2ce87847d0c72f159e4e57bbc00476156577a83b81b4047d67f6f8a3d92b2694b14afadc19d0b1dbc410cdcbcbe73b9f147638dde5b5590cd9ec74fef43e37912b526cddded26adea0c9fc8912ff82f50e48eba9d8e59378ec5666d74025b7d5ca919f5328daf5b3b9d58d234803b281a0255dddb22978c8d9178bfe511ba07a3377ab090a1267de84917cef7a41f81cafe350f45a283041bfd2db451fa9eca98a820d3618d4ab0f58a32079541\"\n" - " },\n" - " {\n" - " \"height\": 710020,\n" - " \"1\": \"c3aabfabaabf63c613e3ab6d597a1f59ae4c81d5fa1b1e6f5750d66bb6f25a152de52c767e6bbd31cdb2ff330fc1b20b2c12b10d4c11c608ef5a2536c6615e5dc98c947fab340c996f1e4807772aa1af088d14b00200af051c86214641e1430e038adff4aa169eab98ee2edac61143d331a012e9545a3b52d742d5bebc5e73743314418799f7973e7b8e93fee1cce942b1524509ba3fab4d401bf39a4ec9550f1cdf645822dbbaf0ece2e33b31a34f9cae741f1769b329d69d19ef766401cfc4efc231d8a889fab565c7ae3e8311f80aa68a2eaaa894ff53e86aade4e1e0d31b32d384401ad1bfcc1f1bd5e7b50953e030c1dd69fc88ce3ed1f812078a932e1e\",\n" - " \"5\": \"6b46d65232e276922969646b604f9e1aa6031621d6904df3dc4a496d34a81eab8ac02a79ea4c73783656ab2478d733c63f761c97e99d2e421d74f94d98b42f26eddb8219ff1cc807a99112bd165820793b0cfda18da5a02ee8a6fce8f46c23e901d4b6ba93a39408b878ecb2c5ebbd6fe89706f728584aefc6de23d94f1a61c8a44dc5a3c9b50ef2df348f55971acd77039265484b809a8c2729cde50ad7f3cd473d70aef69ec1403b4ebc4a7b72d87f595b192a523565d29dd33f0e55f462f9816de2acee4832eee0cd3e55a675f4246a5601b3b63e0009db0cbb511ff85a8ec76c56de2a46c353858e826c4ca3c554df44990034c4eb4ab36b3fa8a1755f80\",\n" - " \"10\": \"2aa660b1ccd19611787336b15f299319aa1b843b437056b3cb954db0f473bdb9f6c9998b62f8acbe3124260d655f047c3ba5969e0e73920d00c218064b9e15ed6a2406858c2530e65215fbcabbbae98c53c10a73f1adb52bd85263957828a2105736cd49b73ad2a3e6fda463aa701b5d3cc44581336ec6043fafe66661674f7d1404a7477ba83cf86b75754bba9f75269ca67a56b16c3348d3dfa457905fe4eca8beb840d9eee2b6d77faacd76451631c3a3af07ab9fbcddbb4358a5a2e5e84eeb50164898fa7f4b2bec52479a96966dcb43be07e344fa9e784c5bd50462b659a569be510fe7df3247d63425a7bc988f8f4b4a8b2960d7999029c9a825c9a1f7\",\n" - " \"50\": \"4aeff962703ddc1d3b79d033bc2560e9bfe984bea8967abf7b225e2e491a4d07251d7131beef35f70d21b6c8e6c6bb7bbdc2e32ba8b4bd26e25059276721bb4e60b333267df954851e17353f5f1d75e8105234939145503b9dc68e398a60cd70f1c66789bcb910b118d0fcabcc7359c641873b1dbf7beb078fdade640303651f199b9bf8331a5938893f7d6c5aa3e909de517e874b20a96db04bf98ccc46ac79fd4b7b5ae01235b6a431608698d0f665ae742e5c44d6fb3bcf97d0a3061560e40f8315420f014670de428ee76001a3ffc881c933141a555035944981034cad054c21098c7d81984fb415cbed419487afe11510e0ccc961cec1b85c8174ce3395\",\n" - " \"100\": \"4b8c4d3cb702e3827419c8d31b634c4ae3c4d24ba8a72808800b58e05991a89b24fc6d9f8932800871366a4ea8e6b5a3601991293599c67dd862ec1624772b4ac355c0660b326f90d32558d3a6e58d2f4ad122536eb09cf27cc6bc29539837fea138fd262c57463864fa50df6007cd0f5a78e7541ec85cecae750f032e3bc6a6f293dc6b7baad72efb79ecee94da4f36efe70d978b410b9cfb66be2420d95575933ead30ce9cac665a7d1f8e8bbf16d4da99a2611dd6f32c7b725e416e496fd655b9c670c0dc4e8564abfb6e17b5e9c338ffeae262792744b2bcdf2f54b6e53ee23eb5d6fcfc121861fe9f45db3885275bffc54ca677c03bc7d560ae86ec5e13\",\n" - " \"500\": \"5b6a41bc2b954947593087169e3d0d01255c5b18a16e464dc84e7bbec58c7ace180ddcadd029bd395b1bc3c59e0800c205aa77e38882397950cfaea9ac0b19b1470204acf06b94fe19c5cdba6a1e8f37653e28eb10c94d917751b1f6868544e7a354e108f9536cd7a4480b2c696da2b4a9d78c4e303c1333fdef476a440a4c5863f15eb35bc5d6d96a07b474bd2f7c37bd96bf8356404a5e34ece5b25061b5a5b1990a057d6247868362bd8a49ff98d006203d785213c0f0117e4972ca0857bd0bd716dee8a6813496c3bce8cf431f6cddee825985b7b537f081c2d85838cb6aa50545f45e61b6842aa9a63ec04e2b366cfc5afd095c57409cb8e11f539495a4\",\n" - " \"1000\": \"b74fc974bc7330eee5de1e129e5742eedb5a9a809297a38a2410f81c022107275660923bda369d64d239598b5b0beeb92ba46393d030a87a1f34dd2d19f8fa8102381a33b92528da8ec86e3a9753c7f64a465409fd51ed072b6728560e270bd1331e1a674dd6439888038110f8fac0c36206dbf2b4310ee127c2b02297afe13e99c0ebdcce4ac2b296a378bf538c303a4295a233e734b91cb700b692d472f50aa8e43eef6176d2ba41e52c678ec8439c05d30fbd2c21ad28df3972088d5afa17c2e474cebef50eb9f41ab9be71718329f349e22cc349bc7ea6d1368a34458dbbb5f0aeb6f4ced030528249e7155b4f32b3d5be44a27b3ff11f82a88675e06adf\",\n" - " \"5000\": \"73f117fc9d581d70ef5787475c2bfb0b4ded63f9148e9a77d103cb16cec03b613f825fdfc98d236b71429f8d6f616742c5d105ce8ca10908079913076b33218e9df98604ad260c69eb487b8270b172de1ac6bfbfecfa3e7ad8dfcf0218c0ec572136f8c1afb3d94b6902c71f49e4e2dc5f51f4d2f83ca666638eb97cd1edd2fce520c1458af9042427fe776063e4f5fb0a89aff1414dccba219d752a41808818987881674cc0fd8fe715d62d2fe7bea3f792fd786106aca37dd2fa12e81e7de72516e0eed9c360b740d338596b88c149c3bfcc4af3d1f1e93d1503a74d9d7ff31d73f61219ea7a739f6a014d1589b52540586e87091b8b02d89f4363c90bbe60\"\n" - " },\n" - " {\n" - " \"height\": 720020,\n" - " \"1\": \"841ed9a86321236d01d13b6830486e5ab494143b49d4a6dd60c3fb9b9b3b79cd77abb7e79c55eebafc1a1ce99270b90cd39c6f8653794ac1ca036b3032dda66c42207aeb6b5cf1756b6830868adaf8fbfd8392d36eedf39a5becc3a8da265852cc5f8d6940d4decaf042443371ae6fe18bebb77dcfb39ebfd08a9c893c0cba8ed6608d48ddab5529995fa6b8134d50b5fca6207b1c00f7c9d38a015f622dd22e6cc84245377f48288c77b380b14cb816dd0a5a4e4e54eb68a0435d553187fd80105fb1e50e1f5d254510e85b550e075b442afdea78e5bf4377c7ccca800369ed777c1f8caa849af20f36fea40e8de97179fd381884799b48e7f428d9758f6d7c\",\n" - " \"5\": \"44c1a4fd54e686d7ac930600b96eb165516c550098ff1defef31b56a2f0b4c3f892a6cf8d21eb94355b59f60b5ab9c372a07e5ae8022a66d4850e8bbbacd9a02fedd3f1bea60e1bc910154e2117cfdfcb6f3370247801de27c9831230cd226bd5e606361a977af87943c4289ed2fafaaca759300e263a9699dca91a1d43d1218898fdc5376a55748622001afd12b13f263ad52831711cf92857eda17c8ba9db364efe1eb41b83326762288edc4f67762597b14ee8f3f3603f9d6d079d4f5eadc6ddc2d76de38160cc08609974955ef82f38dba62987928366a8003cfc3256460c11712af599bbf1437aaf76c3d2353b40f34e5f8e1a18397a89141b17c24b4b4\",\n" - " \"10\": \"4242bfd5140afc61a1c7d372de9c6bb9a3b4fad0b8dcd1fca90a527f8a9bce2e4af305fba6a85250564f81bbca52b16fba34669c29be2c7e59d3c582a0464c575854267e32f2facd3a08ec63c03db3318e7d49659e73a01b2619cac979bbf61b36ce3305550e2c32bcb4bede539051594514a990d0762ce26f06935576b5ae0b6c3d634641490be9c836adcb0d4aa314b045e0319eab3091c4cc5217851a3dfe37ca24bac0ca42bb1fff25e51ed3ef94ca904f5dc0d6f4bfcbd26fe8890cc35a4540b63c62b32dcc2676ef8acdb828d0fd519ce2ae92241ef6df7c0c0604a2e86e7c173395141e42a68c02d1cec2efa63797f8320f55e742d58e38d36500fc9b\",\n" - " \"50\": \"7cb96c6c0bcf226b7aa45921055c413081e62fc2660030c1ebf8d20d26fd805053fbe38b0ae4dbb6fc0f5c078e916e8b7ffcf027dea7bea16010400ea5b2a17966c388c4c94aa4267bd4c548e9ef9ab4e478a0682d67198dfe43f85c01d20c6302f0b3bdcddf520619465774d421767053c69da42bdf5b499f17f1f89006cb6bc7b6c5d1d45bcab776d3fd0a8b5815f0c144a678e0078098246e116bdf2dabeb56f2ae6d966eb3567832121dc1c85c869ba30eb3c692a75d709ac9e3c9ef342e864e29aa43380adf56c8233506a642d5b7dba44ec0471d26daa5bb8309554b2d0ce850514cf87655c5a728e899310d01a3794280eec7f9be14fddc6e41344ddf\",\n" - " \"100\": \"42ad4fcba523bd17217a026b0849c4020e6867c342a227338bc736042b2816ddcde9c39a9db43a39fea97219f111834cbd68d44189c97b4fc1923c538ba150f1df9adccd610a2711eb2feb91df2e3a6f6c96ce06dd49c3f72f2f7e9e032d863aa4b21c9a70b8fd1107ac76f93284bfefd9fd6f843400498f134c20328c8995a58a6cfb5d7473bcfbef49de85b3aae7e9cc52cd5b1c790a97de08b86431afb8a3fcd11bf4e044ddccfa0e8396a1c368dd2c1729a354687a01015ce33f6574bc0ab53c0497d4c3e8674c38ae46662e4e5e2c39b70d4b05566f3776b1f1f73ba2cb2af661b9a450518f38f49bae3657fa86a30e430657f25e8a9465437f12333510\",\n" - " \"500\": \"4656763cbf14f1ff09376553c95114ce6995fe5a9e35122449b8604d9fafca461ff70869a77ce208fab0547ad0aca74085ea7afb24c1dff69316b4bf543005c38642487e6077ef858ab801ad49bb790bda73be6f2d8e4de507d6c76c4790dcf93557979c863a0323b44ef10f7169c2ecb14fa12fc0c6777f64fdf26ef5c33eb40a1d10f04c95ea93323a99a49e1842ed377f62cf441c88705f60600a3bc1d7db506e78fc8ff51ac92ddbe0eb67c61d152f848f1acc04622276c52e598d506bdb29516bae7fed7ce1767e4d9c4eacee232e3a98cd7f7ff803a35dad7407674a9e68ac8fe5f81bdc3cf880e2de14a15ad6b2e80a1c2a10ef828079dd2747508f35\",\n" - " \"1000\": \"60b878e67f92d61f1e37d2c713b033abe6d220639afcd497198ba49d67132f7781ed91cfc9bc91adc9c8d35cbdd23b7178d8ad7aabee616fb896cffae70cf55f5017c027e138602f16c178a01584438b5c8aca0c3b02c31cba6d954d29b40dc652c668f030c00df2fae219388e3cbc0cc04093fa2b9700e605a65c6c20b22e07caf0d418e78550991870e67e01fe1bca72648dfc0a33c044da1ee50111f19ec16bf7b30258233a528b79f992e4027a9ccff940076fd4c94c4be55e9565ad07954009b7f67106679fb9cfc3c626a054bea801de6c82c813ef76e51ac57483171ab79df71431981da617a6f4e933446b71199ea807148214afcad4a516380dc166\",\n" - " \"5000\": \"8f42a8b5f335eaaee1481e15fb60d8c1a3a4dc4748810382ae009505b4615b090e4b18006d2586692d735fde9adc77ef4ffe279bb6936d2b5bf5e68ee1494b85f71b2932172bcf34a824866e582dd4d613f552e0832a9e9279fdb7239099189afcf3c6e458ff0283253e95564a02b68750928ecd33380bac73a043df48d597a55469b02162894cef6021368fae008de94cb125d56826116443c354d2468f489c1c531e4ef0f82c36319a232d4261c849f38d63977a8d1ab423c96cbfd4baede9b4be58d9315bd1c740d89e5d045593fc9a11f558ef37b0dd28dfb0ebf1da3ebfdffcfce1cd96b616ce9700f00884c6237473367716f7b1af6c14ab3073338f86\"\n" - " },\n" - " {\n" - " \"height\": 730020,\n" - " \"1\": \"65127355769308af647d93b44538ce9594d2796cf15acab67d034b71df6dce55633366a48bee3bf987b18f0874f3a0be055bc16cbae3720fd5b21f9ee31a9ed26c4d90a5bd03bc55f721c2c5bf5db33b003cc5218d14700fa6283277cc68135f8358d296d4d17d3c8de5c93f137c23b9c879d71b3df9dcd2c386a352539e7294d7699d3d34c55882ae93acc85f3034c51a54a7b0a75f64df977be4340ff39b513163758a19d26814f3406b01d21042df3b43f125eac7ea6fe68bc9a3c1b4430c6a4b330e747fc611949b8b7c63484b8194d446818a719eb0ffd6faa6de327d17d5cc717c880a34d04aea3c1dbd7829abe52d3e6d39e105dbc36ce9be53bd6e6b\",\n" - " \"5\": \"904f324f948581698021cd002c10550cf593aeb488be644812ca5c9b4912d3f34eca4381cb49c663186450056054c89162d152481156268490d85622217ea89a73e3f02def2fc5df1abe5053887211847bb01161c537d6c9523ff54de1256c849c953d5e87ad4d6b1585bdc536fc32a23f70da55b5abdebb98a24aa424b73bfa54b42dd2954c05dda0fe48ba30f69129ec493664948a3c9f3c06ae23911c9878b5f864919a168b864ac190e333a41a282cc3173734fa89eb4390020f953ac8276aab3b0a9057279debabe6a75092fe53dd943bee223594ad8cec2a6924b8785ce28088e2c0083cb10bb2ae2b4765a55f4b312d3eded4516dd49a54c51ea4e07d\",\n" - " \"10\": \"9ead49cdf97b37f4303c78907235e7a139f6af63535a28240d94170cfd9dd3cdc0b7501587a8d43f4c52cfc419b6e64f023558284a13fef9f2bf72f736dd8f66dade58795e94ecc6a20eed3fa22f6dbbd1925a751fb36e9851b03929fea406a7bfc72dcb080a2c224526fb54d70dfe221634a821fda845d7c26a62225a04987af81d59449851145434429c977bb02929ed32776f3225422bab2f49a8b3e7ef3e4add31ea212d5f14721f79defcb5266a4eb76d311dbfea7841e929ab0a6d4ad3d092998bf226b19f0b1fab89b3c743678277fbe913de7406ff24f0c3317be014d7b6597b0de52346d7f9326b73d63752a7e423243e09d4f6bb3057490308445a\",\n" - " \"50\": \"b2839ed8c4c7fda91f96265d5e6a2bab672f7a3431bb964f17f489aa51f87256c91fac290e90e90151b0adc1872ab34962eb4bc905bb53d337aa55ac189504adb5f94ab1c2f60c84e89bb3c63c4611ce9284200efbdc77a9cc9f96255752b65e9f11d75cdf21d860378f0572e79d439d49673e22d812e845771d5458cb9e407e377fd3eb84c7fd9e56b8910692605da235fede996b0face1cf32d0741eb330e9e3c35be6550b9ac832cb760eca88fdfc90eebecc87522ccaf74e3fdad9eeba5b32f87caa31fed0e444d7ac2e4bb5e1a44141c6caa3c38b7277c821109abc680a817a81044c179e676cada7bf669a51b76aa8b54e7c4d7c6e9e1e19f7bb0298b\",\n" - " \"100\": \"4901e6d7a34004a8300f65f3707a9a93561f326a88c0d2c3800f667926713821489db675a5030ef6d6a075a0846f1239577e84f67b8fa897a6f9ca7b6328ea21579b3eb5b091784bce1a0b0decbf54493ffafb5bc0bc5aca68f5ae7a5f13028a327f85aca64c86a1b7968b8aecf9701baf660ae4b535f391c98acab88c97c5e3b054211790412079a20039f7f418ddf1c31e88819ce5fbec7a38163c56c07aa8770c3337e57cd96ba83c27b1bfd3d15850fe40fdda6dc9c44d713e6f4905197f0f6a26f599e915ec197978d6110c9f0e3de114218e69ce9a31c42d3c12f7afc4dec093754fc3b6227ca181033c4ab6cd4a679742a833428e916733083db80ef7\",\n" - " \"500\": \"bc23f63faa16a9849dd419f5d6966dbb9565936aeb61873b793d487fd2bbaa78ee196f19a9748bcdd460e29b5ea82a2f25757dc9a98ab93f9677ed83bd357d63abe7e7003d1855658859504d8ed32df0f3842524a00dfa931a70aea73410dced683e7d1443c7a50beb8bcaa3d4fe1b8a9c2ac07a7fee20be911186b2565dfc823e5fd410c1e272b94ef8e83e4d541af503a7b195b4a68a370fa409259078842db296f2b8b856fbae14a50a72972e18b14be2cc26f89b81c60b7a4c1b842f61ba20595700e3e51b81cd3a54bc9b86cfb55250a98b697f9e3a95ad3c3906391fef6dea1e70cc35458750fe500632c931b3f549d2559709f8f41b742b0282fdf6cd\",\n" - " \"1000\": \"27faebebfa5f962041d34c6f02e7757bfaeaa9cee19fd9f5f6ee30d70167c2a6fa683819c203f001a8a8862ee227a96b4ff4bf0a63dead54d8a92262dffe3c3649c71633dc58d41672a448f388f83903d75a3c396812df5795d73a034380deeee3485c40c3779905122b77d61f221a24997cc09703a633177df9b5ff494375bd76986d89f248ead124c3c6b7ba6f56363cf6a8b10e9674d7f2bf59d0e668e176c16aa6eb39765a78a8d338aa63eeab9ab954b80ae1c398750cef01314ad145581c5e64ce61a4533054ce7467d1c2ba530dd5c74a00b0a0fd6827c364d591a82ae1dad67913b182475c77b4e656c2cc623a763bca7245ae69f9368f0afb9e116e\",\n" - " \"5000\": \"a6ae07bc14e27251402c3fd0be94e798746c17fa6d70c0eb6b22f0d0abab0ba6317084dc4312c0f20dc9b24a0d17676e679bace9c7c06be28a059010bae3601c47f18ce805237c5dec0f215519681c7f85f3b568ff25c2beace13c24c4d19926cc5324ae213c1ec1eda04bdaffb3702ec9d1a1c38a675b2fc56ed8e2a0220e0ef56085fdec8cdab2bee382e764d8c4912858ce90a5f11859e80716f7a353fa183b1e02f7e6ec0a727d0289fac149896ce0049134c3f155fa4f6571d771af45bd348bac08a9783e8a06cb34c2ab838b5625514fceb384ef980a7de9250ae93962e8b2a17ef590c9b988503fc84aa9a0e2f36590b9064fcfe18ec20f99a0d3bbb2\"\n" - " },\n" - " {\n" - " \"height\": 740020,\n" - " \"1\": \"1119ed808502d16211247a482b7dbdc046627b0f244f0856799d003d5554c9454a10f49a1113866bb9887a8170e42bc76a8c9e8d3746449b790a59cd72826f88ab3a7b25d6dc3f1509394b2b7d180e7688090c764dc8d321a8b2ee264aa1ed29ea3fe66eb9a1b1367767e394162720389386aee72c194bb7ffc413ff5223dca9fe384f3a022e2d6da249fabe10f3f40d60f36bcbfb315d11974b7b9cbe2d4763dbe3588a065aad3fec7f1e1896b0004278540999e29ffd0b075f50567d97b293bb51e4206ad8040bfdf4e214c599909344f544674dfdda70807dd93e0cca0af758eec2dacf16ab91ab98b99b3bbaf3435a9eb149a0ebfb636dd6dea0acc4ad7b\",\n" - " \"5\": \"c17db0a3b6fddff8e68485a70ddf6823912e8e264daec01b85cbe865dc125272788959ea2c7516b17f52133e7adfce945149768a1eb9d01a8523e64bb7559ce9d859abaa6b1a5570412748948755dea0b06fc5c257a32a8e155ed85c6a081d571f1b0e42083c32570158aa0d24ef9e8a99b33e58e4b0a4badd853ad622bcafe1610093e28c25a6e8cc802b5e4a78a20931b5dd206cd57cfc1b96f58e76746e7a28629de988bf6c99f8326f47ab6a01b4bf0e16fc1e9bae531f6f3f72f42e56d04b986a205b57e0d4e02a541a11f29e8cd62e8085e8b2f348b86cd0582e8c38c845318b0842ad4a122e749de30fc04088ec7750878ee2e97f74c2ef28edb25dde\",\n" - " \"10\": \"6fd7a7af0c0b6af0ab76e1c7401c6aa1eb3fb4e9fd1f85eacfdf52d2ca914a4f107a54ca634b1534afa2aaaaaf604f26b1f9dc363bfe48d6a2506edd836701e86baeeecd7dfc6013819bfd973439329450ba8fefbbffd2f6efccab355d848cabc1f023c5031406bd448945b1081cb43c487d5d5dff3537bb7e9f7470bfd0dcca338eb3fad59ac46d80490a94e3ca2dc0e917dea27ef71780c3ea23a7907555f5a50237e90d6f63db374dac6d483c34ce9ece261c0835f4758cf1bd0a8b23ceb4dfd55755aaf534b4e58f587322a5612fbb4709a1203a193ee8adb47fe70abf47655f05df40ebfb987c1d8b183f79d7726d2b0c778017f9d0fd3cd51f647bd373\",\n" - " \"50\": \"179dc95e3610ecbefce19e62c0eaa3137fb446ed81e8d7620922343f36e24e07056be1dfebe6e00077c5ada83dd5db93e8bc04c0056ccecd83710605119fbb91016f4c1065d8142e48de157c51c19766be71807c3534093622c8c965d871cf83a44775353684ef2f2053cc87d65cccd431178b04bbc13493906fd1e648d34754cb4d98bb5d5ae5f4a80d7afd23dd3ed617e09dad7cc43dff311dcecd0e00ac71669448aa164a6ceeea296cfaed55c23f7803042c86dd766c9ae19f2227815ec4da75acaa3e12d5c7d6eb7aa12d84e7021ab3ad0b0de73cb3f5b88806886ca98754b868002e1d6bf3807567066501798d6a5a94a46ada17e719251eafc4851ef5\",\n" - " \"100\": \"4901e6d7a34004a8300f65f3707a9a93561f326a88c0d2c3800f667926713821489db675a5030ef6d6a075a0846f1239577e84f67b8fa897a6f9ca7b6328ea21579b3eb5b091784bce1a0b0decbf54493ffafb5bc0bc5aca68f5ae7a5f13028a327f85aca64c86a1b7968b8aecf9701baf660ae4b535f391c98acab88c97c5e3b054211790412079a20039f7f418ddf1c31e88819ce5fbec7a38163c56c07aa8770c3337e57cd96ba83c27b1bfd3d15850fe40fdda6dc9c44d713e6f4905197f0f6a26f599e915ec197978d6110c9f0e3de114218e69ce9a31c42d3c12f7afc4dec093754fc3b6227ca181033c4ab6cd4a679742a833428e916733083db80ef7\",\n" - " \"500\": \"bc23f63faa16a9849dd419f5d6966dbb9565936aeb61873b793d487fd2bbaa78ee196f19a9748bcdd460e29b5ea82a2f25757dc9a98ab93f9677ed83bd357d63abe7e7003d1855658859504d8ed32df0f3842524a00dfa931a70aea73410dced683e7d1443c7a50beb8bcaa3d4fe1b8a9c2ac07a7fee20be911186b2565dfc823e5fd410c1e272b94ef8e83e4d541af503a7b195b4a68a370fa409259078842db296f2b8b856fbae14a50a72972e18b14be2cc26f89b81c60b7a4c1b842f61ba20595700e3e51b81cd3a54bc9b86cfb55250a98b697f9e3a95ad3c3906391fef6dea1e70cc35458750fe500632c931b3f549d2559709f8f41b742b0282fdf6cd\",\n" - " \"1000\": \"633f8420252aa375c62f798069e9d997db527ce107b0fe9f494afb36a8ef48f1622300b662487df327acf851e196d2075c089034e855ae0ade61dd669adca3a2b0515d5a3b0fba2bf3e254ba146cbfd18f6ae2593e93a0a5de86a3b259ac0ecba46c732ca450e5bc69ce72b785f9b1a10b1a6a8f26d4dee9e4adfe4a0c472cd1e02d23db3cbe091495368b7f68ba5282a2f82d21e5f045e40fdf3eb391148d38419e588e87d6fd425ada7392e27ba5a764ff4da0247bd2898f6785442c7612c47eefaf4c7a422fd996134b72a8f05609b36f1bef099ce1286921da4d34601e28700093c519f133d4d47a96899ba274d20c9b057d9600a20cb26f8e7190c7055d\",\n" - " \"5000\": \"857e1d79d56e1b2878eae5cb10cf1e06aab28d2e2075eeb3fced67c9a4066dcc5436057642bc6ee4aa626611ef80029ba66d8abd5e756236af8e36d67d3e6a3a07815d67951a9415d261cb9ddd7c584ae551c26d07c65de954c8918d771cb75a8aee23a2d6685284b2dea2572bfb4e3178cccd4e5a3a29da38d4bfaefce4f3ba9064d47b2554bb563a705dd45562ec0d0f81a8654c5d3a9bb850a16ecf21b4e78ba459573700167ea802224dc38622307680f0a46ee2aa2311b87d0a30935cf5f0d125b18a444cb92e04d8c0d5f5203b1a555254432d6022425ffb22c9c06c9a0da28484acdd1eb8b4436836a03d69af03fd10d8761c9df09598a9023e0ab63e\"\n" - " },\n" - " {\n" - " \"height\": 750020,\n" - " \"1\": \"96f72f1a9a7105201d4a89d0de3afecca3c8251fb0f47b37d926ecae05ba14a04ea8be65bb5a1b18e995a6f4fd2939bd0fab192d3266c238bbb7d119db8f293de225fb81735c4f555f7bbc3eec14fa2f440c990ecf0e796beb6e380cffc8ac3f76085e3eb8b430fe33d30a4f6a33ab48ada427fb3ab92d17d07a768ea509b542808c54d09f0348daedf9af080484db369028955713c1a2705a033a287be00343b9a069ad421c01a9120c6977807c5a23e84c17dba5ad3f5023b5c8b0d51f198bb1baa74b44808fb98718e78f6ff0f15758e7c729a0600ed5fc69c16afa158c87112d39a43817bd58bdeb8512f96b658601680cc7c61cd66e9034157361721e2a\",\n" - " \"5\": \"5b4e98fc03b263e360b7ec4bb52ac9b52629b75268f80acfbb92c0ab946774d03f288e6ff0df346f5966db9742f2bf909ad44f8cd73c5593c308f561e558ca2c46f8f68dedac7d4d77cd667d4eae82b33f8648590780f155f9bae0384f298cbf50b3c2049f086e11e9c3e14a7ec6e2887aeb0324c9d083a2162bda8f716e08a7a1649820539723183b0ec3db9378130c0a06e4bca2f52d387195efb1202b9fa3bf117345d44aec72a343bf7b4954b9f1d815884aed028e12bdf769524f6988ae3c832dca46b4d5c25765a968b3cc069bbc8880f252e484a65174567649d74a390c91d3aa3bbb2490bacffe3c9b847c692073ba88f209ba6fe1b02f86ef3aaaa5\",\n" - " \"10\": \"899061a26f1cc39d502cceee6571cd7c6ec116612e8afe396acd96b4eff257ac4396825e0a68363ccd7e93da157ded7be0e44c5485eeaa496cf9ee11bc591c8327b06530b615138e0a0a0ff68a41c801a2b034b2ff24dd6aa64c18e3c0e6d5ef8873d78a177f963214d1c308759bd63c7c7c895206ead0635b22523791981afef5adb05841906e9219a36e13b7826a97691f4a996ff3a1143b588fa45d6ea4ae2fb3ebfc026eee868490f268e0b31e0dad42d601d6625e781a6cba341d3cf99c09ffc642652d8cf14d4901182bef28aee3efbb8b3a8ba6ddd4a2afe55b63edce7ce684a3ea6b81a36766fd44d6669e1c298754682424d3415874f8beba54b485\",\n" - " \"50\": \"7bda8533cd0de2143b90828a00680841319602183df98ff6052c34b7508cd53d953c098f006de0d8c5b2f46699df47678ffb38a5f57deae4e1620b7ab9c17a977712ee22e028dfcde4a75c09dfb082ec8f90e7058a4265dd51531ef1882002cf18ade3c775a6aa156b641b95c2b2e3b9ffef9c1c2c6b32863de6b3a51c378a6ae2faf36b941f707540570d2585059e7316d6f243a0e2800ccc69a28b0483cf6230f7c589d1135c322175600d91a1bd1b22af903de631c07bb45d706034751669c8c04b0b4d9ef4eec5df0e4b3dcc9458a095dd7a04012bd1f377cee8e43e698e244624db92073936fa4df30c5cb1d23e1befa785635cf3ee9f9d9628afe9cd8b\",\n" - " \"100\": \"b9701bb8fb49d39b3d496766ebdcafe3a90ee3a7f1f3a2e1de30e86c575781b902e6379572fb687b54689a3dbcb76bf40d375d5f25fe006e75997582b9115b8377b805d000dbd446a596d9322418c9c90b657853d7ad1fe48b79e61dfef53015e94fafadf3d54768e62355050b2ea2c03e8e831cf9d561d7ec638acb3c6bd779f1ccd094742cf3374be4d7870f2d2f00065d0b80323da97ebd2d90811061bd1dc5fdfa55350b487c00913721c09da35ca7b5397a7188b2d67d69ea12d5b925326e0b168358379919bed516ad68f355f2ae37ac5ffd154cc14306fd8196c2c2927974a2b483cc96609b8071df1d63f485eade072108bcc44021a6ff4ee0a675c0\",\n" - " \"500\": \"c69eb3717e77aa9fb3a0fe3cdcd2e8753f474a33e8a3123260aaaeec4ce293eab4be7623f497539fca26b3a275a919cfde1a7863bac576533d21e5a8a531f576b7fe1a3b7d2a4b275b68b679b4fc218d30dcc0053cf804102292a84f99badbc1463ef8e9ae655e39d09a988126c39cff0ed55cb2588f6f1de068eda4ecd30d6dbcd851836d1e7bd14660cb62a4b8a38b9677d48a60f55b2b7f9a9d0a052184b783c4d8243e2609fbc2aeb7cc1d982c7729a53a3629c2d2f504a3720e48e5c585ae6db52886e8265a0aac07216dc759d2e09890007ccf1facaab8e9cdc266f3fb71bb7e482576b2301a847d46151854f688d0ada26fb9e28136eaec3473a42e21\",\n" - " \"1000\": \"a756840cda7a4f72d9aedf8d4176942f313ce8aeacc0530b3776b7cb4dd00e3cb3d4aa7606db6fe68fd88b6003715351662c6bde152ee23bee0690294ab3c40984f92a8fc0c9501241e3798dc079025f47665c74be6a59833273fa352521bd46e6f6957691ca89119e93ef9337d410af9759d48bf7292943f50febe588e9b13c90c38a4b39301af0cb1b8b2ea127d3ca1fdf5493aac2b867e26ef36562bb54ae2e08cdaf6cd111b860f938d7e8b27cb8ec93b84d9c9d0762a0d5a9c8a91cfa449959329457b47856e0e1ac29576437760d059495970a167b95257806c69b00d68c6d25e279d582fbbe9592cd3bc2e7b1777807d6b41314b292cb9f5d110cac6f\",\n" - " \"5000\": \"5516d8455ea1dcfbc6cde65faa345bb67bacfc777f0b11a7bb5c7fe331fdb9498e850af0c710ece98631a8e4e5cd43c5b31c545d79788676d8906b6a4464549ebc5ddb2b8418cb3f9edd201ba67858bb69ce95b194d440c5c5e1f3e77777f38ec980d7167feac75615d12616b03030e18f3d91a9df5084db6de7b034e7c09f8cbed480f6f5f32b5fd2327fd609721d877ce581cdf3761638ad76133045642149ccce70f6bec43f5356f01634dde2ff779b7a79399d7b6577d4b64a44487c3ef8fcda9304b3e12e515d7b34d320dd403ef3104110f4f8efccb2f8a228fbc5544dc8357ebac792c47a6fed658b57a4a32e1d02179ff488630850b9bbb98c962ab5\"\n" - " },\n" - " {\n" - " \"height\": 760020,\n" - " \"1\": \"609b7bc80e15a794260d9998d0c2de528fc125b2925566503acde36da085e9483755abde14074c4eea6f796d07823edb8d864ef06d4617b10d4102bb2438553e8cf8affdf710b303285bea1c03355d60e4e871a896add16f2787b56e328b92c18d9ed16d1d6d10f8f6f151604981c62a8c86b8b380cc122bc265eb918cc381cba6bb7ea07c8f7e67120f5490304732b19ca35c2c1e90f2436d114f377582d9bff908e12af6fcd1bec51998f27d358e1505f109d0486d7db16be203cdf463f1403766530d250d123873ac81cdaa0e585c2f6659fc2079eba2b29ee1e2c7db0cfa2691206ef7107e8e07dc25586c06c0d91b843b9655f80194bad110a023e15d61\",\n" - " \"5\": \"ba58cf89d56d78d3084b863603113849a12a27d6bb26b9ccd5dc7d193070dc0889670b6050efb3d7cb66d3ea85d5555b374e22a187629be50b72cbf0dd85bb999337d794d8ded076046c3a320eefcc12375c8bf719a492f8f24d60116ad25dab4e3d7819cb56a51e1391c0f3b9f52bba97578c8db168a18da2c410e9d3f974038383a25a7f832f4e5ef43f1bc4603f83173a6c8c6aea368daa5afc2d14393a2b54a48e387f077a27af6e8ee94b8f50ee29849b3218251397ea186023820c9691e35a037462056fa6d8c2f2c896b19f8b0e25871b5474bc86f0edc1cc864cb74402c06606625aa24bc41a7ffdfc14805817cdbcb6fc2e09a3c91fffbe8f3be4a\",\n" - " \"10\": \"9ca71eb871be217013fbe86bc12dfab61d9119770357a156e9b497a163bef3fc4138b44317d0235b50d5de7c8341bbc9078b19fe9740e6b83c4993d53e46db6fc0328be745d5dd40231b933b64eb900c4d66d219a91c86472a62413d5329dd7908710cedd34b290153165cf30a1f56c54a328a88df7cba1c1404756abaece4729c821fb204f78e50aa2308887c9d737af7c9d4795c7a5d11c40c24e17e3381cbfbabab292acba613adccdfc9ea0e287e56156872e1e4e8661beee095dbc6a712ffb4d54ee01151a065eb5fff3b05c90d33f26513357bf1ab93fdc3c7065cc4d2de8612e15547053f2a1b2e83666f6a471dd8364128478381e8d481c9af6c609e\",\n" - " \"50\": \"83509b8112c896b495ec2c6f0ea7ae67ee03af358ea9e586e40debbe6da1648d0be95552755337defa74f6f4263b5508d93983c74e4cb926c8355ec0c53de3b6f694915ae457d6140b30a75479e28adcebd426bc9c731b08e28305d1da10460e69a425759438a727f87788146c75dcf39b698d2ad428abf90cd4868a82cd960bbaa1d08c242d65737beb540c5003f5d5a72a94d3bebc3446f7f9a7044519605e75fa07def00ff825e1146743d15fa3a31a26d39141faee16cbe2cbb1e84805e94ea02835906b26d5da057421c8a2930b78ac96bdc97704bb01b26b838412026b47b54169d207e454e62ceb691f5d141c06750dfef1d32ebb4a86af819d88bd79\",\n" - " \"100\": \"76af177e294a96e89630adefe47b2be70b5fd14919a949add59371f796bdd12e994edc3d501107d9f73a1835c70f1ea3b848572d80ba9ebbee0fa22305c4be2e1ec7b50463f07220db0ae63af3fbfb300857b70dc6148c38bd9f38f5ef354c940822956ad55c5081f0be48f5c686491ce592e7d5cefcbc30a96b0f919a5150f1c2a36885f784e375f06130a147e2de5652fa2ffc559872fac48716895d3e335ebf2cfda50bf9617dc7f4a1f1c0c1e6c58bc65ab790e9782afe99c4bf7844f243b18807d05a07c06b5c59ebe236fd49774fb50b7830c7dfaa39090c4b2d0261987445ecfcd61d222daa2b74b4ccabb1f8012643af6d9368c0f8c82fd1a7554f3\",\n" - " \"500\": \"b2e9f83bf76ffc6bf5dba50af0089199c007555895e523cdb7edc939f86754ea494a9265ef7c4b703c98220d9b5589f514f88b355afc7f0a6b73540e7caf3762e62ce1230dd9ac78f1d8067cf28d5edeff26fbd995911550f2718e22aa48b9fa9b18aa7a1a845bc2657bb16c8a76d0da1251207ded9dcd596d12243f1ba6f436677b384ae393ebe1d2c140191a2098c0cb169b11c0e96ff9657a83c8accc7fb0ed0ce20278ccff200c1eb3d76d083b509527186cb5f99af72d2edcbeb88cc6e511c48f12cd0405e486778d88aff03fdf357399bebc4e758da06ba7147e8852a14f540a6611472c616ed85f76ddc4c6bc7bae7ffad70b9b688d801630768493c4\",\n" - " \"1000\": \"1081b8fce3477db485e6b6efa95501073e0dcd662c38c66b0e3eade1e882065da2e0d3a5b9bb172eab8456358b3f2482c6c43c3a28dd77fcc8bbee1e98fe85455d6757a4aa0c3625774e14ffa01dd302c28b6983c2f200ed35964fad114fd90afaad80254a96ed49a89fc6589a5d406c1b800f642ba2d57c3bb0d7c83d3c724c896779e9f3bb28a00afdd1b2c5526fe98431b6026d92354174fd8e68ff7d9efb7147b46ff74ae9ebd84b08006172f37f80ceb92283d75ff7d3569b51eee708a07fee5aac143efeae7b3d2d55bd6720fa8f1ca07119946519b123a015f752bb2efbb3a27435b879390efbc7369c7496d0d3fe3b068a5c37fb4dcfd426eb7b848f\",\n" - " \"5000\": \"7b89c89f88779db142324ba1b27182b16aee8be8ed20c4b1889448da43753e29d7cc2e6a216118dc1443f00acfa4e26def6bc96a35f9e9cdf18263b90f012c86ec8cde96540e55c6daf29fcb01eb9f910737d06f473b32cdafe60f460625a2cc426e0d81ca57539f4eb972764861cadaf29478714c156badcce993b2f9ee39aaa0f66f7e79560ed56b18aaf9cdbecc1043d9a7592f80ca5d2615d6e91e551d1532c21f354a94e9f843be9a9adf6bb779b74722986374271083c033e2787386d7d340329a44e7153255b2e8635a9837280b5f75a46a70ee84f7981bcc6e3725956883b48df27625026dd8a821d79104de5d2d0c061253099fe63aca142c178429\"\n" - " },\n" - " {\n" - " \"height\": 770020,\n" - " \"1\": \"66712c448f92813538972da7a5f60021743c26d392a65755aa60fea6d30fb8d6600df90d73d872e406cd5efd8500f99e5a9246e46f224cae0d91b197c6ed803a7153e26264a8bb09628e6643290f4ea7f7cfae630fb747f386b35fc256025f61537ffa18e29f4d6acdde86a75a1a26958459a840c7744d94f12f20e66ed6adf1e717984e75200e7f645b52012856a63f09f2db22be3f24326af3c88e50e677266275d148a205c42b4f16b0f3e369b29d92e912c897078f2247dd49a2aa403a3dcfe1670cf9215b0cb5b995a2bbcbedf99e1879d547580a976bdabb7544d3779228967ba763ba8b4783f54c14c3c6e72b42e7917ccb423fe13f8997b3932f376f\",\n" - " \"5\": \"85db9de0d08a7acf7298c9e46570ca39d5dae0d077116453dcb525a4d3ca627f4608447b25cab8d578a20296d15501b1f1023530b8f49f626ea4350a0978b68d1ad3f7a7ddd314e1548b5d8e0f58bc7d492ab5af786119a06aa6158f7306097250fc952d5e77b08c85cc8f9e1e10abe9ccd8853ab27bcae3cbe6c6729711b629e56ce5301e6918d9e9657e79564ef183628ddfd42a69694a065ab4a7b5a3b7f59bd688018b349c6cad149a2bc70088ee030519dbcf3988bf9385d7f9d053fdb7021e6453cb7a5027cb16d1045da01e257ed78dd41ee3128e31598091200fd78f6d243683c7caec7cf35d02cb3d20d145359a0451895c5166fe813743850d6168\",\n" - " \"10\": \"3fa423ce38c3eaa1066266a9b4c27c95a4659328cfc8ac1bd66648dd88af66d9e3db3202969326209552a55b7e28f5ed28b845547ff28d8f771ed0d132d1c6ae9396b81b54b1c872641506575c3bb6777899be7443b7830f4ad1c00f19335c3916fcb90e0b59de921252ba13e807b680ce90acd1d8ee66ce9c3504a6f7bf29ba4be7cfbdc350b790371b553400349c5c274b78380f19f8c7a7ecd10325da08ad3276103205d4fbf2d168f4afcd8953714a2c715eb62eb549588db87a38c5143a333787661cb1c3d433849be65f008b7caa78597f5aaa5ed09bf5468b2047144a6d975e9ab32abd3dc70141108f301fb0043d89eb8e5aadf497030a76301866b\",\n" - " \"50\": \"5641a6ce784069fbeaa46d40ac95141def067c2196b1e967de514d9cd0cbca9951b361e18f1dc9a9f57edf4235800272c310664f1d081fe459eb98133ed41d28ac13d635caca86c647158226f438c814e48398929c9413b7acd8a0f6f2eea785353a0dbcf2632ab0799c5d9e543ad4e1e193608978cefcc45dbcfe628ae5429042ea2bb8ee617c8c20a1dcb3c129858c9d4a2950fdcaf0cbb18898c7ea258c920ee2a7cdad38cfd6d261ea4455059f8dd5c00255fa09d2b89bda02aed4444cfb3a39e802890b8fc07527165829d7bde3aa474fa6b36e9251c533e3c74a2cb1780ba5375629cf897e98d96018ddb3928013b4def1af4b563c4dc24b5ced93882f\",\n" - " \"100\": \"3f53d0aaff9606ef7fe6f71fd19a78c3ac03031e49cb6d7c32dfee0fa42e3719998a5907b30b126b30379cc178b27be2bf183378394d6721af6b600760cc36bb74142c1ad21438fc7a4ac19c5e0eb2839a06c862ed21dea2e25c9717c3805de8603e70604fe197222bf4695553912db0bcce5bd1f0c7e678d983174437632a525fc37a725e23b6943c3ffa267a595a4dcf6940de9175103cb609f06430804f9efa477dcbfbdbf0228ce448c932966deac06309bcc9e99edab74c1b54351e07058829ec9b86a7da82e89ece24b187ab80b1b987ed62e7a021cb16ebff0b180a568e0859d73b132d3753b134a40474bfcedb50881e3aa1123c8a3ff2f6d39a343f\",\n" - " \"500\": \"599508201862ecfe89d53c5a12cd55b4735c8a5e19abae94ac7d0637726be5078e2dc411115c22ac64d8e2a0283dd6aa1313fe71777f7e19d8c39e21d6f1baa7c39a4b7c9970fe374f92837c80e693c25e19c5aa466767c681d20397088548fe7ed25f4fe59ba79b2bbdff486e06011c9eec09a3f080c50da613682c7fdab7fdfeb0e8905dcdbf64630357aad3d5669cf987015702ceed84c524bc0ba2b39c3553139d9131901f48cd26e8f34c38158c5adb99254c2c4caec5b78b87c213c426546679fff9f924d7416091c7711ae7855298967e81587149d2797f298b7edeb6248a6fd14526cb494bc8968fe1a044e7939505a8f197eeef9b63bbce021fdd9d\",\n" - " \"1000\": \"70a9a98e3db99e0143e015affd37040e342496c9d3d14013b3be2940d78eed12381b9a301e7857c004202ca0d1cc616aa18c88d6dc6e0615ba6e4fb501733a108c76185e1f933faf3c1935ee5f41aa816ce610b3592d407ac19f8942b1e185e5876bec67e35621e1da243c58dd004c1b6a7421dca2ddad91d0d90aedd05e7a6154a51d1b2bc607811be6c04359f1e99c2cb9808d403f2feb4ea2827dd26ae2ed0315a39dc6eae0f1fd42f0e1840fbb86f3a59e9f230779d490f3de697357340cf53c22902f1922753e7c9db5ae6c33fab5794d14fa4add87da04a1af0fa5dc4b2d1a61ad029ead164e8b3fbfd01dcd6b6869b802384739dc62b0aea6fe8c4b33\",\n" - " \"5000\": \"3b21bc46339e8a89cf16404ee914d37b78bf2df685cbd26735120c0334272bcd8c1d38eb4f42e680ef90995beb3c84f4364c90d86cb5f747500886c7a2a64c2914adc86ac09ef6ec079d53c2c878ab237d28a10ab1597a2aed30daa2bf39d682ca758fc055bfe95524e745ad957913c094397be1961a0003e5ccb943b1f68eab3f21ac37d403c0a42be6bb40382444aee7d702109406b94ad7abbb118801f6a522928ad0774fa3aefb933426d558b24a8d2cf9aa588fa44e981958f353b5ca44a069bb2b813539033de1798068a94f28e5f18af299b802e14007420885b8594daf1fbf5457d986c3257e736f072787aaca276ae62b7dd3310ba65f1363ea4353\"\n" - " },\n" - " {\n" - " \"height\": 780020,\n" - " \"1\": \"b3b70c99eb48ce015e67d05cca40dc99ef92467ad83c7b29d9a48d96a34e7d8315e74daaefb3edd36fd51a2428831405dd26c72e9053776dac70e8688d2f419bc987971d5b08e6f73d43312c26986c2f05b407582a623fd6f45e16b81877e19e1bc204a254305596855821bc33d97b894f238d66b44d40e003c9940b8eb51bf37dd332bf03d4ecbf3a33d9c1d1a79da57d31215876b0c6180114667f0de50a8dc18810e9e0261735fbc89d5c002cbbc03d77ebc289896bfeea447076846db8ad2a55933ed6caa7828e70ba01d6d13bdc9d9839078cc438d590180b0288d1142cd3a9e60a3ad6750b1510f07455d9170b592459f118923dca69f677fe6baf660b\",\n" - " \"5\": \"4c4113c176804497e39874156227f476863b06ae7a907e634919bbeb95f01bf3da9b6ff7203708219ea18d910c3f48b9787a27c1e74c2590fd059dd54991ac53f3ea2b6e4a5acfe32e32c9c4e6485690efb136dda51810c9c31b11d18cd7dad2921e7dd66f2682da2adae3c83d4732dbefffeb5858763e09504d9fe9aa8864d37fdc468ee56c3c8e57371025cc9d69b06f2816647fa0929eeb831d454757f861af01f1cefe5466051c5e57cdbe5df3e46883fe362a779a13e577bdae0a73b6cefab28655aff63c32590cd6c5dad6a51eba5b8b4a8bd4f2e1a968381bb1d0ae37c7ba96c2979c0a69cae6032ccb3a676659c6b5d331c7120d74300a29eb70fa3b\",\n" - " \"10\": \"51f9242eff7dbc495432fd1210f821426ed3256f313a24275354dd7fbbca6ecbf7541a704760784996745dabf2b263aefd81ee415960a406177227988f97826d747678722a22c986bff4b5be9704d66c18f3dfbb78b5e39fed8a9ec4836d110cc7a64f3b5639b0c45c36ed89e64ef6c34b90bededb24893de55def9bd5850e927296d41afd3f1ab76a518db2d5806b7fdb3220a6ae3e19dfb19c1a14d6dad569b3705c29735c602e3a47389b1712879fe3e88669935ce1bcb02c5352392ad46ba7d6932aa0cead995f8706d7e2cd61c25b98e6fb3e29c7470f9ef5e806318a4073229bfa461b24822b8b7c215162329c6b4090b09f6d030f3a18ab56d9b56390\",\n" - " \"50\": \"23798b4263481b7d6da2e26b703b2368227d130de497bd980a7202e382ec336671110ecf40da10a655f5010f8d89fc955aae1445addb93c15cbc35734effe76d1d64f587beae024144eaa7ea47793de25cef42a70038c0cd5c2c3fe78e45bf0e673e0fd1fa56addd30d371b61d054eba22472f610fd60effa4d438303867c4361339ab3389a00ed3f8899c2c7b71e7a9f9018c5bd969d3d4f76ce2f7ca15d8d9086312883253d3f553fdf653e2259e3f28f40f5ad88448f04d461cf2658e15dd3f49ceff7141e79cabe3466d839e31a86123427cf23e66e7cb41631e6a469d3c02ffd239e4b004e5eb0682f1527778c86063badc50f90479dd93acda30ec5113\",\n" - " \"100\": \"524dedd02127aa87629e0ff3efb1952ba3752a87cc2ac652e6f45f852e3d4ed2900126a27646714e49ea7b7a6b2257a86640bbbe22037562c1e59fb18145150ee3c2f428127fd168734f110d34b49d5fe6f2e80aa490595a3f75ecfafc9ca0d1ee60c03e4f6d8444514f846e3031869781264efe50c8e3d2cebae503e946e1ce0e027618ac2090687b8717a58c0f4792d01cbaf075dca94957055cc2201bcf23a032cf67090902f632e5517b4981ea63867a5b67e9466e4937b259a141b9b5925a21e0e8e8e89ebe624f6659adee2f4df50ad3cfe0b69ad5467e23177e5d12ba1ff6e50f3bd3ef488ccd57c665b117136518a2d5450818fe2e0c1e342bc3df7d\",\n" - " \"500\": \"afc12032ea274d15cce2c31329b94f88bc245f05cc8f62f30f23c7afe026b30bc7fa9b525a1a7bb2b9ca521657c6ad3a3badac1fea89d7036d60db5c1c8f7dbe1debcfaa440807fdc4ddf00945bcdee5e3b93fa3ab2d61a6e6b0b9879672dfc60f61185e580e57c6e356af7a81540231d41fed993b58e0c6651e23d08904c17107da71ed604692fa475946b9ea1d9d5862fa0679036f9890933810cc32f916833e72f046931a7f5e9691afcc4c17157fd9e43dc2ad77ab408c0d44c31ebaa97d873dc65ecd6a4a60431c07da5cbdf4e60f5bf4e1172595d9d240f4e3ee099a903504ce83a19a20ec72597458a9c9a7957ed807c4c1e710155eeb56dd5bd800cc\",\n" - " \"1000\": \"be033a9de6b1b6d967ac9f0c96c41f27c1c43e08cd5e238904c94da7f5b9ae213c4230027a2636f5407e6dfb9b570ca0815e5206ebb23cbab86c90464e5b260e59422b0f144198ba1ab7c639a89dc532cc4f24fe61903d05e01d8abf9bea3ed11bbc600f79092982ab46fe2cdc37ba859f6e6845bd941e3375ca1e2f74737b93963f85b587d964dfc3fb93a46fd74ff650ca6982af64067513b07127e7034640ec9a9706245fa20fcd7b36443894a2366b96f6f021f110d69986da42f181905429d0c946107cee4c7799c1b5621cba90798cd736da3f22e33b1cb7ae149cc50a119603eb27c44c9d3288246deeb304c21bc65e59f76bde79b265ba595cdaf938\",\n" - " \"5000\": \"20a3b4a65bf0816440b0ceabdb2469409c9cd6176c75f0070ffa78e3423e6f06ba9c5f75a2a0cfe7561efbed8ec8d3e4ccfe7c394ca62d6c2436fbedf84dedf91ba21a71a181ad2cd3f352e5e51692c146afe55f02417d88bc907ceec5afcb9189435559d03112d39a5b1ddd9108796039bb7d951918e752e62c7438a87d87e0edee2c0c25c26805de0f292f71ce8b4b7c45e81da06b4ec9179f5a6f64b44e4263b9ca0524cb3e44802cdf832f22a4010e70c7ef0a02b82117dfbac5fb9009c0d69f3a0182dcfd4a831f6a046ff4630cafebba8aad2ef75061dcca057524bfd78421a08e4b36697ea52cd287179ff6d406383ba731c07fd618c56696e17f5898\"\n" - " },\n" - " {\n" - " \"height\": 790020,\n" - " \"1\": \"fed9761fd98175b34aca51890afda74c2235eb161af487600fac17fd9344cc959414efb3cd549be15696b8092bd20338aef8ce4d0a8751453608eacb3f0ec9f7422f7c93b12d2fe607aec0d95842e0e56df6fe934a5eaa02474b0e2e0910d45ab588f65aa60d48ae7cacde37336e72b679c7d18f26cf26aa3c66dc1dd9e4a9d768eb60f95e1bac7483d3102d57a1db3fbbfe4468899c7b187f199430741d135dc53846a93278746854d134568fa8c17ce9ad1a973d7bf8ad220624a3efe64eeff54b8ac117cb7d2f34fa2acd747cfdff86231e01d0d3bfc9ca4904cb2ca5ffcb9132611b515cfe60630939262b444c365ecba2824a88498b5de6bff120deab5\",\n" - " \"5\": \"a5a731b89245b70e60fedaccf5c5a44ffd2ced35b47893564bafebd20e212a36e0ea4772a7d82c8ba112a67ba68d0f8c086a34068cb26e9fc76c16608f084d68dda1a7e81adee1150a5d5251e8d55ed4b388e03bf476921d869968543e9f1498f820aef52dcabdb3bcee08d894fa5f1799262a72ebfa1f689cdf9a721cce9c9792fe1b9ff3ddb786aecb79dd4d01059a9fc3481312b3f82615305857ede246ccbb2759102dd6b978dfe482ccf292b53d1bfc345ae94c435ade8d2fd00301cc2c400395bb6da31b142dab8799d7427d94e9c6a2e40a8e18885c0d2308ef4387b8a5ec49c29c31395606bb7ce9b40aafd9b48f240bea41b4bc492cff2c7867c63e\",\n" - " \"10\": \"c2401a1ca023e002901437ab926591bd6996e0a31e0aa2b028999dfbf292d2d362a93d79e1c609f0d5b926fb39e3a0552aec980f093434f883624b22c3f0ad1607acb40d212f6b0a3d442436e34a9689fd979b1727a61839bcf23a4b522b98bddadcb9b999e0565fa008c1e7b758d2899b7005561f4931246873704aea6a772eb97dfce67203c19094bfb8403fdd8ddc0158db2212ee6472e65cf959652396f3c58363be4bbf5872a3a3253446952f05e247d1ce000e3145481d4f68436a0f5550f7ea2915363026f2b96870c330b2e1e7e930edf8632a87609420e78b660d26c12aef3c31d5920b105879191a49f63be49ca00d838c63597b3bc2cfce07e7f3\",\n" - " \"50\": \"681a26ef9adca26ca872a19e5f4e11e07d5a5cb98ad6b829e5151a350b040aea4faf33135008166c6f92e9d1cf89ff2c363a6a41c31d2e5bf64cd463b8161fdb8de8f57d9c6379208a239f870b3a28ecf35cb21d9c2ac70ccc14bf92530fd9965a5e0ce1c1b4896ba6c356d41eaaf47b3559a5261a066b2161a322f816adf159281e29683e2b356eb6494698d237603407484200c8f3d6b910cacc868ffca8e5ec6b6a313af1ef95c596b2e784db1d662a044a99a9b060d423ff79db979569fe4fd551ce1fe4018c13d2ee42b78119b795748eed006345c64c257eee64886566e4f19e8ad0ef3390fa824f0e97016f4e57354db00308e6103dbc20b95f7da37b\",\n" - " \"100\": \"978d07d44f9fcd00ce2576eb12c5c7dc841d6024758f1ff0f0c46878f1ca0f9081084e135865aa79b8f9f69ca5f579ca1f74b2550baa600c707e5e149cd9cc045b9f03ed09aad8ba47c3248121de442f9e97f91db23bc0cbd5cc583489737d66afe4defb7c5d050357d0486a6f59bccf83aeb3ed5024cf50cba36d77e230811f66e17c2b8ee350448cb04396f44667fadb4efb03fd9d2d149d49929e9a1dbacd32c8a4acb8e674fa4caf7a4b03fdeb277a34c0a68bd8acf8be6af02c6e42e4df2a0bc4b0ba170d6230bb554d18edaf58e7a1009daa5b96344defc803567ef5e2bd7ccdcc13845efc8a9c1f99572d8a68fdb1a7901fbcc576722c766c111a6ab\",\n" - " \"500\": \"a67717194fd2fc7d107441c6d81c74168b67598e327360defa36d22a53d957df4d7071b03ca7e6954029ebe7a8c139505b2e3bffa745f20782a52317ad7ed0cab9a7db02a341601d6f309f98137a01ba97d675c69b059449b4c5f3051963c6320f108a93866528f73102935c6e20dbe7d24bcab58a9f250d7edbfcfd73398150c753a63dba79c86d1bbae6dca792763e192ce3e814d809319d99b1ed7f24b2014346df33b0f38fbd15f6accfc6ef8ab76517c3e78bfb9007717d008a30931322a8aba005b7b88e98e9e8f4ed14c571bf6cb4385bb754a03633149ffe9cf1fc7f4cf66bfc742d465aa42f3b5f6a82260cfd3a6b1830ee5edbd135dcbc9699db25\",\n" - " \"1000\": \"97e0ba6368976f4666847a47ed31a95616d4bf67a958df54e6898bc36a72428dcc9ead6b9a51e33ddcbb9b2f375a75cfd77361529758b339a3ee6b1a8491403c6c6925e1211104c50b1e3b73ec0461190a50b52cdf3f758229e98855ce88bed3d6bf38600666662f609c48221849a1db25abce2d1df78a06a0de188a7c5fb96499f6ab1903376cdd73914a451511d3c31932574ed3e90a516fb3562446c4a848b0d7cca8d87f3df003ffa72a8e2c2e4d5d547eb8a6809370a6373ad3b783e718e6801dceee33702ca142bba68517032d779034d0c60f1bfd80ab80d44c33c57ace403f2078a55eba3a4e2e44786adde4142788d0705d2ceed2cceb4ea1d02b18\",\n" - " \"5000\": \"5cd2fca3d2ad0e3ec8d8d658bbfc8e3f4f49170b600bae39a518084c12116323e27a637357fd74864a184dd5cfb2c4a8f6f9f0e9cfcf2dc9c6f6fe3931130b90838c90aeeeaac7a84c013bc4bc16648ea9f80e4330b38e0f7ddbc49e9f1782b28ded53bc9c3ca5821348bf0298a2f19be4b0e30bd5344fa744c834efc675e74b54ff312ccba464a8628bcee0007dc915392b6311a6cb94bf85ba6f7c9e3a4481eeb5fb4d9557ba232cdfcf2e71297dea3a83e47f6fa7c14a8a5442c091730ffa130dd100af20fe311e46730c150cce79ee0b9c0355e7097dc7f1bcf2189612b00c6a64320e066800e8685676583789a71766c0927f1dff67500d5313dd415d3b\"\n" - " },\n" - " {\n" - " \"height\": 800020,\n" - " \"1\": \"2f2e25cb0db5500f113c7cfc480b96f10c4f012fe6e072ad5a3c7607c9c5b1050f8224be4d15480fe57a1f3942e4dc0ff32a247729341fa065f1f01590e6efbea319dcb529fe50d8fea269b09acd7e286c040607ffaf5d994c5bfa6e7e831aab7c9e0a61cee557cb9db5b574ede3732a730f3fbfd4bd11540c207fe0d90704fd28b07a4e73244a910453f092bce8dd581840b4601c6825d5ace10059f72cbcc0adc46bc85bdcfebd0a039f887fcb491033ab55dedcb00b2791e968931c38f36f6f39f4f8480a896973fee8b774de1c9f2c35883bc2ef1a88f3b4f49b2f4341dbda7600b8cfbdb7df6f657bd300c7c10e256bc3e87ae5daf0217cb0db5cc354f4\",\n" - " \"5\": \"c48d6e01914307cbe3ea74c32703d3c9a5c9c6e0e7697866bb5e691f18caf67bd53dfca3f94e8b4d77144249a0d6a7dac076f03dd562d76a63204b7214c60840c80a6e6e2e4927282f5f9d11912a80f4d53a4133bddcde1e00ca100600dbd5a5c6851f09bdc06a572de3d67ab06c19baec186c70158951c5b928e199b174e7624e8e61b68330304968b77a8ed61fe3424233912cb35fdfe78e4ab7aba3d8ba2d34f7554e1f4162f9855f52d36fb772f220909119eb4e6c460e4b142cb6a119ba7104601b1a6ccb714e21878d7813e2eebc5786c0fb5402b4cdb2d446297ecb237bb42e3dee4b249a3cb26a874bccbae9e9b8b42ca129225a3336834e8351ea0\",\n" - " \"10\": \"a8b6705cd6d921ef754666809bfb07b64b0fde2bf26e5c746a15111073f0db69ba41c9998b38e867b0da682e53dd3e77eac65745746b03abe6cec378119130f14c23d3f895a06bb14af78772fd0d23751f76d5f0813a0fb135fedbd5de1ba82beb3cd221f290a716b04a9f76b1e14235ce402a9f0531bcf2f11c3cb1644ebfc5b79e2b4381d64936686aef30d10659922394160be5afe8c042e37aaa9eb7e3765fa91544d76f3038da725191a0d9d16901eb4884e400af93b04dd1c71d5f5e6376ff613da46b9caacb166d5660eed4ff3f24a9d3e701f8fcbc218222dedae6d675eda1368d75e58747c4fb409faba5dffee07e8460d13e606d82d8350db3e551\",\n" - " \"50\": \"b02897e852bef7334ea1e42647bdd3e506adbe211c7e8d490002db3ddcd71e78d292194e1b6fbafb07ead2250a158ba4dbe60edb6b1ab3527d6e7fe7b82d429f51f9c006a2c79d82f277635e18e31b61260dba9059f35920d5981392ff547613c7895cf2838141b8841f005a323dbe4acd68316c37cc7f305999d45ca373c05ce2a67d1c89400f63197bd309d3822bf84b5346e241fd9856389bb1dc5be8da75461b55ad8a31241d3241024caad91085d0afbe23ab9b4e14dcc28c54a8e74a54e8e0780b0ab8c6bb21b0d2d376dd3f315e6783efa27979924837531bf13ed6d00a9a1113ad17e4ce4f770bc77552cadd215d852f189adc90ffa0b9d854b9c140\",\n" - " \"100\": \"b644179d33c4f644ca90375dbb90a62d690cd5b152079f3faceaf3c00fa9991dfcddc05e090fc59d1b5d4dcc8913673415ac919b361b1939765c65a8c9e5d2fa6b44f94be03aba3c155d2a594b0241abfe7d81252b739973d99d382bd2901b9cab136ac8339a40c4ffa5360bb59e1fa2002702dc3721ae0b2310eaafcc3bd0c282a142e27d7a8aba74d154b2cb205a26f23c6143f3f2640288e334149d09508062d44550ef961c9ff50aac18ce381439bfa85dd11dbaae5d95937458b16e6fd0e56c61a43c7944ae6576a651c261781f23b06671d826fabe92ffb4cbb005e921b8a18d42367e6af2fe565041f9409cd9e02e2d872be67a6055e47a77de71f8c6\",\n" - " \"500\": \"1496d34fb43c8739ec20c42a863d24b653909c03f79aeb6291e9025ab85501842b0b31e740ff04af1271fe465f3ffd6d4fab70936f9f2fc398fb0b426444af5d92b256e01bcbaa9daff00ab991f3ccd92e2e55159929c8a93d9179516e37515ebd1610b02a1a17f0f9eda87b009f95d0cc374a86923e74360bf4bef2926992be1bee71837bb0141ef2775b43e81f453dd2d69eb243adbefb31cf9aa7c6d90047ce5d87fb614ffe506ee9f6a20913890ec81237badcc62994e0ee004c6db764fddfee8eb0c6bc4746df0908da4def454ac9a5c11394f5b63f6fbfa0f0f350242172f09bee33d81a6f6bb4b24c87c1d4db64749d36f9305bfc844423d7188fd757\",\n" - " \"1000\": \"8c72f9bef6fe57b701cf68717f109a7ba906582d22894cfdd4185d03703681b1c014ec149abbc90506e08e23b39a375c4bbe40d224db38fc281ccfb081fc9532e6a9be950912db19b1fd78ffe69f16c1443e5ca1447a724854d73dc1ea9b3d067e1e2185e548fa7e2991a9fdc4762b120639f871735e985bcdea5186990f88a8930b16076fad35438225dd27afb2c04c3a200dbbc7b8f81f2aad573fecdecc35544feeb114eebfa6a2f368b431b7e833e04c839c79da68366fa54b557348eee94994caadd46f2aa9345faba6714e9570a00f4c062c07629d4bfbd3bffabd22d69f806b19c299158b6e5455a6556027678644324c97c505c0ee89e061c4040bb0\",\n" - " \"5000\": \"5cd2fca3d2ad0e3ec8d8d658bbfc8e3f4f49170b600bae39a518084c12116323e27a637357fd74864a184dd5cfb2c4a8f6f9f0e9cfcf2dc9c6f6fe3931130b90838c90aeeeaac7a84c013bc4bc16648ea9f80e4330b38e0f7ddbc49e9f1782b28ded53bc9c3ca5821348bf0298a2f19be4b0e30bd5344fa744c834efc675e74b54ff312ccba464a8628bcee0007dc915392b6311a6cb94bf85ba6f7c9e3a4481eeb5fb4d9557ba232cdfcf2e71297dea3a83e47f6fa7c14a8a5442c091730ffa130dd100af20fe311e46730c150cce79ee0b9c0355e7097dc7f1bcf2189612b00c6a64320e066800e8685676583789a71766c0927f1dff67500d5313dd415d3b\"\n" - " },\n" - " {\n" - " \"height\": 810020,\n" - " \"1\": \"c6fe19d412e0e8185b21b69f79551242c8f423df17b2a492869001e2fabffe660bfa39793efa0cbdec409d32a900aa0e8035475a0f5b4947d8b6811e78c4603026f638f75121bfe8ad70671bb2d57c05b2a1dcbb71b3d8200b3795287cdfbfc5e5de42679af0829f472597633040642ca0b7b34e16829b7f128dc863c5fe9b503a85c9900e613ab8fc932e98436f4d053e1708ffbaa82d5da5eb002727626af7f158cf357e2c3861bc087c9c3d30a963b37badbac67fe92e24715724cff97f4e21868c1484e95b3eea95ea7e6887b35252c33710e1f094f6227043d65923217b8607ee6be70039bcf5a1368780fe0fbaca30bfdfaaed3d4c24c432808198782e\",\n" - " \"5\": \"a5974061f2e69cdf7819f99c667f62870342918c99162ab4fde6c14b5848b83abe4949535000cd2bff66c473ee1ca729710e8956801635b8ee39b28d000815d5f8a761640d8caea6baccd77b9ac2bafa326bf29ced59b88351a01acfff094e54268ab0bb751815aa9aafa3a378ab74e05a8c4c5cb24496b704764275c592b0f9eebfe4cd184d16652c48e5ad929a5ce1f9a62a3c258274552b6a31a00a12e9298db084b9c059eefe3b4fb04c23f3d655f0d5564273b6a423f029eff169f2d158bf418d2fb58ed2d16dad5b148c9a7b26ce0331dfe4ce607e735645239ad7f076cf140b2c35d6d6a633ec884a2372b8eed136c1c62fd4167d4de8bb191bafb79e\",\n" - " \"10\": \"a8b6705cd6d921ef754666809bfb07b64b0fde2bf26e5c746a15111073f0db69ba41c9998b38e867b0da682e53dd3e77eac65745746b03abe6cec378119130f14c23d3f895a06bb14af78772fd0d23751f76d5f0813a0fb135fedbd5de1ba82beb3cd221f290a716b04a9f76b1e14235ce402a9f0531bcf2f11c3cb1644ebfc5b79e2b4381d64936686aef30d10659922394160be5afe8c042e37aaa9eb7e3765fa91544d76f3038da725191a0d9d16901eb4884e400af93b04dd1c71d5f5e6376ff613da46b9caacb166d5660eed4ff3f24a9d3e701f8fcbc218222dedae6d675eda1368d75e58747c4fb409faba5dffee07e8460d13e606d82d8350db3e551\",\n" - " \"50\": \"5eb688916f45367305eb97af6fa737a39453f8211b2b3337c91b2e9a9c19b57ff473e8c2ab42bf99f70e507ab7a190bb0ffabde3eafaaf428dff3d3b507096157c5104f35d4036748b5bc9227508bc10613b2e4c70d84f2affec84d7f26448f78f4e3f349020126ce7a7f663511ce66b58b98489cf4c5167b35e16e63941d38e41d3f78725c68024718535310ce5db81b8a9a1a9d3ec62d69749b6300123640e4280849e9f60b6a1d9ccef0c5f1946fa5fc7f0349194c82b70551009f57f44312675b3fefa44f9c2bd8be36d069f5001df21ba9f0215b84622e70494d60ca5880e1f56c90d3a0224a7aefc027dd999e618e4ea0a8632dd28e125deccd943cc38\",\n" - " \"100\": \"20335ace124d819028dbad1645935369fac62613eafaec8154d316a646370bb191846d4e04b165b70dabc745f9fb5cdba75db60b36110b417d2d1e83ac9ad952ecec6c7034d91d37ea9a34cae4ec028a02d8354a0fc83014708f625563d3505661589eec5fb3bf8e81d2433541a745a05ceedca68a2888c9637410427ef855f70fd10e80ac8daa078fdc324911d1c0ea6b70559678517e03cc5a9d5cf59ffb37f7270be2431798b1fe199d5874c4ce46d1abfc0425849722bc1c555640e8d9e652ada15bb44feac0647bb2bd9540bd7d7f31295eab95635050231130d084c31529802e0c0183064d271a1db6314a78b5732a53eddc12a439777dd1d220ca2f72\",\n" - " \"500\": \"e4391c4ec50e432c098c8c35ec2f6a4da973df02fe34217d4bb7120c05a7d31fc38e2cd17ec4ab60a96255df85a9940852ba687123d537332c3a7fb66fd0d81225cab648b9d6ed2526a1617a7cea6058116ee1062404d6f2c8859c4cf38bc1520f030ea2e58831d7fc8d21642cdd4fe577b9e6434e5df5c5a003598d7d4cf2922ab8b42c556f1496b8335042bbc9cd2dd353b2b7f5c3211843380afb80a295d6e03f495a6c5ed34151d9306db85eaf9928e6697535fac0434c3ae5496b893aa8c9280baea170c46b5b6c4d4b2aef6dc14f14c774ab7ecf18ecb9bc2b4c0217fa80bf85819f96bb1581dafcaeb885ec35485423df6faabac6ec5ca33fa5e155b\",\n" - " \"1000\": \"36a0aa203addd8d80b5ae116fe9c229d3402304272db093a42e60c58bbfc3fedf9f9cc6fb58f662e619f16018c0206e33a5babf1afc3519f1d32dfcea733b2e210212053ec63c4daacb60a3998077b4d4ef2a51a1277e2f132dd3cca9e2325dc98b91e6b25535aa0f171622676615f1235081c25b248e34550396e7e150be20f28300732cd43779672a0c183ca226559b1f7041a32b66e36d6f8cfc1d412486b415a3e22230bf1f684fa1062498530c1b8b0492d18a9ffea653998fe686302bcc4b388e79fbfd4543069336d1141fbdcd1cf7cc0a3f0b01a80d7e5448432e3ac3f71bca53cc82ebdb69a067196d460fc4f292ccba3db47240056b961fe706adc\",\n" - " \"5000\": \"5cd2fca3d2ad0e3ec8d8d658bbfc8e3f4f49170b600bae39a518084c12116323e27a637357fd74864a184dd5cfb2c4a8f6f9f0e9cfcf2dc9c6f6fe3931130b90838c90aeeeaac7a84c013bc4bc16648ea9f80e4330b38e0f7ddbc49e9f1782b28ded53bc9c3ca5821348bf0298a2f19be4b0e30bd5344fa744c834efc675e74b54ff312ccba464a8628bcee0007dc915392b6311a6cb94bf85ba6f7c9e3a4481eeb5fb4d9557ba232cdfcf2e71297dea3a83e47f6fa7c14a8a5442c091730ffa130dd100af20fe311e46730c150cce79ee0b9c0355e7097dc7f1bcf2189612b00c6a64320e066800e8685676583789a71766c0927f1dff67500d5313dd415d3b\"\n" - " },\n" - " {\n" - " \"height\": 820020,\n" - " \"1\": \"7a269115d1544fb52851d4ebc45c38399a589b303437a652ccd2896441255f6f87fb863ee427f992923733918b0035fdbd5dbd7a404bafe059f28f2ec498d0b4f1eae96261e9082ec0d5f84ab5f555614612eca3bf852e718ea48a69cf589e759f08962205adf7fc6e85be29b1e3c9faf858f91d1ddc699c38e0a1de508ecb55dd413a74df2abc0555ffd7c835b5458b273d35c34ac2c9339414f172e35777fd6946bc2ac37555be66477148695f115de6f494795a0838d959c4ddb21f5ec6adf79844880635ca881314631d67def15274c31780f28e63d6c3df4a04f05d55ad5ade70ab19f78171190b3f54d003a8e5a5c24ce668a385d5e030ad24f82abc4c\",\n" - " \"5\": \"4c55b5ce6c856c7d41a855c56feda960d9484d70f63435bc290fd13c979669a87bb791ca9bafab82b003038ec4808ff85d7aa0a36e3843769986c470ed1416af66b11d7db37290c4d0eb47f50eb3abd4e0ea3684af94d774d41072b18b37c6389419fa407797179aa1daf1f0e1cd0ad39caba111118b52e1b4281545eac90538fa7497070ca570ff8ff4ee532119364d73b96f27e90da448e64c37a2a6a0b5d8b727810d0d64e0d28711a6d64f940a8bb9c693905a39ab5240cdaa22d812ddf8241ed448e2426f49e2e980b3ee1cf9ae88706c7eec51fc59cd2d52bf86aaf81e6452b4c9493add6af0d6188fed1489bf6297d504ef1b3955984bd66d640aa16b\",\n" - " \"10\": \"20a6966121f0f0c23611beb41f496a80fea66bb6907774bab4c5810a87f9a373daf9d9e8cf288bed59309fe3d8b54cd7dcc8b87779e66946f8b70be6d1437cfa49d42a15ac541c52bbb628194eb9da410506e1dd93b08e403bb11b53fe8b3f90798f4824e7d230c213c0354ccc7450488e9ccfd1ec307d8d6b6ddb62cfdc9e85707e65ab12249564a18f524f9b3a7f0ffe6c668cc59718fecbe9bbfc99b2ced989ec2556e1611b45f9b453e69f003b9463f084e94aab9906f10c1084cbc9f4a45dedb2cf893763e9e82feeea191d50004eb5fe7032abfa5b677ca65fb937da5f130ce47976d41be0c4c02c57a0ddf0530b487d373aea4a111ef7982eb74a6945\",\n" - " \"50\": \"ad9abeb5e75e8c6496c7ae0c993221f881229d65831661043f9d37ad2cc87323eb72d09094732395396c749d09e5a536592bf133ed917a9229a91fc2b20cec47d69c3f5eb4983ae6cb170d6e02af83a07ef328f71a458b80ff3a465781f6383820f56db7c393c56f427374485e511ff6cc2a99ac246b7ab4c6bd3ce1861d5c5fdc824f25e85485cfd5286031e69a2884593cccf5e0e8772548a6e00e0e8d4affe1ed60df9aa46f69498e0a7ae0ccdaba8c3785cc13fe7469d2a63a094cc6d334ccb289e210ccd962cbbf2838bfc872b956ec5460090be5e0199df60f08110f4f426fb92f2183d430428813625ac8b8fc61d232cb79bf14f17024e2e30f43cc94\",\n" - " \"100\": \"a52c6f5bb266fb215790b739edc139595c1242561507f5c8e27f8e1c069f8aef3b3628dc31bd94041bc1f37fd007799892042a2c779e9b9742022e4edacd12ea07b1d5952a143d0d151c9a1637867e7e60a18a91c01def97736dedbb4fab550b66d0bf6c116b1218da981dcd82c5e7306a6a2d9d6bea122381b9026771f5e7c023c861c236d7e0babe81030f910aa0cfa766ffe3a49705fa1dd2cea57d37630cae7c526582281fd8cf9e8840b16abcebaf97990a42629959b45880318c8463aa58f3787c26caa7b4bc1fb3e6667c21f8a19dbd49211f6a70511c298c3992b12e0b963ad64f62a05241bdf2251c0deb63289cac658abecfd52be419493083f5ef\",\n" - " \"500\": \"b0cffd93e0a1ab43e8f7c0aef96fccfdec95d22ebd1ae2dfbbfc9d5e731bd97ac2dd09f0a599db726ce6206bf69a5167a8f8fd7292e43cc59a6ea4bc03eabd411c5a5367991b90127de64ef5a795ed33c6a547c15993446809827f84d017d784bd8cc6d7f20f4c98a6f82723af7e44b155c1dd6035333895a5a2b43b31ca7568a385f35e323cc58c28874832cf6efdd45a3e54fa7029a6b19482971332d64b389ed2373fc1108da31da2d3fe53cc5e6eec821197d22b7b356132b5c7ee2c2727b627d7d49017d346618b3f0617dd109cae0baf3c34b33d3cbdc87483855fd60dfc53fd3419f9ac20119ac77fa592d8a4570f912ec417fb1d54edba1ce4b59dff\",\n" - " \"1000\": \"abbcb8e675ea75d72b961d6df6fcf5856e9783051ac8a3ab3373e18a071199bd27da69d83e305d2b9c11bf12ee03ede69836fe92a1240c0e8e40ee18ad2d62dc076b5da68c0ed48955b0b3b41c110bdc647662063e52fecab847bf1b8d3eb1fe5c8817dc42cff8af9cfa9058de8f22e59a7de521c7b055cf7874957378c8bf099d4aa958cd3d4a6b6793d512cd1f74cc4a78eb722945d440076c7eed73fbaeeac0fd9afbf282d466ed39f2f331e22b70174627eaa608b613afcf977e0c8483e70366723211972cc034d95a38893090545c0402e2f1d05b22eb4ff4313fb851e6d9bb533e933371f1538c75ac57674fd82b009689140ada5e4bfda014287339f1\",\n" - " \"5000\": \"a1ab72211dfdf3bc0bac904f5aeb75d092decdbe322dc4a3f50087355407bdf9d25765bf48c50481eb9765e7f064ddc1ffbc7da290c87e9441a259b51d404cadc4130c968b9cb8060dc61495978bcb59dda60ee4a983c161320e1cf4d5f6960ad39f62b0abd9f748c509551a44c5414b3b798deef2ed9eea60945aaba1ef04a08d0a1ded1cfbaa5a1385797469f85fc0c0a5b1a6ef5803f742bc5606892e5a1f364810ffcc7aabf4b53979805a0b2355e99c8a9f93a4329f85605ab24ad0693130742922bc33bbc900b6d6b5efdbb167c49412cb8ce1b0009b105705482996bc34d30c0ba0314e5d8205cadb47d30a04e2bc24168222d1dfd6ce8bd1f8e292fb\"\n" - " },\n" - " {\n" - " \"height\": 830020,\n" - " \"1\": \"7bff67a7384944a5c54d262a1059ee365e3f19290b23591fad1a31082140f49f23d0c90e3617f79191688f446a3f68b9eec1620165741cc6b6895ecb55b4d08f1e4c8cbdf9dfdfc7b68ab14f42cf47df0dae11fd0bfa4f2fef9f979d4ddd25b3b7e9656b6fa8a5aae527473fee6f30eaed4a394d4853750e244c5af46229a4363cd4ce6daf0889142d51fc395b15dbba0b73c23f77fe2fcdf22d8fbe7aa9cd963a54c3274ca88405187b3f3acbc8d874db4443317f4d300228262cc11a04ac2ac8d767d72dddf50d66e0462e17711d7d7149ee7b2c0abb5a8c28191e3fc896d2c9cd66e1d7e5a9a2d6fa102882fdf273c957889dc75061bf8e767e40ff36da6\",\n" - " \"5\": \"8337e877f6a093d8966a1f94f1e9f863b8b185b22dc8b53d326afa5333ef58957852f96c6c9f95da80a23990fb0d412f6758c9996f104af8803f6d3cf83a0119a19037e20c4f035f53621022598f88eb9b5f595138ceade7865db01e319e8a4dc687285e840c38dfef71031ac1c44d89dd5a53ff1a2678816f2618a0b9280d70a47957e474dbd6c0329c5597c3b41965a29bacf2e4d448ded07ba9ec5e64ed6a9ee933a443474ad34b898efdb2af295f01da13e6e491b0c57de664eee77c8c01e084875ccd725fa5f974c81eeb6f8951cd4f8380f0262461761bc1759e32afca71ae28d63152a633e6ea4c04b0ebea5ec97d703ac1fae21cb1f377b619189913\",\n" - " \"10\": \"52dffb2f44ca2e268ae3c9e455cd577a1b5a4692929c9c2dd5bb2e17d03e2b918da498716b3d6fb5d5d58c30c9472ad56fba00de81adf43e1ed272539414aacb42c24369f54ccc0b9edec3fff55bbb133acbcb3c272ae08ab81d83c5c06a09ad04d61ec0116aeaa85b846e6128611177144c277d00a99cb606bc0fc242c49cd4bcb3cc599e53896836e4a2ffdec3f0a66c83a5199dd276c7b7152ff4aebf20572f2e5d999198660b99d374f128a90cfd35cd870dfc387a3f14cdee52cfda7bf7610c3b47a17df6bb3764eb072cd17ea84e32e655eac5ab3d7f7807bd1f258be2347a1dea809dd91c023a358be4a4e7e2b73d28caa548ed1b8054b94561787ba6\",\n" - " \"50\": \"5236d87f2e2e4071741b11716f2e57e0041cf6476a49ec7917d261f85fd3d436dababb96262edb7e70263af7ee6bd2bac2291baed74b290b2d04e3b97f3de5f868006dd7e1edaf4b9eea2452ecad3d78ad3f284caf00729636153494122664bda5bc28f979d89426b519c8161d9c4bd20b5bf6b40e8f566c60f108e2eafea78d3e354057822ed1831074b464c932cc74bb37a203652e3cdb28147dd6b439e3a4244c1c87881541cb097cc2b9d206f1ded713b298bf375a0acc2e8cbf9494c73e631098a124ffbad1334311f2145f710fc7fc9f1d0719f114aaeb6d89fbe6466f2378ad1ee071f812d5c24ea7eeaf2f31f762df227fdda9595144680e21836706\",\n" - " \"100\": \"339f24b1886f38df0635c405039c05c599720e396f65c00e3b0d96afdcd9b28c6fc84f7ace340bb241780d7dc7374591f02fed4290274674e01055fff86cf6f75e98e5f11233a695bec3211def1d2b122d6db159b9d2ebf0a429e3b2a0b2eb41d34350e6f09fc946a718d63667439a47ed8fecb1ab0f4f9ec279c48117eb99a242b294e127ce93b1a83d7792a9402cea9a358ac14453912aeb88ee9c4eb166c038e65ae2523a9bd1fdbfd908b6fb276176094e9bb7a80444db967dd1f0051accb61c86d8c0eb17b9df4a77e5b4d3281a519324f201cc06074d14b7a0b3b01abb883b91409ce756337b844788b0f2518a31278684868221d3625e2b67cb6d92b7\",\n" - " \"500\": \"6d7a13aaf6824f8ffa1197c5149884508d37808042caa7e97beb97013ad132a2e5ecdfbc1235e880a44b5502587db12a41accf027fc68ba5319b7321ca79b6e52c7512486d78b85e2eadfce65da5a9501f9b0e8ea125521f8e2f9932b9a4c73af9cd7f5a2772a999b7b52272e956bcdf0d13a14f8c1486a1c624dfae8db847b13c238230b2a772d858d4a412b6153efd8a9d9dd0785a4ca0333d3c7bd55353510fc69a6269d9cef15d229354708771640aaa7dfaf7d5665ea88603a565949fd6a75fb82b1d04b846582d66c8c1f0390282dcbe7f958425256118cd027275bde9eb5e9d8ef6729c8fb1ade90962d13777cd032557e06224fe8e39a35fef79a4dc\",\n" - " \"1000\": \"112139cc57855ce073c2abf078cc2eb801574ba418b1ae3418f347564cf93e3a82eaf3699a18a7be80a18afe37c8b083e541f08291bbdcd8d298d6d7666184e864d1d68405573b7f8dfb03bf98ad3c21e3ae8188a1b3db34bebd493f17c1f3e4dcc1a29a96440bb6581303c1ff0700f21c04b53fe49cd2808f09685b3b8da9df9774695116d13afecfd9ab2742dd6e450692abcad47c23387cab364ccbaccd0389ec072be5019e8f0e36227d87dc782a70a835bfb88fe5f0c323026558e67fe94b0c0323d8a198d55efbafcfb3149c6547e734b9b3c7907d9f590eb6e5f4e725f1f130724adb462181fafcfccadc46a7942473befaeb59856247073ba5ac919d\",\n" - " \"5000\": \"a1ab72211dfdf3bc0bac904f5aeb75d092decdbe322dc4a3f50087355407bdf9d25765bf48c50481eb9765e7f064ddc1ffbc7da290c87e9441a259b51d404cadc4130c968b9cb8060dc61495978bcb59dda60ee4a983c161320e1cf4d5f6960ad39f62b0abd9f748c509551a44c5414b3b798deef2ed9eea60945aaba1ef04a08d0a1ded1cfbaa5a1385797469f85fc0c0a5b1a6ef5803f742bc5606892e5a1f364810ffcc7aabf4b53979805a0b2355e99c8a9f93a4329f85605ab24ad0693130742922bc33bbc900b6d6b5efdbb167c49412cb8ce1b0009b105705482996bc34d30c0ba0314e5d8205cadb47d30a04e2bc24168222d1dfd6ce8bd1f8e292fb\"\n" - " },\n" - " {\n" - " \"height\": 840020,\n" - " \"1\": \"91fb905ca3ea6c01822c7578468bf6b2412dab26261e1d799d04b8465352c0e563662df163183c620ce760c5e809950fdf5d506bdb1a2794a8e94c049c4608ded7de847da7db650bb69752f35437a3bdfd2000d408fa95292d416b10da979f2b8efeab777fca0e944b22d1aafc0d41dc7ad16770e15adf0bd01503393263d503aa5244111774a95bbc1f64aa7ef3c651bfaf9c78e831f57a323840451381b0eb8adfb733059c5b1800e47d6915537732403762e52e6dd6468b1f3deab393255f714ffcd21f1b3116172d65914897d174eca1d74867cf316d2ab459a3b4af366d69cd7f8d6b21e24faea31598e0a7bf9f5c314f71ee944e640b982c106e14bf57\",\n" - " \"5\": \"7db27aff8b61edf21ab6e5a7068c2aea1ab7f2e78aecd0bd315115c9bae07d893fc9cdd326b408a87bbe39ae0044f6b976bc41d46b415c2ec104ba1ebd81272ab72ab8bcd613ea6694209efb54b5767cc9393355b55ef650038aaa3eedd5950e0aee70d1eb7e47510ec43281cccb5d7eafc9d8100beec1273f3121dde283b0e8c4605d4c532c0d97a7187710253bcca2a5803c353d2c9ed584adab985b3c8868db9de754e4454ece68fb5404456acd254b28c2a78464d41d8f5199e50ff04030f472923b940fd7db3b38f2d8e92de740c8b0568d2cf5d185287371e6fab2c71068e136f6c41cd427d389b7f51a9c3b3f134fa5880e463b5bef23a5d6fb5d4e98\",\n" - " \"10\": \"6aef0f5a3b7596d9ae79da1c48d13e408099a47a5b7018934a4188d08cc710c5ae08ea2152b159d5691abff9ffc9aae47a45b47083a41adc45c03277c8648efcba6af54dcf17d43afd9b13b303a02fbe4a0a0fb4e531b1f0e7c758c499b7f019eb84f1250a7eb2c71ab6af67676b136aabce400f0d084f74475e7e300dbfdd0e6d5f534500e2ff5e5b848e2ad127aa4515126e26f87bfe3ad707d42de3d2bcd19e986e2b87af661011f93df4ce4f63bae1d7f5458b68d245a10a6f6d097083b144913dbed2a92cf3cf12010f9aefc60d623604d51494ecc4f8c542e0e26a6b828275c60efbc6d4c8c453e1971adde4d11d650effc30e081c5963596ad2f13408\",\n" - " \"50\": \"5c346bd27be7493d1da78f82e10010581592459c5cbe90a976adce178f3abbbe91dd1f4855a0e9211e2fd23b306f53abd33c68f1ce67429bf29991f52e6fa40bbc9c3cd175e49571fcf86945e5ee28aea18154c452915947689764dce500e4ec3573d7bfc84dcad8cf59fe38663f60a5890a182c95cd987239455aef1ece26c5653dbb4b6fea86ebe4b1f65ce72eab8d2a1ab85c1e3836f2ef4d0a739b9c0231facb8fbdcbd1f74b7fee0ed5af9f20e965a1c66a3b59a23d123cc362cf8a89dc2072c50012afa8045e1775cf5e029e91c4e0fc7f61aef840c94a6ff1f4d9c393cc4d4fe7518a18520a65c716a77e099f5545611958dd6fad476042abbab635e1\",\n" - " \"100\": \"a94fd80114e95ab3539a2fa8d7cd814d164e066aa35c8006bd3204fc8ac6ecf709f7bdf06502690812745ec1833d905cb028f84c2f46d744f3881ad54d65493dd37e23af24e59ca040c52e95f1db1f039e958a23b0e673b42112680e6bff5f764228a966dbd0e387811363a4972f19e4a1d53053605760da1da943964d4d3772d3e7a3beb3dd9154eb6f1b43f758f2cdeb7b680e09064f349aaa07636cc106e6fd7bfff19c931564dff06c76355ba27763c2696907e813e3efd5a267dec3fb7d760b9da85ed1bb6f87f480085c2ffb502d1f5a01bb173f4443466ada030f532799e1ed58cc24446340707cff23bb1f88d25834cb9cfefcfaa16d1c65e678e6f8\",\n" - " \"500\": \"bff3fdf9049d59822886675d4b8fe3b5c04c271a939aac36f94f1624a90d86662e554edf817f0f27e65b7f336b0561b2b4146e9b2452f9a711c37ce92d4260250a0aeb15faf45ef6bb298f26579e5f3ebee9f4b668315fd16643ad52dad79c5b4515cbf20571a03033d78eccf3b28eb55bb5e32b971a28cbde57558b98a9e9888fbfe8fdf6ddb621bc26234d8834841dc6971940138e98180db63a9b5ac7d2ff59a873fccd8a871f28a802a6cb46ee5ea2b70b8c54352dfa1f1d69a57dc3a6e597f1d061f75da72aa99ab9aef55918ad738b3eb6c030b26e22dd2c240150e2a9d98b178bed417fa6f739ba30486ebe612eb10074ae7c1a085f9961bc28264c92\",\n" - " \"1000\": \"bb2f1230c0def7183c37aeca14ae2a1269091fcd59d7e325da5e25788fae0598bb0c1e24c40149866b34d846bfc2c3dc8d41798f2bec3db172ddc8d309ebe88f0fe9a88191cd1ece9e54f21de702af708cd762eb6f78d5c8ccb42f8d9483d1a15d6b648e34f969fdc91288a2cfe5972add36f9775e20192ba6b92417077233950a7ae4084014d72f2295b2da8c0123fc64fc507b425c7c4142d4c38ae233ae763f64afae6a0a0b3411876fc3d88d41a1f95e2ac7c947f2300953b2ceb6afa4a4ad4fcd2186f5af18fe45339f755328fb15436912b1b62c17613da5a02bfe8a891e75e25c7a894eb459a93279ba458b35a3b1bb68244ba40b7c2b831f0c4de097\",\n" - " \"5000\": \"719e7c5ac0ae255bb6f9ee7738fd1a54823baef89bea13d8e3474d87df6d2fd06b208054588c084a8d73effdaae82e0007e4f6935b8a7f42d082715a45c23f1aee09d5579635aaa6fc46fd48a36d8f5b3906a8deab690e48cdd4bb0a770915d11704ce6c4fb08bd62697d68fc40d19d43489fa2695a37faa06b22a014dde82e77813f548784f9c506a9ff6a70268a862873d368d22b55fda22c5617796c9ac8f037b5ffafba698943d59b942eee4497bbca1d8fc1ab3aff73a51a235aed44ddffccf3af085f12fc9acd0b52dd0629ff1bb73ccba1305c5387164012f901ab6fdeb23a1dba19c28dd08ba23a2ad0c40ab53a624af3bbcd1c36590dfdd0458ed9c\"\n" - " },\n" - " {\n" - " \"height\": 850020,\n" - " \"1\": \"2256cc5f97ef2f50aac1ae5e9e286c8a6404be4bbf7c6333bc3fa49bcafb21d18fc541f7499dc7ac0c95bf2a2679faba3f524f56a7d5698e282ca08f5117e046aada919ae925171da800139a726023c8463032b0f952b2a70b16c36a934ccbc438e30077610b47082758061a69b719a864208e55909a7d26695daabc8e3991c74955335ab174568d6410cedede24d184f1f7e465ee644fc50a2164c06ec263e43900ba4a225ca92bbfd85ad5a0ba45b3fc5d38f4cc87dd697008eeeae00f46d4b6a189d4554dd96df7e08311c9d425dd5a2b170959218041e8a610235c4848eae6eb2be70825e374843a0d8afc1c40727e515881b7c8fbc6fe0bfca17ab64e12\",\n" - " \"5\": \"c7576593f9c80ef455e4668b00c137fa99a60a0fc691209f7bd6a3508b0bc0efe6db3ed5d3fa807b6746a52a7ce4949f780cd447c0da54e99f039bb55fc182f99e2ba56f860d7cc700c187d4ce82b741a7f83c590df9b307368d189fae35f5f8bcbfa685590a3913d0d23dbecb9ee0c9576a483731868eba98a8dc68325c7d343dcc84d751cdd57452dd2b5113eec03674d497bf8ac2ba366ec070835a45af42c00e89489e31ebdd77d015ed1a9698da02b42950b2ad1c5be8ce7839d5e66f1196efd18969b7856baef9f0bedf2225907f982b3da65dcfa64b6f4891b22a305a3a6b2680ac5701453db70475364195a0c4e7940f618e6cab99c6ad8651e99b4e\",\n" - " \"10\": \"bb971cd32d8719cc5f541683b26dd75896ed2a4db5ba5da0ade85176b3e79d0375279324735b3f646265d6f253d1b849e90b37d40b0f1517cf0b8993723688aeb6349c6d3b00655e6084c0fe947160960fb0c8c0f07d996fc6e7a0bc7472a716d52a515a1619eb494c944dc7f42fbb1240732e2ed0042250863952eab7c25d72d5a8bbde9ab8e622eae93c40c0dadb1a669f7cb1acc22117bf20b9de8090984124ac2a833e5545aea590e1ed76a50a462d3ad63e4c30ea4bb60b26225a6222b252e82b154ca4158801d753d4bcdc9414bf30018070962cf3916e75063f685ef0f611f6f8310d63aa652e380b3e290dccdc138d6f267efd657b9dfdf1e3af2e0\",\n" - " \"50\": \"b1cb44aded1025e7e919a77a8e3e903095cda89d4a3162cb01702f50933379411e45785e9d10917d5babab66266e52bfa789685dc67c2576f2ee0711d4938b834d55d24912d0e4b7a0803ce6e9765b0d758463a63f258f6e7e092ff6072e70f6347f580f61db772f321016d355bd7c2cf90a397d6d7b6e87c7169c3e2bb3e4446590012ce9267420d8e77fc9ab77c6cbc225f8b2df13cb4dadc5ad33ccaf94c61c40a92113c0ecbb40e24a941292868ab88e70402e2f4754ca8fc761120f251741ba6d0232d4ef9a04fa496caa660497a9c1d23a1c57a08e8f565bf1659f45fdbb9ca1f2f5c422f22226e4fb90036a3d7e8ebd5fbc711464cc9941149df09dfd\",\n" - " \"100\": \"c6e20ea5f24896dd6327971830c14f38a1f7e1d395c79c8d639b5be8bcc1e1f733c8a4b8eac3305e52be8e5a77f7a370971ae180a0201326e96640a335b0de8442d666940e105bef63ff6f8e2d6b65e8a2de9d02a1b4baa01e3052bc6d85885540a444fa8835e0c97234a8e5a0b69483491e2f846d1ae11b25648c26341e6b1a67e8f0000419062d65b7358be708b1d0b02047e981db8677191906f832f22dc258ec585e8d532b0c637c0fe10c54c754563e285f3b7360fff461fd394d39768e4cd1ea46418ddaba29bd1418dd56a888e4a36bbcaf2690d374c7fe575e1aeef7e692ecb7310f181b45ceb3517d1d13ab5bee4448b17167bc41d5db7066de6408\",\n" - " \"500\": \"a606b2182dc81a22cb81e9edf796c1a63b932da4aa9ee7e20a78c321f6dc1fb5adedfaff1bd7c7182217ff1c0b1de4a4258a59a5454ba9310821cfbf37bf5c916a42d8e1c70c9ad961c63919e1da8bfb403fad3dfd9f800f7b7ad3a4ee4ce38c031bd1ce9755d3b0df02e2c0d8b9c03d2cf00e0618cd360ee10aff0672c3120f230c0c8dd1a961d9d75fad74a3a9bcac41587ff07bea61d78f664176a31bc97a0a419c08d5d1eccf318921974e6286db5f2413eb3a3d321643307dc09c6db76566c6cebe02f242716c835c25cb2c6d3127d797f5f58a6a34c5d2c18bb06883909f5675bb84e0835e76203448b060932c96f9bc8dc4d64695faa8efc61ddf1271\",\n" - " \"1000\": \"81865535d071473ee5ff0a07684538a581f9b9527ae6420086029eb6ba6eaf55bcf6786e9dba7ad200772ae8bf13150651dfc5583b85077ebd5cf9f02dfa1c6f95f2e5f2c8078712603e6858bb17c58e5974966afaf56f92f01df6ad1b5646ea083127944c07eb436cd24570c2b84e9a40c3536a2343e46836460955eaf41725870d51a4ab3d5698d0d0821abe861d7eef39c4fb0a6a7fbc214fb6d1fdff45b98ce91c3763d5ea1d25982f40f7e73328eb11bb571d83cb1e70314106822d965e816f9afc88d19a14895532fa7622e8a1b55f958a7f818e5e4ca5b9d50228d3512bb324490627e75ca8a6e098ac495be3688c5383d30c395cb224e44021fe3ddf\",\n" - " \"5000\": \"b87af0f6e1dfc14fddf2a21cc58afabb17934ab543ac1e036a4d8fd91b71a9bf520ec7571a49240ed6a4b468eb21adc17d7102fe4d2df88e241930e587676cc7dab11746d31431e4cec022b56da8522bc9fc18b6e1f73c3f6bd608774bfbb093f5ef67aeca0ed93c5968cde570f8f556ad2f73f9ffb5f303c0972c6dc7b867d506d506c954c1c1e8eaef3aa6e64c029463ffb6d31feaced687e3476ca2659e803e70dd0d42f0eb47d27d2fa12887c6cfe07a1292404acee7eff8ef5d4a88aae905bf0942bff4532204aafc5e788131a1a8fad1a6a56a5d1d366604b040f2f9c1e9da71a7506e2665e558e66afbdca68d99bcfc14afb27c35c977ace07dd903e8\"\n" - " },\n" - " {\n" - " \"height\": 860020,\n" - " \"1\": \"866d64abd346d32f0b31a67a1c17b259d0f35da1598d60ef7abd4dcd8352927ce2efeb4bb2ed46e66e62f8c4cf910cb91c2e19a8e8e1885ea57f90f1d6f58bb0260a8ef80c458b9190d76c00faf9ef46d3341423ab457719cd3ddcbd8d59c3df851cebb0e0f3a6cecf382ab54229cc39551c41d9ded632d549e5c14d8ae40d7c1978972cabc4bf2f5f908193c38d109956d08e0cce1a4bae61cfc0377424809a22ccaf4ac1c6365cabb152cba279fe30d23a03852af3a5361369c44af060fccfe8426d856fe3fd5cd9f26e6fb797c4aec8b1c63c6031dec9b46ab47f206a997285e1b406abbd05c0c26a4fb4aeeaa6e7f0579f2bca5d84b826b06d32bd021391\",\n" - " \"5\": \"105e6b2555408861cfe09f235d4f5d514c26ce2368450bca39494927ba666c4b0f665f780f1e4143068cfdcfbab7b928669e13600d7f240eceb7f6f9048b727757d271af5c15aacb88f74608f487a8ef6df0f5ccca4b1f29d3c1768039743a895773a4e23bb29a36980b4c1b7b7b1e6b13fd9cd2e91b13e199d1b0b773812fe445d219b97b508d67353263013bca6e4bc9eb8debf90808a5da50ff5e22fa926714148caa8131b1dffa72a1c7ab14630f965272621273c775b31df4430701a3c8b3f7bc83f4d0328d1517eaafd24114f5174bd8562024a156288a71a04084e0206dd20f7438750df26d4245ff66a1f82e2b0734054529269732ed7846bc4cc1ee\",\n" - " \"10\": \"bb971cd32d8719cc5f541683b26dd75896ed2a4db5ba5da0ade85176b3e79d0375279324735b3f646265d6f253d1b849e90b37d40b0f1517cf0b8993723688aeb6349c6d3b00655e6084c0fe947160960fb0c8c0f07d996fc6e7a0bc7472a716d52a515a1619eb494c944dc7f42fbb1240732e2ed0042250863952eab7c25d72d5a8bbde9ab8e622eae93c40c0dadb1a669f7cb1acc22117bf20b9de8090984124ac2a833e5545aea590e1ed76a50a462d3ad63e4c30ea4bb60b26225a6222b252e82b154ca4158801d753d4bcdc9414bf30018070962cf3916e75063f685ef0f611f6f8310d63aa652e380b3e290dccdc138d6f267efd657b9dfdf1e3af2e0\",\n" - " \"50\": \"776de8a28d11d412d08086ca5b36ab5a5f33901ad4c5582c0c4952a07269d2256b3131578f18697973961edc5471c9bb4fab2ff0f2c515ccd81a8431c36d99cabbb73ba72471e3c2f3be83af26b8410c67f3dd77f84c5b108bac38d4a0e421d071f1ec2ac48190dcfe876f378ed5096006e1b2d33205f77f8838e200c74ae51c9a7827e3133359fe2ce4aaeeffbc995ceace4a8d30c6ff0adbd3ef45a1610d8f61ad436946a4762fa727497608135ab586fd917fe5b6929aadbd35edd0d162bb76d3f0e7d5f2a0a02ae9d43dd130110ff3ce26c27fcd8f4cd9240439c3f80cfdb807e062b50b551039d744e09d774dec03ebbdb0d99c1bb8795e21fc1ff65678\",\n" - " \"100\": \"69386d120090f0fc374b6841c1c62e34f9d811271e4db291dd108397a7e30ef94ec00899bf645516e404e29acd34c0f9d327c01260cf6a2bbaf8da56df70d47a6bf1c0d03f3bb4b15292ed50d077d2c6e71d55200ad247a66c5b1e9a2cb3e4f4ea190f53d4ed3a2b73bf8116554b4955533451f6a20b0a1444942a114a52e8dd080f2ca56ff9e52bd711ca7ccd219aa5c2b5f8dd98945ec99dcc61af3359d4b3e25d90c09351a78d32cf2691f432c51df75ae106fb64b35425fd9f66a075c6b03dedf5c7e42027f0506044482dfd2f2811fc536f07f5cb69f713b88b5671bc6d280fdaf25abd2eb027a38aefc4f46908495bf05605dae63427d2635c43ddbe21\",\n" - " \"500\": \"ac0ce2dae79e642f0e1131b19208c2450e7c74ad92f7bc6e67609c44d6d92ffa694c613beabc792a290d3c65630cb69b03f4f6f104f573bb5753a37e42a322da145cbcaef4868404228fef17822d093f0bab1d6eaafad51a12523f1017fd16d6f97bf4c1b74a36900427d4d81bcd073dbdf202ebd0537c06014ff4f46102729bf8f3ac70bcf8afee795565977efd74ccca208c115464a416f11a1f78ebed245487e1ce4639f543e596a881b7193b1cd696ab4cfe502012eb9eca33b9e024e3ca0f25e38dce5253c082702d98a974edb5d19df9ffcfe566db7d058d9c893c25bffa340deec609f929ec7a8e7535d0f67eae97b025f875f303289b701fa1adc0bc\",\n" - " \"1000\": \"81865535d071473ee5ff0a07684538a581f9b9527ae6420086029eb6ba6eaf55bcf6786e9dba7ad200772ae8bf13150651dfc5583b85077ebd5cf9f02dfa1c6f95f2e5f2c8078712603e6858bb17c58e5974966afaf56f92f01df6ad1b5646ea083127944c07eb436cd24570c2b84e9a40c3536a2343e46836460955eaf41725870d51a4ab3d5698d0d0821abe861d7eef39c4fb0a6a7fbc214fb6d1fdff45b98ce91c3763d5ea1d25982f40f7e73328eb11bb571d83cb1e70314106822d965e816f9afc88d19a14895532fa7622e8a1b55f958a7f818e5e4ca5b9d50228d3512bb324490627e75ca8a6e098ac495be3688c5383d30c395cb224e44021fe3ddf\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 870020,\n" - " \"1\": \"7c4d53610ff03cb2ca8ef754f1798b2becd2c412fccc1caa50f6c1b7a44a679a0e4366df798558389b67a06ed9ca3cdd0e492333063c218de13fb930af6913736e17974d6b12f0f9a0ac133866cccb6ad2fb69cd5f2f24aadaecb34c8399732bf4001ec6436fd1a224a9ca64710c4b75d5b331f9de88ab8bc387340eac87b38a9ee6ce1053fba96673f368767bc6cae6ca4387724c7dffad1533039eb399465e50d55a2c561468efa5ac6c976b2c0b93ae90eb62dad82bc554b75c87219c93bb920a25bd58be943c29df199610bec5086b538083f61bd2ef25143688bd6ef71e42b77a771fadd945682e18ded92f492f809a7e7dde5956f456b6a198ec322560\",\n" - " \"5\": \"a4b9674dd6df8bed5bf6eed96a0e1092bf722598fc26d4f9f20f974cbf05b40980af0a935e3b6a9b5ad907e5ca7c4e95536b8e191577c49d717956da79b768859372d664283dcf9cf9fdb808ddd5ba356cd619f34d8749c435a21c550f20d0b061c1c003f11e9328479ca2b0d2b2c522d52255af3a8d4dd2008027f78c25d154c2c832ac4cd539002aaeb86ecb8eed28222120af6a1ca3daca0b4a46c89130e0259158c4c93d25eb6c1c88aa0507bb83923efdc1d00fe8fae7ccda56521674c9f2d8ba6fed3b612a0a20203a021b526e83ea33bf4a25c9f6c49cd6225b2ab35f14658d245eea148e1c587bb820d16cd38adbaba885d001bbbc9d292b027d7fdb\",\n" - " \"10\": \"a8c6b0eb09bd9771636e58024f62a99fd5d699645c38b7b632e42082583a40eeb85cf125baeb166c788407b97f86ec2f7dbe78608263ece1ebd556cbaacba61093a377b0d5ca105d8a1aaaf47826e06cdf376df48e285034b87fc1a8492b2a9191441519e848539a649ceec4ac9e0971580b513c2f6c569c3facd55f64c5ea5b4b2c2e8d76336cd1e83c53757a81eb8f64e1558331e643b9d80abd3c4cac09029934617f20de91b3c97a055ddcca8a0c9046c3775572bf795e4c0b2dc0ed58395d89305f657ddbd5d38b36b63d4176941108c8cdc610fbb1074bf3dce080174d876045a4b2b646f8ef95638f5709bb9332abaa4c4ee9f8faf03f479c8436d2d7\",\n" - " \"50\": \"26b8a99015249b5d2ab8241ead91cbaf9a2843c3b6817c877f8ddc4205a2b2020f5f4d3419663bcfa4a339c3d92a73a484b760a1ba9e1781685f6b7e0c610e1603c9989db378d4b00ed2b8a7df6f3b5d83784ba07ab5b76bff54c103a83053652f7648969a8cf4033b4754dda2123d9e36801116d8a04fb3bfb60d68b4f97f64073cc44efa290ed7fc3d92710223cc0565fb238744027130b8cc65d4b8ed844af0b02bf4a7e25a21b3fad032f98f410b24bd92056c4587a5180b0cfd447d2e8e413fe966bf7a6d151e0551d2bc9daf84d7e7616a6e9017509a766f68e546400c7f598f14835cd2ee75db91675ecd3be2f72e6205335df074e6cbc98a51b53b76\",\n" - " \"100\": \"b3e25d6ece9f8fc0eecbf421a40e79328bde89f9e46503d446b59ed0e4fafef1ba31e8c41e64641b5352c3a4b5285da18fafe9d392209c7f798116fb9e31d95544ae09ea5e3be59e52365de49db7b5724085d384ea80c0cc618eca613f78b808d4303ef2a09577dd2e705fd3785e04b016fe4e9c41b875ce55f26595965c0b43559f4d45ca4f951896053bf6956c94d570d7fa89282de905d8315a958ba603a59ff94adebcc52fefdbf4a3b1b08341ce64354c66dfbf9d891426afab4e252577a0a7f0362a6ec704b9463baeabdc166a47e6aa31db5d1dcaf9b7c3b8f387bec6ef1f21396fd6f32037683eddbf7d578de423b09cc6af38f5cde6132308cc8133\",\n" - " \"500\": \"6b59265c67da33d5b9afb491752e17606962ab09e403fcd2e2f101f93b23011eae05ae3ab3fd1e00f72936508e13aa2cc09fc718bf35ccef343f40330d8d1421121a6d30bf83d463268c0e7f2a6f9c7ca7a8d10a968d8dcbd9684b9597e8c451a6c98afbf8a4a8e6d6a54468dd4ce774cada8412f18e7cf6a4ed15198d1e8039e44a12a8667a3d71cec52fc766ca2797f9ebc252ed236d256b5789ce0336a0dc68420b03e57f068d79589f19c9ddb2eb8c99fe73cc942979979413f4657f99b9d81c18a6d1c5df41be1a579ca0918fd4769b8159b4ac3a9430f1577a0af4d09902989ab2a658e33b05d92d9f451145f3da8c7488bff3dd284da39eda115338b6\",\n" - " \"1000\": \"78c6968c2a9780884bc4d431dce4d04f58237b3efd0ac379994e85881465fd7460948f5f2c7174178537ff4a1913e0e4b62bbe671cc22309523b760d899fb240d303c142889c2c392fad7522041f496152f68f8126d827101c92b958f45272a476bd178ff5d37f7f2cad09da11bce38668223e3a137c83156a7ae43d318aea51aebf47560060ab54d12e26cf0f1efe024a3ec15ae26f527d1943ac44e0c4cdcd6218856ba00c02e8e9ca01c3eef670557cff744d35feecc90d380b090a4cb0c50f57027c9e31f796775a15d99c20b1e4049bc7340884c4dd1d308300202df55dae00065077bdb11fc623bc18ba7fd1629084bec49eef6f7e003a0045ceeeaf9c\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 880020,\n" - " \"1\": \"1a84ce73fa1aef275a8e0d72657b15d4f0f760e98dbb35360f3fa1fbc2969c8361af1b2a5ba41ca9303336407ab3ac7ef8ab84f7409c24c78508185094f475507a0e891a1c5efab64d7f4a8e591253ef26f77c92aefde1c678b66f6a5c9ad2ee226601569e9c31238c42883d94a920818e85a306a4bf8ab77681ebae71b78c501d1772377d57ae76b6bbf448c74d862a4ccde06db151b19b138e61121bd90b248fe31063d111d3a4bfa59e1ba202c4103944e5fb87937d6aaec165658f5a1a85ba27f4ac2979daa44a68209231608fd1555ba1eb3970cc3f0ba368d2312761d70c0554d75233197e36ae354724103ff836d99fcdb3a1078c442302095835f204\",\n" - " \"5\": \"7692625041ea47f0a447c72fe6f0db291957b9d76258cc5d85c2bbe846b64be41269f65a240238061be602abba1747d060730281c90fbe2d5e4ca495adede3b92a8ca8b438ab60b6e7991db5635b8c2ae273f863b2232ab24b5b3dcfea73304395e836d3c1b8cf52b847940307e48093c49434000ba7b3a1974b86ab51a76bc4c2d8a745162ccf3eb29d0520a9d2af0e0a3e89015f8dae4883ead96a31b19daa82b89f1714f186d8862e15cbdd3ca8ac6abf706f2df2dfdff6a074928e60fe12a0b0a5ee3f373e7a634a18b99f63086d28f6ef846fc94e9d00f78cd82b226c5e4c66e3933d5b763436799c10e4ade022724a8d5a7f2be43efe149c68941fdb92\",\n" - " \"10\": \"a8c6b0eb09bd9771636e58024f62a99fd5d699645c38b7b632e42082583a40eeb85cf125baeb166c788407b97f86ec2f7dbe78608263ece1ebd556cbaacba61093a377b0d5ca105d8a1aaaf47826e06cdf376df48e285034b87fc1a8492b2a9191441519e848539a649ceec4ac9e0971580b513c2f6c569c3facd55f64c5ea5b4b2c2e8d76336cd1e83c53757a81eb8f64e1558331e643b9d80abd3c4cac09029934617f20de91b3c97a055ddcca8a0c9046c3775572bf795e4c0b2dc0ed58395d89305f657ddbd5d38b36b63d4176941108c8cdc610fbb1074bf3dce080174d876045a4b2b646f8ef95638f5709bb9332abaa4c4ee9f8faf03f479c8436d2d7\",\n" - " \"50\": \"26b8a99015249b5d2ab8241ead91cbaf9a2843c3b6817c877f8ddc4205a2b2020f5f4d3419663bcfa4a339c3d92a73a484b760a1ba9e1781685f6b7e0c610e1603c9989db378d4b00ed2b8a7df6f3b5d83784ba07ab5b76bff54c103a83053652f7648969a8cf4033b4754dda2123d9e36801116d8a04fb3bfb60d68b4f97f64073cc44efa290ed7fc3d92710223cc0565fb238744027130b8cc65d4b8ed844af0b02bf4a7e25a21b3fad032f98f410b24bd92056c4587a5180b0cfd447d2e8e413fe966bf7a6d151e0551d2bc9daf84d7e7616a6e9017509a766f68e546400c7f598f14835cd2ee75db91675ecd3be2f72e6205335df074e6cbc98a51b53b76\",\n" - " \"100\": \"b3e25d6ece9f8fc0eecbf421a40e79328bde89f9e46503d446b59ed0e4fafef1ba31e8c41e64641b5352c3a4b5285da18fafe9d392209c7f798116fb9e31d95544ae09ea5e3be59e52365de49db7b5724085d384ea80c0cc618eca613f78b808d4303ef2a09577dd2e705fd3785e04b016fe4e9c41b875ce55f26595965c0b43559f4d45ca4f951896053bf6956c94d570d7fa89282de905d8315a958ba603a59ff94adebcc52fefdbf4a3b1b08341ce64354c66dfbf9d891426afab4e252577a0a7f0362a6ec704b9463baeabdc166a47e6aa31db5d1dcaf9b7c3b8f387bec6ef1f21396fd6f32037683eddbf7d578de423b09cc6af38f5cde6132308cc8133\",\n" - " \"500\": \"6b59265c67da33d5b9afb491752e17606962ab09e403fcd2e2f101f93b23011eae05ae3ab3fd1e00f72936508e13aa2cc09fc718bf35ccef343f40330d8d1421121a6d30bf83d463268c0e7f2a6f9c7ca7a8d10a968d8dcbd9684b9597e8c451a6c98afbf8a4a8e6d6a54468dd4ce774cada8412f18e7cf6a4ed15198d1e8039e44a12a8667a3d71cec52fc766ca2797f9ebc252ed236d256b5789ce0336a0dc68420b03e57f068d79589f19c9ddb2eb8c99fe73cc942979979413f4657f99b9d81c18a6d1c5df41be1a579ca0918fd4769b8159b4ac3a9430f1577a0af4d09902989ab2a658e33b05d92d9f451145f3da8c7488bff3dd284da39eda115338b6\",\n" - " \"1000\": \"78c6968c2a9780884bc4d431dce4d04f58237b3efd0ac379994e85881465fd7460948f5f2c7174178537ff4a1913e0e4b62bbe671cc22309523b760d899fb240d303c142889c2c392fad7522041f496152f68f8126d827101c92b958f45272a476bd178ff5d37f7f2cad09da11bce38668223e3a137c83156a7ae43d318aea51aebf47560060ab54d12e26cf0f1efe024a3ec15ae26f527d1943ac44e0c4cdcd6218856ba00c02e8e9ca01c3eef670557cff744d35feecc90d380b090a4cb0c50f57027c9e31f796775a15d99c20b1e4049bc7340884c4dd1d308300202df55dae00065077bdb11fc623bc18ba7fd1629084bec49eef6f7e003a0045ceeeaf9c\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 890020,\n" - " \"1\": \"3d1cdc4d90f2e5dd6e64501058686a46eba062c0ce10f7a3887dc478f4a6df62378e7f9a632eab9c3d3f3da203c25ce87d6ee210090fb2a78a6db1d166c31d953503c8c8041a82f2959008d069c1cdc7748c7135adb1a77fad562c1bd1d13539e5028eff12da993e6c3937b31194ed56d29c4712a92fe64df2685a207c11269bc6eaa92e5a535071820706bb6272bde51a6264902092f7c498b584e2273da32bbf44c5fac570a5eba0274e09a8b214f2e2691077a1b226096fbef444963562f3551d180ff3b8eca51fcfed15186d8bb6118d85d832bbceae777efc19e4ddcf88704089f42af1c054bcc86c66dadc8f0abac0cf0fe6749bd85b378810d51fbd8a\",\n" - " \"5\": \"13e67ad8ee42828be74366bbb642a35ee115eec8e1a53d056025e506a5416494428a24488d1476c71b16c7124af446b06203d5482a8c8a616ce649fcd27a247d657dfdc3d8e8cee3662f25bfe7973fa2bb1b2f71fe9ede5eed8abf08cd71b6b3b0796e1347cc7845eb9854f274f0574f695edbf41e7e68f19fb08a6b98772a4ce835db4356ddf43642d2f14b13737e82dde1f0d2355d5ed821d69d441835462927e09f2e1a2b46c961564c6a9eadea897ee0a24c3d6a5051dadac8dea30a2b39eb597d6faedb81409206dd93a0d2f40ddca89eb44450d9243de4a355c0b35de0b7c1d15447518a57d6142b2e057b7f26c30ff9cf903d8c3c1b0744fb595e7cd2\",\n" - " \"10\": \"535f5c2b87be63c6c54ef9a5ed1599ce7ca65dc0971d8cb46be81103adb5f97eb1087314d2a43b323a94076330292a29613367bf53f982dc6b167becbe68873007abf2f16f12c2cb90bf4de3c1f26d35eb7d54419dc147eebf67f613f63e70ec54507098e9e72b87bc9bb1fc84b821b7e0aa2168cc3a85d59c8b2228d640c7653d3b7cf4d6248c0ca761a234772bec3b4469da9da04602206567d7e78ce095c2f0d70e871ad956285fe1493d832f66d5833eb7cb235f7d6fdd58370d9031817ae37c6cf67f54609ca3ff6cb728840c3c2e96760c13df065a047c755bf8c912b9fe6fe1b196debc9d5bc130f4cbcdf712236223d1b7ff0cd18e8d30fe45a3737a\",\n" - " \"50\": \"26b8a99015249b5d2ab8241ead91cbaf9a2843c3b6817c877f8ddc4205a2b2020f5f4d3419663bcfa4a339c3d92a73a484b760a1ba9e1781685f6b7e0c610e1603c9989db378d4b00ed2b8a7df6f3b5d83784ba07ab5b76bff54c103a83053652f7648969a8cf4033b4754dda2123d9e36801116d8a04fb3bfb60d68b4f97f64073cc44efa290ed7fc3d92710223cc0565fb238744027130b8cc65d4b8ed844af0b02bf4a7e25a21b3fad032f98f410b24bd92056c4587a5180b0cfd447d2e8e413fe966bf7a6d151e0551d2bc9daf84d7e7616a6e9017509a766f68e546400c7f598f14835cd2ee75db91675ecd3be2f72e6205335df074e6cbc98a51b53b76\",\n" - " \"100\": \"be362346375f7281bc4162e8926b4bc1345d0574ddb06aa410f46901ace5a0f0f427e3301e0fb7866ae3f2eb4af7c4ced58f4120c7d28f01bb1d3d00ed88e7a5ff848056bbb2d72ea49954cb34064631740e7349d72837abf185d90c8492bcee67409f8dbe87a822758978c82263a8a59b8b5c4bf03945769e02befd880e5a4733bb25bd0e13eda2823662b9025e8f933ee09361725fdf3bc8173b7ae96a4324112426c30194f842790f6b7e077a4a66410873af95b522e36c2bbee7c9f322b18b332461c548211c4abf24b9c4c4fadfe8180492eec263b8ea9b340074ea2c0b9cb44a68f99f155ad927d523a6952ebef1693d06d15f48ed5741a08952672aec\",\n" - " \"500\": \"62c28a1c7c41fa6c6d87abfb278922b5a4a31b5668dd5b8f2f72b048e4d234581f022c0e2a449c642a670ba61dc4ed989c35cc85266b138293ffe893a06ce3bc84c165cf6ab3cf5f2f7f02e42e7b242d026dbf9bd43de7acd74c1a2f75fa9711cf4a63b8888c70b4a5b9a714f313cb15c0f2ec2945593066bd1890f6ee685b0f20bbb2e1071c7bcf87fbf03f595f33d0dfd99906d2019aa5f317b3eb4bacb96a2ef0f38da0c6b644bdff117d65328acbec506b79a0d012ffe4db5dcddee8fa635f27e49e59fc983062e82d19166dd074b860f3b11487b5c67280d415df06fe10e034d6e508c84569803dcbfe2738454bee5f724bc9c061be2e4640fc235c3c7a\",\n" - " \"1000\": \"2196ba0f249a4843d75ab310ee3ad89b74a8e3906667ae0580e8cc9d5ebdae5d7991a1186de566ae227dd64113b4c1a6e477357dee23e900b2f4e71ea142bad2fe76bf26f1e8deef44ecfd5f055b467ad5088b092217db3ebcde168caf915ab2e5fefa89cd22cb1aa98b12cd6d2d999a195942107c9659373191819f67ad3695f451258e0418c5ce77aa6adb18c799ed52d2c3b02da1129b1e172127da65bf12c6e86717a7ebaa17a847f2708c9c90e66ee37376ed6cb8203828726d5011338ca24f0a8aa69fbe239ceba1cafc203e6e6000b2b755c562e7d45aa85ec00f8665c136869adad3b87509eaf3bacca4b22fdaa895a33a992da0db04471f2ef4b707\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 900020,\n" - " \"1\": \"66119221478d816c8d174a122ced56bd86c6732ac1fea453b525d999fe54c34ec44ec75250303b50200bf2b2143f7a29a228bb6f85708cd32453a8c50948a29d2f3e21b16ffb0ffbaf311c3664abdf48d3d24c8f42d916fdd62dd45852f2fbc70ee1da66ae4bb3cd4e38a50e19ca4068bb5d0a8d1e2bd09764371abb64b0eadcaa73fd4ade6be613de5b72376067ee6e7dd38667f20aa778532c7c655b2f9c74aaea11e11fb00ce33714193eab2a8995962c9ec7b4509eafd5d9b604929da291016c8094eddfd66490be524950dd59ea234336150d6fc0a198b13b130c3f10b43c98a29e29e3256db157f446d13b07882942f5b93cde59981804061b5c067a20\",\n" - " \"5\": \"a3690d6309c954d953ed89a172911bd1813d9ec0d2796dc5ba86df0d8d36178387baba2123fd922d94c85ee71a24c56b3f0c05985b2f0b4a06eda9fd3325d2bf848cba5265f957541ca612d0c2497588c08fdc123d82dca348e37d982c3c37fa12242ede66cc279512a9de11fc1da2fcea23ed099f70b9991f4cccc5f484cfecab1267ec38fd5b06773251eb33ea67b77c19f4e550613ab5b0769bd31c370da31d3cfbcbfcc7a0d49bdc78889c7f484a9762a8e3a727082b08b7116556333ac2cc434c21f4341de21b86998f6fb560f9c175acb96d776265481b74303763b2f05fcb5c742144a1a7f40a46e33d54e3c6f725120dc77276bdd71594bbfbf18c9c\",\n" - " \"10\": \"a722aef2911021202e1e3ca1e3e986149ff759942642972bdda5f6540be8c824855e5877699d39fcdf816d7d14f5fc7d5929ffe9e12946aeaec15b6c2a7e47b8b8ba7dc0c4ce628693788c276a6e1dde4bf772a44ef0b4934c8f668fc428288ce5c22949cfd532f4cf01308730f2c55840e373412cd45ef26c5e0bec2be99efd35d37f1471db9328775363e41b678755f947b5ba64e1a622a04015a9d6308df60ca14084b3ff22f307821830f5499e861aea4784bbc3ce29069b4a34d948ca9ab25a7808fbff018380a52556b2ee1c24325f26dd3b7f095280112e8e3df8ae572f96687d42acdf6c9a6d4430f194bc13df79d7d4daa1d69ab4d1e5dff9483c1e\",\n" - " \"50\": \"26b8a99015249b5d2ab8241ead91cbaf9a2843c3b6817c877f8ddc4205a2b2020f5f4d3419663bcfa4a339c3d92a73a484b760a1ba9e1781685f6b7e0c610e1603c9989db378d4b00ed2b8a7df6f3b5d83784ba07ab5b76bff54c103a83053652f7648969a8cf4033b4754dda2123d9e36801116d8a04fb3bfb60d68b4f97f64073cc44efa290ed7fc3d92710223cc0565fb238744027130b8cc65d4b8ed844af0b02bf4a7e25a21b3fad032f98f410b24bd92056c4587a5180b0cfd447d2e8e413fe966bf7a6d151e0551d2bc9daf84d7e7616a6e9017509a766f68e546400c7f598f14835cd2ee75db91675ecd3be2f72e6205335df074e6cbc98a51b53b76\",\n" - " \"100\": \"be362346375f7281bc4162e8926b4bc1345d0574ddb06aa410f46901ace5a0f0f427e3301e0fb7866ae3f2eb4af7c4ced58f4120c7d28f01bb1d3d00ed88e7a5ff848056bbb2d72ea49954cb34064631740e7349d72837abf185d90c8492bcee67409f8dbe87a822758978c82263a8a59b8b5c4bf03945769e02befd880e5a4733bb25bd0e13eda2823662b9025e8f933ee09361725fdf3bc8173b7ae96a4324112426c30194f842790f6b7e077a4a66410873af95b522e36c2bbee7c9f322b18b332461c548211c4abf24b9c4c4fadfe8180492eec263b8ea9b340074ea2c0b9cb44a68f99f155ad927d523a6952ebef1693d06d15f48ed5741a08952672aec\",\n" - " \"500\": \"62c28a1c7c41fa6c6d87abfb278922b5a4a31b5668dd5b8f2f72b048e4d234581f022c0e2a449c642a670ba61dc4ed989c35cc85266b138293ffe893a06ce3bc84c165cf6ab3cf5f2f7f02e42e7b242d026dbf9bd43de7acd74c1a2f75fa9711cf4a63b8888c70b4a5b9a714f313cb15c0f2ec2945593066bd1890f6ee685b0f20bbb2e1071c7bcf87fbf03f595f33d0dfd99906d2019aa5f317b3eb4bacb96a2ef0f38da0c6b644bdff117d65328acbec506b79a0d012ffe4db5dcddee8fa635f27e49e59fc983062e82d19166dd074b860f3b11487b5c67280d415df06fe10e034d6e508c84569803dcbfe2738454bee5f724bc9c061be2e4640fc235c3c7a\",\n" - " \"1000\": \"2196ba0f249a4843d75ab310ee3ad89b74a8e3906667ae0580e8cc9d5ebdae5d7991a1186de566ae227dd64113b4c1a6e477357dee23e900b2f4e71ea142bad2fe76bf26f1e8deef44ecfd5f055b467ad5088b092217db3ebcde168caf915ab2e5fefa89cd22cb1aa98b12cd6d2d999a195942107c9659373191819f67ad3695f451258e0418c5ce77aa6adb18c799ed52d2c3b02da1129b1e172127da65bf12c6e86717a7ebaa17a847f2708c9c90e66ee37376ed6cb8203828726d5011338ca24f0a8aa69fbe239ceba1cafc203e6e6000b2b755c562e7d45aa85ec00f8665c136869adad3b87509eaf3bacca4b22fdaa895a33a992da0db04471f2ef4b707\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 910020,\n" - " \"1\": \"833b0a9a7a1506b920e93bacac301276139534831052ea911b87c5559b80a8969dd41474e2254a943a3951bebd2b1e73c3077babbb514bfff50b66eb3af380547fd726503bf243d493bcb96295f6204adddc9f83abcc8ef08e3c4bbfd7ddab781e6b5adfd9dce9f7a14db6e2792ccdf9a934fef88a20aec34c096b803ffd32546df1ebfa821fa8cff6ac5546ab398d3628c820b5db30e56e0843d6281e130a669c7da227bc2b4e8245e6fe2a2d6041c76572634020ccdad782fb297b22f98d1b6837d3384f70238af8223c4e829600497baac5d6a0433caf91bfc7ff19cd70f634fdd4ea2f2f41908ecc39ca927d56cff69c3ab76444bdc443207dd4d1c0d500\",\n" - " \"5\": \"29eb69579c749e058ade5df491366fc6150e824eb76cb34c4c693c7a61398b75a72248124103007acc739299d27d44e42002a77b216952eb57b710ef365af41cfb2d55b57ea464ed4b5c4b4c3a352353ecf5215b260213a9bddc374528e68890111f64e56d88074eb181850a46418c191c8fb3d3f2dc56f72bb410fe163a28d08098d114bfbbe37cfddeb8eb32f07ef13125c53d2eb6d7944cefc2fb9c28d3272b0259d4ff5a64c1cea270518d621f0a6b644297c89ae6a87abe0b5d8e57344eb31ba3c8d053f3ceb5b5cf79db748d4e5504679b0f5c74b9516c97ac74c37b89e4f4cad03b1e9da567b9994ee54b50536671a603878693aeac629a74b95a11d8\",\n" - " \"10\": \"a01fbb3c9028eed16323176fec64334ae18b8599d4bbf34434be63ac3a13808c17193873bedb97ce53bf95880b4d7af3c7fc46416838cc9e061cd2028f918c60994a12c96755b0ea20e1e076604cd25b4464a8b725bcff476e16fbbe75eb15b34c60c4abfc1ca9f7fd573ccc8d469c799bf168a3697cc080c8f0db7fb413985d29f6026f246a3e2b3b45554b96e1daff8ce73abbe31ef0300c687a3f215837b5d5a3c630f2e3dd660152de42fb6b3aeec8a3b5a03a37d448250fe35c2c29a43bd3ffec62f49c7da94fc5c5eed540849d578367357882e1096c3faf37c4e9307e8a9c43f046714085f944d4dd500040b07b4974da5676c86e89e89968fb10e54\",\n" - " \"50\": \"7367c807d5fbfd0c385589362dc8e2b268b43cc0350be913894af27e5cac09067bbaf6503552c967e3c0ce822a589245e36bfa18c6a808499384148269763b21252d9173458b13b534632b8f2c3b9b558af258123430bc8c7e03c4e6a073a802edc51f4a0a38c7344df008bd4eac42848653a864cb293477998a299a418338a2465157fcf3093611de9a7670a7b8bc17a2d1c4e7fb45a31c65e2356d9bca3cb4d042838c1866e2d9a36637aad38ac9bb268d9dbeacaed4bc1225e07f111fa8778907df277cd18be49ff7bb71f0e4b1660fdad5329aa4b3a18237de8dd597c5e8ec7220443735b32525df87970deefd28b745e10efa11c281f07b10df7b26396b\",\n" - " \"100\": \"74d4353fc88360bb8be12c417d3fda4662c84dd90acc070225b027801c78beb8b2a4c927d21747f3acb66ecac400829e19144a828ab3e30485f5c61ba942e8f0ab7f096bfa3e1299ff9662b72cde91840bda4c21f50ce9b3776ef43f0d87ef6c9a039601948498a3a3ce6ff91e914aed04fd41982fe2013e5f524d31d958980b931f40f220a26ee2770dc217ec0ccce097dce2da81a29a2a82f5080abf0c87869469a8dd72ebeddb4ac8089df67f597c0b70a4a54fb80db77bdadace0ba0a41f6b97e8627536175923dc3064509b969f37b4f93c91eaf67e27e9f5ff2643f2d17c1faae098c5be14f13ab36ec945cbc897211d197fe9133d74c9a24608ed684c\",\n" - " \"500\": \"2f576e51ec0f361ac75ab679001510f08a454bc769496631c9e3a090c4083669ca02edc8095d9e8ee68709e6cc4db2ecfa72706e67a91869723a69577b9b229c38337c7ede88b86c8e3e2f91343f48242ac462db85f7dc6444862a6e24ea0a455431f30c6bdeefb52c2a1df855229b4508c8e1f55f3c642c18d4bbe3f68183d29653f43a0f0bf6d87f7ddcd63fb01ea7fb0bbfd1d5991b983f3b24fcd0a99ad62e8294ac83bb0410ccd7039504e4722218c63cf74ec4f06765f2ecfdca21d9076e42aa868fee0e1107ec72d3286a2143fcfc440398b748372151cf9c413a0e8f144d09a415ae6824aca1badfdabc40d99d18724047a3ad96c7f16e3a5f40a84e\",\n" - " \"1000\": \"666c5a622087a0da777d47eb1268cb42dda49f7e88c1da5376070979d836395eae12cde055dc65f912b7503c298582658f8d7da189367fd1c82b131359464709d8868ffabdeb8bcee9ffff15b7981228a7c49d30fc5e5f754b8082ac488ff4a27fae66bd3f9d85985a6a37f819d371f2464d5deaaa7fa368a062a6ae7dbe2a4bcb4647d5c82bfd198af876950e32bdc551b4f19fe956956b23d8fab0fa19a93507c1e9f776f9b90d7e01bbe880729a4093ef7fe3b7ca1e7171136e102fb86d928f0e2953f33647d055f0585a37c45e6be18cc18e07d26136a24934f10a7f395362506d36e212fea814c9533fbc8a1c020087f8f68fb717b9e1b8199e03c8a61e\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 920020,\n" - " \"1\": \"73b89fbee16f16168e10a076568c0a3fccb1f94be70947a011cfce46dcf76af1b4ab6d6369aad4633a89adec92ac2f5bd2f08527e90cc03c29bb043f67fcdbc9f3405b58b341c0a3b59f78c4e258167f9ef7477f2cf3bc54451ac993e6bb62af1fc7031d8464d6e474cd68611a0fddaec4bcc26c48e779ba23ccef3f900b440a0b123fa1982cbaed27004b2a9c24d61214218bf257b55790795d27a4ae64c05616da8c113e4107600bccaa25e902894a029322a3b8554216f1c8d24177cf32dc9737a3ed9f71d87c74f4463daffee3846f99c07fc6c2048427ffdf2cf1213a1f25c5951dd896da1c40fa598e0b03546a2330979bfaba67254d9c188a8c0491c0\",\n" - " \"5\": \"8c9bae7a4f704a0fa175a9b3cdb4825d895f25d495a8e81078305e980e9ba1eb4fdf33d526e56b6f431894cc50821e5afb56326dd2fe7fef2ad7b1433ed61dd18f4ed5b9959aa825c1663f8ec01196a6d8eb3d23507260cf228a5ce90663f5d7f178bbf5f9510e0d901edfb6aba7b92b0834711923e283e358a0447e307c7372ececad0bcc4c35b02829ac1ee1fd3967db0dba9cd6397fcd7e597d6688f37c4ff6b5d27eabebcd7843a6014a2fcd8721e8191bf120b1526bb0e26f8dfd2fcb6381184c3dd37fd92fb7a391e750ba890c1a421b7786a33dc873746e51ab93e72a0494d7f054d1d4ede8677b09f7081bccec333c322543e252d0183f67e2bdf8f8\",\n" - " \"10\": \"57817ddd5895920ea4f7a150d3b2ec25c6d8fa420d60c58698b8fe2fa2160219c3d291c9c59eb47c6111770b72d894ccb7609fed6372bc2faaa6ad1b748c0eac1902c79cd75e8eef1a4090c3bfa376207756ecc71635ba89d9b675074bce3bcfe9913d9882f4259270d4748c6c085891047730f03369bfa236113d7fbaf3f7b8ceca5091f1d65e8d6ff570afb95af22e7680821b1cc2ca0b7689c67540b0d2c15a695023a408b08dd37f87af4b0c9c9a60b9d8b0bd28558f76b68e151ac709b4bb8fb77e90a60f40b3e00d19d479d56e1adcf2e0dc47af1d15033884eaf25b67ac4b88402d79e5fd9e757d99f33127a2a328a68549115a35ce03ba6b723bc43f\",\n" - " \"50\": \"7367c807d5fbfd0c385589362dc8e2b268b43cc0350be913894af27e5cac09067bbaf6503552c967e3c0ce822a589245e36bfa18c6a808499384148269763b21252d9173458b13b534632b8f2c3b9b558af258123430bc8c7e03c4e6a073a802edc51f4a0a38c7344df008bd4eac42848653a864cb293477998a299a418338a2465157fcf3093611de9a7670a7b8bc17a2d1c4e7fb45a31c65e2356d9bca3cb4d042838c1866e2d9a36637aad38ac9bb268d9dbeacaed4bc1225e07f111fa8778907df277cd18be49ff7bb71f0e4b1660fdad5329aa4b3a18237de8dd597c5e8ec7220443735b32525df87970deefd28b745e10efa11c281f07b10df7b26396b\",\n" - " \"100\": \"abcd354745f228d82ef83af689dab07ac5bab38e3d48e87af85fd7d4793a0ee241ccc4895edb8188b80d965095bca1c95add98fac110736489d0125f028a0335eb4f33fdf655c863ffefeb5e9b67ee1388a02e15854eb41bea1acdb81bb9d43df1695219d3ec60645b826f94badcd756590bb36f054b171b6e0b795d6ac12115f4e74dbafd252f3bee5f2c5216a22dbdf8fbd965a88d51347e1afa32482c736c90dab73252dca1463ffe099fab61d69a1e3f56f67ab996bbe8ea5f65cd30550ca7fb80dbb47eb4430a06a760f3842288d66858985f97ef5951351c728c7e2bd6b7ad903ae182c76099625b4700a06e4989f34942ff8c32d6af8a646572b1bfab\",\n" - " \"500\": \"a79039e4ce7bc6c3d2560663c873484086377bf83da1a1e548d6af54bf7f8d23b8c973c954b7d72f3c47269535b9d2a89c7c257e549e87ef154929deb30137bdb849ca0c11808645b1d5b096d02d629a7f1cc92c92951912bfef2644939b03e57bdf5dc962f309c86883ff6ab9ee6a329ca47cbd8bd1a4fa76c442243a91096a2f94a28c44ed345cadbaf8120227100f3179c07a03b3b131e18ac4e39c5930b80dc1e2c94533eb236a37a862ede04fa291cbd5023c6351da2cbf9f20e5ad0230c6011c06b7bf80ae0c51e4d5fbc6489f268f1d5ad35179df68af10e9f402228eda680007480725a5da74dd50c8a92b84bbe8c94ea4bec989f259c94fd801b73b\",\n" - " \"1000\": \"c76f27136b16f91cd4d1562ff939ecea8db328a8eeae5e675931519826fe4236807da8765400666f1ec7436681066ad55a9c00e839d7a3352795754675f5449dc2ca63b39da714c3a025fcda63b083e280332dee3cc6570ac50866bcfbb1fad3c6e47de2453cb4b5a954c3503eba94b95725666ab8e748ece373ebfa76b45bbc03e37149d3ecc497af9790ad57854c800fc3a79919613e62fc0f31372ab683e9b1257bc1c7e4d6e2d01106516895b51888d4b3e71b02dd604f4d1b85f29b96a9ceef8457f1c35bfa2f36fa35744de1fcdeefbba7172ab397a5260c213d0e60d526dd6391eb6f40ccab6a2e8a661f6327d5dc9bdf50909a8b6c74eabcb3aa17e5\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 930020,\n" - " \"1\": \"c58f51e6613a4d3770641cd58118a10e9c7b71ea709cec4a1064ad54d68b7b8e7425dc2d87ed7a735d78a60079d9615e0c2e5127d5fa73c47e8bed0dccdc7c799a1454d722c78c7a3517b63b76f2711f3d288582e14a9af1744b3ded854e4e2b1b1d73e192b46dd17082bc37bdd595cd32c1f2d24a2d61bc9fe13b1fc9c11203f0b7cab8e079a906352e0dd052e03d90efda36a8b74c3ccd2c485537ba62c95d926536c2750f2f21d62b61392b98b9bbce88d97fff7b0037970f88b52b8a0c8c9af630265d5c7020613ce965c1b8a014df2d854bdf3feb1b93269bfa90214e00d0b57352ef4e98c9364e0eeaef22dd8b5fd7dc34c099316368e7c830879fe06c\",\n" - " \"5\": \"57a49a8b0277680d6fd0f107998f37b03a6c5369b946189064f9058430bb7c8f2ddaaa6c076bda7658896a8e723b5b081acf4cc9769d5af86e6319b624fee6f8da9fdd5c4c189fe68b7e74be0a51428f7ac2ac830b12f15eb7211c55e70b73d6d01113c60cf839c18515e440b3f426faa5175490233a27798bc3cdd1fe113e048adabb2ad07bf0215035bfa03ed0ed775332421104ff97621a4fe4ca2da63443bb28e9872a9dec2a1938aee01100a37cd052ab0707f3d94147023f12e0d667e4ecfcfaef20918aa990f3cd8d890113bb332b46d6f17c29ca03b95b17431a6991a11be2729af2f6d17b7663818cc7bb19d9d00e6597d60f074a4ed7224d81dcd7\",\n" - " \"10\": \"2236f9d12cfeca2c87e3e9ca624d0bed304e78ddbae2e2c56e0871fa6e369fe1ed87768341d2ee66598748837c90eb4c17f1661b88d13ea2517b3ec012b91c0d7ebd045d296c18da80939c3b6692b1375487557d9b550ad2982e46d8a941f347e974cbf4b185293f21bf5890c85f5b52913b04998c185cdc259f6ec22ffb1da779012962f63e7ab1a32160afb7994c3684ed8c4f8b2825fdbee336079f0c06a329461e2174be33bf1af2a6d9621761ecc6462b7ca429355ab664fcc8d3a1627ec2fd41dc3d53ded195040d1e8b344384431107acf5921b80db45697d15fe504d2b774b604fe06330c36de3e535875a0a10701322ea72f4df82919d5041a9d7f8\",\n" - " \"50\": \"45524b1a6218796dcb4be2170446c665bcd1af6c9040140b38289b1d722aa9e419f492c7c9478069364b5366f145a555bf4cf8ce5660f56b65c93054cb12c0776493fb4e093e0d2a4a35a08c9d6f128fba5d55ab3afe80f01c5328cda908bfbf3668d4587b26b527113b5c3e256dac73288ee808cbe11778dcc69b856088cc511fd2c90b04e7ab392ef27146c758c3db83dc32b798a63fc1e5a1879645c25f488576b8a6acb7e556df12eac0c1f362a89aded4aebedfbad1c6e12035da6c3641f319ed5d5a113c216e98084fd94842d6459833ad17c8926da05290ae17eb54b93fb748c5e43b056a3f9064e2016c3a028d60cebf9f78e444913336a87bbe8567\",\n" - " \"100\": \"3b6428a64da33f2b62f02e5bcd207a77fecaf85d5c67110adaf0198c258f90f7941376a6854622da4dd64f6523ab2fc496b89dd601baf68d79de7cc7ef7c8779bddc32cdd653918890b31146cea00613ae630a393d2352266931f12c5af6a745f6b602730f5f8291fde7da2f929a0303ab6f1102b080f99d904ef370423a720f8ad99f57b1df02ad244c9f8ede588497ce6d962beffc07da3c5971c1111dc09392e84ab03bc31a804aaded735789e89667072fd0d96711cd229c5ceebf86deae31f9dd25e3d990333ee768712dfcbbdca980e96f1b067e0317ea1f3a26b56301f8b45c27088c72e0c85d64c849419311501faf39c13ba852b320301115e90a6b\",\n" - " \"500\": \"7bd1c8c9bbcb2ca7fc1f12dea86cf4280a75c1efe317363bb0fddbe2b9702b3b2320b86460e95e547afe6393a80809d26fc28129fbee3a3f5c00bcd383e2a56ee655fc3888b06c1387cfb4e6f6e112174fb42a4e537f0a11359b3713ce790ab5d1e904f098d4ca6428e67c0a52a43a738174d96abe528fe31819a834542294268a8e38e41fab4287095e51fef09af7167f258c89c6ded3dd722042bbd50f274ade500b26858e2d7c7da7e96a86f1032398040408ae649afe741eda08e19dc5af1b3ef8f582bf874ae386a252726408caea8af56938b8f87e383879dba6a84655fc5d59f2eea7030315d60099f36e5c7c3d8a0973ab5b107f78ea041721bdc4df\",\n" - " \"1000\": \"99b94c0dbd42b07184797327085cfe447eabbb675b217ab8c2b709cf51508eee596fc2a08502c29bcf91cbeb5119b54d9510b6b72a0031364eb9601769d22f2e4045df8f69a572c35225d2b4592ba30b3a56e0807283d149dba21ac5fe23a24e4f92d24fb6da8e12ce9199d1faa193bba7283cfd19853f54996baceb47bf4a3aea318b5727ee63068db344e443e6950c05070dcec0aeca0c723b444494b068c9499c423cee2ab241fa55be923b6c5fbfebdacc3ff43594d999d82f0babe1b543c9faece0614886140c507a1b3ee5f8ae6b2ddfa25bcb024b14f601477fafe5a5f3eb54775ee9f943a15a713af158ca98afad9c69a59bd0502137ee4f26f17145\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 940020,\n" - " \"1\": \"b6c5ea823300bbbeb382f547074e486fd85ba977dd7407ea4347c73aa89d52614e34e11d072f3fc19b435a122a0e06ec0c14402c90b9dd59769d78de6c84a3f0b8abf92a3fc93785248275a8c7a87268b016490c50528540ea946766c0ce625abc9205fe086c941ebb535efaf861024dfe9b2f3dbbaa0e671231825e975f58e5b28e13e6aaad2e14f0ce72dddf15370fbd7bdb77d1a793fca384d18f0a06f2f12b2953e5af3e8ef76323443bf4e9cca63cf1d286513a939dac0748f0bb9f85c79e1813065243db8bd40860aba23754d549a62d8a38a9674c1d10457118f339a38a39919ed98502301def351533e4de5ee317f8925782ab7fc08d29d3653c6fa0\",\n" - " \"5\": \"998cd850ddd49e0dec920ea83938aaf2c3915ae20670b32a58ddbea177a44157600a977591d72c272efe18208611c213241ce0caa75c3fba97a86e0a1eab6cdfa70f90da761692fc873835ff254a58ca8e0331dd4fbde2fb89d32c03354ac31d3c1340a080da45b57df883d77c795cb23c40ecb2b0707eb78e86983af34d2235278adab3128a3e4d02cd4e4fadb19a37fce53dbc27ddb9d7c515af0e6c1d9600085c7c690b4904e7b94925dfd51e4b44e42e7b4f35188206251413f6938f75b6078c1c06dfc977c824e7012d98979fbd1593da54081a79ea68700e32751c6dde788fbb72b5775c9f2797b9cb0a46577ece78128a3177302381c0d3b77a2ea500\",\n" - " \"10\": \"2073974e83f3fab49322a29bfa11ab40033ad48bc20a1981099f6c15b071fb68909f38a715a34b8647d90edfe1811c5299870dcd8b0d694aefe74e029f0098923a49a1029c3ef893a1f5b6e253b9f5ddd4fdc443bc9daf5872352dc070b6e4996e30fc812ae2080f6c94d53ee1aa8f8699692c850fcdc9f69ba13c8d08e2b505fcb0a3889080337361d577c51294482c5990d1e084ec3100bd5c3d3567ba1a90e6bd74f635c56ea6a3f7cb1db80bbc4f01ed21c9d23f0b09a4ea7cbaf8555b4b03fae72317cec2f881a38d96aff00579031668e7658e45e54d7eadc908f2d54062d93b93382d0f09b479981a8f2ed0f77bfc4d0ceba59907320ac2905059ddfc\",\n" - " \"50\": \"45524b1a6218796dcb4be2170446c665bcd1af6c9040140b38289b1d722aa9e419f492c7c9478069364b5366f145a555bf4cf8ce5660f56b65c93054cb12c0776493fb4e093e0d2a4a35a08c9d6f128fba5d55ab3afe80f01c5328cda908bfbf3668d4587b26b527113b5c3e256dac73288ee808cbe11778dcc69b856088cc511fd2c90b04e7ab392ef27146c758c3db83dc32b798a63fc1e5a1879645c25f488576b8a6acb7e556df12eac0c1f362a89aded4aebedfbad1c6e12035da6c3641f319ed5d5a113c216e98084fd94842d6459833ad17c8926da05290ae17eb54b93fb748c5e43b056a3f9064e2016c3a028d60cebf9f78e444913336a87bbe8567\",\n" - " \"100\": \"3b6428a64da33f2b62f02e5bcd207a77fecaf85d5c67110adaf0198c258f90f7941376a6854622da4dd64f6523ab2fc496b89dd601baf68d79de7cc7ef7c8779bddc32cdd653918890b31146cea00613ae630a393d2352266931f12c5af6a745f6b602730f5f8291fde7da2f929a0303ab6f1102b080f99d904ef370423a720f8ad99f57b1df02ad244c9f8ede588497ce6d962beffc07da3c5971c1111dc09392e84ab03bc31a804aaded735789e89667072fd0d96711cd229c5ceebf86deae31f9dd25e3d990333ee768712dfcbbdca980e96f1b067e0317ea1f3a26b56301f8b45c27088c72e0c85d64c849419311501faf39c13ba852b320301115e90a6b\",\n" - " \"500\": \"7bd1c8c9bbcb2ca7fc1f12dea86cf4280a75c1efe317363bb0fddbe2b9702b3b2320b86460e95e547afe6393a80809d26fc28129fbee3a3f5c00bcd383e2a56ee655fc3888b06c1387cfb4e6f6e112174fb42a4e537f0a11359b3713ce790ab5d1e904f098d4ca6428e67c0a52a43a738174d96abe528fe31819a834542294268a8e38e41fab4287095e51fef09af7167f258c89c6ded3dd722042bbd50f274ade500b26858e2d7c7da7e96a86f1032398040408ae649afe741eda08e19dc5af1b3ef8f582bf874ae386a252726408caea8af56938b8f87e383879dba6a84655fc5d59f2eea7030315d60099f36e5c7c3d8a0973ab5b107f78ea041721bdc4df\",\n" - " \"1000\": \"99b94c0dbd42b07184797327085cfe447eabbb675b217ab8c2b709cf51508eee596fc2a08502c29bcf91cbeb5119b54d9510b6b72a0031364eb9601769d22f2e4045df8f69a572c35225d2b4592ba30b3a56e0807283d149dba21ac5fe23a24e4f92d24fb6da8e12ce9199d1faa193bba7283cfd19853f54996baceb47bf4a3aea318b5727ee63068db344e443e6950c05070dcec0aeca0c723b444494b068c9499c423cee2ab241fa55be923b6c5fbfebdacc3ff43594d999d82f0babe1b543c9faece0614886140c507a1b3ee5f8ae6b2ddfa25bcb024b14f601477fafe5a5f3eb54775ee9f943a15a713af158ca98afad9c69a59bd0502137ee4f26f17145\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 950020,\n" - " \"1\": \"6f43627e448cc0c56a8105c942ec57bbfcc2a321035d9cd320a013b214e2bb5c40c54dd365ab05c5584cb4b99d8902d122c303da268153ac1ef08eb7cadcd04a5247908a23aed4af7b3ce6a4ac362f714085d8ab7298c598ac11f8e374dcde3609b98899496e2a16e464992919a1caa66f31daf45f04a2a4ab80d892191ffd17c1c083fee01be3c3bf16f2472751c04a4f078fbf443e27875df086b40ed71878c4f228e67b715d0f5cf53b7984e8d9dcfd32ae985983ea682a911986790b8700beeebd481ed1c425ae8a3fdcb8861b2bb238b20af5afa7983b53d3a54392bb59042d6dd22bfe0449434788cfba4e8fa6af6dc2bfa5706ca80ea211b040d4b925\",\n" - " \"5\": \"c7087d86a942164084282d6ed1cf76c7f39880ede405dfc900b759925dc86e24429f93571cd563962ba8a510610e674b43427ff1041ec7e8e18e9c9485e78307658a48b3629b278d6dc91d4bf16aea422d39c9d23deb0be1da43c61f382d5fed469c3d3102429927c904633bcf428eae5eb90765ab6711b948283dd40f6684cae4504c77a451e65b8ffe10f0d1140919eae0bb7658dad1349c0f45b0069b6132a0bbd1fb6af36473f0efb941f78297fce8a8554436cb0a223a489f87339843dd0706180c817ed38ee5ac828d9b917f2fc4ee74172d0d9eaf4cbff17ca35b30f19ebc4d36b50bace8a6ee29baf1c1868aaab7460b843deabfbd7bef62e88a9812\",\n" - " \"10\": \"3697a07f31ae908767e934a35a2e3d835524132dc354283f2dd64609736f1899b21458cc62fb52c07e81764325cf2c2205fa181b078dbb7215d2de8a61c7b4869286cc70fb46116e2fcbcc85ab2478fd7b682b7832a90a23eba2fbf33696e8cefb7d966f4ec538c3f93d311651c878a6974ec599e408b316b3d3c3ac492d635f2ee1dd9a9b13236d8038b1a8833cd0923ff659537bcf95ec3d75d54e415ff3af11057c5a4ad8b16caef470a78c4abbf968628ca4738d098dbe391e70cf7c30bce180053176b6abcf3b33573ef4c0321ee82e9181c69354bd5ecbdf7e91f64346266b15a33ca04a32a46fba99f888834314e090344f94f10ced46ccdbc38c99b\",\n" - " \"50\": \"9291f0cebc06a916a67aeb64d739419ff6227ba9b9a23a3945e959cd94310744b4831048849402283c6607256b78d65f84083afb218739c75de78ca0c1c983f89911be0abbe6155b148ffccb6c5fc486af9a1f1b62440ba14cc0afee0b3a61748690025c50ad046d54ad98286be442c2d7c621ca2829c24c5e3a526361c4d88f849b82c8c6ea279892f0afd905deab1b434451a076e6818ebedc0514637b117afe96757481eb07a1c1334e7fd8355e02d82eb583add06a60479dc991931b139d14d117771590a43c5d99019b309ac9d226cc6b5d9bdbb761e6d87249376e29302cf59b4611339bda9bbbbaa6ca983f821cb66000bf36ba8b9147176f5bdf966\",\n" - " \"100\": \"9a34d9d7a03079fb7dac456d9097cb1474e706385e1c126dcf884c12ce4683500e8a2c436ac153ac3e6f0928177cd4f5da4575893f3b56c1b672acb252a703d554283275ceb0fbfadd578fbb7abe5f85bfe0880888e7984f07c8648f8058e29bb88d5c567054417c756bff85ba0d1e82186dade7bde62d438d453a602d64697a30a7fba791cc575d9567ba22e53740ca87e65faf26ec5b9063c818b5fd755e5b349e8990f9e2f97358da13e5bc8687973da82c260b68e62fb8366c24222cfadafa8124d2075efb3e68a435d3187bfb8572dfac618fbb0df00df96303c69879b9bcd1ab143b78d5b554d335e36fd1a7deca8e59d8740acb0ac6b703b5180312b6\",\n" - " \"500\": \"7bd1c8c9bbcb2ca7fc1f12dea86cf4280a75c1efe317363bb0fddbe2b9702b3b2320b86460e95e547afe6393a80809d26fc28129fbee3a3f5c00bcd383e2a56ee655fc3888b06c1387cfb4e6f6e112174fb42a4e537f0a11359b3713ce790ab5d1e904f098d4ca6428e67c0a52a43a738174d96abe528fe31819a834542294268a8e38e41fab4287095e51fef09af7167f258c89c6ded3dd722042bbd50f274ade500b26858e2d7c7da7e96a86f1032398040408ae649afe741eda08e19dc5af1b3ef8f582bf874ae386a252726408caea8af56938b8f87e383879dba6a84655fc5d59f2eea7030315d60099f36e5c7c3d8a0973ab5b107f78ea041721bdc4df\",\n" - " \"1000\": \"99b94c0dbd42b07184797327085cfe447eabbb675b217ab8c2b709cf51508eee596fc2a08502c29bcf91cbeb5119b54d9510b6b72a0031364eb9601769d22f2e4045df8f69a572c35225d2b4592ba30b3a56e0807283d149dba21ac5fe23a24e4f92d24fb6da8e12ce9199d1faa193bba7283cfd19853f54996baceb47bf4a3aea318b5727ee63068db344e443e6950c05070dcec0aeca0c723b444494b068c9499c423cee2ab241fa55be923b6c5fbfebdacc3ff43594d999d82f0babe1b543c9faece0614886140c507a1b3ee5f8ae6b2ddfa25bcb024b14f601477fafe5a5f3eb54775ee9f943a15a713af158ca98afad9c69a59bd0502137ee4f26f17145\",\n" - " \"5000\": \"9877d0a24386cb8ce4c8d971ddd010a94c7dda16f77ef3e8f34cd9632b90050575321d89377eac2891a746d92f284c0a56e7fccb309c5f6e872b71c836e3cc9c22e42a3500d92fa04f465fd61804e96ca0ce5f14228004452439cd85bb01b6d76e17e43ba70aced9b705a025e3f71e20f91b117ea7446b4ade6ba2f4faea0c594d66cddeed5933ae9523a69f833a066f5e74c0637cc82419a3169e174401e199d7909d44a56d654931cc796dca4a8fb4d22929e16f70a06866ca6a65fcef8c02c394d7c64f98c2c42cc94c54b53bfa786f60497ba814d55d2750486531904e8baf6caea689405e976a251baa695309b9868a68c214c823402266e1d986dd575\"\n" - " },\n" - " {\n" - " \"height\": 960020,\n" - " \"1\": \"5acf7cd59a2ca414b2e899afd5abb43f9f7b3089d5b5b2172db4b0ae0a52e71435afe15b0f819d976d940c476b34c789efad18c2a80e8c9ff91efef4b851f7613736fb8a87f2cf6e755a1820cc687e502d915aa586129deb5361fd942b774e0917f5c6956e0a7c46b3e660dab6b629906a84135b9bfea8d5f6299ead3e254372c76b0a87c91f182b89621418ab5604173b0c03e5d0572f9705c72e4f8b6f14abd2eb905771d12d5da223fc327d3696a0b4b346ce4b5ebceaf7de9b6abfc0e110261de6b109ab83e3d977458d336318199f3cd10c7f2a864c7e74fb34375962dbccabfd5aa254e4d9360db76a0e44682d1bd00e87ed92829261e3215238b2a604\",\n" - " \"5\": \"62ae4aab45269147cc37fccc9c97b50e543d7656f1175f067e0705a1c3b9517023d892f94bce36cd84d00eda37c45c5da7d52d1227f6fa7dc7dee22b4f69338d13a174c1be4a7f66da916cc5693b5ee0e353a4715ce660cf40498a6287e2982e98967d1118c76c9e36250fb22627ec8e60509a0370315af252a60eb175efab7e3cf8b716d209507a882281a9baaea1e37bafa7f5e4415b2103a050eea64bf89e03737366086f117db036bc24277ad714e876ca15d84bd84d6bd7e64a1a628bb04c2c85e97d26005a92b7f20ca7a86c0aca4c31b4cf94f0adcbb533edef5684a1a2fd140afbdbe0aa78396496a9f0875fde5697cab1cbce935202321026acbadc\",\n" - " \"10\": \"4f72bda22c73996a34c3f2f29a0724beb229ad8bb519b8c7d39b106a508a5a02d4ab9272d9f568171ab99024cf51d099528aee951f631ea2d74d991b9f6d820511c82b9322fe8b3d8651d12a7c61aa9933c398777a5f3dabd161b91a5a871d88d6cc82c6d6380519c814940a3ba56fdbd7cc79050cd3314e8f647d2dfe80b80ecf9add746aaf6e7721d5ef3135b53cdd3687e64ea21bcd70dd03b5b525f6510110c40359136d8321e10763ca6196ec2aa38b33f8e519226612a88792e32dba60cbe3ccb650dca495314b69338719479c6031160a80d949a4f4d15cb0abad4cf6858f544fc0516702552278a2b940d88d955b0cdd21e0b0ec544ed720569c5135\",\n" - " \"50\": \"1b857754f7f8722e19ddd9795148556f57dfadc2b5902dc8c0529e351053e1ebb32cd5635b19c653866925be1d43a929f57b5c94ba2fa38cf523f1ad23fff9622218139c708e7a76d9f51245627df4d55e7e2f1c009e596caef3ff7b187b0a8f478fc94b710a2270edc15b106f3f5281db430fb240de669e75140099ac61c3121686efab68643606ac858863f3eafdc38ff26d9b83d83ff8dec0246278ea507838fabc4f5230a61fc10e7e9a0f7b23433840e6c567c5e01b1ade763044b58ec2b70afa683de8f0d17a332eb939d44b1a47a06dbcc7407e2d80583389ef3f3fa82e8a96e21a61de52012699013cad2df92480c586b6fbd2fa01509533a1a088a4\",\n" - " \"100\": \"6a3e8ea7c6bebe5aa3d94fc5efcc59047316344173241d20962ec4f816a9d7675b62f34781f241823e043f5d3fe463d2fa21ad45114df6b1877a089ec32d927185bc078c4e15e16aae26c95cd28811b1766e4f5fdf5d203899a7f97a83a998d1f3400b4b6e325aa9764615d686270bdfcf89e3f12fcd408dc9fae2aa47606e191d6107a940f9fb395d705271c08e8f7ec30310b739aae3489f38e7a1740d0b56eb5e6e13944f0b4f32876da1c7d4a57ec782c437c7c138afa1fd55f8d8bb18b781d60caca3b38e66291911cc7a2358b00da6a9adf7d9c0b66ce0f6213db7b75b902c8a6a44fabecbacd6d023cd061a13bcc4529a8f8e430530941a2d03b76d08\",\n" - " \"500\": \"19f90391a6c806c15469fe374f6083f9fc82bc8d668c8efeece9e9e97b9d00b33010329c26f2c6e2216f40bfa85a05e0f86951511e9ea6c475535ad926578bfa3a2212e482a258d2c5c1223f05b8d6f4e625649f445f735ffd8b884534b885db7dc059d78c18db70cb9176cebe52fdcff9c048507884cb03faa636c961d41482b1835958584133dd50e127d702cbe5915a7574dd818cfd32707f1259190ddbc093ffb0e3946616a7f89c58f8b6722b920cff94a31b769723e49d0546ec5afb15228e8a2382cab36a1743674b971532518fa2366af28b403b76e10ea30d077ec6b73396572e231eeea9a39cc84c7202effdcd345acc20119d58a4dbf71f9fb148\",\n" - " \"1000\": \"be56d8a8cbe2d95d0a9bda537a7648688e4693601e4378c61e184024f7059532f0413d487a6eb075e1795449d8cab716d16af80e77ad7fea8aab534ebdc75fd1c822aa3bf0f521f384f7b296966bce2c4704e0009b3ea3b5ca237ba879ba25dc3922ea186ff568e32c873d461c3ebe66c9a2e2e92928aa24d941cdfa77b354754bfa69d1198596847b499cb2a08049604df4ece60476cdbb06ee6e017a81ee4df9d1b1c7d8177ca7f07fe61bcebfdab314712baf40c209e18ec6254c75287567c810cf1fccec5e6ad382cf8fa00dc1f4cf03443b87b35aae00192013fc7b672ca8fbd602e287bb8a47b5161805221afc8a1410368a24659ce3985c9e3f92934a\",\n" - " \"5000\": \"3a10675d8ef73e76cab59a19cd3772c2304a4e0f49da9ca0d0ebbbf8b18308fc1b1248f2917798a85e0cefa097bcae5f6eac615aaab9ca65b9e4c3a5dead03fe9c5b7b442262aef4721363331ec4d01c23e80a93e5dacb9aa6520d2f84725584086f0a3d3d4e3fb11671f1b89ce43a384d74e6360c39af544618edf392e8f6cf2237c6f9dd7568f0ba5bd1a91abc0ca7cdc862149be0553431183c96d734a9255e208e9e944e4bfa042f0098170b1c17016f7db2b9d1c02c76959e3855654cfe2d10550b1d411a1737a401364169e5046390eea89caec36dde3e5c9f87458d8348250fc2b941e8365aace35bf396f3c5ae768b56c9bfae2e7192e27da25a94aa\"\n" - " },\n" - " {\n" - " \"height\": 970020,\n" - " \"1\": \"bbd2efae436fb095f9f328531bf9402dc758ca9fc243e3730d751b011a0beceb4a5603fdfd2f5dd6ca5e87e4355e616524e1a5debe09ce241bb495448a6d71743cc01a2f667ec5f4b2022f411fcdb26b7f7577cfbdeb1f3c326a232630a2d2a6de71e2e34f72a94a96e23be2d7891bbf0a4711728412c9cf26c2acd45fabcd766a43d70c3f2b010f4f4d2447b9a238aabe99b2b8f1764cf2060becb4bac49dc109c77bbabda7050b2d59073039e032bfd9e7f3d65a9b77106b6a888b7c12de333c9efb37692b43d8a5fa4407359ad7a3a41f3d4b19552ba1c68002d011733899ff89f7933d3c228593652c98eb27c90f8f0a0b9fd81089de00df17c5a1033d4b\",\n" - " \"5\": \"7ba8f3225e9c09c7b02ce6ffb434c8d48d9c22f14cc7495b6fb6a1969328484d2bcd693a90bb829d9fc7e3feaf53e186ebac0c0417aec5d2ab80bd96a5016542dfcf549d1aa5c5ecb7369a4c2a38c5524029fa6a7e3f3ecbb84639cdfdf179695c2a2e6aa0fd1f55d19c56222cf1ae1ade54d7b6848ef76683b1846b94d1210c06d10bb2c1bd6b2d9f5e1c19299b99d2c24cd10848551089011d9cc6f7ab9e1b302c54334b92c870631f31ef211b1327a730a4768ab7492896a2a4cc8273c04833e83750efd3fa30e2134ab6e32e353c5b280b16a7b9bad1ec0db22c4504f2f2eb04233e9f778a575aa3d2c2738da1e5ecc2bac0992ba61a89578cd1be3f1497\",\n" - " \"10\": \"4f72bda22c73996a34c3f2f29a0724beb229ad8bb519b8c7d39b106a508a5a02d4ab9272d9f568171ab99024cf51d099528aee951f631ea2d74d991b9f6d820511c82b9322fe8b3d8651d12a7c61aa9933c398777a5f3dabd161b91a5a871d88d6cc82c6d6380519c814940a3ba56fdbd7cc79050cd3314e8f647d2dfe80b80ecf9add746aaf6e7721d5ef3135b53cdd3687e64ea21bcd70dd03b5b525f6510110c40359136d8321e10763ca6196ec2aa38b33f8e519226612a88792e32dba60cbe3ccb650dca495314b69338719479c6031160a80d949a4f4d15cb0abad4cf6858f544fc0516702552278a2b940d88d955b0cdd21e0b0ec544ed720569c5135\",\n" - " \"50\": \"197b962ba198ec043b96925bbf355279375d0a56230258952da5e3c8844ec07d5e96e969a53aeaf992c7806ce8da6973ab2a7f4057ab660cbf492ba06d98ee8e42d1f4b922a12583c55bb42d0d52441dd351ee5813211de0975c793cb0ac9a2db4c4eb52131e9c54c938e4698631a5e300ba74b7738c94824e88028c652aefb9c8ed58cc6379ea3df5d9b31a8bbd5eaf7f088eaae52dcaa174f717266cb36ffa4281dd967e7a510cc81320b3b9ef77b9728668f07369ddac5d2dce7df30fb28eeb6cbc4e97df6cdf6795728280f40b33c6d032f26391d9c7816e7438c620197352bdb76246b7a70716eaabb957666a829c91ff5d18ea310eb7a20aa5a86a4808\",\n" - " \"100\": \"8b89c342e29c41aa5373333f79e085c37bb4657f83bd58803addfcd0630e6299e49b88a6aca6e210b80947d0bab190406a8deb004fd52a49180493156ffdbbc932d3c6950fdc2e2f84e0f5836a4222b425c9a1c32fa9892a4711ea9071dfe6c6dc084753a1306e1bb61178dd06d2dbdf74c180531f2a7679a3d55b47e25ded5a82a4857a07437b556ecab4940285696d2a7643dc6f93b745087a928c5d838c759007f2a9ce81bf852dc7e99eb98c6bd4ff4d97a0bfdb14378d2c984937827680728fff27791dbebf1f9734f08b084d821da3c28fd9c08baae87f3e6e0823f3118df90b49307dbdbce53e9e80fed2ca9f6dab64928a58bb7db8737b43498dad08\",\n" - " \"500\": \"19f90391a6c806c15469fe374f6083f9fc82bc8d668c8efeece9e9e97b9d00b33010329c26f2c6e2216f40bfa85a05e0f86951511e9ea6c475535ad926578bfa3a2212e482a258d2c5c1223f05b8d6f4e625649f445f735ffd8b884534b885db7dc059d78c18db70cb9176cebe52fdcff9c048507884cb03faa636c961d41482b1835958584133dd50e127d702cbe5915a7574dd818cfd32707f1259190ddbc093ffb0e3946616a7f89c58f8b6722b920cff94a31b769723e49d0546ec5afb15228e8a2382cab36a1743674b971532518fa2366af28b403b76e10ea30d077ec6b73396572e231eeea9a39cc84c7202effdcd345acc20119d58a4dbf71f9fb148\",\n" - " \"1000\": \"afb25d91ce5fb221125e6b34cf5d53868f0e599e00bb7eedb0977e186eb9a8651090f6bc725d07f3cf6f9a3087a31770f36d900b9280115afb963f20e99fb0c3ec30c78156399262ac01c287508f8734675f1994d4edb20144b793c30a515c22786ab8086f68012a13d4e2f7d55106293389954aad29c53e0db961e80d9a3beb42538f3f05b6411d0cd5934345e6d00b8b1aa33e7e5c8d8db56cb3ee01d68ee5a368d48738cfb4420baebedc0a49ade82332163cb9f475d01fe6bd95f7e3184a6bc7d63e47a207b555acadcb4b3c5027d373c9ae38a621f98eecd8f8e77e804dbd1f95438e7aba189cf13ab83c2560805f44b25367d9963a22b5cf3d28808f38\",\n" - " \"5000\": \"b3dd6e5ddb9c2c7586eb9a59d713a8c42a82eb307f0fb7ebea7875efc3dba143ccb96e8ee407e4c6d762553a87501a53ddfade95e65aa423a12dbd50370042f1b69b2be86fa21644de0351d6caaa3ef89872cdd3cd8f86e5e0d646454d360341fe09ec4ae5cde8c3f0f75ff8509977fb66faf08cd549b43a05842cd09b25b3b6c2aaf79e21391aa9006f62810d1ea51bc6dea891d8b582d56233c451bcdb04de852b89aac4ee28df62c70ee27016f0957460ce18fc18d548e8ba108341d810dd87a4055a3691d21b8589a696227cf2e14cbe10ae317738d185f3093a2b81d66efb27c7de8f8ffc349e07af0cc9a233b4585a4bb2aa6787b5d479f1da2583fd91\"\n" - " },\n" - " {\n" - " \"height\": 980020,\n" - " \"1\": \"b964f99d6b2ef8594aee1dff5e30a75d879933765f44d78d4f150e1178a2464d0de5cf025bc24290d40bdc5474a250fe4240650d4cd7e6e324d1ce5d938e1441698d4ce50b3e4795435d04de471c8ed623c5021661f9694b0c7e8dc3f2e6479614e35fef002d2f3c58e0dac27a57cdfca1e9461da8e1d0fb45468b29d39383888441e1a9013f70eecf8a2739b9925b5f93a1b2fe9d5ecd197d006d79803ce91e6e5b743cd241701159db2e18694728081628d6186cb5f01a54d3e63d55d5efd7e1dcf440efab4c0bbd246959813f5ab3bc7852214311a0d4a6e40b18770c6cc38b6602f2a3539ae2df39347beb8ee7cfc9a81de03488ebd69115e0329b7263ec\",\n" - " \"5\": \"6d70f1871f1743de3399c5578234fee03c63306c605dde6d58765bbd0e985de001889b26dbb809042a85440bd2fdf9aa25cdb579106b45e656cc5d82aa050ad97dc3308a8edea0429ef2913867570156e0bb290afc7e7975d3dc94b6038927ec34335488e876e72ffeaf4835850b1e16f3fcb1ae40115c8af610861561df4fed94573b5b454fcc7ad224addbf6522b3f048bf42d346f5750a245cd2766606445168bc05f169dc3a303ffcbf56d5da8ba7233d122a01f2d5ab620156582699aa8cc7b6b07c4074cde05e5ffb5c3af7f052995382296c2fd5e320dffd2385fdc21f3633b8351df3d07545a59494de360550f6a9a57e2052f06c9b60cd6157ebd50\",\n" - " \"10\": \"a869c7fee6d67a993aef32a5abfe01d5223b1f0d29b491457be92f96154cedf79a15554b497558cc7865a18b2c8780d33f841dd8332d75e024e9b477deb0974662579280c9856a6ac0aa662bcc469d40c2f583c95730a8ffc1684228c460fe4cef84cc20af8a48c3c58977b757f577370febd0b79a39eea7b988ae1b18f04d09bc2d28fc3a02d9f1df3128749d0290b77bea7ab10990d358a1604ba8d65427d5129e5e2eace13d57888ebec89cdd164b40acde215a21d1a1e743249584f469eac0159c3b1493ab81b3dd29e789389d6d0d97df46516d1af15ac95378cd8625a4e677bfc71966f3416f83280a1b700e56c1efef816129ec2274c28670eeea2828\",\n" - " \"50\": \"bee32b2be787aca3f8a0272dd3fa7f5eacf39919611af9ac88b1aab99ea02f84ce9a015ea994321e12fa4a027295a917e5d30754b025802be2cb6f6dc290505cfcbcaa449d465fa80b0609cdcb415b0fccadb1f8acb0ecf9596ccc5ab755f0977a9811a4ebc26512b379f02afc8e7334323c0da02472d683cea90f3499a59fb93819e2a81be35455e9e6457b43df11e36d28346ea2f07cef643ca2751d387dcc322916a9836eeec259c5eb54578123d176b040046368a433fc7eb92a1939c14871c12833ceeacfcaa2b383b8ec0c728d49df1619e9033110378dbdc9f3ddcb1ed0f256202fefa54013a02893c676ef0715d2e98022b0e55ea4be4d90cd9a9bf2\",\n" - " \"100\": \"80c03f29bdf20393652ea26bf84e71907f005d67470f144f5e9afe02d988c20e97fd8f33d406ebff3222601bfd600a3647e9a5618f1fb9897016a9be3d31ab48e72e722311acab9a301ff18802083da004a65470c959bf1f83630848ce16c55cbb8c0f331934a5c01e7c4d07cbc6dce13171751b566f07aa36ed50f3a18eb228ec3df18b93cdc3460f1a4af6ba3d425eb80d5fdd6685d9fd5b1c2e6f734e6d090b7c043037a4708003fa1c151b94a8db4423d11a6e16ececa1fe07a4c72646175594b89e2cfa5f5d349b7e5b3ed74bd44d13a47868c6dbc6149e92fc336fd548a5ca07b8bc5a698de89d0929779b672e1542cbe45fb1c14863f942ec17fbb722\",\n" - " \"500\": \"69f2900cb4b5d22fd1a625f22bcf5d497f92404a6ad3e6f515e87f44caca12ce73a2f28ea2cd8f24c7f539844a38489538e4555fc17e2d6e6312cf5cdc8fb529f9ef467228dbd1866e9e1ad25eeda1da91ece93db6015394ef57d0f4648ac67f158f9af5999d3b4c247e03d48715832352c75bc88d5466a1b5712789e2b659579cf0e92227d59fad577d4d2d27addc2414f09430484d59ca30d3f30db6659ea31a91b9d3ea94a16474700663da2c6cd6bdba252101d57ecf1d017fd1799c8c14afc696be7af870d2bec4836d1d5a4a688580f23d8d4c81bea0e9c273558b893a5cf4039ffb128e7b96aba4ccdbb0c8fe7ef043d8b7e1124075c5e1b434d7b540\",\n" - " \"1000\": \"164eb79c0b6e96094f760bbf69d2f691b27b06e87964d13d3019994ac8f675d7040fbe84c4a06f36edeab672f27f45f3ce45e010eeb35652fe4a160dea46b5e4b08313e9d1bdd8a235f5ae89c0b1bb1ec647a8bcb22ddd45839393bda671ce1ca56ca26774e4267b18023b5b9e7c6b008a1afd101e3a7330839337030834b05f6ca4ccb0bf452c766601a47040d4667ae4b34cfc987b0ceb7a911eafc64502d4238bd834a5e138fe4084bc17ca56e42e6728976e1e3ff7defcc31c1863bb05e20aaa5e9df4d9a7bb2193ee36f3da1aa72f3a39953c0dbae71aaf53334b9c0bcdf18d664f5815be8a1d134fd767e6c959a19ac7c45f7bf24187a4f1ba2a3180da\",\n" - " \"5000\": \"7d0c773c72b34b0374f3b16c6277dcf769a663bca5fbd1627b9e2ef9e9308888d67c1c33a2841fc78fe24a3a306715604d6a83a0a3a9066275fdc5fd33d0994201a7f143bcf916fb78151a436aad2f984cce0c738c4b8454c79cbdd06330644587dd91ebaab90297251d3926d02eae7ec88849dae5c8b196066a3f06bba8e14b4d1e151b126d99e1bd315bf9a56e1ec1e5829636fb4151fd17f81755b8726336a5f5951d60463328f19aabc4082ebe225f718a463472dc90ecdad57c42c552bafce6839cba07e08a045889dcbc0cf80ac0b8075a7b498d4895c690929508a4049cfe4b0b956a82e9797714dd3b3045b4e45a0436f57d924290ac084409b07b5d\"\n" - " },\n" - " {\n" - " \"height\": 990020,\n" - " \"1\": \"a7313736964700b74c4c40d1fb18d9e8142fba5b0801d079959d05f0b699310f277c0918508b1c78aa1f27fb4f81bc747e97c02d76af44d8daaa8266ef121bdd4f0e2cfd5d92d054ccf75ce0a8db0a2cb8c0d55672fa4d62ef8bf06b12f2f9035e01e1576e21b753e68711beab14bb2b0a55822222fac2dcc9c106f6c3b7c693913650f62a0d150e09832a7c381f1a8615d0c146eac44edd7cfc8f4266118e468bbe78be81b87d6a147663e9ac5baf2ac4f0704afbff5e70a0f588175847b19281cdd9911f3216d33a9e16acc9a02be7dd48212b0a6093c5ec5ed1308bbbc67128cee5cfb65f51a86e3db42992dffba7d7d7adc93f128f4e2b268c421a4085ad\",\n" - " \"5\": \"1fcad2bdcc756305cb347f1e4adec8504eb6a5dd1ce8a884ded78a9670ae508d8e34d1b8679b4389a1084e21334bef89a7efddd1f220771301e2ae51e97cadc0b5de8809540a2f282f9972c90efb70b4e585145263587a67817f0b7b245afc8a27208df80ab277d99efb428dba927cc8c462e61cffd08f6c33f17084bd03832d1e248d87a71a544efecd229e28505de7158f0902358f939be342302d29aa934cb94b18ad3cbcae79b35ac5f893e7dc1a7c6a23cb1e9e49e2744028e9a64a4118f492e3f6e87f641a61009af97a1bf861fa00dae16b733ca886c3fcba693408e0554df0c3acb9c93b126ddfbd28932253f0f9cc50f5af24d5ebacdf0633cc5ef8\",\n" - " \"10\": \"3b29b56dd954164f661482ed855d354966ec9e6cac4d81e3fbc7fbd929e25edef80bd4661f67019936c7235a8f5b020218c8c9a2fe9886eeaba4b845900861f4dca6b905952caa05b32e1309b756a926bcdd51b94ca3437f6673fd656a72ea1d3b529585f6e3ca02d91d7da9664751a79fd79c7ab4c89fd0149c057aace5abe0adf233941f3b6ee87415e5cb1b43d594f827294fe10c3664d2c89817c4b52d7d7a0b15df337b15a68117dc3bfe80abf7839568f5c1e01206f24e6fa9a998b3854af76d48e50b9448c9b21170b503ee0433fa5dfcfc6fe1bdab405e536bd2701cc3ac75d01f1e571541d6e90307ecd2504830677aded8abec499a558caaddcb9e\",\n" - " \"50\": \"3d09e4111c54775eb5fb1531af18737775a59709df91b6e648a7621d82bf7f1af7e7d650cebb77608c7bb1b182605e02a2639f4891e9ddbbe971918a6455da13058b51909b6d66e7717c070c3411e493c5a8b025b81d43991d16b92c851c51965ff10a70bc345199caab8a468f5f17d752465ea60ad3e79d6f6fedcdbd761de633be1b727d36c1dc6f87674a149353b8c465e1c86b100173a43a5477c57af2ca26a33cdbee1b33a77919a6bd34c9b549d4eeb1006ac838289cfc56735ca25b63599ae2c9b31433539c8ae83a70091f85fbdfa10dce774f32cba3383bf3a81e1809121d06f2bdbfad1aea841c18ac53613d61e1e1b7411c92f127985b09795ec0\",\n" - " \"100\": \"193ffef3ccd865fbbf7b3e0acdc7112709da3c200a95dacf5d7b1def812b993936ac2ec8b0a7ed383d407ed96250bc455e43af80f94b6b6a0ce9b9f9262c96c8c10bd301561b29268440e01ca6155ce6de6708aa3bd9e8082f82ff7b07d33d56c4e911c0deeaa6220e2f664866fbfd15585afde89020a9ea5e2639ec3a759bba231e952308a75e5b48d789825a95fd20a507a9e4300f035708bf1b1072ff5eadad1f69a6ac41aae6238752b6c23873f1dae5bb87a2920d796c310280bb39dd9da70c23b291eb197627f43562fe52a1fc01a90d933add8dbcb1a845106fbf5c42c6cb2e5d2e4871874b05481a0802039151a44d52d10583edfd28b5a9742b1d19\",\n" - " \"500\": \"75be824d9ebfc5f18d6f43806d56a75abf36d9c63a62c396e6a5122ffb67076fa68dd3b919693ee14ff353e1a0eaa160a1acb44be091604cd6ce048f767cc812167d0eccfe05d56cbbfec9d06cbad93a42f08b5055833a8b043c1bd4a11d794b13318483e69a441605801203dd130088869964e89dcabfda91d36bf9f17b8698c3469a9da9065d7f420a559695816d83de86f690635be2595bd0a5534bae001617751766cf6a994ae41e0ab8ccb1702ad2ed188cfb99828b48430ce6c5b8b9a9062c99fdea4773eb1137c13e08461dbb5d43173b2b887642a4bc5a1c55299683bc3efa770eb941cadcc9ad9e653f908fc6f0c87f3ae93e0fcd397c5850ad0131\",\n" - " \"1000\": \"470f1bf571803446ee076aec831ad839b89bada6552a35d195ba6163bd263774f51b92fe0a4314d6aa92b5946bc640efddd6291eba351f74e4756210712c3e339f4fe992a46c008cfeb8940a8f3dd5bab31a5d1022453c6970d9fab9c1f3bc87b21b24a9c4116519250ff727e86c53dec522264d40413198baa5e8b300782612281ea3b5dcfddb7cb7bea0b93355d0cafe656a83b95cc568975a083ac4117a85c1046ccb04583b08036113998d33f4bd473487317fc0e2c2012b48647402481c4ba55493271279e7f5fb351b55e76ac50f868e1eef0e986b73ff91d6f9832dfdf5d002eefe173b766758de21651fbccaa9554085df2a4eeffbf8b780684fcc61\",\n" - " \"5000\": \"5e33c35654a34b971acd068760eda578a3e512e78b333cecaf7ae8cf3e665b19d091faa819f2a98063be4992b8beed47885e58fd5344d43fcdff14afb38da59fe3c4b22ff81c6730de6c6ddf8ea5c9f25305b5dbab276db410bfe3d59dfdb7bb3e664998696b00d25e1caf9f1d298b7276c9690c5fc2b2e3e77e89b57bb46a646b9955cf3d175a45b9337189ae4275898d10ecddc66955862ca42fcf18b44d43a0b89b13298e951f4ce5933beca41b4f1924d688415d255dab54ecb54e37bcc1174464be979cf79cb366387d9bd10afc4f20ba1494d87b680b15af2b492da18f375fac6eeccda47ea0eda6d8e22fa1d413a73a14febc23a867b5edfc263f6455\"\n" - " },\n" - " {\n" - " \"height\": 1000020,\n" - " \"1\": \"b89066ec793c9d2679a60414dcd968bb93b89541a3b89cadec6b2e2094c2ecef192b9c9042899f5d1b63d73995d2bb27cc7a54f9cedabad373ac0c8c1848c3a2906e4fb7393790c85b23cb8182d65b65a3949354f15f99d3adad2dd9b58ce7c6526d7fcc815337b738dfe15d29445b95b415e762d1843a6b601a60b54c06530b51f2cc623b57b09934d8638f1b0316d77ab95df3866655e5f0b01b910a392bbff1bf027de1466d166fb65a8fdd215d1d51b851f13cd00a612eebff2756faf65c8f9ffe775aebb74e67a2dea86bdfb77483f61dff7e4b0da46d8bf7737b721adba71bb73d0d8a197a09f8c585f8e8ec37d36d59cc6746ac00583bbe595a080a6c\",\n" - " \"5\": \"896083398519c22fd368c99c5a8cfddda0ae187467653adc4069ce7893994cb773acd310e783cd30ac51606041701a4ffc8587404688c79bb26e783a79b8c35f5161703540aff76866fcf9935595666b358452fabfa90addf0bc1e8856c941b77c4c0255720802af430e0664d8999a5ebcacbd0ab9591b166540138c8c9030d0585f2b85819ecbc6e9f51abefde5e5432ac293f037e2f111c791388c6c42631c17280b7f956b50de5800c8820a580e3063ac7eced518276ad9a1cf6dd81c7c63eb4332816b26ecaa52f6c2b040dd507f80b130dba883a43ceb04e4950e6eff70fde25661ef17163425b586f1b279e3536a3d1856341ed6a3b4a89b06ec5f5f89\",\n" - " \"10\": \"9199a94d492ded52ec18214d757f5a834dc1402786f29b59f74f35b9021568f58b64eee8b70e304d08d3ff48403bb81c7cf0076c6fa50f816c62c9382b5c97c28c5f269b5efb2f1c429e804773b5179d7deea7c34cb97084a031121a5428d1ad00152dc4c84a9b9663fddf1b5579cc43ccd3f1fd2bcb989e29f0e2a466eff26b8519731d9b614954c27510c6376290c08a9dfecec4857909ebf847333cb8da156ad57df3bd6d723e28ac56a1f620d6381e35b76a545b4a839d5a4e925a11da194b466fbfb69a9a66e2b2a85ff7bb5c5f11639f71be0980861e8d2b299f65366152d47ac93937ab0411af26c36120b1061258cce9f6acd50503e69a64d011e4ac\",\n" - " \"50\": \"237f7b87f44908b138213a3c38a2eb583cc2855b2b1c3b4e64ff341b8ea0768f2d5b083ea3e0ad84c4b7bd790014fb76716be9807a7c1c5b98f2103b5edfc18c66fd9729b8d19f8fa41bc9425cb29a0db88ed03dfa30b51eb7e462d404ddd6af381299e0a3273d55653efa6d0623435d15df1304c2cb02991f3a8540d4942a26c44883f3aba63c8f4f0ce753adbe08842886c02a47056037dc86f5abd25df21ef59b71620fe0a929a686c4f42e1e37f4804e79a521b98d21987f94ba628a29858bfc1749ab974380f3b863e42575280b7afcb4f5adba5861ed7e935cc9623386e9800e209a9495fb40d34fa28a22a453b5b2affeda71c06e0672298597578912\",\n" - " \"100\": \"193ffef3ccd865fbbf7b3e0acdc7112709da3c200a95dacf5d7b1def812b993936ac2ec8b0a7ed383d407ed96250bc455e43af80f94b6b6a0ce9b9f9262c96c8c10bd301561b29268440e01ca6155ce6de6708aa3bd9e8082f82ff7b07d33d56c4e911c0deeaa6220e2f664866fbfd15585afde89020a9ea5e2639ec3a759bba231e952308a75e5b48d789825a95fd20a507a9e4300f035708bf1b1072ff5eadad1f69a6ac41aae6238752b6c23873f1dae5bb87a2920d796c310280bb39dd9da70c23b291eb197627f43562fe52a1fc01a90d933add8dbcb1a845106fbf5c42c6cb2e5d2e4871874b05481a0802039151a44d52d10583edfd28b5a9742b1d19\",\n" - " \"500\": \"5f637bc0beca8ed2b72498cbf2179ad195eab53b712b5a3088618fbf5eff44058007bca06d868fe1f96ac4185e941169cf514bb6e0d409f1aa5674fd7e1f547549dc34ee39a0f258eeae3c7ca4d858317b050aae12aa861c9c00b5ca8ac08d89a6dee15ef6757e0b4c989f7505d7366f50b9558a8e02d0f1676627d8ee21a198b6625a0be56a18df9f26651d8ef796623240940e33d2eb5bfb6e18eb1decb460979f00d8fc76a0d46b1e80b9e1d6fc1c9f47846c8ab0350293414236411459de390e4f5d6e709309b2af198b6ce69314bbd5bc71f64ff951a2e2ea23c6807ff359e088e4898c84f3f913fd2e4c932a69b5dad942c09943a56fb59e2e8d1b11e6\",\n" - " \"1000\": \"ca05933280ffa6a31fadbbe8856e09abeef407de3ab0008562f11058ac03b62182d17130f1f432de295c66a8a6d1aad3d52fb69257fe6e6ac46596c01346ffc82c3486f9b5a650d2682da3c398c02f0c6f988952d10626bbf64efb39fb645ce53befe11d07a0012da554fe671cf8cb0e07886b4a62d6a624f42e11f44a3b49a3aade3cc1d5b9dca98f1ab108fd11a5f8314629636531dae030193f7b28d8826850b36f99a4b325bd9b6938131b15e46eae60d7fa24a96bfacf15081697fc1331e4dd0ad098d0dfdc1db02f1f1a49a134c73c3b4997b2c3068908a562bae9e6887aac713272785644519e767f27f913f9bf18f37574b0b8ab0fffb1c13fa7eda\",\n" - " \"5000\": \"5e33c35654a34b971acd068760eda578a3e512e78b333cecaf7ae8cf3e665b19d091faa819f2a98063be4992b8beed47885e58fd5344d43fcdff14afb38da59fe3c4b22ff81c6730de6c6ddf8ea5c9f25305b5dbab276db410bfe3d59dfdb7bb3e664998696b00d25e1caf9f1d298b7276c9690c5fc2b2e3e77e89b57bb46a646b9955cf3d175a45b9337189ae4275898d10ecddc66955862ca42fcf18b44d43a0b89b13298e951f4ce5933beca41b4f1924d688415d255dab54ecb54e37bcc1174464be979cf79cb366387d9bd10afc4f20ba1494d87b680b15af2b492da18f375fac6eeccda47ea0eda6d8e22fa1d413a73a14febc23a867b5edfc263f6455\"\n" - " }\n" - "]"; - return strMainCheckpoints; -} - -std::string GetTestCheckpoints() { - std::string strTestCheckpoints = "[\n" - " {\n" - " \"height\": 0,\n" - " \"1\": \"0\",\n" - " \"5\": \"0\",\n" - " \"10\": \"0\",\n" - " \"50\": \"0\",\n" - " \"100\": \"0\",\n" - " \"500\": \"0\",\n" - " \"1000\": \"0\",\n" - " \"5000\": \"0\"\n" - " }\n" - "]"; - return strTestCheckpoints; -} - -std::string GetRegTestCheckpoints() { - std::string strRegTestCheckpoints = "[\n" - " {\n" - " \"height\": 0,\n" - " \"1\": \"0\",\n" - " \"5\": \"0\",\n" - " \"10\": \"0\",\n" - " \"50\": \"0\",\n" - " \"100\": \"0\",\n" - " \"500\": \"0\",\n" - " \"1000\": \"0\",\n" - " \"5000\": \"0\"\n" - " }\n" - "]"; - return strRegTestCheckpoints; -} - -#endif //ION_ACCUMULATORCHECKPOINTS_JSON_H diff --git a/src/accumulatormap.cpp b/src/accumulatormap.cpp deleted file mode 100644 index 98c4305e8c102..0000000000000 --- a/src/accumulatormap.cpp +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "accumulatormap.h" -#include "accumulators.h" -#include "main.h" -#include "txdb.h" -#include "libzerocoin/Denominations.h" - -using namespace libzerocoin; -using namespace std; - -//Construct accumulators for all denominations -AccumulatorMap::AccumulatorMap(libzerocoin::ZerocoinParams* params) -{ - this->params = params; - for (auto& denom : zerocoinDenomList) { - unique_ptr uptr(new Accumulator(params, denom)); - mapAccumulators.insert(make_pair(denom, std::move(uptr))); - } -} - -//Reset each accumulator to its default state -void AccumulatorMap::Reset() -{ - Reset(params); -} - -void AccumulatorMap::Reset(libzerocoin::ZerocoinParams* params2) -{ - this->params = params2; - mapAccumulators.clear(); - for (auto& denom : zerocoinDenomList) { - unique_ptr uptr(new Accumulator(params2, denom)); - mapAccumulators.insert(make_pair(denom, std::move(uptr))); - } -} - -//Load a checkpoint containing 8 32bit checksums of accumulator values. -bool AccumulatorMap::Load(uint256 nCheckpoint) -{ - for (auto& denom : zerocoinDenomList) { - uint32_t nChecksum = ParseChecksum(nCheckpoint, denom); - - CBigNum bnValue; - if (!zerocoinDB->ReadAccumulatorValue(nChecksum, bnValue)) - return error("%s : cannot find checksum %d", __func__, nChecksum); - - mapAccumulators.at(denom)->setValue(bnValue); - } - return true; -} - -//Load accumulator map from a hard-checkpoint -void AccumulatorMap::Load(const AccumulatorCheckpoints::Checkpoint& checkpoint) -{ - for (auto it : checkpoint) - mapAccumulators.at(it.first)->setValue(it.second); -} - -//Add a zerocoin to the accumulator of its denomination. -bool AccumulatorMap::Accumulate(const PublicCoin& pubCoin, bool fSkipValidation) -{ - CoinDenomination denom = pubCoin.getDenomination(); - if (denom == CoinDenomination::ZQ_ERROR) - return false; - - if (fSkipValidation) - mapAccumulators.at(denom)->increment(pubCoin.getValue()); - else - mapAccumulators.at(denom)->accumulate(pubCoin); - return true; -} - -//Get the value of a specific accumulator -CBigNum AccumulatorMap::GetValue(CoinDenomination denom) -{ - if (denom == CoinDenomination::ZQ_ERROR) - return CBigNum(0); - return mapAccumulators.at(denom)->getValue(); -} - -//Calculate a 32bit checksum of each accumulator value. Concatenate checksums into uint256 -uint256 AccumulatorMap::GetCheckpoint() -{ - uint256 nCheckpoint; - - //Prevent possible overflows from future changes to the list and forgetting to update this code - assert(zerocoinDenomList.size() == 8); - for (auto& denom : zerocoinDenomList) { - CBigNum bnValue = mapAccumulators.at(denom)->getValue(); - uint32_t nCheckSum = GetChecksum(bnValue); - nCheckpoint = nCheckpoint << 32 | nCheckSum; - } - - return nCheckpoint; -} - - diff --git a/src/accumulatormap.h b/src/accumulatormap.h deleted file mode 100644 index c7f52f2fd972b..0000000000000 --- a/src/accumulatormap.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) 2017-2018 The PIVX developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef ION_ACCUMULATORMAP_H -#define ION_ACCUMULATORMAP_H - -#include "libzerocoin/Accumulator.h" -#include "libzerocoin/Coin.h" -#include "accumulatorcheckpoints.h" - -//A map with an accumulator for each denomination -class AccumulatorMap -{ -private: - libzerocoin::ZerocoinParams* params; - std::map > mapAccumulators; -public: - explicit AccumulatorMap(libzerocoin::ZerocoinParams* params); - bool Load(uint256 nCheckpoint); - void Load(const AccumulatorCheckpoints::Checkpoint& checkpoint); - bool Accumulate(const libzerocoin::PublicCoin& pubCoin, bool fSkipValidation = false); - CBigNum GetValue(libzerocoin::CoinDenomination denom); - uint256 GetCheckpoint(); - void Reset(); - void Reset(libzerocoin::ZerocoinParams* params2); -}; -#endif //ION_ACCUMULATORMAP_H \ No newline at end of file diff --git a/src/accumulators.cpp b/src/accumulators.cpp deleted file mode 100644 index a11085e920ad9..0000000000000 --- a/src/accumulators.cpp +++ /dev/null @@ -1,821 +0,0 @@ -// Copyright (c) 2017-2018 The PIVX developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "accumulators.h" -#include "accumulatormap.h" -#include "chainparams.h" -#include "main.h" -#include "txdb.h" -#include "init.h" -#include "spork.h" -#include "accumulatorcheckpoints.h" -#include "xionchain.h" - -using namespace libzerocoin; - -std::map mapAccumulatorValues; -std::list listAccCheckpointsNoDB; - -uint32_t ParseChecksum(uint256 nChecksum, CoinDenomination denomination) -{ - //shift to the beginning bit of this denomination and trim any remaining bits by returning 32 bits only - int pos = distance(zerocoinDenomList.begin(), find(zerocoinDenomList.begin(), zerocoinDenomList.end(), denomination)); - nChecksum = nChecksum >> (32*((zerocoinDenomList.size() - 1) - pos)); - return nChecksum.Get32(); -} - -uint32_t GetChecksum(const CBigNum &bnValue) -{ - CDataStream ss(SER_GETHASH, 0); - ss << bnValue; - uint256 hash = Hash(ss.begin(), ss.end()); - - return hash.Get32(); -} - -// Find the first occurance of a certain accumulator checksum. Return 0 if not found. -int GetChecksumHeight(uint32_t nChecksum, CoinDenomination denomination) -{ - CBlockIndex* pindex = chainActive[Params().Zerocoin_StartHeight()]; - if (!pindex) - return 0; - - //Search through blocks to find the checksum - while (pindex) { - if (ParseChecksum(pindex->nAccumulatorCheckpoint, denomination) == nChecksum) - return pindex->nHeight; - - //Skip forward in groups of 10 blocks since checkpoints only change every 10 blocks - if (pindex->nHeight % 10 == 0) { - if (pindex->nHeight + 10 > chainActive.Height()) - return 0; - pindex = chainActive[pindex->nHeight + 10]; - continue; - } - - pindex = chainActive.Next(pindex); - } - - return 0; -} - -bool GetAccumulatorValueFromChecksum(uint32_t nChecksum, bool fMemoryOnly, CBigNum& bnAccValue) -{ - if (mapAccumulatorValues.count(nChecksum)) { - bnAccValue = mapAccumulatorValues.at(nChecksum); - return true; - } - - if (fMemoryOnly) - return false; - - if (!zerocoinDB->ReadAccumulatorValue(nChecksum, bnAccValue)) { - bnAccValue = 0; - } - - return true; -} - -bool GetAccumulatorValueFromDB(uint256 nCheckpoint, CoinDenomination denom, CBigNum& bnAccValue) -{ - uint32_t nChecksum = ParseChecksum(nCheckpoint, denom); - return GetAccumulatorValueFromChecksum(nChecksum, false, bnAccValue); -} - -void AddAccumulatorChecksum(const uint32_t nChecksum, const CBigNum &bnValue) -{ - //Since accumulators are switching at v2, stop databasing v1 because its useless. Only focus on v2. - if (chainActive.Height() >= Params().Zerocoin_Block_V2_Start()) { - zerocoinDB->WriteAccumulatorValue(nChecksum, bnValue); - mapAccumulatorValues.insert(make_pair(nChecksum, bnValue)); - } -} - -void DatabaseChecksums(AccumulatorMap& mapAccumulators) -{ - uint256 nCheckpoint = 0; - for (auto& denom : zerocoinDenomList) { - CBigNum bnValue = mapAccumulators.GetValue(denom); - uint32_t nCheckSum = GetChecksum(bnValue); - AddAccumulatorChecksum(nCheckSum, bnValue); - nCheckpoint = nCheckpoint << 32 | nCheckSum; - } -} - -bool EraseChecksum(uint32_t nChecksum) -{ - //erase from both memory and database - mapAccumulatorValues.erase(nChecksum); - return zerocoinDB->EraseAccumulatorValue(nChecksum); -} - -bool EraseAccumulatorValues(const uint256& nCheckpointErase, const uint256& nCheckpointPrevious) -{ - for (auto& denomination : zerocoinDenomList) { - uint32_t nChecksumErase = ParseChecksum(nCheckpointErase, denomination); - uint32_t nChecksumPrevious = ParseChecksum(nCheckpointPrevious, denomination); - - //if the previous checksum is the same, then it should remain in the database and map - if(nChecksumErase == nChecksumPrevious) - continue; - - if (!EraseChecksum(nChecksumErase)) - return false; - } - - return true; -} - -bool LoadAccumulatorValuesFromDB(const uint256 nCheckpoint) -{ - for (auto& denomination : zerocoinDenomList) { - uint32_t nChecksum = ParseChecksum(nCheckpoint, denomination); - - //if read is not successful then we are not in a state to verify zerocoin transactions - CBigNum bnValue; - if (!zerocoinDB->ReadAccumulatorValue(nChecksum, bnValue)) { - if (!count(listAccCheckpointsNoDB.begin(), listAccCheckpointsNoDB.end(), nCheckpoint)) - listAccCheckpointsNoDB.push_back(nCheckpoint); - LogPrint("zero", "%s : Missing databased value for checksum %d", __func__, nChecksum); - return false; - } - mapAccumulatorValues.insert(make_pair(nChecksum, bnValue)); - } - return true; -} - -//Erase accumulator checkpoints for a certain block range -bool EraseCheckpoints(int nStartHeight, int nEndHeight) -{ - if (chainActive.Height() < nStartHeight) - return false; - - nEndHeight = min(chainActive.Height(), nEndHeight); - - CBlockIndex* pindex = chainActive[nStartHeight]; - uint256 nCheckpointPrev = pindex->pprev->nAccumulatorCheckpoint; - - //Keep a list of checkpoints from the previous block so that we don't delete them - list listCheckpointsPrev; - for (auto denom : zerocoinDenomList) - listCheckpointsPrev.emplace_back(ParseChecksum(nCheckpointPrev, denom)); - - while (true) { - uint256 nCheckpointDelete = pindex->nAccumulatorCheckpoint; - - for (auto denom : zerocoinDenomList) { - uint32_t nChecksumDelete = ParseChecksum(nCheckpointDelete, denom); - if (count(listCheckpointsPrev.begin(), listCheckpointsPrev.end(), nCheckpointDelete)) - continue; - EraseChecksum(nChecksumDelete); - } - LogPrintf("%s : erasing checksums for block %d\n", __func__, pindex->nHeight); - - if (pindex->nHeight + 1 <= nEndHeight) - pindex = chainActive.Next(pindex); - else - break; - } - - return true; -} - -bool InitializeAccumulators(const int nHeight, int& nHeightCheckpoint, AccumulatorMap& mapAccumulators) -{ - if (nHeight < Params().Zerocoin_StartHeight()) - return error("%s: height is below zerocoin activated", __func__); - - //On a specific block, a recalculation of the accumulators will be forced - if (nHeight == Params().Zerocoin_Block_RecalculateAccumulators() && Params().NetworkID() != CBaseChainParams::REGTEST) { - mapAccumulators.Reset(); - if (!mapAccumulators.Load(chainActive[Params().Zerocoin_Block_LastGoodCheckpoint()]->nAccumulatorCheckpoint)) - return error("%s: failed to reset to previous checkpoint when recalculating accumulators", __func__); - - // Erase the checkpoints from the period of time that bad mints were being made - if (!EraseCheckpoints(Params().Zerocoin_Block_LastGoodCheckpoint() + 1, nHeight)) - return error("%s : failed to erase Checkpoints while recalculating checkpoints", __func__); - - nHeightCheckpoint = Params().Zerocoin_Block_LastGoodCheckpoint(); - return true; - } - - if (nHeight >= Params().Zerocoin_Block_V2_Start()) { - //after v2_start, accumulators need to use v2 params - mapAccumulators.Reset(Params().Zerocoin_Params(false)); - - // 20 after v2 start is when the new checkpoints will be in the block, so don't need to load hard checkpoints - if (nHeight <= Params().Zerocoin_Block_V2_Start() + 20 && Params().NetworkID() != CBaseChainParams::REGTEST) { - //Load hard coded checkpointed value - AccumulatorCheckpoints::Checkpoint checkpoint = AccumulatorCheckpoints::GetClosestCheckpoint(nHeight, - nHeightCheckpoint); - if (nHeightCheckpoint < 0) - return error("%s: failed to load hard-checkpoint for block %s", __func__, nHeight); - - mapAccumulators.Load(checkpoint); - return true; - } - } - - //Use the previous block's checkpoint to initialize the accumulator's state - uint256 nCheckpointPrev = chainActive[nHeight - 1]->nAccumulatorCheckpoint; - if (nCheckpointPrev == 0) - mapAccumulators.Reset(); - else if (!mapAccumulators.Load(nCheckpointPrev)) - return error("%s: failed to reset to previous checkpoint", __func__); - - nHeightCheckpoint = nHeight; - return true; -} - -//Get checkpoint value for a specific block height -bool CalculateAccumulatorCheckpoint(int nHeight, uint256& nCheckpoint, AccumulatorMap& mapAccumulators) -{ - if (nHeight < Params().Zerocoin_Block_V2_Start()) { - nCheckpoint = 0; - return true; - } - - //the checkpoint is updated every ten blocks, return current active checkpoint if not update block - if (nHeight % 10 != 0) { - nCheckpoint = chainActive[nHeight - 1]->nAccumulatorCheckpoint; - return true; - } - - //set the accumulators to last checkpoint value - int nHeightCheckpoint; - mapAccumulators.Reset(); - if (!InitializeAccumulators(nHeight, nHeightCheckpoint, mapAccumulators)) - return error("%s: failed to initialize accumulators", __func__); - - //Whether this should filter out invalid/fraudulent outpoints - bool fFilterInvalid = nHeight >= Params().Zerocoin_Block_RecalculateAccumulators(); - - //Accumulate all coins over the last ten blocks that havent been accumulated (height - 20 through height - 11) - int nTotalMintsFound = 0; - CBlockIndex *pindex = chainActive[nHeightCheckpoint - 20]; - - while (pindex->nHeight < nHeight - 10) { - // checking whether we should stop this process due to a shutdown request - if (ShutdownRequested()) - return false; - - //make sure this block is eligible for accumulation - if (pindex->nHeight < Params().Zerocoin_StartHeight()) { - pindex = chainActive[pindex->nHeight + 1]; - continue; - } - - //grab mints from this block - CBlock block; - if(!ReadBlockFromDisk(block, pindex)) - return error("%s: failed to read block from disk", __func__); - - std::list listPubcoins; - if (!BlockToPubcoinList(block, listPubcoins, fFilterInvalid)) - return error("%s: failed to get zerocoin mintlist from block %d", __func__, pindex->nHeight); - - nTotalMintsFound += listPubcoins.size(); - LogPrint("zero", "%s found %d mints\n", __func__, listPubcoins.size()); - - //add the pubcoins to accumulator - for (const PublicCoin& pubcoin : listPubcoins) { - if(!mapAccumulators.Accumulate(pubcoin, true)) - return error("%s: failed to add pubcoin to accumulator at height %d", __func__, pindex->nHeight); - } - pindex = chainActive.Next(pindex); - } - - // if there were no new mints found, the accumulator checkpoint will be the same as the last checkpoint - if (nTotalMintsFound == 0) - nCheckpoint = chainActive[nHeight - 1]->nAccumulatorCheckpoint; - else - nCheckpoint = mapAccumulators.GetCheckpoint(); - - LogPrint("zero", "%s checkpoint=%s\n", __func__, nCheckpoint.GetHex()); - return true; -} - -bool InvalidCheckpointRange(int nHeight) -{ - return nHeight > Params().Zerocoin_Block_LastGoodCheckpoint() && nHeight < Params().Zerocoin_Block_RecalculateAccumulators(); -} - -bool ValidateAccumulatorCheckpoint(const CBlock& block, CBlockIndex* pindex, AccumulatorMap& mapAccumulators) -{ - //V1 accumulators are completely phased out by the time this code hits the public and begins generating new checkpoints - //It is VERY IMPORTANT that when this is being run and height < v2_start, then xION need to be disabled at the same time!! - if (pindex->nHeight < Params().Zerocoin_Block_V2_Start() || fVerifyingBlocks) - return true; - - if (pindex->nHeight % 10 == 0) { - uint256 nCheckpointCalculated = 0; - - if (!CalculateAccumulatorCheckpoint(pindex->nHeight, nCheckpointCalculated, mapAccumulators)) - return error("%s : failed to calculate accumulator checkpoint", __func__); - - if (nCheckpointCalculated != block.nAccumulatorCheckpoint) { - LogPrintf("%s: block=%d calculated: %s\n block: %s\n", __func__, pindex->nHeight, nCheckpointCalculated.GetHex(), block.nAccumulatorCheckpoint.GetHex()); - return error("%s : accumulator does not match calculated value", __func__); - } - - return true; - } - - if (block.nAccumulatorCheckpoint != pindex->pprev->nAccumulatorCheckpoint) - return error("%s : new accumulator checkpoint generated on a block that is not multiple of 10", __func__); - - return true; -} - -void RandomizeSecurityLevel(int& nSecurityLevel) -{ - //security level: this is an important prevention of tracing the coins via timing. Security level represents how many checkpoints - //of accumulated coins are added *beyond* the checkpoint that the mint being spent was added too. If each spend added the exact same - //amounts of checkpoints after the mint was accumulated, then you could know the range of blocks that the mint originated from. - if (nSecurityLevel < 100) { - //add some randomness to the user's selection so that it is not always the same - nSecurityLevel += CBigNum::randBignum(10).getint(); - - //security level 100 represents adding all available coins that have been accumulated - user did not select this - if (nSecurityLevel >= 100) - nSecurityLevel = 99; - } -} - -//Compute how many coins were added to an accumulator up to the end height -int ComputeAccumulatedCoins(int nHeightEnd, libzerocoin::CoinDenomination denom) -{ - CBlockIndex* pindex = chainActive[GetZerocoinStartHeight()]; - int n = 0; - while (pindex->nHeight < nHeightEnd) { - n += count(pindex->vMintDenominationsInBlock.begin(), pindex->vMintDenominationsInBlock.end(), denom); - pindex = chainActive.Next(pindex); - } - - return n; -} - -list GetPubcoinFromBlock(const CBlockIndex* pindex){ - //grab mints from this block - CBlock block; - if(!ReadBlockFromDisk(block, pindex)) - throw GetPubcoinException("GetPubcoinFromBlock: failed to read block from disk while adding pubcoins to witness"); - list listPubcoins; - if(!BlockToPubcoinList(block, listPubcoins, true)) - throw GetPubcoinException("GetPubcoinFromBlock: failed to get zerocoin mintlist from block "+std::to_string(pindex->nHeight)+"\n"); - return listPubcoins; -} - -int AddBlockMintsToAccumulator(const CoinDenomination den, const CBloomFilter filter, const CBlockIndex* pindex, - libzerocoin::Accumulator* accumulator, bool isWitness, list& notAddedCoins) -{ - // if this block contains mints of the denomination that is being spent, then add them to the witness - int nMintsAdded = 0; - if (pindex->MintedDenomination(den)) { - //grab mints from this block - list listPubcoins = GetPubcoinFromBlock(pindex); - - //add the mints to the witness - for (const PublicCoin& pubcoin : listPubcoins) { - if (pubcoin.getDenomination() != den) { - continue; - } - - bool filterContains = filter.contains(pubcoin.getValue().getvch()); - - if (isWitness && filterContains) { - notAddedCoins.emplace_back(pubcoin.getValue()); - continue; - } - - accumulator->increment(pubcoin.getValue()); - ++nMintsAdded; - } - } - - return nMintsAdded; -} - -int AddBlockMintsToAccumulator(const libzerocoin::PublicCoin& coin, const int nHeightMintAdded, const CBlockIndex* pindex, - libzerocoin::Accumulator* accumulator, bool isWitness) -{ - // if this block contains mints of the denomination that is being spent, then add them to the witness - int nMintsAdded = 0; - if (pindex->MintedDenomination(coin.getDenomination())) { - //grab mints from this block - list listPubcoins = GetPubcoinFromBlock(pindex); - - //add the mints to the witness - for (const PublicCoin& pubcoin : listPubcoins) { - if (pubcoin.getDenomination() != coin.getDenomination()) - continue; - - if (isWitness && pindex->nHeight == nHeightMintAdded && pubcoin.getValue() == coin.getValue()) - continue; - - accumulator->increment(pubcoin.getValue()); - ++nMintsAdded; - } - } - - return nMintsAdded; -} - -bool GetAccumulatorValue(int& nHeight, const libzerocoin::CoinDenomination denom, CBigNum& bnAccValue) -{ - if (nHeight > chainActive.Height()) - return error("%s: height %d is more than active chain height", __func__, nHeight); - - //Every situation except for about 20 blocks should use this method - uint256 nCheckpointBeforeMint = chainActive[nHeight]->nAccumulatorCheckpoint; - if (nHeight > Params().Zerocoin_Block_V2_Start() + 20) { - return GetAccumulatorValueFromDB(nCheckpointBeforeMint, denom, bnAccValue); - } - - int nHeightCheckpoint = 0; - AccumulatorCheckpoints::Checkpoint checkpoint = AccumulatorCheckpoints::GetClosestCheckpoint(nHeight, nHeightCheckpoint); - if (nHeightCheckpoint < 0) { - //Start at the first zerocoin - libzerocoin::Accumulator accumulator(Params().Zerocoin_Params(false), denom); - bnAccValue = accumulator.getValue(); - nHeight = Params().Zerocoin_StartHeight() + 10; - return true; - } - - nHeight = nHeightCheckpoint; - bnAccValue = checkpoint.at(denom); - - return true; -} - -/** - * TODO: Why we are locking the wallet in this way? - * @return - */ -bool LockMethod(){ - int nLockAttempts = 0; - while (nLockAttempts < 100) { - TRY_LOCK(cs_main, lockMain); - if(!lockMain) { - MilliSleep(50); - nLockAttempts++; - continue; - } - break; - } - if (nLockAttempts == 100) - return error("%s: could not get lock on cs_main", __func__); - // locked - return true; -} - -std::list calculateAccumulatedBlocksFor( - int startHeight, - int nHeightStop, - CBlockIndex *pindex, - int &nCheckpointsAdded, - CBigNum &bnAccValue, - libzerocoin::Accumulator &accumulator, - libzerocoin::CoinDenomination den, - int nSecurityLevel -){ - - std::list blocksToInclude; - int amountOfScannedBlocks = 0; - while (pindex) { - if (pindex->nHeight != startHeight && pindex->pprev->nAccumulatorCheckpoint != pindex->nAccumulatorCheckpoint) - ++nCheckpointsAdded; - - //If the security level is satisfied, or the stop height is reached, then initialize the accumulator from here - bool fSecurityLevelSatisfied = (nSecurityLevel != 100 && nCheckpointsAdded >= nSecurityLevel); - if (pindex->nHeight >= nHeightStop || fSecurityLevelSatisfied) { - //If this height is within the invalid range (when fraudulent coins were being minted), then continue past this range - if(InvalidCheckpointRange(pindex->nHeight)) - continue; - - bnAccValue = 0; - uint256 nCheckpointSpend = chainActive[pindex->nHeight + 10]->nAccumulatorCheckpoint; - if (!GetAccumulatorValueFromDB(nCheckpointSpend, den, bnAccValue) || bnAccValue == 0) { - throw new ChecksumInDbNotFoundException( - "calculateAccumulatedBlocksFor : failed to find checksum in database for accumulator"); - } - accumulator.setValue(bnAccValue); - break; - } - - // Add it - blocksToInclude.push_back(pindex); - - amountOfScannedBlocks++; - pindex = chainActive.Next(pindex); - } - - return blocksToInclude; -} - -bool CalculateAccumulatorWitnessFor( - const ZerocoinParams* params, - int startHeight, - int maxCalulationRange, - CoinDenomination den, - const CBloomFilter& filter, - Accumulator& accumulator, - AccumulatorWitness& witness, - int nSecurityLevel, - int& nMintsAdded, - string& strError, - list& ret, - int &heightStop -){ - // Lock - if (!LockMethod()) return false; - - try { - // Dummy coin init - PublicCoin temp(params, 0, den); - // Dummy Acc init - Accumulator testingAcc(params, den); - - //get the checkpoint added at the next multiple of 10 - int nHeightCheckpoint = startHeight + (10 - (startHeight % 10)); - - // Get the base accumulator - //CBigNum bnAccValue = accumulator.getValue(); - // TODO: This needs to be changed to the partial witness calculation on the next version. - CBigNum bnAccValue = 0; - if (GetAccumulatorValue(nHeightCheckpoint, den, bnAccValue)) { - accumulator.setValue(bnAccValue); - witness.resetValue(accumulator, temp); - } - - // Add the pubcoins from the blockchain up to the next checksum starting from the block - CBlockIndex *pindex = chainActive[nHeightCheckpoint -10]; - int nChainHeight = chainActive.Height(); - int nHeightStop = nChainHeight % 10; - nHeightStop = nChainHeight - nHeightStop - 20; // at least two checkpoints deep - - if (nHeightStop - startHeight > maxCalulationRange) { - int stop = (startHeight + maxCalulationRange); - int nHeightStop = stop % 10; - nHeightStop = stop - nHeightStop - 20; - } - heightStop = nHeightStop; - - // Iterate through the chain and calculate the witness - int nCheckpointsAdded = 0; - nMintsAdded = 0; - RandomizeSecurityLevel(nSecurityLevel); //make security level not always the same and predictable - // Starts on top of the witness that the node sent - libzerocoin::Accumulator witnessAccumulator(params, den, witness.getValue()); - - std::list blocksToInclude = calculateAccumulatedBlocksFor( - startHeight, - nHeightStop, - pindex, - nCheckpointsAdded, - bnAccValue, - accumulator, - den, - nSecurityLevel - ); - - // Now accumulate the coins - for (const CBlockIndex *blockIndex : blocksToInclude) { - nMintsAdded += AddBlockMintsToAccumulator(den, filter, blockIndex, &witnessAccumulator, true, ret); - } - - // A certain amount of accumulated coins are required - if (nMintsAdded < Params().Zerocoin_RequiredAccumulation()) { - strError = _(strprintf("Less than %d mints added, unable to create spend", - Params().Zerocoin_RequiredAccumulation()).c_str()); - throw NotEnoughMintsException(strError); - } - - witness.resetValue(witnessAccumulator, temp); - - // calculate how many mints of this denomination existed in the accumulator we initialized - nMintsAdded += ComputeAccumulatedCoins(startHeight, den); - LogPrint("zero", "%s : %d mints added to witness\n", __func__, nMintsAdded); - - return true; - - } catch (ChecksumInDbNotFoundException e) { - return error("%s: ChecksumInDbNotFoundException: %s", __func__, e.message); - } catch (GetPubcoinException e) { - return error("%s: GetPubcoinException: %s", __func__, e.message); - } -} - - -int SearchMintHeightOf(CBigNum value){ - uint256 txid; - if (!zerocoinDB->ReadCoinMint(value, txid)) - throw searchMintHeightException("searchForMintHeightOf:: failed to read mint from db"); - - CTransaction txMinted; - uint256 hashBlock; - if (!GetTransaction(txid, txMinted, hashBlock)) - throw searchMintHeightException("searchForMintHeightOf:: failed to read tx"); - - int nHeightTest; - if (!IsTransactionInChain(txid, nHeightTest)) - throw searchMintHeightException("searchForMintHeightOf:: mint tx "+ txid.GetHex() +" is not in chain"); - - return mapBlockIndex[hashBlock]->nHeight; -} - - -bool GenerateAccumulatorWitness( - const PublicCoin &coin, - Accumulator& accumulator, - AccumulatorWitness& witness, - int nSecurityLevel, - int& nMintsAdded, - string& strError, - CBlockIndex* pindexCheckpoint) -{ - try { - // Lock - LogPrint("zero", "%s: generating\n", __func__); - if (!LockMethod()) return false; - LogPrint("zero", "%s: after lock\n", __func__); - - int nHeightMintAdded = SearchMintHeightOf(coin.getValue()); - //get the checkpoint added at the next multiple of 10 - int nHeightCheckpoint = nHeightMintAdded + (10 - (nHeightMintAdded % 10)); - //the height to start accumulating coins to add to witness - int nAccStartHeight = nHeightMintAdded - (nHeightMintAdded % 10); - - //Get the accumulator that is right before the cluster of blocks containing our mint was added to the accumulator - CBigNum bnAccValue = 0; - if (GetAccumulatorValue(nHeightCheckpoint, coin.getDenomination(), bnAccValue)) { - if(!bnAccValue && Params().NetworkID() == CBaseChainParams::REGTEST){ - accumulator.setInitialValue(); - witness.resetValue(accumulator, coin); - }else { - accumulator.setValue(bnAccValue); - witness.resetValue(accumulator, coin); - } - } - - //add the pubcoins from the blockchain up to the next checksum starting from the block - CBlockIndex *pindex = chainActive[nHeightCheckpoint - 10]; - int nChainHeight = chainActive.Height(); - int nHeightStop = nChainHeight % 10; - nHeightStop = nChainHeight - nHeightStop - 20; // at least two checkpoints deep - - //If looking for a specific checkpoint - if (pindexCheckpoint) - nHeightStop = pindexCheckpoint->nHeight - 10; - - //Iterate through the chain and calculate the witness - int nCheckpointsAdded = 0; - nMintsAdded = 0; - RandomizeSecurityLevel(nSecurityLevel); //make security level not always the same and predictable - libzerocoin::Accumulator witnessAccumulator = accumulator; - - std::list blocksToInclude = calculateAccumulatedBlocksFor( - nAccStartHeight, - nHeightStop, - pindex, - nCheckpointsAdded, - bnAccValue, - accumulator, - coin.getDenomination(), - nSecurityLevel - ); - - // Now accumulate the coins - for (const CBlockIndex *blockIndex : blocksToInclude) { - nMintsAdded += AddBlockMintsToAccumulator(coin, nHeightMintAdded, blockIndex, &witnessAccumulator, true); - } - - witness.resetValue(witnessAccumulator, coin); - if (!witness.VerifyWitness(accumulator, coin)) - return error("%s: failed to verify witness", __func__); - - // A certain amount of accumulated coins are required - if (nMintsAdded < Params().Zerocoin_RequiredAccumulation()) { - strError = _(strprintf("Less than %d mints added, unable to create spend", - Params().Zerocoin_RequiredAccumulation()).c_str()); - return error("%s : %s", __func__, strError); - } - - // calculate how many mints of this denomination existed in the accumulator we initialized - nMintsAdded += ComputeAccumulatedCoins(nAccStartHeight, coin.getDenomination()); - LogPrint("zero", "%s : %d mints added to witness\n", __func__, nMintsAdded); - - return true; - - // TODO: I know that could merge all of this exception but maybe it's not really good.. think if we should have a different treatment for each one - } catch (searchMintHeightException e) { - return error("%s: searchMintHeightException: %s", __func__, e.message); - } catch (ChecksumInDbNotFoundException e) { - return error("%s: ChecksumInDbNotFoundException: %s", __func__, e.message); - } catch (GetPubcoinException e) { - return error("%s: GetPubcoinException: %s", __func__, e.message); - } -} - - - -map GetMintMaturityHeight() -{ - map > mapDenomMaturity; - for (auto denom : libzerocoin::zerocoinDenomList) - mapDenomMaturity.insert(make_pair(denom, make_pair(0, 0))); - - int nConfirmedHeight = chainActive.Height() - Params().Zerocoin_MintRequiredConfirmations(); - - // A mint need to get to at least the min maturity height before it will spend. - int nMinimumMaturityHeight = nConfirmedHeight - (nConfirmedHeight % 10); - CBlockIndex* pindex = chainActive[nConfirmedHeight]; - - while (pindex && pindex->nHeight > Params().Zerocoin_StartHeight()) { - bool isFinished = true; - for (auto denom : libzerocoin::zerocoinDenomList) { - //If the denom has not already had a mint added to it, then see if it has a mint added on this block - if (mapDenomMaturity.at(denom).first < Params().Zerocoin_RequiredAccumulation()) { - mapDenomMaturity.at(denom).first += count(pindex->vMintDenominationsInBlock.begin(), - pindex->vMintDenominationsInBlock.end(), denom); - - //if mint was found then record this block as the first block that maturity occurs. - if (mapDenomMaturity.at(denom).first >= Params().Zerocoin_RequiredAccumulation()) - mapDenomMaturity.at(denom).second = std::min(pindex->nHeight, nMinimumMaturityHeight); - - //Signal that we are finished - isFinished = false; - } - } - - if (isFinished) - break; - pindex = chainActive[pindex->nHeight - 1]; - } - - //Generate final map - map mapRet; - for (auto denom : libzerocoin::zerocoinDenomList) - mapRet.insert(make_pair(denom, mapDenomMaturity.at(denom).second)); - - return mapRet; -} - -//Generate checkpoint value for a specific block height, starting with an empty accumulator -bool CalculateAccumulatorCheckpointWithoutDB(int nHeight, uint256& nCheckpoint, AccumulatorMap& mapAccumulators) -{ - if (nHeight < Params().Zerocoin_StartHeight()) { - nCheckpoint = 0; - return true; - } - - mapAccumulators.Reset(); - - //Whether this should filter out invalid/fraudulent outpoints - bool fFilterInvalid = nHeight >= Params().Zerocoin_Block_RecalculateAccumulators(); - - //Accumulate all coins over the full zerocoin period - int nTotalMintsFound = 0; - CBlockIndex *pindex = chainActive[Params().Zerocoin_StartHeight()]; - - while (pindex->nHeight < nHeight) { - // checking whether we should stop this process due to a shutdown request - if (ShutdownRequested()) - return false; - - //make sure this block is eligible for accumulation - if (pindex->nHeight < Params().Zerocoin_StartHeight()) { - pindex = chainActive[pindex->nHeight + 1]; - continue; - } - - //grab mints from this block - CBlock block; - if(!ReadBlockFromDisk(block, pindex)) - return error("%s: failed to read block from disk", __func__); - - std::list listPubcoins; - if (!BlockToPubcoinList(block, listPubcoins, fFilterInvalid)) - return error("%s: failed to get zerocoin mintlist from block %d", __func__, pindex->nHeight); - - nTotalMintsFound += listPubcoins.size(); - LogPrint("zero", "%s found %d mints\n", __func__, listPubcoins.size()); - - //add the pubcoins to accumulator - for (const PublicCoin pubcoin : listPubcoins) { - if(!mapAccumulators.Accumulate(pubcoin, true)) - return error("%s: failed to add pubcoin to accumulator at height %d", __func__, pindex->nHeight); - } - pindex = chainActive.Next(pindex); - } - - // if there were no new mints found, the accumulator checkpoint will be zero - if (nTotalMintsFound == 0) - nCheckpoint = 0; - else - nCheckpoint = mapAccumulators.GetCheckpoint(); - - LogPrint("zero", "%s checkpoint=%s\n", __func__, nCheckpoint.GetHex()); - return true; -} \ No newline at end of file diff --git a/src/accumulators.h b/src/accumulators.h deleted file mode 100644 index b3b7c0c3fd26f..0000000000000 --- a/src/accumulators.h +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) 2017-2018 The PIVX developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef ION_ACCUMULATORS_H -#define ION_ACCUMULATORS_H - -#include "libzerocoin/Accumulator.h" -#include "libzerocoin/Coin.h" -#include "libzerocoin/Denominations.h" -#include "primitives/zerocoin.h" -#include "accumulatormap.h" -#include "chain.h" -#include "uint256.h" -#include "bloom.h" - -class CBlockIndex; - -std::map GetMintMaturityHeight(); - -/** - * Calculate the acc witness for a single coin. - * @return true if the witness was calculated well - */ -bool GenerateAccumulatorWitness(const libzerocoin::PublicCoin &coin, - libzerocoin::Accumulator& accumulator, - libzerocoin::AccumulatorWitness& witness, - int nSecurityLevel, - int& nMintsAdded, - std::string& strError, - CBlockIndex* pindexCheckpoint = nullptr - ); - -bool CalculateAccumulatorWitnessFor( - const libzerocoin::ZerocoinParams* params, - int startingHeight, - int maxCalculationRange, - libzerocoin::CoinDenomination den, - const CBloomFilter& filter, - libzerocoin::Accumulator& accumulator, - libzerocoin::AccumulatorWitness& witness, - int nSecurityLevel, - int& nMintsAdded, - string& strError, - list& ret, - int &heightStop -); - - -list GetPubcoinFromBlock(const CBlockIndex* pindex); -bool GetAccumulatorValueFromDB(uint256 nCheckpoint, libzerocoin::CoinDenomination denom, CBigNum& bnAccValue); -bool GetAccumulatorValue(int& nHeight, const libzerocoin::CoinDenomination denom, CBigNum& bnAccValue); -bool GetAccumulatorValueFromChecksum(uint32_t nChecksum, bool fMemoryOnly, CBigNum& bnAccValue); -void AddAccumulatorChecksum(const uint32_t nChecksum, const CBigNum &bnValue, bool fMemoryOnly); -bool CalculateAccumulatorCheckpoint(int nHeight, uint256& nCheckpoint, AccumulatorMap& mapAccumulators); -bool CalculateAccumulatorCheckpointWithoutDB(int nHeight, uint256& nCheckpoint, AccumulatorMap& mapAccumulators); -void DatabaseChecksums(AccumulatorMap& mapAccumulators); -bool LoadAccumulatorValuesFromDB(const uint256 nCheckpoint); -bool EraseAccumulatorValues(const uint256& nCheckpointErase, const uint256& nCheckpointPrevious); -uint32_t ParseChecksum(uint256 nChecksum, libzerocoin::CoinDenomination denomination); -uint32_t GetChecksum(const CBigNum &bnValue); -int GetChecksumHeight(uint32_t nChecksum, libzerocoin::CoinDenomination denomination); -bool InvalidCheckpointRange(int nHeight); -bool ValidateAccumulatorCheckpoint(const CBlock& block, CBlockIndex* pindex, AccumulatorMap& mapAccumulators); - - -// Exceptions - -class NotEnoughMintsException : public std::exception { -public: - std::string message; - NotEnoughMintsException(const string &message) : message(message) {} -}; - -class GetPubcoinException : public std::exception { -public: - std::string message; - GetPubcoinException(const string &message) : message(message) {} -}; - -class ChecksumInDbNotFoundException : public std::exception { -public: - std::string message; - ChecksumInDbNotFoundException(const string &message) : message(message) {} -}; - -class searchMintHeightException : public std::exception { -public: - std::string message; - searchMintHeightException(const string &message) : message(message) {} -}; - -#endif //ION_ACCUMULATORS_H diff --git a/src/activemasternode.h b/src/activemasternode.h index 3b54c5738a944..613df1ba8b2b8 100644 --- a/src/activemasternode.h +++ b/src/activemasternode.h @@ -13,7 +13,7 @@ #include "net.h" #include "obfuscation.h" #include "sync.h" -#include "wallet.h" +#include "wallet/wallet.h" #define ACTIVE_MASTERNODE_INITIAL 0 // initial state #define ACTIVE_MASTERNODE_SYNC_IN_PROCESS 1 diff --git a/src/base58.cpp b/src/base58.cpp index 20672fe38f56f..83764fb1e7884 100644 --- a/src/base58.cpp +++ b/src/base58.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -9,7 +8,6 @@ #include "hash.h" #include "uint256.h" -#include #include #include #include @@ -155,7 +153,6 @@ bool DecodeBase58Check(const char* psz, std::vector& vchRet) } bool DecodeBase58Check(const std::string& str, std::vector& vchRet) - { return DecodeBase58Check(str.c_str(), vchRet); } @@ -236,79 +233,6 @@ class CBitcoinAddressVisitor : public boost::static_visitor bool operator()(const CNoDestination& no) const { return false; } }; -class DestinationEncoder : public boost::static_visitor -{ -private: - const CChainParams& m_params; - -public: - DestinationEncoder(const CChainParams& params) : m_params(params) {} - - std::string operator()(const CKeyID& id) const - { - std::vector data = m_params.Base58Prefix(CChainParams::PUBKEY_ADDRESS); - data.insert(data.end(), id.begin(), id.end()); - return EncodeBase58Check(data); - } - - std::string operator()(const CScriptID& id) const - { - std::vector data = m_params.Base58Prefix(CChainParams::SCRIPT_ADDRESS); - data.insert(data.end(), id.begin(), id.end()); - return EncodeBase58Check(data); - } - -/* - std::string operator()(const WitnessV0KeyHash& id) const - { - std::vector data = {0}; - ConvertBits<8, 5, true>(data, id.begin(), id.end()); - return bech32::Encode(m_params.Bech32HRP(), data); - } - - std::string operator()(const WitnessV0ScriptHash& id) const - { - std::vector data = {0}; - ConvertBits<8, 5, true>(data, id.begin(), id.end()); - return bech32::Encode(m_params.Bech32HRP(), data); - } - - std::string operator()(const WitnessUnknown& id) const - { - if (id.version < 1 || id.version > 16 || id.length < 2 || id.length > 40) { - return {}; - } - std::vector data = {(unsigned char)id.version}; - ConvertBits<8, 5, true>(data, id.program, id.program + id.length); - return bech32::Encode(m_params.Bech32HRP(), data); - } -*/ - std::string operator()(const CNoDestination& no) const { return {}; } -}; - -CTxDestination DecodeDestination(const std::string& str, const CChainParams& params) -{ - std::vector data; - uint160 hash; - if (DecodeBase58Check(str, data)) { - // base58-encoded Bitcoin addresses. - // Public-key-hash-addresses have version 0 (or 111 testnet). - // The data vector contains RIPEMD160(SHA256(pubkey)), where pubkey is the serialized public key. - const std::vector& pubkey_prefix = params.Base58Prefix(CChainParams::PUBKEY_ADDRESS); - if (data.size() == hash.size() + pubkey_prefix.size() && std::equal(pubkey_prefix.begin(), pubkey_prefix.end(), data.begin())) { - std::copy(data.begin() + pubkey_prefix.size(), data.end(), hash.begin()); - return CKeyID(hash); - } - // Script-hash-addresses have version 5 (or 196 testnet). - // The data vector contains RIPEMD160(SHA256(cscript)), where cscript is the serialized redemption script. - const std::vector& script_prefix = params.Base58Prefix(CChainParams::SCRIPT_ADDRESS); - if (data.size() == hash.size() + script_prefix.size() && std::equal(script_prefix.begin(), script_prefix.end(), data.begin())) { - std::copy(data.begin() + script_prefix.size(), data.end(), hash.begin()); - return CScriptID(hash); - } - } - return CNoDestination(); -} } // anon namespace bool CBitcoinAddress::Set(const CKeyID& id) @@ -402,13 +326,3 @@ bool CBitcoinSecret::SetString(const std::string& strSecret) { return SetString(strSecret.c_str()); } - -std::string EncodeLegacyAddr(const CTxDestination &dest, const CChainParams ¶ms) -{ - return boost::apply_visitor(DestinationEncoder(params), dest); -} - -CTxDestination DecodeLegacyAddr(const std::string &str, const CChainParams ¶ms) -{ - return DecodeDestination(str, params); -} \ No newline at end of file diff --git a/src/base58.h b/src/base58.h index 1b36c961f91d3..dae7a0c0edee8 100644 --- a/src/base58.h +++ b/src/base58.h @@ -1,7 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -102,6 +101,12 @@ class CBase58Data bool operator>(const CBase58Data& b58) const { return CompareTo(b58) > 0; } }; +/** base58-encoded ION addresses. + * Public-key-hash-addresses have version 0 (or 111 testnet). + * The data vector contains RIPEMD160(SHA256(pubkey)), where pubkey is the serialized public key. + * Script-hash-addresses have version 5 (or 196 testnet). + * The data vector contains RIPEMD160(SHA256(cscript)), where cscript is the serialized redemption script. + */ class CBitcoinAddress : public CBase58Data { public: @@ -112,11 +117,6 @@ class CBitcoinAddress : public CBase58Data bool IsValid(const CChainParams& params) const; CBitcoinAddress() {} - /* - * unmark for now - * reason: libbitcoin_server.a(libbitcoin_server_a-blockchain.o): In function `getserials(UniValue const&, bool)': -/media/dev/M2SSD/go/github.com/cevap/ion/src/./base58.h:115: undefined reference to `CBitcoinAddress::Set(boost::variant const&)' - */ CBitcoinAddress(const CTxDestination& dest) { Set(dest); } CBitcoinAddress(const std::string& strAddress) { SetString(strAddress); } CBitcoinAddress(const char* pszAddress) { SetString(pszAddress); } @@ -171,10 +171,4 @@ class CBitcoinExtKeyBase : public CBase58Data typedef CBitcoinExtKeyBase CBitcoinExtKey; typedef CBitcoinExtKeyBase CBitcoinExtPubKey; -/// Encode an old-style bitcoin address -std::string EncodeLegacyAddr(const CTxDestination &dest, const CChainParams &); - -/// Decode an old-style bitcoin address -CTxDestination DecodeLegacyAddr(const std::string &str, const CChainParams &); - #endif // BITCOIN_BASE58_H diff --git a/src/bip38.cpp b/src/bip38.cpp index df4b9a1c1f23c..365adae86e2d8 100644 --- a/src/bip38.cpp +++ b/src/bip38.cpp @@ -1,11 +1,9 @@ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "bip38.h" #include "base58.h" -#include "dstencode.h" #include "hash.h" #include "pubkey.h" #include "util.h" @@ -275,7 +273,7 @@ bool BIP38_Decrypt(std::string strPassphrase, std::string strEncryptedKey, uint2 CKey k; k.Set(privKey.begin(), privKey.end(), fCompressed); CPubKey pubkey = k.GetPubKey(); - string address = EncodeDestination(pubkey.GetID()); + string address = CBitcoinAddress(pubkey.GetID()).ToString(); return strAddressHash == AddressToBip38Hash(address); } diff --git a/src/bip38.h b/src/bip38.h index 12d876cd1e257..c1ffd48afeec5 100644 --- a/src/bip38.h +++ b/src/bip38.h @@ -1,5 +1,4 @@ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 35b1118794915..7521164e98604 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -227,6 +227,7 @@ class CMainParams : public CChainParams fHeadersFirstSyncingActive = false; nPoolMaxTransactions = 3; + nBudgetCycleBlocks = 43200; //!< Amount of blocks in a months period of time (using 1 minutes per) = (60*24*30) strSporkKey = "04e892d181f083856991c4e68f82b935dad9ca5dee2fb912ceb0247c3670725f879bfdb718be019f7a0bc53f77105f60a8ed750b16e55c220b4b6c47279d7dce17"; strSporkKeyOld = "04f8c457bd279e667228d38faf2032958ee80ead5ec3d04ab92eeab54ac078ea2a79a2a03dee10634123cc47ea795699bd02b6370e040b622b2f15bcc56dafc2b7"; strObfuscationPoolDummyAddress = "ijeSPVizJAFuKx4E3rEAcadQR5tZF9cjC8"; @@ -273,13 +274,13 @@ class CTestNetParams : public CMainParams pchMessageStart[3] = 0x69; vAlertPubKey = ParseHex("0432f3e3c6c8ce236579b3223debc2b684f0ffa14fd3fe6813eafe3f3dd3b45664d1efbdfe43441edc83d1c4507ab9bd395c8134797e04457965031a4b6413bb1a"); nDefaultPort = 27170; - bnProofOfWorkLimit = ~uint256(0) >> 20; // ION testnet starting difficulty is 1 / 2^12 + bnProofOfWorkLimit = ~uint256(0) >> 2; // ION starting difficulty is 1 / 2^12 nEnforceBlockUpgradeMajority = 4320; // 75% nRejectBlockOutdatedMajority = 5472; // 95% nToCheckBlockUpgradeMajority = 5760; // 4 days nMinerThreads = 0; nTargetTimespanMidas = 7 * 24 * 60 * 60; // 1 week - nTargetTimespanDGW = 1 * 60; // ion: 1 day + nTargetTimespanDGW = 1 * 60; // ION: 1 day nTargetSpacing = 1 * 60; // ION: 1 minute nLastPOWBlock = 200; nMaturity = 15; @@ -287,14 +288,13 @@ class CTestNetParams : public CMainParams nModifierUpdateBlock = 999999999; //approx Mon, 17 Apr 2017 04:00:00 GMT nMaxMoneyOut = 38600000 * COIN; nZerocoinStartHeight = 300; - nZerocoinStartTime = 1491737473; + nZerocoinStartTime = 1554332940; nBlockEnforceSerialRange = 1; //Enforce serial range starting this block nBlockRecalculateAccumulators = 999999999; //Trigger a recalculation of accumulators nBlockFirstFraudulent = 99999999; //First block that bad serials emerged nBlockLastGoodCheckpoint = 999999999; //Last valid accumulator checkpoint - nBlockEnforceInvalidUTXO = 0; //Start enforcing the invalid UTXO's - nInvalidAmountFiltered = 0; //Amount of invalid coins filtered through exchanges, that should be considered valid - nBlockZerocoinV2 = 300; //!> The block that zerocoin v2 becomes active + nBlockEnforceInvalidUTXO = 999999999; //Start enforcing the invalid UTXO's + nBlockZerocoinV2 = nZerocoinStartHeight + 1 ; //!> The block that zerocoin v2 becomes active nEnforceNewSporkKey = 1545361200; //!> Sporks signed after 12/21/2018 @ 3:00am (UTC) must use the new spork key nRejectOldSporkKey = 1545620400; //!> Reject old spork key after 12/24/2018 @ 3:00am (UTC) @@ -304,8 +304,8 @@ class CTestNetParams : public CMainParams nDGWStartTime = nZerocoinStartTime; // Fake Serial Attack - nFakeSerialBlockheightEnd = 301; - nSupplyBeforeFakeSerial = 0 * COIN; // zerocoin supply at block nFakeSerialBlockheightEnd + nFakeSerialBlockheightEnd = -1; + nSupplyBeforeFakeSerial = 0; //! Modify the testnet genesis block so the timestamp is valid for a later start. genesis.nTime = 1491737471; // GMT: Thursday, February 2, 2017 14:30:00 @@ -315,7 +315,6 @@ class CTestNetParams : public CMainParams hashGenesisBlock = genesis.GetHash(); assert(hashGenesisBlock == uint256("0x00000a5e695356de7ccae09478a4aa7053a402f7c2f57a40c44310d8fbe5d3c7")); - vFixedSeeds.clear(); vSeeds.clear(); vSeeds.push_back(CDNSSeedData("1", "testnet.seeder.baseserv.com")); @@ -343,6 +342,7 @@ class CTestNetParams : public CMainParams fTestnetToBeDeprecatedFieldRPC = true; nPoolMaxTransactions = 2; + nBudgetCycleBlocks = 144; //!< Ten cycles per day on testnet strSporkKey = "0430b1f83d3acb90cde0b7e0e1d9365c00bfaf04ab8614457cfa0766a787239dd47ad6ca478659dd5e401fccb7fea6fa83acad23a2c7b451aafe6fa2ae4cfd4a58"; strSporkKeyOld = "0470e14fc60a25e0eb4f6b1fe280e4c3f9427f7bb8b38f14a0c310c2e56402bdce0f25049bf22351dc3d07f389d4d433b339d8e1b991784f11df68f50340185c1d"; strObfuscationPoolDummyAddress = "TMPUBzcsHZawA32XYYDF9FHQp6icv492CV"; @@ -432,7 +432,7 @@ class CRegTestParams : public CTestNetParams nBudget_Fee_Confirmations = 3; // Number of confirmations for the finalization fee. We have to make this very short // here because we only have a 8 block finalization window on testnet bech32_hrp = "ionrt"; - + nZerocoinHeaderVersion = 8; //Block headers must be this version once zerocoin is active } const Checkpoints::CCheckpointData& Checkpoints() const { @@ -480,7 +480,6 @@ class CUnitTestParams : public CMainParams, public CModifiableParams }; static CUnitTestParams unitTestParams; - static CChainParams* pCurrentParams = 0; CModifiableParams* ModifiableParams() diff --git a/src/chainparams.h b/src/chainparams.h index 0d9f0063b7ba4..d1142b794a73b 100644 --- a/src/chainparams.h +++ b/src/chainparams.h @@ -96,6 +96,8 @@ class CChainParams const std::vector& FixedSeeds() const { return vFixedSeeds; } virtual const Checkpoints::CCheckpointData& Checkpoints() const = 0; int PoolMaxTransactions() const { return nPoolMaxTransactions; } + /** Return the number of blocks in a budget cycle */ + int GetBudgetCycleBlocks() const { return nBudgetCycleBlocks; } /** Spork key and Masternode Handling **/ std::string SporkKey() const { return strSporkKey; } @@ -182,6 +184,7 @@ class CChainParams bool fTestnetToBeDeprecatedFieldRPC; bool fHeadersFirstSyncingActive; int nPoolMaxTransactions; + int nBudgetCycleBlocks; std::string strSporkKey; std::string strSporkKeyOld; int64_t nEnforceNewSporkKey; diff --git a/src/chainparamsbase.cpp b/src/chainparamsbase.cpp index b71d4c8314e04..19061d18558a6 100644 --- a/src/chainparamsbase.cpp +++ b/src/chainparamsbase.cpp @@ -30,7 +30,7 @@ class CBaseMainParams : public CBaseChainParams static CBaseMainParams mainParams; /** - * Testnet (v3) + * Testnet (v4) */ class CBaseTestNetParams : public CBaseMainParams { @@ -53,7 +53,7 @@ class CBaseRegTestParams : public CBaseTestNetParams CBaseRegTestParams() { networkID = CBaseChainParams::REGTEST; - nRPCPort = 28171; + nRPCPort = 27171; strDataDir = "regtest"; } }; diff --git a/src/clientversion.h b/src/clientversion.h index c2be89142f4c5..31d39cd4f4c27 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -24,7 +24,7 @@ #define DO_STRINGIZE(X) #X //! Copyright string used in Windows .rc files -#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers, 2014-" STRINGIZE(COPYRIGHT_YEAR) " The Dash Core Developers, 2015-" STRINGIZE(COPYRIGHT_YEAR) " The PIVX Core Developers, 2018-" STRINGIZE(COPYRIGHT_YEAR) " The Ion Core Developers" +#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers, 2014-" STRINGIZE(COPYRIGHT_YEAR) " The Dash Core Developers, 2015-" STRINGIZE(COPYRIGHT_YEAR) " The PIVX Core Developers, 2018-" STRINGIZE(COPYRIGHT_YEAR) " The ION Core Developers" /** * iond-res.rc includes this file, but it cannot cope with real c++ code. diff --git a/src/coins.cpp b/src/coins.cpp index 824713b3c1d34..d93b77e09550b 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -141,12 +141,6 @@ const CCoins* CCoinsViewCache::AccessCoins(const uint256& txid) const } } -const Coin CCoinsViewCache::AccessCoin(const COutPoint &outpoint) const -{ - const CCoins* coins = AccessCoins(outpoint.hash); - return Coin(*coins, outpoint.n); -} - bool CCoinsViewCache::HaveCoins(const uint256& txid) const { CCoinsMap::const_iterator it = FetchCoins(txid); diff --git a/src/coins.h b/src/coins.h index b2acad94b4902..2c44c5ee44ce6 100644 --- a/src/coins.h +++ b/src/coins.h @@ -9,8 +9,6 @@ #define BITCOIN_COINS_H #include "compressor.h" -#include "core_memusage.h" -#include "memusage.h" #include "script/standard.h" #include "serialize.h" #include "uint256.h" @@ -289,77 +287,6 @@ class CCoins } }; -/** - * A UTXO entry. - * - * Serialized format: - * - VARINT((coinbase ? 1 : 0) | (coinstake ? 2 : 0) | (height << 2)) - * - the non-spent CTxOut (via CTxOutCompressor) - */ -class Coin -{ -public: - //! unspent transaction output - CTxOut out; - - //! whether containing transaction was a coinbase - unsigned int fCoinBase : 1; - - //! whether containing transaction was a coinstake - unsigned int fCoinStake : 1; - - //! at which height this containing transaction was included in the active block chain - uint32_t nHeight : 31; - - //! construct a Coin from a CTxOut and height/coinbase information. - Coin(CTxOut &&outIn, int nHeightIn, bool fCoinBaseIn, bool fCoinStakeIn) - : out(std::move(outIn)), fCoinBase(fCoinBaseIn), fCoinStake(fCoinStakeIn), nHeight(nHeightIn) - { - } - Coin(const CTxOut &outIn, int nHeightIn, bool fCoinBaseIn, bool fCoinStakeIn) : out(outIn), fCoinBase(fCoinBaseIn), fCoinStake(fCoinStakeIn), nHeight(nHeightIn) - { - } - Coin (const CCoins &coinsIn, uint32_t n) - : out(coinsIn.vout.at(n)), fCoinBase(coinsIn.fCoinBase), fCoinStake(coinsIn.fCoinStake), nHeight(coinsIn.nHeight) - { - } - - void Clear() - { - out.SetNull(); - fCoinBase = false; - fCoinStake = false; - nHeight = 0; - } - - //! empty constructor - Coin() : fCoinBase(false), fCoinStake(false), nHeight(0) {} - bool IsCoinBase() const { return fCoinBase; } - bool IsCoinStake() const { return fCoinStake; } - template - void Serialize(Stream &s) const - { - assert(!IsSpent()); - uint32_t code = nHeight * 4 + fCoinStake * 2 + fCoinBase; - ::Serialize(s, VARINT(code)); - ::Serialize(s, CTxOutCompressor(REF(out))); - } - - template - void Unserialize(Stream &s) - { - uint32_t code = 0; - ::Unserialize(s, VARINT(code)); - nHeight = code >> 2; - fCoinBase = code & 1; - fCoinStake = (code >> 1) & 1; - ::Unserialize(s, REF(CTxOutCompressor(out))); - } - - bool IsSpent() const { return out.IsNull(); } - size_t DynamicMemoryUsage() const { return memusage::DynamicUsage(out.scriptPubKey); } -}; - class CCoinsKeyHasher { private: @@ -514,15 +441,6 @@ class CCoinsViewCache : public CCoinsViewBacked */ const CCoins* AccessCoins(const uint256& txid) const; - /** - * Wrapper to provide a single utxo entry. - * - * Return a reference to Coin in the cache, or a pruned one if not found. This is - * more efficient than GetCoin. Modifications to other cache entries are - * allowed while accessing the returned pointer. - */ - const Coin AccessCoin(const COutPoint &output) const; - /** * Return a modifiable reference to a CCoins. If no entry with the given * txid exists, a new one is created. Simultaneous modifications are not @@ -541,7 +459,7 @@ class CCoinsViewCache : public CCoinsViewBacked unsigned int GetCacheSize() const; /** - * Amount of ioncoin.orging in to a transaction + * Amount of ion coming in to a transaction * Note that lightweight clients may not know anything besides the hash of previous transactions, * so may not be able to calculate this. * @@ -565,4 +483,4 @@ class CCoinsViewCache : public CCoinsViewBacked CCoinsMap::const_iterator FetchCoins(const uint256& txid) const; }; -#endif // BITCOIN_COINS_H +#endif // BITCOIN_COINS_H \ No newline at end of file diff --git a/src/compat/byteswap.h b/src/compat/byteswap.h index 5a5beb5514bfa..c331af2b5e646 100644 --- a/src/compat/byteswap.h +++ b/src/compat/byteswap.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2019 The Bitcoin Core developers +// Copyright (c) 2014-2017 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/compat/endian.h b/src/compat/endian.h index 635e09cf2a46f..4f244c39303da 100644 --- a/src/compat/endian.h +++ b/src/compat/endian.h @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2019 The Bitcoin Core developers +// Copyright (c) 2014-2017 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/compat/glibc_compat.cpp b/src/compat/glibc_compat.cpp index f46375e4f1fce..0a7ad6c08437a 100644 --- a/src/compat/glibc_compat.cpp +++ b/src/compat/glibc_compat.cpp @@ -1,6 +1,5 @@ -// Copyright (c) 2009-2019 The Bitcoin Core developers +// Copyright (c) 2009-2017 The Bitcoin Core developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/compat/glibc_sanity.cpp b/src/compat/glibc_sanity.cpp index 5c507b61b1fdc..0953c46542cd4 100644 --- a/src/compat/glibc_sanity.cpp +++ b/src/compat/glibc_sanity.cpp @@ -1,6 +1,5 @@ -// Copyright (c) 2009-2019 The Bitcoin Core developers +// Copyright (c) 2009-2017 The Bitcoin Core developers // Copyright (c) 2016-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/compat/glibcxx_sanity.cpp b/src/compat/glibcxx_sanity.cpp index a28c46ecfbdd6..342f621e9fc54 100644 --- a/src/compat/glibcxx_sanity.cpp +++ b/src/compat/glibcxx_sanity.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2009-2019 The Bitcoin Core developers +// Copyright (c) 2009-2017 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/compat/sanity.h b/src/compat/sanity.h index f4877afea2cde..909c4f6da82ff 100644 --- a/src/compat/sanity.h +++ b/src/compat/sanity.h @@ -1,4 +1,4 @@ -// Copyright (c) 2009-2019 The Bitcoin Core developers +// Copyright (c) 2009-2014 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/compat/strnlen.cpp b/src/compat/strnlen.cpp index 864347cbca960..0b2d1b2933a12 100644 --- a/src/compat/strnlen.cpp +++ b/src/compat/strnlen.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2009-2019 The Bitcoin Core developers +// Copyright (c) 2009-2017 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/consensus/validation.h b/src/consensus/validation.h deleted file mode 100644 index 603590c008364..0000000000000 --- a/src/consensus/validation.h +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2019 The Bitcoin Core developers -// Copyright (c) 2015-2017 The Bitcoin Unlimited developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef BITCOIN_CONSENSUS_VALIDATION_H -#define BITCOIN_CONSENSUS_VALIDATION_H - -#include - -#include "util.h" - -/** "reject" message codes */ -static const unsigned char REJECT_MALFORMED = 0x01; -static const unsigned char REJECT_INVALID = 0x10; -static const unsigned char REJECT_OBSOLETE = 0x11; -static const unsigned char REJECT_DUPLICATE = 0x12; -static const unsigned char REJECT_NONSTANDARD = 0x40; -static const unsigned char REJECT_DUST = 0x41; -static const unsigned char REJECT_INSUFFICIENTFEE = 0x42; -static const unsigned char REJECT_CHECKPOINT = 0x43; - -class CValidationState -{ -private: - enum mode_state { - MODE_VALID, //! everything ok - MODE_INVALID, //! network rule violation (DoS value may be set) - MODE_ERROR, //! run-time error - } mode; - int nDoS; - std::string strRejectReason; - unsigned int chRejectCode; - bool corruptionPossible; - std::string strDebugMessage; - -public: - CValidationState() : mode(MODE_VALID), nDoS(0), chRejectCode(0), corruptionPossible(false) {} - bool DoS(int level, bool ret = false, - unsigned int chRejectCodeIn = 0, std::string strRejectReasonIn = "", - bool corruptionIn = false, - const std::string &strDebugMessageIn="") { - chRejectCode = chRejectCodeIn; - strRejectReason = strRejectReasonIn; - corruptionPossible = corruptionIn; - strDebugMessage = strDebugMessageIn; - if (mode == MODE_ERROR) - return ret; - nDoS += level; - mode = MODE_INVALID; - return ret; - } - bool Invalid(bool ret = false, - unsigned int _chRejectCode = 0, std::string _strRejectReason = "", - const std::string &_strDebugMessage="") { - return DoS(0, ret, _chRejectCode, _strRejectReason, false, _strDebugMessage); - } - bool Error(std::string strRejectReasonIn = "") - { - if (mode == MODE_VALID) - strRejectReason = strRejectReasonIn; - mode = MODE_ERROR; - return false; - } - bool IsValid() const - { - return mode == MODE_VALID; - } - bool IsInvalid() const - { - return mode == MODE_INVALID; - } - bool IsError() const - { - return mode == MODE_ERROR; - } - bool IsInvalid(int& nDoSOut) const - { - if (IsInvalid()) { - nDoSOut = nDoS; - return true; - } - return false; - } - bool CorruptionPossible() const - { - return corruptionPossible; - } - unsigned int GetRejectCode() const { return chRejectCode; } - std::string GetRejectReason() const { return strRejectReason; } - std::string GetDebugMessage() const { return strDebugMessage; } -}; - -#endif // BITCOIN_CONSENSUS_VALIDATION_H diff --git a/src/core_write.cpp b/src/core_write.cpp index 5886b68f3bee7..68e30b5f761d5 100644 --- a/src/core_write.cpp +++ b/src/core_write.cpp @@ -6,7 +6,7 @@ #include "core_io.h" -#include "dstencode.h" +#include "base58.h" #include "primitives/transaction.h" #include "script/script.h" #include "script/standard.h" @@ -85,7 +85,7 @@ void ScriptPubKeyToUniv(const CScript& scriptPubKey, UniValue a(UniValue::VARR); BOOST_FOREACH (const CTxDestination& addr, addresses) - a.push_back(EncodeDestination(addr)); + a.push_back(CBitcoinAddress(addr).ToString()); out.pushKV("addresses", a); } diff --git a/src/crypter.cpp b/src/crypter.cpp index c61d69b6f9336..63e5fdde24923 100644 --- a/src/crypter.cpp +++ b/src/crypter.cpp @@ -15,7 +15,7 @@ #include #include #include -#include "wallet.h" +#include "wallet/wallet.h" bool CCrypter::SetKeyFromPassphrase(const SecureString& strKeyData, const std::vector& chSalt, const unsigned int nRounds, const unsigned int nDerivationMethod) { diff --git a/src/db.cpp b/src/db.cpp deleted file mode 100644 index 21fbf924ad291..0000000000000 --- a/src/db.cpp +++ /dev/null @@ -1,452 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2014 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "db.h" - -#include "addrman.h" -#include "hash.h" -#include "protocol.h" -#include "util.h" -#include "utilstrencodings.h" - -#include - -#ifndef WIN32 -#include -#endif - -#include -#include -#include - -using namespace std; -using namespace boost; - - -unsigned int nWalletDBUpdated; - - -// -// CDB -// - -CDBEnv bitdb; - -void CDBEnv::EnvShutdown() -{ - if (!fDbEnvInit) - return; - - fDbEnvInit = false; - int ret = dbenv.close(0); - if (ret != 0) - LogPrintf("CDBEnv::EnvShutdown : Error %d shutting down database environment: %s\n", ret, DbEnv::strerror(ret)); - if (!fMockDb) - DbEnv(0).remove(strPath.c_str(), 0); -} - -CDBEnv::CDBEnv() : dbenv(DB_CXX_NO_EXCEPTIONS) -{ - fDbEnvInit = false; - fMockDb = false; -} - -CDBEnv::~CDBEnv() -{ - EnvShutdown(); -} - -void CDBEnv::Close() -{ - EnvShutdown(); -} - -bool CDBEnv::Open(const boost::filesystem::path& pathIn) -{ - if (fDbEnvInit) - return true; - - boost::this_thread::interruption_point(); - - strPath = pathIn.string(); - boost::filesystem::path pathLogDir = pathIn / "database"; - TryCreateDirectory(pathLogDir); - boost::filesystem::path pathErrorFile = pathIn / "db.log"; - LogPrintf("CDBEnv::Open: LogDir=%s ErrorFile=%s\n", pathLogDir.string(), pathErrorFile.string()); - - unsigned int nEnvFlags = 0; - if (GetBoolArg("-privdb", true)) - nEnvFlags |= DB_PRIVATE; - - dbenv.set_lg_dir(pathLogDir.string().c_str()); - dbenv.set_cachesize(0, 0x100000, 1); // 1 MiB should be enough for just the wallet - dbenv.set_lg_bsize(0x10000); - dbenv.set_lg_max(1048576); - dbenv.set_lk_max_locks(40000); - dbenv.set_lk_max_objects(40000); - dbenv.set_errfile(fopen(pathErrorFile.string().c_str(), "a")); /// debug - dbenv.set_flags(DB_AUTO_COMMIT, 1); - dbenv.set_flags(DB_TXN_WRITE_NOSYNC, 1); - dbenv.log_set_config(DB_LOG_AUTO_REMOVE, 1); - int ret = dbenv.open(strPath.c_str(), - DB_CREATE | - DB_INIT_LOCK | - DB_INIT_LOG | - DB_INIT_MPOOL | - DB_INIT_TXN | - DB_THREAD | - DB_RECOVER | - nEnvFlags, - S_IRUSR | S_IWUSR); - if (ret != 0) - return error("CDBEnv::Open : Error %d opening database environment: %s\n", ret, DbEnv::strerror(ret)); - - fDbEnvInit = true; - fMockDb = false; - return true; -} - -void CDBEnv::MakeMock() -{ - if (fDbEnvInit) - throw runtime_error("CDBEnv::MakeMock : Already initialized"); - - boost::this_thread::interruption_point(); - - LogPrint("db", "CDBEnv::MakeMock\n"); - - dbenv.set_cachesize(1, 0, 1); - dbenv.set_lg_bsize(10485760 * 4); - dbenv.set_lg_max(10485760); - dbenv.set_lk_max_locks(10000); - dbenv.set_lk_max_objects(10000); - dbenv.set_flags(DB_AUTO_COMMIT, 1); - dbenv.log_set_config(DB_LOG_IN_MEMORY, 1); - int ret = dbenv.open(NULL, - DB_CREATE | - DB_INIT_LOCK | - DB_INIT_LOG | - DB_INIT_MPOOL | - DB_INIT_TXN | - DB_THREAD | - DB_PRIVATE, - S_IRUSR | S_IWUSR); - if (ret > 0) - throw runtime_error(strprintf("CDBEnv::MakeMock : Error %d opening database environment.", ret)); - - fDbEnvInit = true; - fMockDb = true; -} - -CDBEnv::VerifyResult CDBEnv::Verify(std::string strFile, bool (*recoverFunc)(CDBEnv& dbenv, std::string strFile)) -{ - LOCK(cs_db); - assert(mapFileUseCount.count(strFile) == 0); - - Db db(&dbenv, 0); - int result = db.verify(strFile.c_str(), NULL, NULL, 0); - if (result == 0) - return VERIFY_OK; - else if (recoverFunc == NULL) - return RECOVER_FAIL; - - // Try to recover: - bool fRecovered = (*recoverFunc)(*this, strFile); - return (fRecovered ? RECOVER_OK : RECOVER_FAIL); -} - -bool CDBEnv::Salvage(std::string strFile, bool fAggressive, std::vector& vResult) -{ - LOCK(cs_db); - assert(mapFileUseCount.count(strFile) == 0); - - u_int32_t flags = DB_SALVAGE; - if (fAggressive) - flags |= DB_AGGRESSIVE; - - stringstream strDump; - - Db db(&dbenv, 0); - int result = db.verify(strFile.c_str(), NULL, &strDump, flags); - if (result == DB_VERIFY_BAD) { - LogPrintf("CDBEnv::Salvage : Database salvage found errors, all data may not be recoverable.\n"); - if (!fAggressive) { - LogPrintf("CDBEnv::Salvage : Rerun with aggressive mode to ignore errors and continue.\n"); - return false; - } - } - if (result != 0 && result != DB_VERIFY_BAD) { - LogPrintf("CDBEnv::Salvage : Database salvage failed with result %d.\n", result); - return false; - } - - // Format of bdb dump is ascii lines: - // header lines... - // HEADER=END - // hexadecimal key - // hexadecimal value - // ... repeated - // DATA=END - - string strLine; - while (!strDump.eof() && strLine != "HEADER=END") - getline(strDump, strLine); // Skip past header - - std::string keyHex, valueHex; - while (!strDump.eof() && keyHex != "DATA=END") { - getline(strDump, keyHex); - if (keyHex != "DATA=END") { - getline(strDump, valueHex); - vResult.push_back(make_pair(ParseHex(keyHex), ParseHex(valueHex))); - } - } - - return (result == 0); -} - - -void CDBEnv::CheckpointLSN(const std::string& strFile) -{ - dbenv.txn_checkpoint(0, 0, 0); - if (fMockDb) - return; - dbenv.lsn_reset(strFile.c_str(), 0); -} - - -CDB::CDB(const std::string& strFilename, const char* pszMode) : pdb(NULL), activeTxn(NULL) -{ - int ret; - fReadOnly = (!strchr(pszMode, '+') && !strchr(pszMode, 'w')); - if (strFilename.empty()) - return; - - bool fCreate = strchr(pszMode, 'c') != NULL; - unsigned int nFlags = DB_THREAD; - if (fCreate) - nFlags |= DB_CREATE; - - { - LOCK(bitdb.cs_db); - if (!bitdb.Open(GetDataDir())) - throw runtime_error("CDB : Failed to open database environment."); - - strFile = strFilename; - ++bitdb.mapFileUseCount[strFile]; - pdb = bitdb.mapDb[strFile]; - if (pdb == NULL) { - pdb = new Db(&bitdb.dbenv, 0); - - bool fMockDb = bitdb.IsMock(); - if (fMockDb) { - DbMpoolFile* mpf = pdb->get_mpf(); - ret = mpf->set_flags(DB_MPOOL_NOFILE, 1); - if (ret != 0) - throw runtime_error(strprintf("CDB : Failed to configure for no temp file backing for database %s", strFile)); - } - - ret = pdb->open(NULL, // Txn pointer - fMockDb ? NULL : strFile.c_str(), // Filename - fMockDb ? strFile.c_str() : "main", // Logical db name - DB_BTREE, // Database type - nFlags, // Flags - 0); - - if (ret != 0) { - delete pdb; - pdb = NULL; - --bitdb.mapFileUseCount[strFile]; - strFile = ""; - throw runtime_error(strprintf("CDB : Error %d, can't open database %s", ret, strFile)); - } - - if (fCreate && !Exists(string("version"))) { - bool fTmp = fReadOnly; - fReadOnly = false; - WriteVersion(CLIENT_VERSION); - fReadOnly = fTmp; - } - - bitdb.mapDb[strFile] = pdb; - } - } -} - -void CDB::Flush() -{ - if (activeTxn) - return; - - // Flush database activity from memory pool to disk log - unsigned int nMinutes = 0; - if (fReadOnly) - nMinutes = 1; - - bitdb.dbenv.txn_checkpoint(nMinutes ? GetArg("-dblogsize", 100) * 1024 : 0, nMinutes, 0); -} - -void CDB::Close() -{ - if (!pdb) - return; - if (activeTxn) - activeTxn->abort(); - activeTxn = NULL; - pdb = NULL; - - Flush(); - - { - LOCK(bitdb.cs_db); - --bitdb.mapFileUseCount[strFile]; - } -} - -void CDBEnv::CloseDb(const string& strFile) -{ - { - LOCK(cs_db); - if (mapDb[strFile] != NULL) { - // Close the database handle - Db* pdb = mapDb[strFile]; - pdb->close(0); - delete pdb; - mapDb[strFile] = NULL; - } - } -} - -bool CDBEnv::RemoveDb(const string& strFile) -{ - this->CloseDb(strFile); - - LOCK(cs_db); - int rc = dbenv.dbremove(NULL, strFile.c_str(), NULL, DB_AUTO_COMMIT); - return (rc == 0); -} - -bool CDB::Rewrite(const string& strFile, const char* pszSkip) -{ - while (true) { - { - LOCK(bitdb.cs_db); - if (!bitdb.mapFileUseCount.count(strFile) || bitdb.mapFileUseCount[strFile] == 0) { - // Flush log data to the dat file - bitdb.CloseDb(strFile); - bitdb.CheckpointLSN(strFile); - bitdb.mapFileUseCount.erase(strFile); - - bool fSuccess = true; - LogPrintf("CDB::Rewrite : Rewriting %s...\n", strFile); - string strFileRes = strFile + ".rewrite"; - { // surround usage of db with extra {} - CDB db(strFile.c_str(), "r"); - Db* pdbCopy = new Db(&bitdb.dbenv, 0); - - int ret = pdbCopy->open(NULL, // Txn pointer - strFileRes.c_str(), // Filename - "main", // Logical db name - DB_BTREE, // Database type - DB_CREATE, // Flags - 0); - if (ret > 0) { - LogPrintf("CDB::Rewrite : Can't create database file %s\n", strFileRes); - fSuccess = false; - } - - Dbc* pcursor = db.GetCursor(); - if (pcursor) - while (fSuccess) { - CDataStream ssKey(SER_DISK, CLIENT_VERSION); - CDataStream ssValue(SER_DISK, CLIENT_VERSION); - int ret = db.ReadAtCursor(pcursor, ssKey, ssValue, DB_NEXT); - if (ret == DB_NOTFOUND) { - pcursor->close(); - break; - } else if (ret != 0) { - pcursor->close(); - fSuccess = false; - break; - } - if (pszSkip && - strncmp(&ssKey[0], pszSkip, std::min(ssKey.size(), strlen(pszSkip))) == 0) - continue; - if (strncmp(&ssKey[0], "\x07version", 8) == 0) { - // Update version: - ssValue.clear(); - ssValue << CLIENT_VERSION; - } - Dbt datKey(&ssKey[0], ssKey.size()); - Dbt datValue(&ssValue[0], ssValue.size()); - int ret2 = pdbCopy->put(NULL, &datKey, &datValue, DB_NOOVERWRITE); - if (ret2 > 0) - fSuccess = false; - } - if (fSuccess) { - db.Close(); - bitdb.CloseDb(strFile); - if (pdbCopy->close(0)) - fSuccess = false; - delete pdbCopy; - } - } - if (fSuccess) { - Db dbA(&bitdb.dbenv, 0); - if (dbA.remove(strFile.c_str(), NULL, 0)) - fSuccess = false; - Db dbB(&bitdb.dbenv, 0); - if (dbB.rename(strFileRes.c_str(), NULL, strFile.c_str(), 0)) - fSuccess = false; - } - if (!fSuccess) - LogPrintf("CDB::Rewrite : Failed to rewrite database file %s\n", strFileRes); - return fSuccess; - } - } - MilliSleep(100); - } - return false; -} - - -void CDBEnv::Flush(bool fShutdown) -{ - int64_t nStart = GetTimeMillis(); - // Flush log data to the actual data file on all files that are not in use - LogPrint("db", "CDBEnv::Flush : Flush(%s)%s\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " database not started"); - if (!fDbEnvInit) - return; - { - LOCK(cs_db); - map::iterator mi = mapFileUseCount.begin(); - while (mi != mapFileUseCount.end()) { - string strFile = (*mi).first; - int nRefCount = (*mi).second; - LogPrint("db", "CDBEnv::Flush : Flushing %s (refcount = %d)...\n", strFile, nRefCount); - if (nRefCount == 0) { - // Move log data to the dat file - CloseDb(strFile); - LogPrint("db", "CDBEnv::Flush : %s checkpoint\n", strFile); - dbenv.txn_checkpoint(0, 0, 0); - LogPrint("db", "CDBEnv::Flush : %s detach\n", strFile); - if (!fMockDb) - dbenv.lsn_reset(strFile.c_str(), 0); - LogPrint("db", "CDBEnv::Flush : %s closed\n", strFile); - mapFileUseCount.erase(mi++); - } else - mi++; - } - LogPrint("db", "CDBEnv::Flush : Flush(%s)%s took %15dms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " database not started", GetTimeMillis() - nStart); - if (fShutdown) { - char** listp; - if (mapFileUseCount.empty()) { - dbenv.log_archive(&listp, DB_ARCH_REMOVE); - Close(); - if (!fMockDb) - boost::filesystem::remove_all(boost::filesystem::path(strPath) / "database"); - } - } - } -} diff --git a/src/db.h b/src/db.h deleted file mode 100644 index 2128c04349c0c..0000000000000 --- a/src/db.h +++ /dev/null @@ -1,314 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2014 The Bitcoin developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef BITCOIN_DB_H -#define BITCOIN_DB_H - -#include "clientversion.h" -#include "serialize.h" -#include "streams.h" -#include "sync.h" -#include "version.h" - -#include -#include -#include - -#include - -#include - -class CDiskBlockIndex; -class COutPoint; - -struct CBlockLocator; - -extern unsigned int nWalletDBUpdated; - -void ThreadFlushWalletDB(const std::string& strWalletFile); - - -class CDBEnv -{ -private: - bool fDbEnvInit; - bool fMockDb; - // Don't change into boost::filesystem::path, as that can result in - // shutdown problems/crashes caused by a static initialized internal pointer. - std::string strPath; - - void EnvShutdown(); - -public: - mutable CCriticalSection cs_db; - DbEnv dbenv; - std::map mapFileUseCount; - std::map mapDb; - - CDBEnv(); - ~CDBEnv(); - void MakeMock(); - bool IsMock() { return fMockDb; } - - /** - * Verify that database file strFile is OK. If it is not, - * call the callback to try to recover. - * This must be called BEFORE strFile is opened. - * Returns true if strFile is OK. - */ - enum VerifyResult { VERIFY_OK, - RECOVER_OK, - RECOVER_FAIL }; - VerifyResult Verify(std::string strFile, bool (*recoverFunc)(CDBEnv& dbenv, std::string strFile)); - /** - * Salvage data from a file that Verify says is bad. - * fAggressive sets the DB_AGGRESSIVE flag (see berkeley DB->verify() method documentation). - * Appends binary key/value pairs to vResult, returns true if successful. - * NOTE: reads the entire database into memory, so cannot be used - * for huge databases. - */ - typedef std::pair, std::vector > KeyValPair; - bool Salvage(std::string strFile, bool fAggressive, std::vector& vResult); - - bool Open(const boost::filesystem::path& path); - void Close(); - void Flush(bool fShutdown); - void CheckpointLSN(const std::string& strFile); - - void CloseDb(const std::string& strFile); - bool RemoveDb(const std::string& strFile); - - DbTxn* TxnBegin(int flags = DB_TXN_WRITE_NOSYNC) - { - DbTxn* ptxn = NULL; - int ret = dbenv.txn_begin(NULL, &ptxn, flags); - if (!ptxn || ret != 0) - return NULL; - return ptxn; - } -}; - -extern CDBEnv bitdb; - - -/** RAII class that provides access to a Berkeley database */ -class CDB -{ -protected: - Db* pdb; - std::string strFile; - DbTxn* activeTxn; - bool fReadOnly; - - explicit CDB(const std::string& strFilename, const char* pszMode = "r+"); - ~CDB() { Close(); } - -public: - void Flush(); - void Close(); - -private: - CDB(const CDB&); - void operator=(const CDB&); - -protected: - template - bool Read(const K& key, T& value) - { - if (!pdb) - return false; - - // Key - CDataStream ssKey(SER_DISK, CLIENT_VERSION); - ssKey.reserve(1000); - ssKey << key; - Dbt datKey(&ssKey[0], ssKey.size()); - - // Read - Dbt datValue; - datValue.set_flags(DB_DBT_MALLOC); - int ret = pdb->get(activeTxn, &datKey, &datValue, 0); - memset(datKey.get_data(), 0, datKey.get_size()); - if (datValue.get_data() == NULL) - return false; - - // Unserialize value - try { - CDataStream ssValue((char*)datValue.get_data(), (char*)datValue.get_data() + datValue.get_size(), SER_DISK, CLIENT_VERSION); - ssValue >> value; - } catch (const std::exception&) { - return false; - } - - // Clear and free memory - memset(datValue.get_data(), 0, datValue.get_size()); - free(datValue.get_data()); - return (ret == 0); - } - - template - bool Write(const K& key, const T& value, bool fOverwrite = true) - { - if (!pdb) - return false; - if (fReadOnly) - assert(!"Write called on database in read-only mode"); - - // Key - CDataStream ssKey(SER_DISK, CLIENT_VERSION); - ssKey.reserve(1000); - ssKey << key; - Dbt datKey(&ssKey[0], ssKey.size()); - - // Value - CDataStream ssValue(SER_DISK, CLIENT_VERSION); - ssValue.reserve(10000); - ssValue << value; - Dbt datValue(&ssValue[0], ssValue.size()); - - // Write - int ret = pdb->put(activeTxn, &datKey, &datValue, (fOverwrite ? 0 : DB_NOOVERWRITE)); - - // Clear memory in case it was a private key - memset(datKey.get_data(), 0, datKey.get_size()); - memset(datValue.get_data(), 0, datValue.get_size()); - return (ret == 0); - } - - template - bool Erase(const K& key) - { - if (!pdb) - return false; - if (fReadOnly) - assert(!"Erase called on database in read-only mode"); - - // Key - CDataStream ssKey(SER_DISK, CLIENT_VERSION); - ssKey.reserve(1000); - ssKey << key; - Dbt datKey(&ssKey[0], ssKey.size()); - - // Erase - int ret = pdb->del(activeTxn, &datKey, 0); - - // Clear memory - memset(datKey.get_data(), 0, datKey.get_size()); - return (ret == 0 || ret == DB_NOTFOUND); - } - - template - bool Exists(const K& key) - { - if (!pdb) - return false; - - // Key - CDataStream ssKey(SER_DISK, CLIENT_VERSION); - ssKey.reserve(1000); - ssKey << key; - Dbt datKey(&ssKey[0], ssKey.size()); - - // Exists - int ret = pdb->exists(activeTxn, &datKey, 0); - - // Clear memory - memset(datKey.get_data(), 0, datKey.get_size()); - return (ret == 0); - } - - Dbc* GetCursor() - { - if (!pdb) - return NULL; - Dbc* pcursor = NULL; - int ret = pdb->cursor(NULL, &pcursor, 0); - if (ret != 0) - return NULL; - return pcursor; - } - - int ReadAtCursor(Dbc* pcursor, CDataStream& ssKey, CDataStream& ssValue, unsigned int fFlags = DB_NEXT) - { - // Read at cursor - Dbt datKey; - if (fFlags == DB_SET || fFlags == DB_SET_RANGE || fFlags == DB_GET_BOTH || fFlags == DB_GET_BOTH_RANGE) { - datKey.set_data(&ssKey[0]); - datKey.set_size(ssKey.size()); - } - Dbt datValue; - if (fFlags == DB_GET_BOTH || fFlags == DB_GET_BOTH_RANGE) { - datValue.set_data(&ssValue[0]); - datValue.set_size(ssValue.size()); - } - datKey.set_flags(DB_DBT_MALLOC); - datValue.set_flags(DB_DBT_MALLOC); - int ret = pcursor->get(&datKey, &datValue, fFlags); - if (ret != 0) - return ret; - else if (datKey.get_data() == NULL || datValue.get_data() == NULL) - return 99999; - - // Convert to streams - ssKey.SetType(SER_DISK); - ssKey.clear(); - ssKey.write((char*)datKey.get_data(), datKey.get_size()); - ssValue.SetType(SER_DISK); - ssValue.clear(); - ssValue.write((char*)datValue.get_data(), datValue.get_size()); - - // Clear and free memory - memset(datKey.get_data(), 0, datKey.get_size()); - memset(datValue.get_data(), 0, datValue.get_size()); - free(datKey.get_data()); - free(datValue.get_data()); - return 0; - } - -public: - bool TxnBegin() - { - if (!pdb || activeTxn) - return false; - DbTxn* ptxn = bitdb.TxnBegin(); - if (!ptxn) - return false; - activeTxn = ptxn; - return true; - } - - bool TxnCommit() - { - if (!pdb || !activeTxn) - return false; - int ret = activeTxn->commit(0); - activeTxn = NULL; - return (ret == 0); - } - - bool TxnAbort() - { - if (!pdb || !activeTxn) - return false; - int ret = activeTxn->abort(); - activeTxn = NULL; - return (ret == 0); - } - - bool ReadVersion(int& nVersion) - { - nVersion = 0; - return Read(std::string("version"), nVersion); - } - - bool WriteVersion(int nVersion) - { - return Write(std::string("version"), nVersion); - } - - bool static Rewrite(const std::string& strFile, const char* pszSkip = NULL); -}; - -#endif // BITCOIN_DB_H diff --git a/src/denomination_functions.h b/src/denomination_functions.h index 58a087a8e5f37..d795268cd080b 100644 --- a/src/denomination_functions.h +++ b/src/denomination_functions.h @@ -6,7 +6,7 @@ #include "reverse_iterate.h" #include "util.h" #include "libzerocoin/Denominations.h" -#include "primitives/zerocoin.h" +#include "xion/zerocoin.h" #include #include std::vector SelectMintsFromList(const CAmount nValueTarget, CAmount& nSelectedValue, diff --git a/src/dstencode.cpp b/src/dstencode.cpp index a802b6717d2aa..7f290e6de86ad 100644 --- a/src/dstencode.cpp +++ b/src/dstencode.cpp @@ -29,4 +29,4 @@ bool IsValidDestinationString(const std::string &addr, const CChainParams ¶m std::string EncodeDestination(const CTxDestination &dst) { return EncodeDestination(dst, Params()); } CTxDestination DecodeDestination(const std::string &addr) { return DecodeDestination(addr, Params()); } -bool IsValidDestinationString(const std::string &addr) { return IsValidDestinationString(addr, Params()); } +bool IsValidDestinationString(const std::string &addr) { return IsValidDestinationString(addr, Params()); } \ No newline at end of file diff --git a/src/init.cpp b/src/init.cpp index df7f59b2871f5..7d03ea2edf95e 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -12,8 +12,8 @@ #include "init.h" -#include "accumulatorcheckpoints.h" -#include "accumulators.h" +#include "xion/accumulatorcheckpoints.h" +#include "xion/accumulators.h" #include "activemasternode.h" #include "addrman.h" #include "amount.h" @@ -44,10 +44,10 @@ #include "xionchain.h" #ifdef ENABLE_WALLET -#include "db.h" -#include "wallet.h" -#include "walletdb.h" -#include "accumulators.h" +#include "wallet/db.h" +#include "wallet/wallet.h" +#include "wallet/walletdb.h" +#include "xion/accumulators.h" #endif @@ -502,7 +502,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-stopafterblockimport", strprintf(_("Stop running after importing blocks from disk (default: %u)"), 0)); strUsage += HelpMessageOpt("-sporkkey=", _("Enable spork administration functionality with the appropriate private key.")); } - string debugCategories = "addrman, alert, bench, coindb, db, lock, rand, rpc, selectcoins, tor, mempool, net, proxy, http, libevent, ion, (obfuscation, swiftx, masternode, mnpayments, mnbudget, zero)"; // Don't translate these and qt below + string debugCategories = "addrman, alert, bench, coindb, db, lock, rand, rpc, selectcoins, tor, mempool, net, proxy, http, libevent, ion, (obfuscation, swiftx, masternode, mnpayments, mnbudget, zero, precompute, staking)"; // Don't translate these and qt below if (mode == HMM_BITCOIN_QT) debugCategories += ", qt"; strUsage += HelpMessageOpt("-debug=", strprintf(_("Output debugging information (default: %u, supplying is optional)"), 0) + ". " + @@ -561,6 +561,8 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-zeromintpercentage=", strprintf(_("Percentage of automatically minted Zerocoin (1-100, default: %u)"), 10)); strUsage += HelpMessageOpt("-preferredDenom=", strprintf(_("Preferred Denomination for automatically minted Zerocoin (1/5/10/50/100/500/1000/5000), 0 for no preference. default: %u)"), 0)); strUsage += HelpMessageOpt("-backupxion=", strprintf(_("Enable automatic wallet backups triggered after each xION minting (0-1, default: %u)"), 1)); + strUsage += HelpMessageOpt("-precompute=", strprintf(_("Enable precomputation of zPIV spends and stakes (0-1, default %u)"), 1)); + strUsage += HelpMessageOpt("-precomputecachelength=", strprintf(_("Set the number of included blocks to precompute per cycle. (minimum: %d) (maximum: %d) (default: %d)"), MIN_PRECOMPUTE_LENGTH, MAX_PRECOMPUTE_LENGTH, DEFAULT_PRECOMPUTE_LENGTH)); strUsage += HelpMessageOpt("-xionbackuppath=", _("Specify custom backup path to add a copy of any automatic xION backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. If backuppath is set as well, 4 backups will happen")); #endif // ENABLE_WALLET strUsage += HelpMessageOpt("-reindexzerocoin=", strprintf(_("Delete all zerocoin spends and mints that have been recorded to the blockchain database and reindex them (0-1, default: %u)"), 0)); @@ -614,7 +616,7 @@ std::string LicenseInfo() "\n" + FormatParagraph(strprintf(_("Copyright (C) 2015-%i The PIVX Core Developers"), COPYRIGHT_YEAR)) + "\n" + "\n" + - FormatParagraph(strprintf(_("Copyright (C) 2018-%i The Ion Core Developers"), COPYRIGHT_YEAR)) + "\n" + + FormatParagraph(strprintf(_("Copyright (C) 2018-%i The ION Core Developers"), COPYRIGHT_YEAR)) + "\n" + "\n" + FormatParagraph(_("This is experimental software.")) + "\n" + "\n" + diff --git a/src/ion-tx.cpp b/src/ion-tx.cpp index 56830b4892bfa..b8023d9b89613 100644 --- a/src/ion-tx.cpp +++ b/src/ion-tx.cpp @@ -224,12 +224,12 @@ static void MutateTxAddOutAddr(CMutableTransaction& tx, const string& strInput) // extract and validate ADDRESS string strAddr = strInput.substr(pos + 1, string::npos); - CTxDestination destination = DecodeDestination(strAddr); - if (!IsValidDestination(destination)) { + CBitcoinAddress addr(strAddr); + if (!addr.IsValid()) throw runtime_error("invalid TX output address"); - } - CScript scriptPubKey = GetScriptForDestination(destination); + // build standard output script via GetScriptForDestination() + CScript scriptPubKey = GetScriptForDestination(addr.Get()); // construct TxOut, append to transaction output list CTxOut txout(value, scriptPubKey); diff --git a/src/kernel.cpp b/src/kernel.cpp index 4d0ca563788b9..3e4803da02e63 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -6,7 +6,7 @@ #include -#include "db.h" +#include "wallet/db.h" #include "kernel.h" #include "script/interpreter.h" #include "timedata.h" diff --git a/src/leveldb/LICENSE b/src/leveldb/LICENSE index 8e80208cd72b3..3bc1870d4996a 100644 --- a/src/leveldb/LICENSE +++ b/src/leveldb/LICENSE @@ -7,7 +7,7 @@ met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer +copyright notice, this list of conditpivxs and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its diff --git a/src/libzerocoin/Accumulator.cpp b/src/libzerocoin/Accumulator.cpp index ad312800cdf2e..f73f505d654b7 100644 --- a/src/libzerocoin/Accumulator.cpp +++ b/src/libzerocoin/Accumulator.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include #include diff --git a/src/libzerocoin/Accumulator.h b/src/libzerocoin/Accumulator.h index 489df0054f2c2..6c56291532b9d 100644 --- a/src/libzerocoin/Accumulator.h +++ b/src/libzerocoin/Accumulator.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef ACCUMULATOR_H_ #define ACCUMULATOR_H_ diff --git a/src/libzerocoin/AccumulatorProofOfKnowledge.cpp b/src/libzerocoin/AccumulatorProofOfKnowledge.cpp index ef110160d5e8a..092962258258e 100644 --- a/src/libzerocoin/AccumulatorProofOfKnowledge.cpp +++ b/src/libzerocoin/AccumulatorProofOfKnowledge.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include "AccumulatorProofOfKnowledge.h" #include "hash.h" diff --git a/src/libzerocoin/AccumulatorProofOfKnowledge.h b/src/libzerocoin/AccumulatorProofOfKnowledge.h index d6cc6e4dcf562..924ca592e0ee4 100644 --- a/src/libzerocoin/AccumulatorProofOfKnowledge.h +++ b/src/libzerocoin/AccumulatorProofOfKnowledge.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef ACCUMULATEPROOF_H_ #define ACCUMULATEPROOF_H_ diff --git a/src/libzerocoin/Coin.cpp b/src/libzerocoin/Coin.cpp index e2da127c6cf15..03d241b04ab39 100644 --- a/src/libzerocoin/Coin.cpp +++ b/src/libzerocoin/Coin.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include #include diff --git a/src/libzerocoin/Coin.h b/src/libzerocoin/Coin.h index 6cfa0bc8cb584..05a21622b1d21 100644 --- a/src/libzerocoin/Coin.h +++ b/src/libzerocoin/Coin.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef COIN_H_ #define COIN_H_ diff --git a/src/libzerocoin/CoinSpend.cpp b/src/libzerocoin/CoinSpend.cpp index d84de19b5e4a2..a6074448c67bb 100644 --- a/src/libzerocoin/CoinSpend.cpp +++ b/src/libzerocoin/CoinSpend.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include "CoinSpend.h" #include diff --git a/src/libzerocoin/CoinSpend.h b/src/libzerocoin/CoinSpend.h index b2ad6b4331ea8..890a3cd54c2b1 100644 --- a/src/libzerocoin/CoinSpend.h +++ b/src/libzerocoin/CoinSpend.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef COINSPEND_H_ #define COINSPEND_H_ diff --git a/src/libzerocoin/Commitment.cpp b/src/libzerocoin/Commitment.cpp index 5be6ef2720c10..6b8f1212d5535 100644 --- a/src/libzerocoin/Commitment.cpp +++ b/src/libzerocoin/Commitment.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include "Commitment.h" #include "hash.h" diff --git a/src/libzerocoin/Commitment.h b/src/libzerocoin/Commitment.h index a7342f883c848..572c3367b7c66 100644 --- a/src/libzerocoin/Commitment.h +++ b/src/libzerocoin/Commitment.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef COMMITMENT_H_ #define COMMITMENT_H_ diff --git a/src/libzerocoin/Denominations.cpp b/src/libzerocoin/Denominations.cpp index eea220d83be41..ff1350d4a9bc2 100644 --- a/src/libzerocoin/Denominations.cpp +++ b/src/libzerocoin/Denominations.cpp @@ -1,5 +1,4 @@ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/libzerocoin/Denominations.h b/src/libzerocoin/Denominations.h index 8bf76020c5883..ccd12e8a76b73 100644 --- a/src/libzerocoin/Denominations.h +++ b/src/libzerocoin/Denominations.h @@ -1,5 +1,4 @@ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/libzerocoin/ParamGeneration.cpp b/src/libzerocoin/ParamGeneration.cpp index 447c64c3e124c..47f238f85eaf3 100644 --- a/src/libzerocoin/ParamGeneration.cpp +++ b/src/libzerocoin/ParamGeneration.cpp @@ -9,7 +9,6 @@ /// \copyright Copyright 2013 Ian Miers, Christina Garman and Matthew Green /// \license This project is released under the MIT license. // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include "ParamGeneration.h" #include diff --git a/src/libzerocoin/ParamGeneration.h b/src/libzerocoin/ParamGeneration.h index be57b0176435e..e8fa2d4a1fe6e 100644 --- a/src/libzerocoin/ParamGeneration.h +++ b/src/libzerocoin/ParamGeneration.h @@ -8,7 +8,6 @@ /// \copyright Copyright 2013 Ian Miers, Christina Garman and Matthew Green /// \license This project is released under the MIT license. // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef PARAMGENERATION_H_ #define PARAMGENERATION_H_ diff --git a/src/libzerocoin/Params.cpp b/src/libzerocoin/Params.cpp index ff61cf2ea8a8e..b076e2d8b0567 100644 --- a/src/libzerocoin/Params.cpp +++ b/src/libzerocoin/Params.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include "Params.h" #include "ParamGeneration.h" diff --git a/src/libzerocoin/Params.h b/src/libzerocoin/Params.h index 2f6325415a3ab..9a0ab91979b9a 100644 --- a/src/libzerocoin/Params.h +++ b/src/libzerocoin/Params.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef PARAMS_H_ #define PARAMS_H_ diff --git a/src/libzerocoin/SerialNumberSignatureOfKnowledge.cpp b/src/libzerocoin/SerialNumberSignatureOfKnowledge.cpp index 47df94076f105..42aaf31234714 100644 --- a/src/libzerocoin/SerialNumberSignatureOfKnowledge.cpp +++ b/src/libzerocoin/SerialNumberSignatureOfKnowledge.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include #include "SerialNumberSignatureOfKnowledge.h" diff --git a/src/libzerocoin/SerialNumberSignatureOfKnowledge.h b/src/libzerocoin/SerialNumberSignatureOfKnowledge.h index ed09819e2254f..ca7d69c3860d2 100644 --- a/src/libzerocoin/SerialNumberSignatureOfKnowledge.h +++ b/src/libzerocoin/SerialNumberSignatureOfKnowledge.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef SERIALNUMBERPROOF_H_ #define SERIALNUMBERPROOF_H_ diff --git a/src/libzerocoin/SpendType.h b/src/libzerocoin/SpendType.h index 069097b3ee6ac..8ef6fbaeb9e42 100644 --- a/src/libzerocoin/SpendType.h +++ b/src/libzerocoin/SpendType.h @@ -1,5 +1,4 @@ // Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/libzerocoin/ZerocoinDefines.h b/src/libzerocoin/ZerocoinDefines.h index b7ff34e4a959b..9f19a461227cf 100644 --- a/src/libzerocoin/ZerocoinDefines.h +++ b/src/libzerocoin/ZerocoinDefines.h @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #ifndef ZEROCOIN_DEFINES_H_ #define ZEROCOIN_DEFINES_H_ diff --git a/src/libzerocoin/bignum.h b/src/libzerocoin/bignum.h index aef450e67164d..08fefc175ba4a 100755 --- a/src/libzerocoin/bignum.h +++ b/src/libzerocoin/bignum.h @@ -1,7 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_BIGNUM_H diff --git a/src/libzerocoin/paramgen.cpp b/src/libzerocoin/paramgen.cpp index d1866332d35d5..55a069db1bc64 100644 --- a/src/libzerocoin/paramgen.cpp +++ b/src/libzerocoin/paramgen.cpp @@ -10,7 +10,6 @@ * @license This project is released under the MIT license. **/ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers #include #include diff --git a/src/lightxionthread.cpp b/src/lightxionthread.cpp index f14540cdc3fd6..22adfabba683c 100644 --- a/src/lightxionthread.cpp +++ b/src/lightxionthread.cpp @@ -54,7 +54,6 @@ void CLightWorker::ThreadLightXIONSimplified() { genWit.getFilter(), accumulator, witness, - 100, nMintsAdded, strFailReason, ret, diff --git a/src/lightxionthread.h b/src/lightxionthread.h index e70f0a09f23c4..bb1534bd7aa1a 100644 --- a/src/lightxionthread.h +++ b/src/lightxionthread.h @@ -9,7 +9,7 @@ #include #include "genwit.h" -#include "accumulators.h" +#include "xion/accumulators.h" #include "concurrentqueue.h" #include "chainparams.h" #include diff --git a/src/main.cpp b/src/main.cpp index 360e9ee443df1..ea976ec49b43c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,8 +8,8 @@ #include "main.h" -#include "accumulators.h" -#include "accumulatormap.h" +#include "xion/accumulators.h" +#include "xion/accumulatormap.h" #include "addrman.h" #include "alert.h" #include "blocksignature.h" @@ -36,7 +36,7 @@ #include "validationinterface.h" #include "xionchain.h" -#include "primitives/zerocoin.h" +#include "xion/zerocoin.h" #include "libzerocoin/Denominations.h" #include "invalid.h" #include @@ -80,6 +80,7 @@ bool fCheckBlockIndex = false; bool fVerifyingBlocks = false; unsigned int nCoinCacheSize = 5000; bool fAlerts = DEFAULT_ALERTS; +bool fClearSpendCache = false; unsigned int nStakeMinAge = 60 * 60; int64_t nReserveBalance = 0; @@ -198,7 +199,7 @@ set setDirtyFileInfo; namespace { struct CBlockReject { - unsigned int chRejectCode; + unsigned char chRejectCode; string strRejectReason; uint256 hashBlock; }; @@ -562,23 +563,6 @@ void FindNextBlocksToDownload(NodeId nodeid, unsigned int count, std::vectornHeight >= Params().Zerocoin_Block_V2_Start()) { +{ + //Check to see if the xION is properly signed + if (pindex->nHeight >= Params().Zerocoin_Block_V2_Start()) { try { if (!spend.HasValidSignature()) return error("%s: V2 xION spend does not have a valid signature\n", __func__); @@ -1033,15 +1017,15 @@ bool ContextualCheckZerocoinSpendNoSerialCheck(const CTransaction& tx, const Coi else LogPrintf("%s: Invalid serial detected within range in block %d\n", __func__, pindex->nHeight); } - - libzerocoin::SpendType expectedType = libzerocoin::SpendType::SPEND; - if (tx.IsCoinStake()) - expectedType = libzerocoin::SpendType::STAKE; - if (spend.getSpendType() != expectedType) { + + libzerocoin::SpendType expectedType = libzerocoin::SpendType::SPEND; + if (tx.IsCoinStake()) + expectedType = libzerocoin::SpendType::STAKE; + if (spend.getSpendType() != expectedType) { return error("%s: trying to spend xION without the correct spend type. txid=%s\n", __func__, - tx.GetHash().GetHex()); - } - } + tx.GetHash().GetHex()); + } + } //Reject serial's that are not in the acceptable value range bool fUseV1Params = spend.getVersion() < libzerocoin::PrivateCoin::PUBKEY_VERSION; @@ -1049,14 +1033,15 @@ bool ContextualCheckZerocoinSpendNoSerialCheck(const CTransaction& tx, const Coi // Up until this block our chain was not checking serials correctly.. if (!isBlockBetweenFakeSerialAttackRange(pindex->nHeight)) return error("%s : xION spend with serial %s from tx %s is not in valid range\n", __func__, - spend.getCoinSerialNumber().GetHex(), tx.GetHash().GetHex()); + spend.getCoinSerialNumber().GetHex(), tx.GetHash().GetHex()); else LogPrintf("%s:: HasValidSerial :: Invalid serial detected within range in block %d\n", __func__, pindex->nHeight); } - - return true; - } + + return true; +} + bool CheckZerocoinSpend(const CTransaction& tx, bool fVerifySignature, CValidationState& state, bool fFakeSerialAttack) { @@ -1106,22 +1091,19 @@ bool CheckZerocoinSpend(const CTransaction& tx, bool fVerifySignature, CValidati // Skip signature verification during initial block download if (fVerifySignature) { - // Skip signature verification if blockheight is smaller than zerocoin v2 startheight - if (chainActive.Height() >= Params().Zerocoin_Block_V2_Start()) { - //see if we have record of the accumulator used in the spend tx - CBigNum bnAccumulatorValue = 0; - if (!zerocoinDB->ReadAccumulatorValue(newSpend.getAccumulatorChecksum(), bnAccumulatorValue)) { - uint32_t nChecksum = newSpend.getAccumulatorChecksum(); - return state.DoS(100, error("%s: Zerocoinspend could not find accumulator associated with checksum %s", __func__, HexStr(BEGIN(nChecksum), END(nChecksum)))); - } + //see if we have record of the accumulator used in the spend tx + CBigNum bnAccumulatorValue = 0; + if (!zerocoinDB->ReadAccumulatorValue(newSpend.getAccumulatorChecksum(), bnAccumulatorValue)) { + uint32_t nChecksum = newSpend.getAccumulatorChecksum(); + return state.DoS(100, error("%s: Zerocoinspend could not find accumulator associated with checksum %s", __func__, HexStr(BEGIN(nChecksum), END(nChecksum)))); + } - Accumulator accumulator(Params().Zerocoin_Params(chainActive.Height() < Params().Zerocoin_Block_V2_Start()), - newSpend.getDenomination(), bnAccumulatorValue); + Accumulator accumulator(Params().Zerocoin_Params(chainActive.Height() < Params().Zerocoin_Block_V2_Start()), + newSpend.getDenomination(), bnAccumulatorValue); - //Check that the coin has been accumulated - if(!newSpend.Verify(accumulator, !fFakeSerialAttack)) - return state.DoS(100, error("CheckZerocoinSpend(): zerocoin spend did not verify")); - } + //Check that the coin has been accumulated + if(!newSpend.Verify(accumulator, !fFakeSerialAttack)) + return state.DoS(100, error("CheckZerocoinSpend(): zerocoin spend did not verify")); } if (serials.count(newSpend.getCoinSerialNumber())) @@ -1910,52 +1892,48 @@ double ConvertBitsToDouble(unsigned int nBits) int64_t GetBlockValue(int nHeight) { int64_t nSubsidy = 0; - - if (Params().NetworkID() == CBaseChainParams::TESTNET) { - if (nHeight < 100 && nHeight > 0) - return 23 * COIN; - } else if (nHeight >= 100 && nHeight < 200) { - return 0 * COIN; - } else if (nHeight >= 200 && nHeight <= 3677390) { - return 23 * COIN; - } - - if (Params().NetworkID() == CBaseChainParams::REGTEST) { - if (nHeight == 0) - return 23 * COIN; - } - - if (nHeight == 0) { - // Genesis block - return 0 * COIN; - } else if (nHeight == 1) { - return 16400000 * COIN; - } else if (nHeight >= 2 && nHeight <= 125146) { - return 23 * COIN; - /** cevap - * info: DGW startheight, we will let make 0 reward + 0.01 Ion fee for 1 day (1440 blocks) - * Current block: 541267 - */ - } else if (nHeight > 125146 && nHeight <= Params().DGWStartHeight()) { - return 17 * COIN; - } else if (nHeight > Params().DGWStartHeight() && nHeight <= Params().DGWStartHeight() + 1440) { - return 0.02 * COIN; - } else if (nHeight > Params().DGWStartHeight() + 1440 && nHeight <= 570062) { // 568622 + 1440 = 570062 - return 17 * COIN; - } else if (nHeight > 570062 && nHeight <= 1013538) { // 568622+1440=570062 1012098+1440=1013538 - return 11.5 * COIN; - } else if (nHeight > 1013538 && nHeight <= 4167138) { // phase 4-9 - return 5.75 * COIN; - } else if (nHeight > 4167138 && nHeight <= 4692738) { // phase 10 - return 1.9 * COIN; - } else if (nHeight > 3677390 && Params().NetworkID() == CBaseChainParams::TESTNET) { - return 0.925 * COIN; - } else if (nHeight > 3677390 && Params().NetworkID() == CBaseChainParams::REGTEST) { - return 17 * COIN; + // TESTNET and REGTEST + if (Params().NetworkID() == CBaseChainParams::REGTEST && nHeight < 86400) { + if (nHeight == 0) { + nSubsidy = 250 * COIN; + } else if (nHeight < 200 && nHeight > 0) { + nSubsidy = 250000 * COIN; + } else if (nHeight < 86400 && nHeight >= 200) { + nSubsidy = 250 * COIN; + } + } else if (Params().NetworkID() == CBaseChainParams::TESTNET && nHeight <= 570062) { + if (nHeight == 0) { + nSubsidy = 1 * COIN; + } else if (nHeight == 1) { + nSubsidy = 16400000 * COIN; + } else if (nHeight >= 2 && nHeight <= 125146) { + nSubsidy = 23 * COIN; + } else if (nHeight > 125146 && nHeight <= 570062) { + nSubsidy = 17 * COIN; + } } else { - return 0.02 * COIN; + if (nHeight == 0) { + nSubsidy = 0 * COIN; + } else if (nHeight == 1) { + nSubsidy = 16400000 * COIN; + } else if (nHeight >= 2 && nHeight <= 125146) { + nSubsidy = 23 * COIN; + } else if (nHeight > 125146 && nHeight <= Params().DGWStartHeight()) { + nSubsidy = 17 * COIN; + } else if (nHeight > Params().DGWStartHeight() && nHeight <= Params().DGWStartHeight() + 1440) { + nSubsidy = 0.02 * COIN; + } else if (nHeight > Params().DGWStartHeight() + 1440 && nHeight <= 570062) { // 568622 + 1440 = 570062 + nSubsidy = 17 * COIN; + } else if (nHeight > 570062 && nHeight <= 1013538) { // 568622+1440=570062 1012098+1440=1013538 + nSubsidy = 11.5 * COIN; + } else if (nHeight > 1013538 && nHeight <= 4167138) { // phase 4-9 + nSubsidy = 5.75 * COIN; + } else if (nHeight > 4167138 && nHeight <= 4692738) { // phase 10 + nSubsidy = 1.9 * COIN; + } else { + nSubsidy = 0.02 * COIN; + } } - return nSubsidy; } @@ -2735,10 +2713,11 @@ void AddWrappedSerialsInflation() if (pindex->nHeight > chainActive.Height()) return; + uiInterface.ShowProgress(_("Adding Wrapped Serials supply..."), 0); while (true) { if (pindex->nHeight % 1000 == 0) { LogPrintf("%s : block %d...\n", __func__, pindex->nHeight); - int percent = (int)( (double)(pindex->nHeight - Params().Zerocoin_Block_EndFakeSerial()) * 100 / (chainActive.Height() - Params().Zerocoin_Block_EndFakeSerial()) ); + int percent = std::max(1, std::min(99, (int)((double)(pindex->nHeight - Params().Zerocoin_Block_EndFakeSerial()) * 100 / (chainActive.Height() - Params().Zerocoin_Block_EndFakeSerial())))); uiInterface.ShowProgress(_("Adding Wrapped Serials supply..."), percent); } @@ -2760,11 +2739,12 @@ void AddWrappedSerialsInflation() void RecalculateXIONMinted() { CBlockIndex *pindex = chainActive[Params().Zerocoin_StartHeight()]; + uiInterface.ShowProgress(_("Recalculating minted XION..."), 0); while (true) { // Log Message and feedback message every 1000 blocks if (pindex->nHeight % 1000 == 0) { LogPrintf("%s : block %d...\n", __func__, pindex->nHeight); - int percent = (int)( (double)(pindex->nHeight - Params().Zerocoin_StartHeight()) * 100 / (chainActive.Height() - Params().Zerocoin_StartHeight()) ); + int percent = std::max(1, std::min(99, (int)((double)(pindex->nHeight - Params().Zerocoin_StartHeight()) * 100 / (chainActive.Height() - Params().Zerocoin_StartHeight())))); uiInterface.ShowProgress(_("Recalculating minted XION..."), percent); } @@ -2785,15 +2765,17 @@ void RecalculateXIONMinted() else break; } + uiInterface.ShowProgress("", 100); } void RecalculateXIONSpent() { CBlockIndex* pindex = chainActive[Params().Zerocoin_StartHeight()]; + uiInterface.ShowProgress(_("Recalculating spent XION..."), 0); while (true) { if (pindex->nHeight % 1000 == 0) { LogPrintf("%s : block %d...\n", __func__, pindex->nHeight); - int percent = (int)( (double)(pindex->nHeight - Params().Zerocoin_StartHeight()) * 100 / (chainActive.Height() - Params().Zerocoin_StartHeight()) ); + int percent = std::max(1, std::min(99, (int)((double)(pindex->nHeight - Params().Zerocoin_StartHeight()) * 100 / (chainActive.Height() - Params().Zerocoin_StartHeight())))); uiInterface.ShowProgress(_("Recalculating spent XION..."), percent); } @@ -2843,10 +2825,11 @@ bool RecalculateIONSupply(int nHeightStart) if (nHeightStart == Params().Zerocoin_StartHeight()) nSupplyPrev = CAmount(2648003799941000); + uiInterface.ShowProgress(_("Recalculating ION supply..."), 0); while (true) { if (pindex->nHeight % 1000 == 0) { LogPrintf("%s : block %d...\n", __func__, pindex->nHeight); - int percent = (int)( (double)((pindex->nHeight - nHeightStart) * 100) / (chainActive.Height() - nHeightStart) ); + int percent = std::max(1, std::min(99, (int)((double)((pindex->nHeight - nHeightStart) * 100) / (chainActive.Height() - nHeightStart)))); uiInterface.ShowProgress(_("Recalculating ION supply..."), percent); } @@ -3035,6 +3018,8 @@ static int64_t nTimeTotal = 0; bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pindex, CCoinsViewCache& view, bool fJustCheck, bool fAlreadyChecked) { + bool rejectBlockExclusion = false; + AssertLockHeld(cs_main); // Check it again in case a previous version let a bad block in if (!fAlreadyChecked && !CheckBlock(block, state, !fJustCheck, !fJustCheck)) @@ -3056,37 +3041,28 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin // Ion accepts PoS during PoW phase if (block.IsProofOfStake()) { - if (Params().NetworkID() == CBaseChainParams::MAIN) { - - if (pindex->nHeight <= 454) - return state.DoS(100, error("ConnectBlock() : PoS period not active"), - REJECT_INVALID, "PoS-early"); - - } else if (Params().NetworkID() == CBaseChainParams::TESTNET) { - - if (pindex->nHeight <= 300) { - - if (pindex->nHeight <= 72) - return state.DoS(100, error("ConnectBlock() : PoS period not active"), - REJECT_INVALID, "PoS-early"); - } - + /* fix syncing on main ut tp block 454 */ + if (Params().NetworkID() == CBaseChainParams::MAIN && pindex->nHeight <= 454) { + if (pindex->nHeight <= Params().LAST_POW_BLOCK() && block.IsProofOfStake()) { + rejectBlockExclusion = true; + /* fix for old chain, not required anymore and **TODO** should be removed, as well as current comment + * Pass block 212,213,.... as it is PoW block despite of last PoW Block starting before + //} else if (Params().NetworkID() == CBaseChainParams::TESTNET && pindex->nHeight > Params().LAST_POW_BLOCK() && block.IsProofOfWork() && pindex->nHeight >= Params().Zerocoin_StartHeight()) { + // rejectBlockExclusion = true; + */ } + /* fix syncing on main from block 454 */ + } else if (Params().NetworkID() == CBaseChainParams::MAIN && pindex->nHeight > 454 && pindex->nHeight <= Params().LAST_POW_BLOCK()) { + rejectBlockExclusion = true; } - - // Pass block 212,213,.... as it is PoW block despite of laste PoW Block starting before - if (pindex->nHeight > Params().LAST_POW_BLOCK() && block.IsProofOfWork()) { - if ( CBaseChainParams::TESTNET) { - // CEVAP: Testnet has PoW blocks after PoW End height, we set blockheight where client from new sources was released - if (pindex->nHeight >= Params().Zerocoin_StartHeight()) { - return state.DoS(100, error("ConnectBlock() : PoW period ended"), - REJECT_INVALID, "PoW-ended"); - } - } else { - return state.DoS(100, error("ConnectBlock() : PoW period ended"), - REJECT_INVALID, "PoW-ended"); - } + if (pindex->nHeight <= Params().LAST_POW_BLOCK() && block.IsProofOfStake() && rejectBlockExclusion == false) + return state.DoS(100, error("ConnectBlock() : PoS period not active"), + REJECT_INVALID, "PoS-early"); + + if (pindex->nHeight > Params().LAST_POW_BLOCK() && block.IsProofOfWork()) + return state.DoS(100, error("ConnectBlock() : PoW period ended"), + REJECT_INVALID, "PoW-ended"); } bool fScriptChecks = pindex->nHeight >= Checkpoints::GetTotalBlocksEstimate(); @@ -3281,33 +3257,37 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin nTimeConnect += nTime1 - nTimeStart; LogPrint("bench", " - Connect %u transactions: %.2fms (%.3fms/tx, %.3fms/txin) [%.2fs]\n", (unsigned)block.vtx.size(), 0.001 * (nTime1 - nTimeStart), 0.001 * (nTime1 - nTimeStart) / block.vtx.size(), nInputs <= 1 ? 0 : 0.001 * (nTime1 - nTimeStart) / (nInputs - 1), nTimeConnect * 0.000001); - //PoW phase redistributed fees to miner. PoS stage destroys fees. + //PoW phase redistributed fees to miner. PoS stage destroys fees. CAmount nExpectedMint = GetBlockValue(pindex->pprev->nHeight); - if (block.IsProofOfWork() && pindex->nHeight > 1) - { - nExpectedMint = nFees; - } else if (block.IsProofOfStake()) - { + if (block.IsProofOfWork()) nExpectedMint += nFees; - } + + //ion pow fix, ConnectBlock() error on main network : reward pays too much (actual vs limit) + /* block 455 = reward pays too much (actual=23.00001 vs limit=23.00) + * block 702 = reward pays too much (actual=23.00003 vs limit=23.00) + * ... + * workaround: set variable for skipping this check for blocks on main which + * overminted during the PoW phase + */ + if (Params().NetworkID() == CBaseChainParams::MAIN && pindex->nHeight < Params().Zerocoin_StartHeight()) + nExpectedMint = pindex->nMint; //Check that the block does not overmint - if (!IsBlockValueValid(block, nExpectedMint, pindex->nMint) && Params().NetworkID() != CBaseChainParams::REGTEST ) { - /* - **TODO** - Temp fix of ERROR: ConnectBlock() : reward pays too much (actual=23.00 vs limit=0.00) - */ - if (Params().NetworkID() != CBaseChainParams::TESTNET && pindex->nMint <= 20000) { - return state.DoS(100, error("ConnectBlock() : reward pays too much (actual=%s vs limit=%s)", - FormatMoney(pindex->nMint), FormatMoney(nExpectedMint)), - REJECT_INVALID, "bad-cb-amount"); - } - } + if (!IsBlockValueValid(block, nExpectedMint, pindex->nMint)) + return state.DoS(100, error("ConnectBlock() : reward pays too much (actual=%s vs limit=%s)", + FormatMoney(pindex->nMint), FormatMoney(nExpectedMint)), + REJECT_INVALID, "bad-cb-amount"); // Ensure that accumulator checkpoints are valid and in the same state as this instance of the chain AccumulatorMap mapAccumulators(Params().Zerocoin_Params(pindex->nHeight < Params().Zerocoin_Block_V2_Start())); - if (!ValidateAccumulatorCheckpoint(block, pindex, mapAccumulators)) - return state.DoS(100, error("%s: Failed to validate accumulator checkpoint for block=%s height=%d", __func__, - block.GetHash().GetHex(), pindex->nHeight), REJECT_INVALID, "bad-acc-checkpoint"); + if (!ValidateAccumulatorCheckpoint(block, pindex, mapAccumulators)) { + if (!ShutdownRequested()) { + return state.DoS(100, error("%s: Failed to validate accumulator checkpoint for block=%s height=%d", __func__, + block.GetHash().GetHex(), pindex->nHeight), REJECT_INVALID, "bad-acc-checkpoint"); + } + return error("%s: Failed to validate accumulator checkpoint for block=%s height=%d because wallet is shutting down", __func__, + block.GetHash().GetHex(), pindex->nHeight); + } if (!control.Wait()) return state.DoS(100, error("%s: CheckQueue failed", __func__), REJECT_INVALID, "block-validation-failed"); @@ -3326,7 +3306,7 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin if (!FindUndoPos(state, pindex->nFile, pos, ::GetSerializeSize(blockundo, SER_DISK, CLIENT_VERSION) + 40)) return error("ConnectBlock() : FindUndoPos failed"); if (!blockundo.WriteToDisk(pos, pindex->pprev->GetBlockHash())) - return AbortNode(state, "Failed to write undo data"); + return state.Abort("Failed to write undo data"); // update nUndoPos in block index pindex->nUndoPos = pos.nPos; @@ -3367,15 +3347,15 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin } // Flush spend/mint info to disk - if (!zerocoinDB->WriteCoinSpendBatch(vSpends)) return AbortNode(state, ("Failed to record coin serials to database")); - if (!zerocoinDB->WriteCoinMintBatch(vMints)) return AbortNode(state, ("Failed to record new mints to database")); + if (!zerocoinDB->WriteCoinSpendBatch(vSpends)) return state.Abort(("Failed to record coin serials to database")); + if (!zerocoinDB->WriteCoinMintBatch(vMints)) return state.Abort(("Failed to record new mints to database")); //Record accumulator checksums DatabaseChecksums(mapAccumulators); if (fTxIndex) if (!pblocktree->WriteTxIndex(vPos)) - return AbortNode(state, "Failed to write transaction index"); + return state.Abort("Failed to write transaction index"); // add this block to the view's block chain view.SetBestBlock(pindex->GetBlockHash()); @@ -3387,7 +3367,7 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin // Watch for changes to the previous coinbase transaction. static uint256 hashPrevBestCoinBase; GetMainSignals().UpdatedTransaction(hashPrevBestCoinBase); - hashPrevBestCoinBase = block.vtx[0].GetHash(); + hashPrevBestCoinBase = block.vtx[0].GetHash();; int64_t nTime4 = GetTimeMicros(); nTimeCallbacks += nTime4 - nTime3; @@ -3439,17 +3419,17 @@ bool static FlushStateToDisk(CValidationState& state, FlushStateMode mode) bool fileschanged = false; for (set::iterator it = setDirtyFileInfo.begin(); it != setDirtyFileInfo.end();) { if (!pblocktree->WriteBlockFileInfo(*it, vinfoBlockFile[*it])) { - return AbortNode(state, "Failed to write to block index"); + return state.Abort("Failed to write to block index"); } fileschanged = true; setDirtyFileInfo.erase(it++); } if (fileschanged && !pblocktree->WriteLastBlockFile(nLastBlockFile)) { - return AbortNode(state, "Failed to write to block index"); + return state.Abort("Failed to write to block index"); } for (set::iterator it = setDirtyBlockIndex.begin(); it != setDirtyBlockIndex.end();) { if (!pblocktree->WriteBlockIndex(CDiskBlockIndex(*it))) { - return AbortNode(state, "Failed to write to block index"); + return state.Abort("Failed to write to block index"); } setDirtyBlockIndex.erase(it++); } @@ -3457,7 +3437,7 @@ bool static FlushStateToDisk(CValidationState& state, FlushStateMode mode) pblocktree->Sync(); // Finally flush the chainstate (which may refer to block index entries). if (!pcoinsTip->Flush()) - return AbortNode(state, "Failed to write to coin database"); + return state.Abort("Failed to write to coin database"); // Update best block in wallet (so we can detect restored wallets). if (mode != FLUSH_STATE_IF_NEEDED) { GetMainSignals().SetBestChain(chainActive.GetLocator()); @@ -3465,7 +3445,7 @@ bool static FlushStateToDisk(CValidationState& state, FlushStateMode mode) nLastWrite = GetTimeMicros(); } } catch (const std::runtime_error& e) { - return AbortNode(state, std::string("System error while flushing: ") + e.what()); + return state.Abort(std::string("System error while flushing: ") + e.what()); } return true; } @@ -3528,7 +3508,7 @@ bool static DisconnectTip(CValidationState& state) // Read block from disk. CBlock block; if (!ReadBlockFromDisk(block, pindexDelete)) - return AbortNode(state, "Failed to read block"); + return state.Abort("Failed to read block"); // Apply the block atomically to the chain state. int64_t nStart = GetTimeMicros(); { @@ -3585,7 +3565,7 @@ bool static ConnectTip(CValidationState& state, CBlockIndex* pindexNew, CBlock* CBlock block; if (!pblock) { if (!ReadBlockFromDisk(block, pindexNew)) - return AbortNode(state, "Failed to read block"); + return state.Abort("Failed to read block"); pblock = █ } // Apply the block atomically to the chain state. @@ -3691,7 +3671,7 @@ bool DisconnectBlockAndInputs(CValidationState& state, CTransaction txLock) CBlock block; if (!ReadBlockFromDisk(block, BlockReading)) - return AbortNode(state, _("Failed to read block")); + return state.Abort(_("Failed to read block")); // Queue memory transactions to resurrect. // We only do this for blocks after the last checkpoint (reorganisation before that @@ -4215,12 +4195,12 @@ bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, bool f // Version 4 header must be used after Params().Zerocoin_StartHeight(). And never before. if (block.GetBlockTime() > Params().Zerocoin_StartTime()) { - if(block.nVersion < Params().Zerocoin_HeaderVersion() && Params().NetworkID() != CBaseChainParams::REGTEST && Params().NetworkID() != CBaseChainParams::TESTNET) - return state.DoS(50, error("CheckBlockHeader() : block version must be above 4 after ZerocoinStartHeight"), + if(block.nVersion < Params().Zerocoin_HeaderVersion() && Params().NetworkID() != CBaseChainParams::REGTEST) + return state.DoS(50, error("CheckBlockHeader() : block version must be above 8 after ZerocoinStartHeight"), REJECT_INVALID, "block-version"); } else { if (block.nVersion >= Params().Zerocoin_HeaderVersion()) - return state.DoS(50, error("CheckBlockHeader() : block version must be below 4 before ZerocoinStartHeight"), + return state.DoS(50, error("CheckBlockHeader() : block version must be below 8 before ZerocoinStartHeight"), REJECT_INVALID, "block-version"); } @@ -4386,14 +4366,12 @@ bool CheckBlock(const CBlock& block, CValidationState& state, bool fCheckPOW, bo bool CheckWork(const CBlock block, CBlockIndex* const pindexPrev) { - int nHeight = pindexPrev->nHeight + 1; - if (pindexPrev == NULL) return error("%s : null pindexPrev for block %s", __func__, block.GetHash().ToString().c_str()); unsigned int nBitsRequired = GetNextWorkRequired(pindexPrev, &block); - if (nHeight >= Params().Zerocoin_StartHeight()) { + if (pindexPrev->nHeight + 1 >= Params().Zerocoin_StartHeight()) { if (block.nBits != nBitsRequired) return error("%s : incorrect proof of work at %d", __func__, pindexPrev->nHeight + 1); } @@ -4635,7 +4613,6 @@ bool AcceptBlock(CBlock& block, CValidationState& state, CBlockIndex** ppindex, uint256 hashProofOfStake = 0; unique_ptr stake; - // CEVAP **TODO**: Skip checks for all blocks below Zerocoin v1 Start height if (!CheckProofOfStake(block, hashProofOfStake, stake, pindexPrev->nHeight)) return state.DoS(100, error("%s: proof of stake check failed", __func__)); @@ -4865,11 +4842,11 @@ bool AcceptBlock(CBlock& block, CValidationState& state, CBlockIndex** ppindex, return error("AcceptBlock() : FindBlockPos failed"); if (dbp == NULL) if (!WriteBlockToDisk(block, blockPos)) - return AbortNode(state, "Failed to write block"); + return state.Abort("Failed to write block"); if (!ReceivedBlockTransactions(block, state, pindex, blockPos)) return error("AcceptBlock() : ReceivedBlockTransactions failed"); } catch (std::runtime_error& e) { - return AbortNode(state, std::string("System error: ") + e.what()); + return state.Abort(std::string("System error: ") + e.what()); } return true; @@ -5039,7 +5016,7 @@ bool ProcessNewBlock(CValidationState& state, CNode* pfrom, CBlock* pblock, CDis bool TestBlockValidity(CValidationState& state, const CBlock& block, CBlockIndex* const pindexPrev, bool fCheckPOW, bool fCheckMerkleRoot) { AssertLockHeld(cs_main); - assert(pindexPrev == chainActive.Tip()); + assert(pindexPrev && pindexPrev == chainActive.Tip()); CCoinsViewCache viewNew(pcoinsTip); CBlockIndex indexDummy(block); @@ -5060,6 +5037,17 @@ bool TestBlockValidity(CValidationState& state, const CBlock& block, CBlockIndex return true; } +bool AbortNode(const std::string& strMessage, const std::string& userMessage) +{ + strMiscWarning = strMessage; + LogPrintf("*** %s\n", strMessage); + uiInterface.ThreadSafeMessageBox( + userMessage.empty() ? _("Error: A fatal internal error occured, see debug.log for details") : userMessage, + "", CClientUIInterface::MSG_ERROR); + StartShutdown(); + return false; +} + bool CheckDiskSpace(uint64_t nAdditionalBytes) { uint64_t nFreeBytesAvailable = filesystem::space(GetDataDir()).available; diff --git a/src/main.h b/src/main.h index b452c730d3b58..9dbb756d8a04b 100644 --- a/src/main.h +++ b/src/main.h @@ -17,12 +17,11 @@ #include "chain.h" #include "chainparams.h" #include "coins.h" -#include "consensus/validation.h" #include "net.h" #include "pow.h" #include "primitives/block.h" #include "primitives/transaction.h" -#include "primitives/zerocoin.h" +#include "xion/zerocoin.h" #include "script/script.h" #include "script/sigcache.h" #include "script/standard.h" @@ -121,6 +120,22 @@ static const unsigned int DEFAULT_BLOCK_SPAM_FILTER_MAX_SIZE = COINBASE_MATURITY /** Default for -blockspamfiltermaxavg, maximum average size of an index occurrence in the block spam filter */ static const unsigned int DEFAULT_BLOCK_SPAM_FILTER_MAX_AVG = 10; +/** "reject" message codes */ +static const unsigned char REJECT_MALFORMED = 0x01; +static const unsigned char REJECT_INVALID = 0x10; +static const unsigned char REJECT_OBSOLETE = 0x11; +static const unsigned char REJECT_DUPLICATE = 0x12; +static const unsigned char REJECT_NONSTANDARD = 0x40; +static const unsigned char REJECT_DUST = 0x41; +static const unsigned char REJECT_INSUFFICIENTFEE = 0x42; +static const unsigned char REJECT_CHECKPOINT = 0x43; + +/** xION precomputing variables + * Set the number of included blocks to precompute per cycle. */ +static const int DEFAULT_PRECOMPUTE_LENGTH = 1000; +static const int MIN_PRECOMPUTE_LENGTH = 500; +static const int MAX_PRECOMPUTE_LENGTH = 2000; + struct BlockHasher { size_t operator()(const uint256& hash) const { return hash.GetLow64(); } }; @@ -146,6 +161,7 @@ extern unsigned int nCoinCacheSize; extern CFeeRate minRelayTxFee; extern bool fAlerts; extern bool fVerifyingBlocks; +extern bool fClearSpendCache; extern bool fLargeWorkForkFound; extern bool fLargeWorkInvalidChainFound; @@ -227,12 +243,15 @@ bool GetTransaction(const uint256& hash, CTransaction& tx, uint256& hashBlock, b // ***TODO*** double ConvertBitsToDouble(unsigned int nBits); int64_t GetMasternodePayment(int nHeight, int64_t blockValue, int nMasternodeCount, bool isXIONStake); +unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader* pblock, bool fProofOfStake); bool ActivateBestChain(CValidationState& state, CBlock* pblock = NULL, bool fAlreadyChecked = false); CAmount GetBlockValue(int nHeight); /** Create a new block index entry for a given block hash */ CBlockIndex* InsertBlockIndex(uint256 hash); +/** Abort with a message */ +bool AbortNode(const std::string& msg, const std::string& userMessage = ""); /** Get statistics from node state */ bool GetNodeStateStats(NodeId nodeid, CNodeStateStats& stats); /** Increase a node's misbehavior score. */ @@ -338,7 +357,6 @@ void UpdateCoins(const CTransaction& tx, CValidationState& state, CCoinsViewCach /** Context-independent validity checks */ bool CheckTransaction(const CTransaction& tx, bool fZerocoinActive, bool fRejectBadUTXO, CValidationState& state, bool fFakeSerialAttack = false); bool CheckZerocoinMint(const uint256& txHash, const CTxOut& txout, CValidationState& state, bool fCheckOnly = false); -bool CheckZerocoinSpend(const CTransaction& tx, bool fVerifySignature, CValidationState& state); bool CheckZerocoinSpend(const CTransaction& tx, bool fVerifySignature, CValidationState& state, bool fFakeSerialAttack = false); bool ContextualCheckZerocoinSpend(const CTransaction& tx, const libzerocoin::CoinSpend& spend, CBlockIndex* pindex, const uint256& hashBlock); bool ContextualCheckZerocoinSpendNoSerialCheck(const CTransaction& tx, const libzerocoin::CoinSpend& spend, CBlockIndex* pindex, const uint256& hashBlock); @@ -355,6 +373,7 @@ bool ReindexAccumulators(list& listMissingCheckpoints, string& strError // Fake Serial attack Range bool isBlockBetweenFakeSerialAttackRange(int nHeight); + /** * Check if transaction will be final in the next block to be created. * @@ -521,6 +540,78 @@ class CBlockFileInfo }; /** Capture information about block/transaction validation */ +class CValidationState +{ +private: + enum mode_state { + MODE_VALID, //! everything ok + MODE_INVALID, //! network rule violation (DoS value may be set) + MODE_ERROR, //! run-time error + } mode; + int nDoS; + std::string strRejectReason; + unsigned char chRejectCode; + bool corruptionPossible; + +public: + CValidationState() : mode(MODE_VALID), nDoS(0), chRejectCode(0), corruptionPossible(false) {} + bool DoS(int level, bool ret = false, unsigned char chRejectCodeIn = 0, std::string strRejectReasonIn = "", bool corruptionIn = false) + { + chRejectCode = chRejectCodeIn; + strRejectReason = strRejectReasonIn; + corruptionPossible = corruptionIn; + if (mode == MODE_ERROR) + return ret; + nDoS += level; + mode = MODE_INVALID; + return ret; + } + bool Invalid(bool ret = false, + unsigned char _chRejectCode = 0, + std::string _strRejectReason = "") + { + return DoS(0, ret, _chRejectCode, _strRejectReason); + } + bool Error(std::string strRejectReasonIn = "") + { + if (mode == MODE_VALID) + strRejectReason = strRejectReasonIn; + mode = MODE_ERROR; + return false; + } + bool Abort(const std::string& msg) + { + AbortNode(msg); + return Error(msg); + } + bool IsValid() const + { + return mode == MODE_VALID; + } + bool IsInvalid() const + { + return mode == MODE_INVALID; + } + bool IsError() const + { + return mode == MODE_ERROR; + } + bool IsInvalid(int& nDoSOut) const + { + if (IsInvalid()) { + nDoSOut = nDoS; + return true; + } + return false; + } + bool CorruptionPossible() const + { + return corruptionPossible; + } + unsigned char GetRejectCode() const { return chRejectCode; } + std::string GetRejectReason() const { return strRejectReason; } +}; + /** RAII wrapper for VerifyDB: Verify consistency of the block and coin databases */ class CVerifyDB { diff --git a/src/masternode-budget.cpp b/src/masternode-budget.cpp index cba1b3d72cebb..b455130b8ff25 100644 --- a/src/masternode-budget.cpp +++ b/src/masternode-budget.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -8,6 +7,7 @@ #include "main.h" #include "addrman.h" +#include "chainparams.h" #include "masternode-budget.h" #include "masternode-sync.h" #include "masternode.h" @@ -25,15 +25,6 @@ std::vector vecImmatureFinalizedBudgets; int nSubmittedFinalBudget; -int GetBudgetPaymentCycleBlocks() -{ - // Amount of blocks in a months period of time (using 1 minutes per) = (60*24*30) - if (Params().NetworkID() == CBaseChainParams::MAIN) return 43200; - //for testing purposes - - return 144; //ten times per day -} - bool IsBudgetCollateralValid(uint256 nTxCollateralHash, uint256 nExpectedHash, std::string& strError, int64_t& nTime, int& nConf, bool fBudgetFinalization) { CTransaction txCollateral; @@ -155,14 +146,14 @@ void CBudgetManager::SubmitFinalBudget() nCurrentHeight = chainActive.Height(); } - int nBlockStart = nCurrentHeight - nCurrentHeight % GetBudgetPaymentCycleBlocks() + GetBudgetPaymentCycleBlocks(); + int nBlockStart = nCurrentHeight - nCurrentHeight % Params().GetBudgetCycleBlocks() + Params().GetBudgetCycleBlocks(); if (nSubmittedHeight >= nBlockStart){ LogPrint("mnbudget","CBudgetManager::SubmitFinalBudget - nSubmittedHeight(=%ld) < nBlockStart(=%ld) condition not fulfilled.\n", nSubmittedHeight, nBlockStart); return; } // Submit final budget during the last 2 days (2880 blocks) before payment for Mainnet, about 9 minutes (9 blocks) for Testnet - int finalizationWindow = ((GetBudgetPaymentCycleBlocks() / 30) * 2); + int finalizationWindow = ((Params().GetBudgetCycleBlocks() / 30) * 2); if (Params().NetworkID() == CBaseChainParams::TESTNET) { // NOTE: 9 blocks for testnet is way to short to have any masternode submit an automatic vote on the finalized(!) budget, @@ -172,7 +163,7 @@ void CBudgetManager::SubmitFinalBudget() } int nFinalizationStart = nBlockStart - finalizationWindow; - + int nOffsetToStart = nFinalizationStart - nCurrentHeight; if (nBlockStart - nCurrentHeight > finalizationWindow) { @@ -573,7 +564,8 @@ void CBudgetManager::FillBlockPayee(CMutableTransaction& txNew, CAmount nFees, b CTxDestination address1; ExtractDestination(payee, address1); - LogPrint("mnbudget","CBudgetManager::FillBlockPayee - Budget payment to %s for %lld, nHighestCount = %d\n", EncodeDestination(address1), nAmount, nHighestCount); + CBitcoinAddress address2(address1); + LogPrint("mnbudget","CBudgetManager::FillBlockPayee - Budget payment to %s for %lld, nHighestCount = %d\n", address2.ToString(), nAmount, nHighestCount); } else { LogPrint("mnbudget","CBudgetManager::FillBlockPayee - No Budget payment, nHighestCount = %d\n", nHighestCount); @@ -591,8 +583,9 @@ void CBudgetManager::FillBlockPayee(CMutableTransaction& txNew, CAmount nFees, b CTxDestination address1; ExtractDestination(payee, address1); + CBitcoinAddress address2(address1); - LogPrint("mnbudget","CBudgetManager::FillBlockPayee - Budget payment to %s for %lld\n", EncodeDestination(address1), nAmount); + LogPrint("mnbudget","CBudgetManager::FillBlockPayee - Budget payment to %s for %lld\n", address2.ToString(), nAmount); } } } @@ -653,7 +646,7 @@ bool CBudgetManager::IsBudgetPaymentBlock(int nBlockHeight) ++it; } - LogPrint("mnbudget","CBudgetManager::IsBudgetPaymentBlock() - nHighestCount: %lli, 5%% of Masternodes: %lli. Number of finalized budgets: %lli\n", + LogPrint("mnbudget","CBudgetManager::IsBudgetPaymentBlock() - nHighestCount: %lli, 5%% of Masternodes: %lli. Number of finalized budgets: %lli\n", nHighestCount, nFivePercent, mapFinalizedBudgets.size()); // If budget doesn't have 5% of the network votes, then we should pay a masternode instead @@ -688,7 +681,7 @@ TrxValidationStatus CBudgetManager::IsTransactionValid(const CTransaction& txNew ++it; } - LogPrint("mnbudget","CBudgetManager::IsTransactionValid() - nHighestCount: %lli, 5%% of Masternodes: %lli mapFinalizedBudgets.size(): %ld\n", + LogPrint("mnbudget","CBudgetManager::IsTransactionValid() - nHighestCount: %lli, 5%% of Masternodes: %lli mapFinalizedBudgets.size(): %ld\n", nHighestCount, nFivePercent, mapFinalizedBudgets.size()); /* If budget doesn't have 5% of the network votes, then we should pay a masternode instead @@ -706,7 +699,7 @@ TrxValidationStatus CBudgetManager::IsTransactionValid(const CTransaction& txNew strProposals = pfinalizedBudget->GetProposals(); LogPrint("mnbudget","CBudgetManager::IsTransactionValid - checking budget (%s) with blockstart %lli, blockend %lli, nBlockHeight %lli, votes %lli, nCountThreshold %lli\n", - strProposals.c_str(), pfinalizedBudget->GetBlockStart(), pfinalizedBudget->GetBlockEnd(), + strProposals.c_str(), pfinalizedBudget->GetBlockStart(), pfinalizedBudget->GetBlockEnd(), nBlockHeight, pfinalizedBudget->GetVoteCount(), nCountThreshold); if (pfinalizedBudget->GetVoteCount() > nCountThreshold) { @@ -726,7 +719,7 @@ TrxValidationStatus CBudgetManager::IsTransactionValid(const CTransaction& txNew else { LogPrint("mnbudget","CBudgetManager::IsTransactionValid - GetBlockStart() failed, budget is outside current payment cycle and will be ignored.\n"); } - + } ++it; @@ -736,7 +729,7 @@ TrxValidationStatus CBudgetManager::IsTransactionValid(const CTransaction& txNew if(!fThreshold) { transactionStatus = TrxValidationStatus::VoteThreshold; } - + // We looked through all of the known budgets return transactionStatus; } @@ -798,8 +791,8 @@ std::vector CBudgetManager::GetBudget() CBlockIndex* pindexPrev = chainActive.Tip(); if (pindexPrev == NULL) return vBudgetProposalsRet; - int nBlockStart = pindexPrev->nHeight - pindexPrev->nHeight % GetBudgetPaymentCycleBlocks() + GetBudgetPaymentCycleBlocks(); - int nBlockEnd = nBlockStart + GetBudgetPaymentCycleBlocks() - 1; + int nBlockStart = pindexPrev->nHeight - pindexPrev->nHeight % Params().GetBudgetCycleBlocks() + Params().GetBudgetCycleBlocks(); + int nBlockEnd = nBlockStart + Params().GetBudgetCycleBlocks() - 1; CAmount nTotalBudget = GetTotalBudget(nBlockStart); @@ -1546,7 +1539,7 @@ bool CBudgetProposal::IsValid(std::string& strError, bool fCheckCollateral) } // Calculate maximum block this proposal will be valid, which is start of proposal + (number of payments * cycle) - int nProposalEnd = GetBlockStart() + (GetBudgetPaymentCycleBlocks() * GetTotalPaymentCount()); + int nProposalEnd = GetBlockStart() + (Params().GetBudgetCycleBlocks() * GetTotalPaymentCount()); // if (GetBlockEnd() < pindexPrev->nHeight - GetBudgetPaymentCycleBlocks() / 2) { if(nProposalEnd < pindexPrev->nHeight){ @@ -1662,7 +1655,7 @@ int CBudgetProposal::GetBlockStartCycle() { //end block is half way through the next cycle (so the proposal will be removed much after the payment is sent) - return nBlockStart - nBlockStart % GetBudgetPaymentCycleBlocks(); + return nBlockStart - nBlockStart % Params().GetBudgetCycleBlocks(); } int CBudgetProposal::GetBlockCurrentCycle() @@ -1672,7 +1665,7 @@ int CBudgetProposal::GetBlockCurrentCycle() if (pindexPrev->nHeight >= GetBlockEndCycle()) return -1; - return pindexPrev->nHeight - pindexPrev->nHeight % GetBudgetPaymentCycleBlocks(); + return pindexPrev->nHeight - pindexPrev->nHeight % Params().GetBudgetCycleBlocks(); } int CBudgetProposal::GetBlockEndCycle() @@ -1689,13 +1682,13 @@ int CBudgetProposal::GetBlockEndCycle() int CBudgetProposal::GetTotalPaymentCount() { - return (GetBlockEndCycle() - GetBlockStartCycle()) / GetBudgetPaymentCycleBlocks(); + return (GetBlockEndCycle() - GetBlockStartCycle()) / Params().GetBudgetCycleBlocks(); } int CBudgetProposal::GetRemainingPaymentCount() { // If this budget starts in the future, this value will be wrong - int nPayments = (GetBlockEndCycle() - GetBlockCurrentCycle()) / GetBudgetPaymentCycleBlocks() - 1; + int nPayments = (GetBlockEndCycle() - GetBlockCurrentCycle()) / Params().GetBudgetCycleBlocks() - 1; // Take the lowest value return std::min(nPayments, GetTotalPaymentCount()); } @@ -1707,7 +1700,7 @@ CBudgetProposalBroadcast::CBudgetProposalBroadcast(std::string strProposalNameIn nBlockStart = nBlockStartIn; - int nCycleStart = nBlockStart - nBlockStart % GetBudgetPaymentCycleBlocks(); + int nCycleStart = nBlockStart - nBlockStart % Params().GetBudgetCycleBlocks(); // Right now single payment proposals have nBlockEnd have a cycle too early! // switch back if it break something else @@ -1715,7 +1708,7 @@ CBudgetProposalBroadcast::CBudgetProposalBroadcast(std::string strProposalNameIn // nBlockEnd = nCycleStart + GetBudgetPaymentCycleBlocks() * nPaymentCount + GetBudgetPaymentCycleBlocks() / 2; // Calculate the end of the cycle for this vote, vote will be deleted after next cycle - nBlockEnd = nCycleStart + (GetBudgetPaymentCycleBlocks() + 1) * nPaymentCount; + nBlockEnd = nCycleStart + (Params().GetBudgetCycleBlocks() + 1) * nPaymentCount; address = addressIn; nAmount = nAmountIn; @@ -2045,9 +2038,9 @@ bool CFinalizedBudget::IsValid(std::string& strError, bool fCheckCollateral) { // All(!) finalized budgets have the name "main", so get some additional information about them std::string strProposals = GetProposals(); - + // Must be the correct block for payment to happen (once a month) - if (nBlockStart % GetBudgetPaymentCycleBlocks() != 0) { + if (nBlockStart % Params().GetBudgetCycleBlocks() != 0) { strError = "Invalid BlockStart"; return false; } @@ -2098,11 +2091,11 @@ bool CFinalizedBudget::IsValid(std::string& strError, bool fCheckCollateral) // Get start of current budget-cycle int nCurrentHeight = chainActive.Height(); - int nBlockStart = nCurrentHeight - nCurrentHeight % GetBudgetPaymentCycleBlocks() + GetBudgetPaymentCycleBlocks(); + int nBlockStart = nCurrentHeight - nCurrentHeight % Params().GetBudgetCycleBlocks() + Params().GetBudgetCycleBlocks(); // Remove budgets where the last payment (from max. 100) ends before 2 budget-cycles before the current one - int nMaxAge = nBlockStart - (2 * GetBudgetPaymentCycleBlocks()); - + int nMaxAge = nBlockStart - (2 * Params().GetBudgetCycleBlocks()); + if (GetBlockEnd() < nMaxAge) { strError = strprintf("Budget " + strBudgetName + " (" + strProposals + ") (ends at block %ld) too old and obsolete", GetBlockEnd()); return false; @@ -2122,7 +2115,7 @@ bool CFinalizedBudget::IsPaidAlready(uint256 nProposalHash, int nBlockHeight) nPaidBlockHeight = (*it).second; if((nPaidBlockHeight < GetBlockStart()) || (nPaidBlockHeight > GetBlockEnd())) { nOldProposalHash = (*it).first; - LogPrint("mnbudget", "CFinalizedBudget::IsPaidAlready - Budget Proposal %s, Block %d from old cycle deleted\n", + LogPrint("mnbudget", "CFinalizedBudget::IsPaidAlready - Budget Proposal %s, Block %d from old cycle deleted\n", nOldProposalHash.ToString().c_str(), nPaidBlockHeight); mapPayment_History.erase(it++); } @@ -2135,7 +2128,7 @@ bool CFinalizedBudget::IsPaidAlready(uint256 nProposalHash, int nBlockHeight) if(mapPayment_History.count(nProposalHash) == 0) { // New proposal payment, insert into map for checks with later blocks from this cycle mapPayment_History.insert(std::pair(nProposalHash, nBlockHeight)); - LogPrint("mnbudget", "CFinalizedBudget::IsPaidAlready - Budget Proposal %s, Block %d added to payment history\n", + LogPrint("mnbudget", "CFinalizedBudget::IsPaidAlready - Budget Proposal %s, Block %d added to payment history\n", nProposalHash.ToString().c_str(), nBlockHeight); return false; } @@ -2160,7 +2153,7 @@ TrxValidationStatus CFinalizedBudget::IsTransactionValid(const CTransaction& txN bool paid = false; BOOST_FOREACH (CTxOut out, txNew.vout) { - LogPrint("mnbudget","CFinalizedBudget::IsTransactionValid - nCurrentBudgetPayment=%d, payee=%s == out.scriptPubKey=%s, amount=%ld == out.nValue=%ld\n", + LogPrint("mnbudget","CFinalizedBudget::IsTransactionValid - nCurrentBudgetPayment=%d, payee=%s == out.scriptPubKey=%s, amount=%ld == out.nValue=%ld\n", nCurrentBudgetPayment, vecBudgetPayments[nCurrentBudgetPayment].payee.ToString().c_str(), out.scriptPubKey.ToString().c_str(), vecBudgetPayments[nCurrentBudgetPayment].nAmount, out.nValue); @@ -2186,9 +2179,10 @@ TrxValidationStatus CFinalizedBudget::IsTransactionValid(const CTransaction& txN if (transactionStatus == TrxValidationStatus::InValid) { CTxDestination address1; ExtractDestination(vecBudgetPayments[nCurrentBudgetPayment].payee, address1); + CBitcoinAddress address2(address1); LogPrint("mnbudget","CFinalizedBudget::IsTransactionValid - Missing required payment - %s: %d c: %d\n", - EncodeDestination(address1), vecBudgetPayments[nCurrentBudgetPayment].nAmount, nCurrentBudgetPayment); + address2.ToString(), vecBudgetPayments[nCurrentBudgetPayment].nAmount, nCurrentBudgetPayment); } return transactionStatus; diff --git a/src/masternode-budget.h b/src/masternode-budget.h index efa795cd51d4d..e5cf4765812c0 100644 --- a/src/masternode-budget.h +++ b/src/masternode-budget.h @@ -1,13 +1,12 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef MASTERNODE_BUDGET_H #define MASTERNODE_BUDGET_H -#include "dstencode.h" +#include "base58.h" #include "init.h" #include "key.h" #include "main.h" @@ -50,9 +49,6 @@ extern std::vector vecImmatureFinalizedBudgets; extern CBudgetManager budget; void DumpBudgets(); -// Define amount of blocks in budget payment cycle -int GetBudgetPaymentCycleBlocks(); - //Check the collateral transaction for the budget proposal/finalized budget bool IsBudgetCollateralValid(uint256 nTxCollateralHash, uint256 nExpectedHash, std::string& strError, int64_t& nTime, int& nConf, bool fBudgetFinalization=false); diff --git a/src/masternode-payments.cpp b/src/masternode-payments.cpp index 53d2982643d8f..d73dda4634912 100644 --- a/src/masternode-payments.cpp +++ b/src/masternode-payments.cpp @@ -1,11 +1,11 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "masternode-payments.h" #include "addrman.h" +#include "chainparams.h" #include "masternode-budget.h" #include "masternode-sync.h" #include "masternodeman.h" @@ -195,7 +195,7 @@ bool IsBlockValueValid(const CBlock& block, CAmount nExpectedValue, CAmount nMin if (!masternodeSync.IsSynced()) { //there is no budget data to use to check anything //super blocks will always be on these blocks, max 100 per budgeting - if (nHeight % GetBudgetPaymentCycleBlocks() < 100) { + if (nHeight % Params().GetBudgetCycleBlocks() < 100) { return true; } else { if (nMinted > nExpectedValue) { @@ -337,8 +337,9 @@ void CMasternodePayments::FillBlockPayee(CMutableTransaction& txNew, int64_t nFe CTxDestination address1; ExtractDestination(payee, address1); + CBitcoinAddress address2(address1); - LogPrint("masternode","Masternode payment of %s to %s\n", FormatMoney(masternodePayment).c_str(), EncodeDestination(address1).c_str()); + LogPrint("masternode","Masternode payment of %s to %s\n", FormatMoney(masternodePayment).c_str(), address2.ToString().c_str()); } else { if (!fProofOfStake) { txNew.vout[0].nValue = blockValue; @@ -427,8 +428,9 @@ void CMasternodePayments::ProcessMessageMasternodePayments(CNode* pfrom, std::st CTxDestination address1; ExtractDestination(winner.payee, address1); + CBitcoinAddress address2(address1); - // LogPrint("mnpayments", "mnw - winning vote - Addr %s Height %d bestHeight %d - %s\n", EncodeDestination(address1).c_str(), winner.nBlockHeight, nHeight, winner.vinMasternode.prevout.ToStringShort()); + // LogPrint("mnpayments", "mnw - winning vote - Addr %s Height %d bestHeight %d - %s\n", address2.ToString().c_str(), winner.nBlockHeight, nHeight, winner.vinMasternode.prevout.ToStringShort()); if (masternodePayments.AddWinningMasternode(winner)) { winner.Relay(); @@ -572,11 +574,12 @@ bool CMasternodeBlockPayees::IsTransactionValid(const CTransaction& txNew) CTxDestination address1; ExtractDestination(payee.scriptPubKey, address1); + CBitcoinAddress address2(address1); if (strPayeesPossible == "") { - strPayeesPossible += EncodeDestination(address1); + strPayeesPossible += address2.ToString(); } else { - strPayeesPossible += "," + EncodeDestination(address1); + strPayeesPossible += "," + address2.ToString(); } } } @@ -594,11 +597,12 @@ std::string CMasternodeBlockPayees::GetRequiredPaymentsString() BOOST_FOREACH (CMasternodePayee& payee, vecPayments) { CTxDestination address1; ExtractDestination(payee.scriptPubKey, address1); + CBitcoinAddress address2(address1); if (ret != "Unknown") { - ret += ", " + EncodeDestination(address1) + ":" + std::to_string(payee.nVotes); + ret += ", " + address2.ToString() + ":" + std::to_string(payee.nVotes); } else { - ret = EncodeDestination(address1) + ":" + std::to_string(payee.nVotes); + ret = address2.ToString() + ":" + std::to_string(payee.nVotes); } } @@ -730,8 +734,9 @@ bool CMasternodePayments::ProcessBlock(int nBlockHeight) CTxDestination address1; ExtractDestination(payee, address1); + CBitcoinAddress address2(address1); - LogPrint("masternode","CMasternodePayments::ProcessBlock() Winner payee %s nHeight %d. \n", EncodeDestination(address1).c_str(), newWinner.nBlockHeight); + LogPrint("masternode","CMasternodePayments::ProcessBlock() Winner payee %s nHeight %d. \n", address2.ToString().c_str(), newWinner.nBlockHeight); } else { LogPrint("masternode","CMasternodePayments::ProcessBlock() Failed to find masternode to pay\n"); } diff --git a/src/masternode-payments.h b/src/masternode-payments.h index fe457e97b1be4..66f20e7ad6db3 100644 --- a/src/masternode-payments.h +++ b/src/masternode-payments.h @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode-sync.cpp b/src/masternode-sync.cpp index 48dc7bd0dad09..dfe821a1a50d0 100644 --- a/src/masternode-sync.cpp +++ b/src/masternode-sync.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode-sync.h b/src/masternode-sync.h index 5a057901412fc..f81f207fe4897 100644 --- a/src/masternode-sync.h +++ b/src/masternode-sync.h @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode.cpp b/src/masternode.cpp index 0cb43f955b219..cf577b6bc5d63 100644 --- a/src/masternode.cpp +++ b/src/masternode.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -216,7 +215,7 @@ void CMasternode::Check(bool forceCheck) if (!unitTest) { CValidationState state; CMutableTransaction tx = CMutableTransaction(); - CTxOut vout = CTxOut(9999.99 * COIN, obfuScationPool.collateralPubKey); + CTxOut vout = CTxOut(19999.99 * COIN, obfuScationPool.collateralPubKey); tx.vin.push_back(vin); tx.vout.push_back(vout); @@ -430,7 +429,7 @@ bool CMasternodeBroadcast::Create(CTxIn txin, CService service, CKey keyCollater if (fImporting || fReindex) return false; LogPrint("masternode", "CMasternodeBroadcast::Create -- pubKeyCollateralAddressNew = %s, pubKeyMasternodeNew.GetID() = %s\n", - EncodeDestination(pubKeyCollateralAddressNew.GetID()), + CBitcoinAddress(pubKeyCollateralAddressNew.GetID()).ToString(), pubKeyMasternodeNew.GetID().ToString()); CMasternodePing mnp(txin); @@ -586,7 +585,7 @@ bool CMasternodeBroadcast::CheckInputsAndAdd(int& nDoS) CValidationState state; CMutableTransaction tx = CMutableTransaction(); - CTxOut vout = CTxOut(9999.99 * COIN, obfuScationPool.collateralPubKey); + CTxOut vout = CTxOut(19999.99 * COIN, obfuScationPool.collateralPubKey); tx.vin.push_back(vin); tx.vout.push_back(vout); diff --git a/src/masternode.h b/src/masternode.h index 4b8f1c0eea4fb..2eb8a0d7e8ab2 100644 --- a/src/masternode.h +++ b/src/masternode.h @@ -1,13 +1,12 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef MASTERNODE_H #define MASTERNODE_H -#include "dstencode.h" +#include "base58.h" #include "key.h" #include "main.h" #include "net.h" diff --git a/src/masternodeconfig.cpp b/src/masternodeconfig.cpp index 2670c239d63d7..80e26c8cdd6b0 100644 --- a/src/masternodeconfig.cpp +++ b/src/masternodeconfig.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -29,7 +28,7 @@ bool CMasternodeConfig::read(std::string& strErr) if (configFile != NULL) { std::string strHeader = "# Masternode config file\n" "# Format: alias IP:port masternodeprivkey collateral_output_txid collateral_output_index\n" - "# Example: mn1 127.0.0.2:12700 69xbMUHFizFGBr9bK2bbvCcBbBPuLS4BC6XH8XCjAAXp8p2ZHHU 94ca8a6d8c7dc65ff531877f409680563f4ff4bff2fa299007fbee6f49a6b23e 0\n"; + "# Example: mn1 127.0.0.2:12700 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0\n"; fwrite(strHeader.c_str(), std::strlen(strHeader.c_str()), 1, configFile); fclose(configFile); } diff --git a/src/masternodeconfig.h b/src/masternodeconfig.h index 5c797a0ec2ae8..ddd7d98c15683 100644 --- a/src/masternodeconfig.h +++ b/src/masternodeconfig.h @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternodeman.cpp b/src/masternodeman.cpp index f786031f40af5..56447a78494b0 100644 --- a/src/masternodeman.cpp +++ b/src/masternodeman.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -986,7 +985,7 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData CValidationState state; CMutableTransaction tx = CMutableTransaction(); - CTxOut vout = CTxOut(9999.99 * COIN, obfuScationPool.collateralPubKey); + CTxOut vout = CTxOut(19999.99 * COIN, obfuScationPool.collateralPubKey); tx.vin.push_back(vin); tx.vout.push_back(vout); diff --git a/src/masternodeman.h b/src/masternodeman.h index 5dceba11ccdd3..ec78f94cdc323 100644 --- a/src/masternodeman.h +++ b/src/masternodeman.h @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/miner.cpp b/src/miner.cpp index ab67b8ce049fb..9d52a8e662259 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -20,11 +20,11 @@ #include "util.h" #include "utilmoneystr.h" #ifdef ENABLE_WALLET -#include "wallet.h" +#include "wallet/wallet.h" #endif #include "validationinterface.h" #include "masternode-payments.h" -#include "accumulators.h" +#include "xion/accumulators.h" #include "blocksignature.h" #include "spork.h" #include "invalid.h" @@ -110,16 +110,17 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn, CWallet* pwallet, CBlock* pblock = &pblocktemplate->block; // pointer for convenience // Tip - CBlockIndex* pindexPrev; + CBlockIndex* pindexPrev = nullptr; { // Don't keep cs_main locked LOCK(cs_main); pindexPrev = chainActive.Tip(); } + const int nHeight = pindexPrev->nHeight + 1; // Make sure to create the correct block version after zerocoin is enabled bool fZerocoinActive = nHeight >= Params().Zerocoin_StartHeight(); - pblock->nVersion = 5; // Supports CLTV activation + pblock->nVersion = 9; // Supports CLTV activation // -regtest only: allow overriding block.nVersion with // -blockversion=N to test forking scenarios @@ -167,7 +168,7 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn, CWallet* pwallet, } if (!fStakeFound) { - LogPrintf("CreateNewBlock(): stake not found\n"); + LogPrint("staking", "CreateNewBlock(): stake not found\n"); return NULL; } } @@ -194,6 +195,8 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn, CWallet* pwallet, { LOCK2(cs_main, mempool.cs); + CBlockIndex* pindexPrev = chainActive.Tip(); + const int nHeight = pindexPrev->nHeight + 1; CCoinsViewCache view(pcoinsTip); // Priority order to process transactions diff --git a/src/net.cpp b/src/net.cpp index 5b64672b66c64..9d96c1afc77ba 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -22,7 +22,7 @@ #include "ui_interface.h" #ifdef ENABLE_WALLET -#include "wallet.h" +#include "wallet/wallet.h" #endif // ENABLE_WALLET #ifdef WIN32 diff --git a/src/obfuscation.cpp b/src/obfuscation.cpp index ae60fdc3fe42f..6d35aafa71bfd 100644 --- a/src/obfuscation.cpp +++ b/src/obfuscation.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -417,12 +416,12 @@ void CObfuscationPool::SetNull() bool CObfuscationPool::SetCollateralAddress(std::string strAddress) { - CTxDestination dest = DecodeDestination(strAddress); - if (dest.which() == 0) { + CBitcoinAddress address; + if (!address.SetString(strAddress)) { LogPrintf("CObfuscationPool::SetCollateralAddress - Invalid Obfuscation collateral address\n"); return false; } - collateralPubKey = GetScriptForDestination(dest); + collateralPubKey = GetScriptForDestination(address.Get()); return true; } @@ -1429,9 +1428,10 @@ bool CObfuscationPool::DoAutomaticDenominating(bool fDryRun) CAmount nOnlyDenominatedBalance; CAmount nBalanceNeedsDenominated; - CAmount nLowestDenom = obfuScationDenominations[obfuScationDenominations.size() - 1]; + // should not be less than fees in OBFUSCATION_COLLATERAL + few (lets say 5) smallest denoms + CAmount nLowestDenom = OBFUSCATION_COLLATERAL + obfuScationDenominations[obfuScationDenominations.size() - 1] * 5; - // if there are no confirmed OBF collateral inputs yet + // if there are no OBF collateral inputs yet if (!pwalletMain->HasCollateralInputs()) // should have some additional amount for them nLowestDenom += OBFUSCATION_COLLATERAL * 4; @@ -1441,20 +1441,16 @@ bool CObfuscationPool::DoAutomaticDenominating(bool fDryRun) // if balanceNeedsAnonymized is more than pool max, take the pool max if (nBalanceNeedsAnonymized > OBFUSCATION_POOL_MAX) nBalanceNeedsAnonymized = OBFUSCATION_POOL_MAX; - // try to overshoot target OBF balance up to nLowestDenom - nBalanceNeedsAnonymized += nLowestDenom; + // if balanceNeedsAnonymized is more than non-anonymized, take non-anonymized CAmount nAnonymizableBalance = pwalletMain->GetAnonymizableBalance(); + if (nBalanceNeedsAnonymized > nAnonymizableBalance) nBalanceNeedsAnonymized = nAnonymizableBalance; - // anonymizable balance is way too small - if (nAnonymizableBalance < nLowestDenom) { + if (nBalanceNeedsAnonymized < nLowestDenom) { LogPrintf("DoAutomaticDenominating : No funds detected in need of denominating \n"); strAutoDenomResult = _("No funds detected in need of denominating."); return false; } - // not enough funds to anonymze amount we want, try the max we can - if (nBalanceNeedsAnonymized > nAnonymizableBalance) nBalanceNeedsAnonymized = nAnonymizableBalance; - LogPrint("obfuscation", "DoAutomaticDenominating : nLowestDenom=%d, nBalanceNeedsAnonymized=%d\n", nLowestDenom, nBalanceNeedsAnonymized); // select coins that should be given to the pool @@ -1507,7 +1503,7 @@ bool CObfuscationPool::DoAutomaticDenominating(bool fDryRun) return false; } - //check our collateral and create new if needed + //check our collateral nad create new if needed std::string strReason; CValidationState state; if (txCollateral == CMutableTransaction()) { @@ -1691,15 +1687,13 @@ bool CObfuscationPool::SendRandomPaymentToSelf() CWalletTx wtx; CAmount nFeeRet = 0; std::string strFail = ""; - std::vector vecSend; - int nChangePosRet = -1; + vector > vecSend; // ****** Add fees ************ / - CRecipient recipient = {scriptChange, nPayment, false}; - vecSend.push_back(recipient); + vecSend.push_back(make_pair(scriptChange, nPayment)); CCoinControl* coinControl = NULL; - bool success = pwalletMain->CreateTransaction(vecSend, wtx, reservekey, nFeeRet, nChangePosRet, strFail, coinControl, ONLY_DENOMINATED); + bool success = pwalletMain->CreateTransaction(vecSend, wtx, reservekey, nFeeRet, strFail, coinControl, ONLY_DENOMINATED); if (!success) { LogPrintf("SendRandomPaymentToSelf: Error - %s\n", strFail); return false; @@ -1718,8 +1712,7 @@ bool CObfuscationPool::MakeCollateralAmounts() CWalletTx wtx; CAmount nFeeRet = 0; std::string strFail = ""; - std::vector vecSend; - int nChangePosRet = -1; + vector > vecSend; CCoinControl coinControl; coinControl.fAllowOtherInputs = false; coinControl.fAllowWatchOnly = false; @@ -1733,19 +1726,18 @@ bool CObfuscationPool::MakeCollateralAmounts() assert(reservekeyCollateral.GetReservedKey(vchPubKey)); // should never fail, as we just unlocked scriptCollateral = GetScriptForDestination(vchPubKey.GetID()); - CRecipient recipient = {scriptCollateral, OBFUSCATION_COLLATERAL * 4, false}; - vecSend.push_back(recipient); + vecSend.push_back(make_pair(scriptCollateral, OBFUSCATION_COLLATERAL * 4)); // try to use non-denominated and not mn-like funds bool success = pwalletMain->CreateTransaction(vecSend, wtx, reservekeyChange, - nFeeRet, nChangePosRet, strFail, &coinControl, ONLY_NONDENOMINATED_NOT20000IFMN); + nFeeRet, strFail, &coinControl, ONLY_NONDENOMINATED_NOT20000IFMN); if (!success) { // if we failed (most likeky not enough funds), try to use all coins instead - // MN-like funds should not be touched in any case and we can't mix denominated without collaterals anyway CCoinControl* coinControlNull = NULL; LogPrintf("MakeCollateralAmounts: ONLY_NONDENOMINATED_NOT20000IFMN Error - %s\n", strFail); success = pwalletMain->CreateTransaction(vecSend, wtx, reservekeyChange, - nFeeRet, nChangePosRet, strFail, coinControlNull, ONLY_NOT20000IFMN); + nFeeRet, strFail, coinControlNull, ONLY_NOT20000IFMN); if (!success) { LogPrintf("MakeCollateralAmounts: ONLY_NOT20000IFMN Error - %s\n", strFail); reservekeyCollateral.ReturnKey(); @@ -1774,8 +1766,7 @@ bool CObfuscationPool::CreateDenominated(CAmount nTotalValue) CWalletTx wtx; CAmount nFeeRet = 0; std::string strFail = ""; - std::vector vecSend; - int nChangePosRet = -1; + vector > vecSend; CAmount nValueLeft = nTotalValue; // make our collateral address @@ -1792,8 +1783,7 @@ bool CObfuscationPool::CreateDenominated(CAmount nTotalValue) // ****** Add collateral outputs ************ / if (!pwalletMain->HasCollateralInputs()) { - CRecipient recipient = {scriptCollateral, OBFUSCATION_COLLATERAL * 4, false}; - vecSend.push_back(recipient); + vecSend.push_back(make_pair(scriptCollateral, OBFUSCATION_COLLATERAL * 4)); nValueLeft -= OBFUSCATION_COLLATERAL * 4; } @@ -1802,7 +1792,7 @@ bool CObfuscationPool::CreateDenominated(CAmount nTotalValue) int nOutputs = 0; // add each output up to 10 times until it can't be added again - while (nValueLeft - v >= 0 && nOutputs <= 10) { + while (nValueLeft - v >= OBFUSCATION_COLLATERAL && nOutputs <= 10) { CScript scriptDenom; CPubKey vchPubKey; //use a unique change address @@ -1811,8 +1801,7 @@ bool CObfuscationPool::CreateDenominated(CAmount nTotalValue) // TODO: do not keep reservekeyDenom here reservekeyDenom.KeepKey(); - CRecipient recipient = {scriptDenom, v, false}; - vecSend.push_back(recipient); + vecSend.push_back(make_pair(scriptDenom, v)); //increment outputs and subtract denomination amount nOutputs++; @@ -1828,7 +1817,7 @@ bool CObfuscationPool::CreateDenominated(CAmount nTotalValue) CCoinControl* coinControl = NULL; bool success = pwalletMain->CreateTransaction(vecSend, wtx, reservekeyChange, - nFeeRet, nChangePosRet, strFail, coinControl, ONLY_NONDENOMINATED_NOT20000IFMN); + nFeeRet, strFail, coinControl, ONLY_NONDENOMINATED_NOT20000IFMN); if (!success) { LogPrintf("CreateDenominated: Error - %s\n", strFail); // TODO: return reservekeyDenom here diff --git a/src/obfuscation.h b/src/obfuscation.h index 8309c103c398d..b2372bec91dce 100644 --- a/src/obfuscation.h +++ b/src/obfuscation.h @@ -1,6 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -18,6 +17,7 @@ class CTxIn; class CObfuscationPool; class CObfuScationSigner; class CMasterNodeVote; +class CBitcoinAddress; class CObfuscationQueue; class CObfuscationBroadcastTx; class CActiveMasternode; diff --git a/src/primitives/block.cpp b/src/primitives/block.cpp index d585debb721ec..f32dadb8b9566 100644 --- a/src/primitives/block.cpp +++ b/src/primitives/block.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -16,11 +15,11 @@ uint256 CBlockHeader::GetHash() const { - if(nVersion < 8) - //return HashQuark(BEGIN(nVersion), END(nNonce)); + if(nVersion < 8 ) { return Hash(BEGIN(nVersion), END(nNonce)); - - return Hash(BEGIN(nVersion), END(nAccumulatorCheckpoint)); + } else { + return Hash(BEGIN(nVersion), END(nAccumulatorCheckpoint)); + } } uint256 CBlock::BuildMerkleTree(bool* fMutated) const diff --git a/src/primitives/block.h b/src/primitives/block.h index bff7f4bf33d50..862cb49733add 100644 --- a/src/primitives/block.h +++ b/src/primitives/block.h @@ -1,7 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2013 The Bitcoin developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/primitives/deterministicmint.cpp b/src/primitives/deterministicmint.cpp deleted file mode 100644 index db0c14cd0f00a..0000000000000 --- a/src/primitives/deterministicmint.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include -#include -#include "deterministicmint.h" - -using namespace libzerocoin; - -CDeterministicMint::CDeterministicMint() -{ - SetNull(); -} - -CDeterministicMint::CDeterministicMint(uint8_t nVersion, const uint32_t& nCount, const uint256& hashSeed, const uint256& hashSerial, const uint256& hashPubcoin, const uint256& hashStake) -{ - SetNull(); - this->nVersion = nVersion; - this->nCount = nCount; - this->hashSeed = hashSeed; - this->hashSerial = hashSerial; - this->hashPubcoin = hashPubcoin; - this->hashStake = hashStake; -} - -void CDeterministicMint::SetNull() -{ - nVersion = PrivateCoin::CURRENT_VERSION; - nCount = 0; - hashSeed = 0; - hashSerial = 0; - hashStake = 0; - hashPubcoin = 0; - txid = 0; - nHeight = 0; - denom = CoinDenomination::ZQ_ERROR; - isUsed = false; -} - -std::string CDeterministicMint::ToString() const -{ - return strprintf(" DeterministicMint:\n version=%d\n count=%d\n hashseed=%s\n hashSerial=%s\n hashStake=%s\n hashPubcoin=%s\n txid=%s\n height=%d\n denom=%d\n isUsed=%d\n", - nVersion, nCount, hashSeed.GetHex(), hashSerial.GetHex(), hashStake.GetHex(), hashPubcoin.GetHex(), txid.GetHex(), nHeight, denom, isUsed); -} diff --git a/src/primitives/deterministicmint.h b/src/primitives/deterministicmint.h deleted file mode 100644 index 20a109c1d3635..0000000000000 --- a/src/primitives/deterministicmint.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef ION_DETERMINISTICMINT_H -#define ION_DETERMINISTICMINT_H - -#include -#include -#include - -//struct that is safe to store essential mint data, without holding any information that allows for actual spending (serial, randomness, private key) -class CDeterministicMint -{ -private: - uint8_t nVersion; - uint32_t nCount; - uint256 hashSeed; - uint256 hashSerial; - uint256 hashStake; - uint256 hashPubcoin; - uint256 txid; - int nHeight; - libzerocoin::CoinDenomination denom; - bool isUsed; - -public: - CDeterministicMint(); - CDeterministicMint(uint8_t nVersion, const uint32_t& nCount, const uint256& hashSeed, const uint256& hashSerial, const uint256& hashPubcoin, const uint256& hashStake); - - libzerocoin::CoinDenomination GetDenomination() const { return denom; } - uint32_t GetCount() const { return nCount; } - int GetHeight() const { return nHeight; } - uint256 GetSeedHash() const { return hashSeed; } - uint256 GetSerialHash() const { return hashSerial; } - uint256 GetStakeHash() const { return hashStake; } - uint256 GetPubcoinHash() const { return hashPubcoin; } - uint256 GetTxHash() const { return txid; } - uint8_t GetVersion() const { return nVersion; } - bool IsUsed() const { return isUsed; } - void SetDenomination(const libzerocoin::CoinDenomination denom) { this->denom = denom; } - void SetHeight(const int& nHeight) { this->nHeight = nHeight; } - void SetNull(); - void SetStakeHash(const uint256& hashStake) { this->hashStake = hashStake; } - void SetTxHash(const uint256& txid) { this->txid = txid; } - void SetUsed(const bool isUsed) { this->isUsed = isUsed; } - std::string ToString() const; - - ADD_SERIALIZE_METHODS; - - template - inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) - { - READWRITE(this->nVersion); - READWRITE(nCount); - READWRITE(hashSeed); - READWRITE(hashSerial); - READWRITE(hashStake); - READWRITE(hashPubcoin); - READWRITE(txid); - READWRITE(nHeight); - READWRITE(denom); - READWRITE(isUsed); - }; -}; - -#endif //ION_DETERMINISTICMINT_H diff --git a/src/primitives/transaction.cpp b/src/primitives/transaction.cpp index 3befe275018d0..d7f1552506b36 100644 --- a/src/primitives/transaction.cpp +++ b/src/primitives/transaction.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -17,6 +16,8 @@ #include +extern bool GetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlock, bool fAllowSlow); + std::string COutPoint::ToString() const { return strprintf("COutPoint(%s, %u)", hash.ToString()/*.substr(0,10)*/, n); @@ -46,6 +47,19 @@ CTxIn::CTxIn(uint256 hashPrevTx, uint32_t nOut, CScript scriptSigIn, uint32_t nS nSequence = nSequenceIn; } +CTxIn::CTxIn(const libzerocoin::CoinSpend& spend, libzerocoin::CoinDenomination denom) +{ + //Serialize the coinspend object and append it to a CScript + CDataStream serializedCoinSpend(SER_NETWORK, PROTOCOL_VERSION); + serializedCoinSpend << spend; + std::vector data(serializedCoinSpend.begin(), serializedCoinSpend.end()); + + scriptSig = CScript() << OP_ZEROCOINSPEND << data.size(); + scriptSig.insert(scriptSig.end(), data.begin(), data.end()); + prevout.SetNull(); + nSequence = denom; +} + std::string CTxIn::ToString() const { std::string str; @@ -89,7 +103,7 @@ std::string CTxOut::ToString() const return strprintf("CTxOut(nValue=%d.%08d, scriptPubKey=%s)", nValue / COIN, nValue % COIN, scriptPubKey.ToString().substr(0,30)); } -CMutableTransaction::CMutableTransaction() : nVersion(CTransaction::CURRENT_VERSION), nTime(0), nLockTime(0) {} +CMutableTransaction::CMutableTransaction() : nVersion(CTransaction::CURRENT_VERSION), nTime(0), nLockTime(0) {} CMutableTransaction::CMutableTransaction(const CTransaction& tx) : nVersion(tx.nVersion), nTime(tx.nTime), vin(tx.vin), vout(tx.vout), nLockTime(tx.nLockTime) {} uint256 CMutableTransaction::GetHash() const @@ -100,8 +114,7 @@ uint256 CMutableTransaction::GetHash() const std::string CMutableTransaction::ToString() const { std::string str; - str += strprintf("CMutableTransaction(hash=%s, ver=%d, ", - GetHash().ToString().substr(0,10), + str += strprintf("CMutableTransaction(ver=%d, vin.size=%u, vout.size=%u, nLockTime=%u)\n", nVersion); if (nVersion == 1) str += strprintf("nTime=%d, ", nTime); diff --git a/src/primitives/transaction.h b/src/primitives/transaction.h index 3d81e7a5dfe7e..8d0d2af800044 100644 --- a/src/primitives/transaction.h +++ b/src/primitives/transaction.h @@ -1,7 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -9,6 +8,7 @@ #define BITCOIN_PRIMITIVES_TRANSACTION_H #include "amount.h" +#include "libzerocoin/CoinSpend.h" #include "script/script.h" #include "serialize.h" #include "uint256.h" @@ -72,33 +72,6 @@ class CTxIn uint32_t nSequence; CScript prevPubKey; - /* Setting nSequence to this value for every input in a transaction - * disables nLockTime. */ - static const uint32_t SEQUENCE_FINAL = 0xffffffff; - - /* Below flags apply in the context of BIP 68*/ - /* If this flag set, CTxIn::nSequence is NOT interpreted as a - * relative lock-time. */ - static const uint32_t SEQUENCE_LOCKTIME_DISABLE_FLAG = (1 << 31); - - /* If CTxIn::nSequence encodes a relative lock-time and this flag - * is set, the relative lock-time has units of 512 seconds, - * otherwise it specifies blocks with a granularity of 1. */ - static const uint32_t SEQUENCE_LOCKTIME_TYPE_FLAG = (1 << 22); - - /* If CTxIn::nSequence encodes a relative lock-time, this mask is - * applied to extract that lock-time from the sequence field. */ - static const uint32_t SEQUENCE_LOCKTIME_MASK = 0x0000ffff; - - /* In order to use the same number of bits to encode roughly the - * same wall-clock duration, and because blocks are naturally - * limited to occur every 600s on average, the minimum granularity - * for time-based relative lock-time is fixed at 512 seconds. - * Converting from CTxIn::nSequence to seconds is performed by - * multiplying by 512 = 2^9, or equivalently shifting up by - * 9 bits. */ - static const int SEQUENCE_LOCKTIME_GRANULARITY = 9; - CTxIn() { nSequence = std::numeric_limits::max(); @@ -106,6 +79,7 @@ class CTxIn explicit CTxIn(COutPoint prevoutIn, CScript scriptSigIn=CScript(), uint32_t nSequenceIn=std::numeric_limits::max()); CTxIn(uint256 hashPrevTx, uint32_t nOut, CScript scriptSigIn=CScript(), uint32_t nSequenceIn=std::numeric_limits::max()); + CTxIn(const libzerocoin::CoinSpend& spend, libzerocoin::CoinDenomination denom); ADD_SERIALIZE_METHODS; @@ -186,7 +160,7 @@ class CTxOut uint256 GetHash() const; - CAmount GetDustThreshold(const CFeeRate &minRelayTxFee) const + bool IsDust(CFeeRate minRelayTxFee) const { // "Dust" is defined in terms of CTransaction::minRelayTxFee, which has units uion-per-kilobyte. // If you'd pay more than 1/3 in fees to spend something, then we consider it dust. @@ -196,12 +170,7 @@ class CTxOut // So dust is a txout less than 1820 *3 = 5460 uion // with default -minrelaytxfee = minRelayTxFee = 10000 uion per kB. size_t nSize = GetSerializeSize(SER_DISK,0)+148u; - return 3*minRelayTxFee.GetFee(nSize); - } - - bool IsDust(const CFeeRate &minRelayTxFee) const - { - return (nValue < GetDustThreshold(minRelayTxFee)); + return (nValue < 3*minRelayTxFee.GetFee(nSize)); } bool IsZerocoinMint() const @@ -265,7 +234,7 @@ class CTransaction inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { READWRITE(*const_cast(&this->nVersion)); nVersion = this->nVersion; - if (nVersion == 1) READWRITE(*const_cast(&nTime)); + READWRITE(*const_cast(&nTime)); READWRITE(*const_cast*>(&vin)); READWRITE(*const_cast*>(&vout)); READWRITE(*const_cast(&nLockTime)); @@ -356,7 +325,7 @@ struct CMutableTransaction inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { READWRITE(this->nVersion); nVersion = this->nVersion; - if (nVersion == 1) READWRITE(nTime); + READWRITE(nTime); READWRITE(vin); READWRITE(vout); READWRITE(nLockTime); diff --git a/src/primitives/zerocoin.cpp b/src/primitives/zerocoin.cpp deleted file mode 100644 index 2888bf637d675..0000000000000 --- a/src/primitives/zerocoin.cpp +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include -#include "primitives/zerocoin.h" -#include "hash.h" -#include "util.h" -#include "utilstrencodings.h" - -bool CMintMeta::operator <(const CMintMeta& a) const -{ - return this->hashPubcoin < a.hashPubcoin; -} - -uint256 GetSerialHash(const CBigNum& bnSerial) -{ - CDataStream ss(SER_GETHASH, 0); - ss << bnSerial; - return Hash(ss.begin(), ss.end()); -} - -uint256 GetPubCoinHash(const CBigNum& bnValue) -{ - CDataStream ss(SER_GETHASH, 0); - ss << bnValue; - return Hash(ss.begin(), ss.end()); -} - -bool CZerocoinMint::GetKeyPair(CKey &key) const -{ - if (version < STAKABLE_VERSION) - return error("%s: version is %d", __func__, version); - - if (privkey.empty()) - return error("%s: empty privkey %s", __func__, privkey.data()); - - return key.SetPrivKey(privkey, true); -} - -std::string CZerocoinMint::ToString() const -{ - std::string str = strprintf("\n ZerocoinMint:\n version=%d \ntxfrom=%s \nheight=%d \n randomness: %s \n serial %s \n privkey %s\n", - version, txid.GetHex(), nHeight, randomness.GetHex(), serialNumber.GetHex(), HexStr(privkey)); - return str; -} - -void CZerocoinSpendReceipt::AddSpend(const CZerocoinSpend& spend) -{ - vSpends.emplace_back(spend); -} - -std::vector CZerocoinSpendReceipt::GetSpends() -{ - return vSpends; -} - -void CZerocoinSpendReceipt::SetStatus(std::string strStatus, int nStatus, int nNeededSpends) -{ - strStatusMessage = strStatus; - this->nStatus = nStatus; - this->nNeededSpends = nNeededSpends; -} - -std::string CZerocoinSpendReceipt::GetStatusMessage() -{ - return strStatusMessage; -} - -int CZerocoinSpendReceipt::GetStatus() -{ - return nStatus; -} - -int CZerocoinSpendReceipt::GetNeededSpends() -{ - return nNeededSpends; -} - - -int GetWrapppedSerialInflation(libzerocoin::CoinDenomination denom){ - if(Params().NetworkID() == CBaseChainParams::MAIN) { - switch (denom) { - case libzerocoin::CoinDenomination::ZQ_ONE: - return 7; - case libzerocoin::CoinDenomination::ZQ_FIVE: - return 6; - case libzerocoin::CoinDenomination::ZQ_TEN: - return 36; - case libzerocoin::CoinDenomination::ZQ_FIFTY: - return 22; - case libzerocoin::CoinDenomination::ZQ_ONE_HUNDRED: - return 244; - case libzerocoin::CoinDenomination::ZQ_FIVE_HUNDRED: - return 22; - case libzerocoin::CoinDenomination::ZQ_ONE_THOUSAND: - return 42; - case libzerocoin::CoinDenomination::ZQ_FIVE_THOUSAND: - return 98; - default: - throw std::runtime_error("GetWrapSerialInflation :: Invalid denom"); - } - }else{ - // Testnet/Regtest is ok. - return 0; - } -} - -int64_t GetWrapppedSerialInflationAmount(){ - int64_t amount = 0; - for (auto& denom : libzerocoin::zerocoinDenomList){ - amount += GetWrapppedSerialInflation(denom) * libzerocoin::ZerocoinDenominationToAmount(denom); - } - return amount; -} - diff --git a/src/primitives/zerocoin.h b/src/primitives/zerocoin.h deleted file mode 100644 index 249dea1e82998..0000000000000 --- a/src/primitives/zerocoin.h +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef ION_ZEROCOIN_H -#define ION_ZEROCOIN_H - -#include -#include -#include -#include "libzerocoin/bignum.h" -#include "libzerocoin/Denominations.h" -#include "key.h" -#include "serialize.h" - -//struct that is safe to store essential mint data, without holding any information that allows for actual spending (serial, randomness, private key) -struct CMintMeta -{ - int nHeight; - uint256 hashSerial; - uint256 hashPubcoin; - uint256 hashStake; //requires different hashing method than hashSerial above - uint8_t nVersion; - libzerocoin::CoinDenomination denom; - uint256 txid; - bool isUsed; - bool isArchived; - bool isDeterministic; - bool isSeedCorrect; - - bool operator <(const CMintMeta& a) const; -}; - -uint256 GetSerialHash(const CBigNum& bnSerial); -uint256 GetPubCoinHash(const CBigNum& bnValue); - -class CZerocoinMint -{ -private: - libzerocoin::CoinDenomination denomination; - int nHeight; - CBigNum value; - CBigNum randomness; - CBigNum serialNumber; - uint256 txid; - CPrivKey privkey; - uint8_t version; - bool isUsed; - -public: - static const int STAKABLE_VERSION = 2; - static const int CURRENT_VERSION = 2; - - CZerocoinMint() - { - SetNull(); - } - - CZerocoinMint(libzerocoin::CoinDenomination denom, const CBigNum& value, const CBigNum& randomness, const CBigNum& serialNumber, bool isUsed, const uint8_t& nVersion, CPrivKey* privkey = nullptr) - { - SetNull(); - this->denomination = denom; - this->value = value; - this->randomness = randomness; - this->serialNumber = serialNumber; - this->isUsed = isUsed; - this->version = nVersion; - if (nVersion >= 7 && privkey) - this->privkey = *privkey; - } - - void SetNull() - { - isUsed = false; - randomness = 0; - value = 0; - denomination = libzerocoin::ZQ_ERROR; - nHeight = 0; - txid = 0; - version = 1; - privkey.clear(); - } - - uint256 GetHash() const; - - CBigNum GetValue() const { return value; } - void SetValue(CBigNum value){ this->value = value; } - libzerocoin::CoinDenomination GetDenomination() const { return denomination; } - int64_t GetDenominationAsAmount() const { return denomination * COIN; } - void SetDenomination(libzerocoin::CoinDenomination denom){ this->denomination = denom; } - int GetHeight() const { return nHeight; } - void SetHeight(int nHeight){ this->nHeight = nHeight; } - bool IsUsed() const { return this->isUsed; } - void SetUsed(bool isUsed){ this->isUsed = isUsed; } - CBigNum GetRandomness() const{ return randomness; } - void SetRandomness(CBigNum rand){ this->randomness = rand; } - CBigNum GetSerialNumber() const { return serialNumber; } - void SetSerialNumber(CBigNum serial){ this->serialNumber = serial; } - uint256 GetTxHash() const { return this->txid; } - void SetTxHash(uint256 txid) { this->txid = txid; } - uint8_t GetVersion() const { return this->version; } - void SetVersion(const uint8_t nVersion) { this->version = nVersion; } - CPrivKey GetPrivKey() const { return this->privkey; } - void SetPrivKey(const CPrivKey& privkey) { this->privkey = privkey; } - bool GetKeyPair(CKey& key) const; - - inline bool operator <(const CZerocoinMint& a) const { return GetHeight() < a.GetHeight(); } - - CZerocoinMint(const CZerocoinMint& other) { - denomination = other.GetDenomination(); - nHeight = other.GetHeight(); - value = other.GetValue(); - randomness = other.GetRandomness(); - serialNumber = other.GetSerialNumber(); - txid = other.GetTxHash(); - isUsed = other.IsUsed(); - version = other.GetVersion(); - privkey = other.privkey; - } - - std::string ToString() const; - - bool operator == (const CZerocoinMint& other) const - { - return this->GetValue() == other.GetValue(); - } - - // Copy another CZerocoinMint - inline CZerocoinMint& operator=(const CZerocoinMint& other) { - denomination = other.GetDenomination(); - nHeight = other.GetHeight(); - value = other.GetValue(); - randomness = other.GetRandomness(); - serialNumber = other.GetSerialNumber(); - txid = other.GetTxHash(); - isUsed = other.IsUsed(); - version = other.GetVersion(); - privkey = other.GetPrivKey(); - return *this; - } - - // why 6 below (SPOCK) - inline bool checkUnused(int denom, int Height) const { - if (IsUsed() == false && GetDenomination() == denomination && GetRandomness() != 0 && GetSerialNumber() != 0 && GetHeight() != -1 && GetHeight() != INT_MAX && GetHeight() >= 1 && (GetHeight() + 6 <= Height)) { - return true; - } else { - return false; - } - } - - ADD_SERIALIZE_METHODS; - - template - inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { - READWRITE(isUsed); - READWRITE(randomness); - READWRITE(serialNumber); - READWRITE(value); - READWRITE(denomination); - READWRITE(nHeight); - READWRITE(txid); - - bool fVersionedMint = true; - try { - READWRITE(version); - } catch (...) { - fVersionedMint = false; - } - - if (version > CURRENT_VERSION) { - version = 1; - fVersionedMint = false; - } - - if (fVersionedMint) - READWRITE(privkey); - }; -}; - -class CZerocoinSpend -{ -private: - CBigNum coinSerial; - uint256 hashTx; - CBigNum pubCoin; - libzerocoin::CoinDenomination denomination; - unsigned int nAccumulatorChecksum; - int nMintCount; //memory only - the amount of mints that belong to the accumulator this is spent from - -public: - CZerocoinSpend() - { - SetNull(); - } - - CZerocoinSpend(CBigNum coinSerial, uint256 hashTx, CBigNum pubCoin, libzerocoin::CoinDenomination denomination, unsigned int nAccumulatorChecksum) - { - this->coinSerial = coinSerial; - this->hashTx = hashTx; - this->pubCoin = pubCoin; - this->denomination = denomination; - this->nAccumulatorChecksum = nAccumulatorChecksum; - } - - void SetNull() - { - coinSerial = 0; - hashTx = 0; - pubCoin = 0; - denomination = libzerocoin::ZQ_ERROR; - } - - CBigNum GetSerial() const { return coinSerial; } - uint256 GetTxHash() const { return hashTx; } - void SetTxHash(uint256 hash) { this->hashTx = hash; } - CBigNum GetPubCoin() const { return pubCoin; } - libzerocoin::CoinDenomination GetDenomination() const { return denomination; } - unsigned int GetAccumulatorChecksum() const { return this->nAccumulatorChecksum; } - uint256 GetHash() const; - void SetMintCount(int nMintsAdded) { this->nMintCount = nMintsAdded; } - int GetMintCount() const { return nMintCount; } - - ADD_SERIALIZE_METHODS; - - template - inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { - READWRITE(coinSerial); - READWRITE(hashTx); - READWRITE(pubCoin); - READWRITE(denomination); - READWRITE(nAccumulatorChecksum); - }; -}; - -class CZerocoinSpendReceipt -{ -private: - std::string strStatusMessage; - int nStatus; - int nNeededSpends; - std::vector vSpends; - -public: - void AddSpend(const CZerocoinSpend& spend); - std::vector GetSpends(); - void SetStatus(std::string strStatus, int nStatus, int nNeededSpends = 0); - std::string GetStatusMessage(); - int GetStatus(); - int GetNeededSpends(); -}; - -/** - * Wrapped serials attack inflation, only for mainnet. - * FUTURE: Move this to another file.. - * @param denom - * @return - */ -int GetWrapppedSerialInflation(libzerocoin::CoinDenomination denom); - -int64_t GetWrapppedSerialInflationAmount(); - -#endif //ION_ZEROCOIN_H diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index 3cf33e2de4152..0c2a3bc9c592c 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index c4d44e8d66ad8..e8c9cc4b9414b 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index 043fcf3ea7876..e16de322646d9 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -11,7 +10,7 @@ #include "walletmodel.h" #include "base58.h" -#include "wallet.h" +#include "wallet/wallet.h" #include "askpassphrasedialog.h" #include @@ -84,14 +83,14 @@ class AddressTablePriv { LOCK(wallet->cs_wallet); BOOST_FOREACH (const PAIRTYPE(CTxDestination, CAddressBookData) & item, wallet->mapAddressBook) { - const CTxDestination& address = item.first; - bool fMine = IsMine(*wallet, address); + const CBitcoinAddress& address = item.first; + bool fMine = IsMine(*wallet, address.Get()); AddressTableEntry::Type addressType = translateTransactionType( QString::fromStdString(item.second.purpose), fMine); const std::string& strName = item.second.name; cachedAddressTable.append(AddressTableEntry(addressType, QString::fromStdString(strName), - QString::fromStdString(EncodeDestination(address)))); + QString::fromStdString(address.ToString()))); } } // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order @@ -266,7 +265,7 @@ bool AddressTableModel::setData(const QModelIndex& index, const QVariant& value, if (role == Qt::EditRole) { LOCK(wallet->cs_wallet); /* For SetAddressBook / DelAddressBook */ - CTxDestination curAddress = DecodeDestination(rec->address.toStdString()); + CTxDestination curAddress = CBitcoinAddress(rec->address.toStdString()).Get(); if (index.column() == Label) { // Do nothing, if old label == new label if (rec->label == value.toString()) { @@ -275,7 +274,7 @@ bool AddressTableModel::setData(const QModelIndex& index, const QVariant& value, } wallet->SetAddressBook(curAddress, value.toString().toStdString(), strPurpose); } else if (index.column() == Address) { - CTxDestination newAddress = DecodeDestination(value.toString().toStdString()); + CTxDestination newAddress = CBitcoinAddress(value.toString().toStdString()).Get(); // Refuse to set invalid address, set error status and return false if (boost::get(&newAddress)) { editStatus = INVALID_ADDRESS; @@ -376,7 +375,7 @@ QString AddressTableModel::addRow(const QString& type, const QString& label, con // Check for duplicate addresses { LOCK(wallet->cs_wallet); - if(wallet->mapAddressBook.count(DecodeDestination(strAddress))) { + if (wallet->mapAddressBook.count(CBitcoinAddress(strAddress).Get())) { editStatus = DUPLICATE_ADDRESS; return QString(); } @@ -396,7 +395,7 @@ QString AddressTableModel::addRow(const QString& type, const QString& label, con return QString(); } } - strAddress = EncodeDestination(newKey.GetID()); + strAddress = CBitcoinAddress(newKey.GetID()).ToString(); } else { return QString(); } @@ -404,7 +403,7 @@ QString AddressTableModel::addRow(const QString& type, const QString& label, con // Add entry { LOCK(wallet->cs_wallet); - wallet->SetAddressBook(DecodeDestination(strAddress), strLabel, + wallet->SetAddressBook(CBitcoinAddress(strAddress).Get(), strLabel, (type == Send ? "send" : "receive")); } return QString::fromStdString(strAddress); @@ -421,7 +420,7 @@ bool AddressTableModel::removeRows(int row, int count, const QModelIndex& parent } { LOCK(wallet->cs_wallet); - wallet->DelAddressBook(DecodeDestination(rec->address.toStdString())); + wallet->DelAddressBook(CBitcoinAddress(rec->address.toStdString()).Get()); } return true; } @@ -432,8 +431,8 @@ QString AddressTableModel::labelForAddress(const QString& address) const { { LOCK(wallet->cs_wallet); - CTxDestination destination = DecodeDestination(address.toStdString()); - std::map::iterator mi = wallet->mapAddressBook.find(destination); + CBitcoinAddress address_parsed(address.toStdString()); + std::map::iterator mi = wallet->mapAddressBook.find(address_parsed.Get()); if (mi != wallet->mapAddressBook.end()) { return QString::fromStdString(mi->second.name); } diff --git a/src/qt/addresstablemodel.h b/src/qt/addresstablemodel.h index 704b7e7d2a071..fe265ac06b07d 100644 --- a/src/qt/addresstablemodel.h +++ b/src/qt/addresstablemodel.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp index cb8eca5574f68..52bc2a498ce51 100644 --- a/src/qt/askpassphrasedialog.cpp +++ b/src/qt/askpassphrasedialog.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/askpassphrasedialog.h b/src/qt/askpassphrasedialog.h index 172f95cdbea61..390632398fd3b 100644 --- a/src/qt/askpassphrasedialog.h +++ b/src/qt/askpassphrasedialog.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bantablemodel.cpp b/src/qt/bantablemodel.cpp index d0cb06b567d24..5bc703d06aeec 100644 --- a/src/qt/bantablemodel.cpp +++ b/src/qt/bantablemodel.cpp @@ -1,6 +1,5 @@ -// Copyright (c) 2011-2019 The Bitcoin Core developers +// Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bantablemodel.h b/src/qt/bantablemodel.h index fd4598b5149bd..3faca2aacd53f 100644 --- a/src/qt/bantablemodel.h +++ b/src/qt/bantablemodel.h @@ -1,6 +1,5 @@ -// Copyright (c) 2011-2019 The Bitcoin Core developers +// Copyright (c) 2011-2013 The Bitcoin Core developers // Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bip38tooldialog.cpp b/src/qt/bip38tooldialog.cpp index ddf5788b44de4..2a6292c683568 100644 --- a/src/qt/bip38tooldialog.cpp +++ b/src/qt/bip38tooldialog.cpp @@ -1,5 +1,4 @@ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -13,7 +12,7 @@ #include "base58.h" #include "bip38.h" #include "init.h" -#include "wallet.h" +#include "wallet/wallet.h" #include "askpassphrasedialog.h" #include @@ -120,15 +119,15 @@ void Bip38ToolDialog::on_encryptKeyButton_ENC_clicked() return; } - CTxDestination dest = DecodeDestination(ui->addressIn_ENC->text().toStdString()); - if (!IsValidDestination(dest)) { + CBitcoinAddress addr(ui->addressIn_ENC->text().toStdString()); + if (!addr.IsValid()) { ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); ui->statusLabel_ENC->setText(tr("The entered address is invalid.") + QString(" ") + tr("Please check the address and try again.")); return; } - CKeyID *keyID = boost::get(&dest); - if (!keyID) { + CKeyID keyID; + if (!addr.GetKeyID(keyID)) { ui->addressIn_ENC->setValid(false); ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); ui->statusLabel_ENC->setText(tr("The entered address does not refer to a key.") + QString(" ") + tr("Please check the address and try again.")); @@ -143,13 +142,13 @@ void Bip38ToolDialog::on_encryptKeyButton_ENC_clicked() } CKey key; - if (!pwalletMain->GetKey(*keyID, key)) { + if (!pwalletMain->GetKey(keyID, key)) { ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); ui->statusLabel_ENC->setText(tr("Private key for the entered address is not available.")); return; } - std::string encryptedKey = BIP38_Encrypt(EncodeDestination(dest), qstrPassphrase.toStdString(), key.GetPrivKey_256(), key.IsCompressed()); + std::string encryptedKey = BIP38_Encrypt(addr.ToString(), qstrPassphrase.toStdString(), key.GetPrivKey_256(), key.IsCompressed()); ui->encryptedKeyOut_ENC->setText(QString::fromStdString(encryptedKey)); } @@ -190,9 +189,10 @@ void Bip38ToolDialog::on_decryptKeyButton_DEC_clicked() key.Set(privKey.begin(), privKey.end(), fCompressed); CPubKey pubKey = key.GetPubKey(); - + CBitcoinAddress address(pubKey.GetID()); + ui->decryptedKeyOut_DEC->setText(QString::fromStdString(CBitcoinSecret(key).ToString())); - ui->addressOut_DEC->setText(QString::fromStdString(EncodeDestination(pubKey.GetID()))); + ui->addressOut_DEC->setText(QString::fromStdString(address.ToString())); } void Bip38ToolDialog::on_importAddressButton_DEC_clicked() @@ -204,18 +204,17 @@ void Bip38ToolDialog::on_importAddressButton_DEC_clicked() return; } + CBitcoinAddress address(ui->addressOut_DEC->text().toStdString()); CPubKey pubkey = key.GetPubKey(); - if (!IsValidDestinationString(ui->addressOut_DEC->text().toStdString())) { + if (!address.IsValid() || !key.IsValid() || CBitcoinAddress(pubkey.GetID()).ToString() != address.ToString()) { ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); ui->statusLabel_DEC->setText(tr("Data Not Valid.") + QString(" ") + tr("Please try again.")); return; } - CTxDestination dest = DecodeDestination(ui->addressOut_DEC->text().toStdString()); - - if (!key.IsValid() || EncodeDestination(pubkey.GetID()) != EncodeDestination(dest)) { - CKeyID vchAddress = pubkey.GetID(); + CKeyID vchAddress = pubkey.GetID(); + { ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); ui->statusLabel_DEC->setText(tr("Please wait while key is imported")); diff --git a/src/qt/bip38tooldialog.h b/src/qt/bip38tooldialog.h index 131ac2a9bcd07..2b735a3e0d692 100644 --- a/src/qt/bip38tooldialog.h +++ b/src/qt/bip38tooldialog.h @@ -1,5 +1,4 @@ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoinaddressvalidator.cpp b/src/qt/bitcoinaddressvalidator.cpp index fa68e2219a453..908d15b3c6f62 100644 --- a/src/qt/bitcoinaddressvalidator.cpp +++ b/src/qt/bitcoinaddressvalidator.cpp @@ -1,13 +1,12 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "bitcoinaddressvalidator.h" -#include "dstencode.h" +#include "base58.h" /* Base58 characters are: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" @@ -84,9 +83,9 @@ QValidator::State BitcoinAddressCheckValidator::validate(QString& input, int& po { Q_UNUSED(pos); // Validate the passed ION address - if (IsValidDestinationString(input.toStdString())) { + CBitcoinAddress addr(input.toStdString()); + if (addr.IsValid()) return QValidator::Acceptable; - } return QValidator::Invalid; } diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp index 16a994d59a004..8737fec59551f 100644 --- a/src/qt/bitcoinamountfield.cpp +++ b/src/qt/bitcoinamountfield.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 412496cb4cff7..cd27ef8bb8390 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1,8 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018 The PHORE developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -114,7 +112,7 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle* networkStyle, QWidget* parent) : QMai GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this); - QString windowTitle = tr("Ion Core") + " - "; + QString windowTitle = tr("ION Core") + " - "; #ifdef ENABLE_WALLET /* if compiled with wallet support, -disablewallet can still disable the wallet */ enableWallet = !GetBoolArg("-disablewallet", false); @@ -401,8 +399,8 @@ void BitcoinGUI::createActions(const NetworkStyle* networkStyle) quitAction->setStatusTip(tr("Quit application")); quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); quitAction->setMenuRole(QAction::QuitRole); - aboutAction = new QAction(networkStyle->getAppIcon(), tr("&About Ion Core"), this); - aboutAction->setStatusTip(tr("Show information about Ion Core")); + aboutAction = new QAction(networkStyle->getAppIcon(), tr("&About ION Core"), this); + aboutAction->setStatusTip(tr("Show information about ION Core")); aboutAction->setMenuRole(QAction::AboutRole); aboutQtAction = new QAction(QIcon(":/qt-project.org/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setStatusTip(tr("Show information about Qt")); @@ -469,7 +467,7 @@ void BitcoinGUI::createActions(const NetworkStyle* networkStyle) showHelpMessageAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr("&Command-line options"), this); showHelpMessageAction->setMenuRole(QAction::NoRole); - showHelpMessageAction->setStatusTip(tr("Show the Ion Core help message to get a list with possible ION command-line options")); + showHelpMessageAction->setStatusTip(tr("Show the ION Core help message to get a list with possible ION command-line options")); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); @@ -703,7 +701,7 @@ void BitcoinGUI::createTrayIcon(const NetworkStyle* networkStyle) { #ifndef Q_OS_MAC trayIcon = new QSystemTrayIcon(this); - QString toolTip = tr("Ion Core client") + " " + networkStyle->getTitleAddText(); + QString toolTip = tr("ION Core client") + " " + networkStyle->getTitleAddText(); trayIcon->setToolTip(toolTip); trayIcon->setIcon(networkStyle->getAppIcon()); trayIcon->hide(); @@ -1052,7 +1050,7 @@ void BitcoinGUI::setNumBlocks(int count) void BitcoinGUI::message(const QString& title, const QString& message, unsigned int style, bool* ret) { - QString strTitle = tr("Ion Core"); // default title + QString strTitle = tr("ION Core"); // default title // Default to information icon int nMBoxIcon = QMessageBox::Information; int nNotifyIcon = Notificator::Information; diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 0861da16d546a..793ec04c3835f 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -1,7 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018 The PHORE developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -133,6 +131,7 @@ class BitcoinGUI : public QMainWindow QAction* openBlockExplorerAction; QAction* showHelpMessageAction; QAction* multiSendAction; + QSystemTrayIcon* trayIcon; QMenu* trayIconMenu; Notificator* notificator; diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index e135f21d0f690..609c44da147f7 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h index 8e25e2d7828c7..21d47b051c588 100644 --- a/src/qt/bitcoinunits.h +++ b/src/qt/bitcoinunits.h @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/blockexplorer.cpp b/src/qt/blockexplorer.cpp index 99701a3647b95..14428f411d5fc 100644 --- a/src/qt/blockexplorer.cpp +++ b/src/qt/blockexplorer.cpp @@ -1,5 +1,4 @@ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -60,12 +59,13 @@ static std::string ScriptToString(const CScript& Script, bool Long = false, bool if (Script.empty()) return "unknown"; - CTxDestination dest; - if (ExtractDestination(Script, dest)) { + CTxDestination Dest; + CBitcoinAddress Address; + if (ExtractDestination(Script, Dest) && Address.Set(Dest)) { if (Highlight) - return "" + EncodeDestination(dest) + ""; + return "" + Address.ToString() + ""; else - return makeHRef(EncodeDestination(dest)); + return makeHRef(Address.ToString()); } else return Long ? "
" + FormatScript(Script) + "
" : _("Non-standard script"); } @@ -180,7 +180,7 @@ const CBlockIndex* getexplorerBlockIndex(int64_t height) std::string getexplorerBlockHash(int64_t Height) { - std::string genesisblockhash = "0000041e482b9b9691d98eefb48473405c0b8ec31b76df3797c74a78680ef818"; + std::string genesisblockhash = "0000004cf5ffbf2e31a9aa07c86298efb01a30b8911b80af7473d1114715084b"; CBlockIndex* pindexBest = mapBlockIndex[chainActive.Tip()->GetBlockHash()]; if ((Height < 0) || (Height > pindexBest->nHeight)) { return genesisblockhash; @@ -377,7 +377,7 @@ std::string TxToString(uint256 BlockHash, const CTransaction& tx) return Content; } -std::string AddressToString(const CTxDestination& dest) +std::string AddressToString(const CBitcoinAddress& Address) { std::string TxLabels[] = { @@ -425,7 +425,7 @@ std::string AddressToString(const CTxDestination& dest) TxContent += ""; std::string Content; - Content += "

" + _("Transactions to/from") + " " + EncodeDestination(dest) + "

"; + Content += "

" + _("Transactions to/from") + " " + Address.ToString() + "

"; Content += TxContent; return Content; } @@ -478,7 +478,7 @@ void BlockExplorer::showEvent(QShowEvent*) if (!GetBoolArg("-txindex", true)) { QString Warning = tr("Not all transactions will be shown. To view all transactions you need to set txindex=1 in the configuration file (ioncoin.conf)."); - QMessageBox::warning(this, "Ion Core Blockchain Explorer", Warning, QMessageBox::Ok); + QMessageBox::warning(this, "ION Core Blockchain Explorer", Warning, QMessageBox::Ok); } } } @@ -517,9 +517,10 @@ bool BlockExplorer::switchTo(const QString& query) } // If the query is not an integer, nor a block hash, nor a transaction hash, assume an address - if (IsValidDestinationString(query.toUtf8().constData())) { - CTxDestination dest = DecodeDestination(query.toUtf8().constData()); - std::string Content = EncodeDestination(dest); + CBitcoinAddress Address; + Address.SetString(query.toUtf8().constData()); + if (Address.IsValid()) { + std::string Content = AddressToString(Address); if (Content.empty()) return false; setContent(Content); diff --git a/src/qt/blockexplorer.h b/src/qt/blockexplorer.h index 921bc209e0309..d1b377cc0fcce 100644 --- a/src/qt/blockexplorer.h +++ b/src/qt/blockexplorer.h @@ -1,5 +1,4 @@ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -8,7 +7,7 @@ #include -#include "dstencode.h" +#include "base58.h" #include "uint256.h" #undef loop diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 88b2c5603f894..a7c0426d9caba 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 8bec51eb7ccce..0841f3a3001f4 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index d4bb3a5e67daa..7a1a486010efd 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -18,7 +17,7 @@ #include "coincontrol.h" #include "main.h" #include "obfuscation.h" -#include "wallet.h" +#include "wallet/wallet.h" #include "multisigdialog.h" #include // for 'map_list_of()' @@ -37,7 +36,6 @@ using namespace std; QList CoinControlDialog::payAmounts; int CoinControlDialog::nSplitBlockDummy; CCoinControl* CoinControlDialog::coinControl = new CCoinControl(); -bool CoinControlDialog::fSubtractFeeFromAmount = false; bool CCoinControlWidgetItem::operator<(const QTreeWidgetItem &other) const { @@ -605,11 +603,6 @@ void CoinControlDialog::updateLabels(WalletModel* model, QDialog* dialog) dPriority = dPriorityInputs / (nBytes - nBytesInputs + (nQuantityUncompressed * 29)); // 29 = 180 - 151 (uncompressed public keys are over the limit. max 151 bytes of the input are ignored for priority) sPriorityLabel = CoinControlDialog::getPriorityLabel(dPriority, mempoolEstimatePriority); - // in the subtract fee from amount case, we can tell if zero change already and subtract the bytes, so that fee calculation afterwards is accurate - if (CoinControlDialog::fSubtractFeeFromAmount) - if (nAmount - nPayAmount == 0) - nBytes -= 34; - // Fee nPayFee = CWallet::GetMinimumFee(nBytes, nTxConfirmTarget, mempool); @@ -626,25 +619,18 @@ void CoinControlDialog::updateLabels(WalletModel* model, QDialog* dialog) nPayFee = 0; if (nPayAmount > 0) { - nChange = nAmount - nPayAmount; - if (!CoinControlDialog::fSubtractFeeFromAmount) - nChange -= nPayFee; + nChange = nAmount - nPayFee - nPayAmount; // Never create dust outputs; if we would, just add the dust to the fee. if (nChange > 0 && nChange < CENT) { CTxOut txout(nChange, (CScript)vector(24, 0)); if (txout.IsDust(::minRelayTxFee)) { - if (CoinControlDialog::fSubtractFeeFromAmount) // dust-change will be raised until no dust - nChange = txout.GetDustThreshold(::minRelayTxFee); - else - { - nPayFee += nChange; - nChange = 0; - } + nPayFee += nChange; + nChange = 0; } } - if (nChange == 0 && !CoinControlDialog::fSubtractFeeFromAmount) + if (nChange == 0) nBytes -= 34; } @@ -686,7 +672,7 @@ void CoinControlDialog::updateLabels(WalletModel* model, QDialog* dialog) if (nPayFee > 0 && !(payTxFee.GetFeePerK() > 0 && fPayAtLeastCustomFee && nBytes < 1000)) { l3->setText("~" + l3->text()); l4->setText("~" + l4->text()); - if (nChange > 0 && !CoinControlDialog::fSubtractFeeFromAmount) + if (nChange > 0) l8->setText("~" + l8->text()); } @@ -697,21 +683,21 @@ void CoinControlDialog::updateLabels(WalletModel* model, QDialog* dialog) // tool tips QString toolTip1 = tr("This label turns red, if the transaction size is greater than 1000 bytes.") + "

"; - toolTip1 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))) + "

"; + toolTip1 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::minTxFee.GetFeePerK())) + "

"; toolTip1 += tr("Can vary +/- 1 byte per input."); QString toolTip2 = tr("Transactions with higher priority are more likely to get included into a block.") + "

"; toolTip2 += tr("This label turns red, if the priority is smaller than \"medium\".") + "

"; - toolTip2 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))); + toolTip2 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::minTxFee.GetFeePerK())); QString toolTip3 = tr("This label turns red, if any recipient receives an amount smaller than %1.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, ::minRelayTxFee.GetFee(546))); // how many satoshis the estimated fee can vary per byte we guess wrong double dFeeVary; if (payTxFee.GetFeePerK() > 0) - dFeeVary = (double)std::max(CWallet::GetRequiredFee(1000), payTxFee.GetFeePerK()) / 1000; + dFeeVary = (double)std::max(CWallet::minTxFee.GetFeePerK(), payTxFee.GetFeePerK()) / 1000; else - dFeeVary = (double)std::max(CWallet::GetRequiredFee(1000), mempool.estimateFee(nTxConfirmTarget).GetFeePerK()) / 1000; + dFeeVary = (double)std::max(CWallet::minTxFee.GetFeePerK(), mempool.estimateFee(nTxConfirmTarget).GetFeePerK()) / 1000; QString toolTip4 = tr("Can vary +/- %1 uion per input.").arg(dFeeVary); l3->setToolTip(toolTip4); @@ -816,7 +802,7 @@ void CoinControlDialog::updateView() CTxDestination outputAddress; QString sAddress = ""; if (ExtractDestination(out.tx->vout[out.i].scriptPubKey, outputAddress)) { - sAddress = QString::fromStdString(EncodeDestination(outputAddress)); + sAddress = QString::fromStdString(CBitcoinAddress(outputAddress).ToString()); // if listMode or change => show ION address. In tree mode, address is not shown again for direct wallet address outputs if (!treeMode || (!(sAddress == sWalletAddress))) diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h index d8a8aafcb2dd2..73ee4ea9e8d7c 100644 --- a/src/qt/coincontroldialog.h +++ b/src/qt/coincontroldialog.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -57,7 +56,6 @@ class CoinControlDialog : public QDialog static QList payAmounts; static CCoinControl* coinControl; static int nSplitBlockDummy; - static bool fSubtractFeeFromAmount; private: Ui::CoinControlDialog* ui; diff --git a/src/qt/coincontroltreewidget.cpp b/src/qt/coincontroltreewidget.cpp index f89dcaa767b8e..f09305862a861 100644 --- a/src/qt/coincontroltreewidget.cpp +++ b/src/qt/coincontroltreewidget.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/csvmodelwriter.cpp b/src/qt/csvmodelwriter.cpp index aa98e6d5f5910..f05bad1ade19f 100644 --- a/src/qt/csvmodelwriter.cpp +++ b/src/qt/csvmodelwriter.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/csvmodelwriter.h b/src/qt/csvmodelwriter.h index e8e00eff9ebf5..cb7b8fb7e228c 100644 --- a/src/qt/csvmodelwriter.h +++ b/src/qt/csvmodelwriter.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp index 0e3f0fb2eac59..788fdb63bfa92 100644 --- a/src/qt/editaddressdialog.cpp +++ b/src/qt/editaddressdialog.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/editaddressdialog.h b/src/qt/editaddressdialog.h index 48bfc8ed3c3c4..0da1038d44610 100644 --- a/src/qt/editaddressdialog.h +++ b/src/qt/editaddressdialog.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/forms/helpmessagedialog.ui b/src/qt/forms/helpmessagedialog.ui index 6197aa7f41736..f022b539c5c8a 100644 --- a/src/qt/forms/helpmessagedialog.ui +++ b/src/qt/forms/helpmessagedialog.ui @@ -16,7 +16,7 @@ - Ion Core - Command-line options + ION Core - Command-line options diff --git a/src/qt/forms/intro.ui b/src/qt/forms/intro.ui index 88e292d80ae21..1e0504119d882 100644 --- a/src/qt/forms/intro.ui +++ b/src/qt/forms/intro.ui @@ -20,7 +20,7 @@ QLabel { font-style:italic; } - Welcome to Ion Core. + Welcome to ION Core. true @@ -46,7 +46,7 @@ - As this is the first time the program is launched, you can choose where Ion Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. true @@ -56,7 +56,7 @@ - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. true diff --git a/src/qt/forms/obfuscationconfig.ui b/src/qt/forms/obfuscationconfig.ui index 0a362ae76a058..c76ce9f837887 100644 --- a/src/qt/forms/obfuscationconfig.ui +++ b/src/qt/forms/obfuscationconfig.ui @@ -75,7 +75,7 @@ - Use 2 separate masternodes to mix funds up to 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION @@ -88,7 +88,7 @@ - Use 8 separate masternodes to mix funds up to 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION @@ -114,7 +114,7 @@ - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION @@ -127,7 +127,7 @@ - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION @@ -153,7 +153,7 @@ - 0.1 ION per 10000 ION you anonymize. + 0.1 ION per 20000 ION you anonymize. diff --git a/src/qt/forms/privacydialog.ui b/src/qt/forms/privacydialog.ui index 70e7fb28ff1ea..5f2ec476d8c74 100644 --- a/src/qt/forms/privacydialog.ui +++ b/src/qt/forms/privacydialog.ui @@ -666,7 +666,7 @@ - 10 + 8 @@ -859,57 +859,6 @@ xION are mature when they have more than 20 confirmations AND more than 2 mints - - - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - - - QFrame::Box - - - Security Level: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - 0 - 0 - - - - Security Level 1 - 100 (default: 42) - - - QAbstractSpinBox::PlusMinus - - - true - - - QAbstractSpinBox::CorrectToNearestValue - - - 1 - - - 100 - - - 42 - - - - - diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui index 7c34091a44cd3..3815e19063cd9 100644 --- a/src/qt/forms/sendcoinsentry.ui +++ b/src/qt/forms/sendcoinsentry.ui @@ -139,21 +139,7 @@ - - - - - - - - The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - - - S&ubtract fee from amount - - - - + diff --git a/src/qt/forms/xioncontroldialog.ui b/src/qt/forms/xioncontroldialog.ui index c7d0df5b84809..a167739a63c9d 100644 --- a/src/qt/forms/xioncontroldialog.ui +++ b/src/qt/forms/xioncontroldialog.ui @@ -6,13 +6,13 @@ 0 0 - 681 + 781 450 - 681 + 781 450 @@ -157,12 +157,17 @@ - xION ID + ID - xION Version + Version + + + + + Precomputed @@ -172,7 +177,7 @@ - Is Spendable + Spendable? diff --git a/src/qt/governancepage.cpp b/src/qt/governancepage.cpp index a748acb1262a2..6a531639d7efc 100644 --- a/src/qt/governancepage.cpp +++ b/src/qt/governancepage.cpp @@ -6,6 +6,7 @@ #include "ui_governancepage.h" #include "activemasternode.h" +#include "chainparams.h" #include "clientmodel.h" #include "masternode-budget.h" #include "masternode-sync.h" @@ -114,7 +115,7 @@ void GovernancePage::updateProposalList() nLeft = 0; } else { - nNext = pindexPrev->nHeight - pindexPrev->nHeight % GetBudgetPaymentCycleBlocks() + GetBudgetPaymentCycleBlocks(); + nNext = pindexPrev->nHeight - pindexPrev->nHeight % Params().GetBudgetCycleBlocks() + Params().GetBudgetCycleBlocks(); nLeft = nNext - pindexPrev->nHeight; } diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 172476234af4e..9086d7b3935b0 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -55,9 +54,8 @@ static const int MAX_URI_LENGTH = 255; #define SPINNER_FRAMES 35 #define QAPP_ORG_NAME "ION" -#define QAPP_ORG_DOMAIN "ioncoin.org" -#define QAPP_APP_NAME_DEFAULT "Ion-Qt" -#define QAPP_APP_NAME_TESTNET "Ion-Qt-testnet" -#define QAPP_APP_NAME_REGTEST "Ion-Qt-regtest" +#define QAPP_ORG_DOMAIN "ioncoin.xyz" +#define QAPP_APP_NAME_DEFAULT "ION-Qt" +#define QAPP_APP_NAME_TESTNET "ION-Qt-testnet" #endif // BITCOIN_QT_GUICONSTANTS_H diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 3ddd6b48b6480..950cb934a9213 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -206,7 +205,7 @@ QString formatBitcoinURI(const SendCoinsRecipient& info) bool isDust(const QString& address, const CAmount& amount) { - CTxDestination dest = DecodeDestination(address.toStdString()); + CTxDestination dest = CBitcoinAddress(address.toStdString()).Get(); CScript script = GetScriptForDestination(dest); CTxOut txOut(amount, script); return txOut.IsDust(::minRelayTxFee); diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 76b788f1b90e3..aecc6886e0989 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp index c03fe1b005357..43024d4b251c7 100644 --- a/src/qt/intro.cpp +++ b/src/qt/intro.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -175,7 +174,7 @@ bool Intro::pickDataDirectory() TryCreateDirectory(GUIUtil::qstringToBoostPath(dataDir)); break; } catch (fs::filesystem_error& e) { - QMessageBox::critical(0, tr("Ion Core"), + QMessageBox::critical(0, tr("ION Core"), tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir)); /* fall through, back to choosing screen */ } diff --git a/src/qt/intro.h b/src/qt/intro.h index 5cff82780e4af..4e7987e7a924d 100644 --- a/src/qt/intro.h +++ b/src/qt/intro.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/ion.cpp b/src/qt/ion.cpp index ac6590e479afc..7cdb2a3a1309c 100644 --- a/src/qt/ion.cpp +++ b/src/qt/ion.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -35,7 +34,7 @@ #include "util.h" #ifdef ENABLE_WALLET -#include "wallet.h" +#include "wallet/wallet.h" #endif #include @@ -146,7 +145,7 @@ void DebugMessageHandler(QtMsgType type, const QMessageLogContext& context, cons LogPrint(category, "GUI: %s\n", msg.toStdString()); } -/** Class encapsulating Ion Core startup and shutdown. +/** Class encapsulating ION Core startup and shutdown. * Allows running startup and shutdown in a different thread from the UI thread. */ class BitcoinCore : public QObject @@ -551,14 +550,14 @@ int main(int argc, char* argv[]) /// 6. Determine availability of data directory and parse ioncoin.conf /// - Do not call GetDataDir(true) before this step finishes if (!boost::filesystem::is_directory(GetDataDir(false))) { - QMessageBox::critical(0, QObject::tr("Ion Core"), + QMessageBox::critical(0, QObject::tr("ION Core"), QObject::tr("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"]))); return 1; } try { ReadConfigFile(mapArgs, mapMultiArgs); } catch (std::exception& e) { - QMessageBox::critical(0, QObject::tr("Ion Core"), + QMessageBox::critical(0, QObject::tr("ION Core"), QObject::tr("Error: Cannot parse configuration file: %1. Only use key=value syntax.").arg(e.what())); return 0; } @@ -571,7 +570,7 @@ int main(int argc, char* argv[]) // Check for -testnet or -regtest parameter (Params() calls are only valid after this clause) if (!SelectParamsFromCommandLine()) { - QMessageBox::critical(0, QObject::tr("Ion Core"), QObject::tr("Error: Invalid combination of -regtest and -testnet.")); + QMessageBox::critical(0, QObject::tr("ION Core"), QObject::tr("Error: Invalid combination of -regtest and -testnet.")); return 1; } #ifdef ENABLE_WALLET @@ -590,7 +589,7 @@ int main(int argc, char* argv[]) /// 7a. parse masternode.conf string strErr; if (!masternodeConfig.read(strErr)) { - QMessageBox::critical(0, QObject::tr("Ion Core"), + QMessageBox::critical(0, QObject::tr("ION Core"), QObject::tr("Error reading masternode configuration file: %1").arg(strErr.c_str())); return 0; } @@ -631,7 +630,7 @@ int main(int argc, char* argv[]) app.createWindow(networkStyle.data()); app.requestInitialize(); #if defined(Q_OS_WIN) - WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("Ion Core didn't yet exit safely..."), (HWND)app.getMainWinId()); + WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("ION Core didn't yet exit safely..."), (HWND)app.getMainWinId()); #endif app.exec(); app.requestShutdown(); diff --git a/src/qt/ion.qrc b/src/qt/ion.qrc index 335aec44799b8..fbd6763eeece7 100644 --- a/src/qt/ion.qrc +++ b/src/qt/ion.qrc @@ -38,6 +38,9 @@ res/icons/governance_dark.png res/icons/export.png res/icons/synced.png + res/icons/notsynced.png + res/icons/notsynced_testnet.png + res/icons/notsynced_regtest.png res/icons/remove.png res/icons/tx_mined.png res/icons/tx_input.png @@ -75,6 +78,8 @@ res/images/about.png res/images/ion_logo_horizontal.png + res/images/ion_logo_horizontal_testnet.png + res/images/ion_logo_horizontal_regtest.png res/images/downArrow_dark.png res/images/downArrow_small_dark.png res/images/downArrow_small.png @@ -83,8 +88,6 @@ res/images/leftArrow_small_dark.png res/images/rightArrow_small_dark.png res/images/qtreeview_selected.png - res/images/walletFrame_bg.png - res/images/walletFrame.png res/images/splash.png res/images/splash_testnet.png res/images/splash_regtest.png diff --git a/src/qt/ion_locale.qrc b/src/qt/ion_locale.qrc index 10c94dd581d19..9bcdb819e7faf 100644 --- a/src/qt/ion_locale.qrc +++ b/src/qt/ion_locale.qrc @@ -6,6 +6,7 @@ locale/ion_da.qm locale/ion_de.qm locale/ion_en.qm + locale/ion_en_GB.qm locale/ion_en_US.qm locale/ion_eo.qm locale/ion_es.qm diff --git a/src/qt/ionstrings.cpp b/src/qt/ionstrings.cpp index c0f7213e1a9d9..70fe6667d1182 100644 --- a/src/qt/ionstrings.cpp +++ b/src/qt/ionstrings.cpp @@ -32,7 +32,7 @@ QT_TRANSLATE_NOOP("ion-core", "" QT_TRANSLATE_NOOP("ion-core", "" "Calculated accumulator checkpoint is not what is recorded by block index"), QT_TRANSLATE_NOOP("ion-core", "" -"Cannot obtain a lock on data directory %s. Ion Core is probably already " +"Cannot obtain a lock on data directory %s. ION Core is probably already " "running."), QT_TRANSLATE_NOOP("ion-core", "" "Change automatic finalized budget voting behavior. mode=auto: Vote for only " @@ -58,6 +58,8 @@ QT_TRANSLATE_NOOP("ion-core", "" QT_TRANSLATE_NOOP("ion-core", "" "Enable SwiftX, show confirmations for locked transactions (bool, default: %s)"), QT_TRANSLATE_NOOP("ion-core", "" +"Enable automatic Zerocoin minting from specific addresses (0-1, default: %u)"), +QT_TRANSLATE_NOOP("ion-core", "" "Enable automatic wallet backups triggered after each xION minting (0-1, " "default: %u)"), QT_TRANSLATE_NOOP("ion-core", "" @@ -134,9 +136,14 @@ QT_TRANSLATE_NOOP("ion-core", "" "Maintain a full transaction index, used by the getrawtransaction rpc call " "(default: %u)"), QT_TRANSLATE_NOOP("ion-core", "" +"Maximum average size of an index occurrence in the block spam filter " +"(default: %u)"), +QT_TRANSLATE_NOOP("ion-core", "" "Maximum size of data in data carrier transactions we relay and mine " "(default: %u)"), QT_TRANSLATE_NOOP("ion-core", "" +"Maximum size of the list of indexes in the block spam filter (default: %u)"), +QT_TRANSLATE_NOOP("ion-core", "" "Maximum total fees to use in a single wallet transaction, setting too low " "may abort large transactions (default: %s)"), QT_TRANSLATE_NOOP("ion-core", "" @@ -162,6 +169,9 @@ QT_TRANSLATE_NOOP("ion-core", "" QT_TRANSLATE_NOOP("ion-core", "" "Set maximum size of high-priority/low-fee transactions in bytes (default: %d)"), QT_TRANSLATE_NOOP("ion-core", "" +"Set the number of included blocks to precompute per cycle. (minimum: %d) " +"(maximum: %d) (default: %d)"), +QT_TRANSLATE_NOOP("ion-core", "" "Set the number of script verification threads (%u to %d, 0 = auto, <0 = " "leave that many cores free, default: %d)"), QT_TRANSLATE_NOOP("ion-core", "" @@ -185,6 +195,11 @@ QT_TRANSLATE_NOOP("ion-core", "" "SwiftX requires inputs with at least 6 confirmations, you might need to wait " "a few minutes and try again."), QT_TRANSLATE_NOOP("ion-core", "" +"The block database contains a block which appears to be from the future. " +"This may be due to your computer's date and time being set incorrectly. Only " +"rebuild the block database if you are sure that your computer's date and " +"time are correct"), +QT_TRANSLATE_NOOP("ion-core", "" "This is a pre-release test build - use at your own risk - do not use for " "staking or merchant applications!"), QT_TRANSLATE_NOOP("ion-core", "" @@ -195,7 +210,7 @@ QT_TRANSLATE_NOOP("ion-core", "" "Total length of network version string (%i) exceeds maximum length (%i). " "Reduce the number or size of uacomments."), QT_TRANSLATE_NOOP("ion-core", "" -"Unable to bind to %s on this computer. Ion Core is probably already running."), +"Unable to bind to %s on this computer. ION Core is probably already running."), QT_TRANSLATE_NOOP("ion-core", "" "Unable to locate enough Obfuscation denominated funds for this transaction."), QT_TRANSLATE_NOOP("ion-core", "" @@ -215,7 +230,7 @@ QT_TRANSLATE_NOOP("ion-core", "" "pay if you send a transaction."), QT_TRANSLATE_NOOP("ion-core", "" "Warning: Please check that your computer's date and time are correct! If " -"your clock is wrong Ion Core will not work properly."), +"your clock is wrong ION Core will not work properly."), QT_TRANSLATE_NOOP("ion-core", "" "Warning: The network does not appear to fully agree! Some miners appear to " "be experiencing issues."), @@ -247,6 +262,7 @@ QT_TRANSLATE_NOOP("ion-core", "Accept command line and JSON-RPC commands"), QT_TRANSLATE_NOOP("ion-core", "Accept connections from outside (default: 1 if no -proxy or -connect)"), QT_TRANSLATE_NOOP("ion-core", "Accept public REST requests (default: %u)"), QT_TRANSLATE_NOOP("ion-core", "Add a node to connect to and attempt to keep the connection open"), +QT_TRANSLATE_NOOP("ion-core", "Adding Wrapped Serials supply..."), QT_TRANSLATE_NOOP("ion-core", "Allow DNS lookups for -addnode, -seednode and -connect"), QT_TRANSLATE_NOOP("ion-core", "Already have that input."), QT_TRANSLATE_NOOP("ion-core", "Always query for peer addresses via DNS lookup (default: %u)"), @@ -265,6 +281,7 @@ QT_TRANSLATE_NOOP("ion-core", "Cannot resolve -externalip address: '%s'"), QT_TRANSLATE_NOOP("ion-core", "Cannot resolve -whitebind address: '%s'"), QT_TRANSLATE_NOOP("ion-core", "Cannot write default address"), QT_TRANSLATE_NOOP("ion-core", "CoinSpend: Accumulator witness does not verify"), +QT_TRANSLATE_NOOP("ion-core", "CoinSpend: failed check"), QT_TRANSLATE_NOOP("ion-core", "Collateral not valid."), QT_TRANSLATE_NOOP("ion-core", "Connect only to the specified node(s)"), QT_TRANSLATE_NOOP("ion-core", "Connect through SOCKS5 proxy"), @@ -273,9 +290,10 @@ QT_TRANSLATE_NOOP("ion-core", "Connection options:"), QT_TRANSLATE_NOOP("ion-core", "Copyright (C) 2009-%i The Bitcoin Core Developers"), QT_TRANSLATE_NOOP("ion-core", "Copyright (C) 2014-%i The Dash Core Developers"), QT_TRANSLATE_NOOP("ion-core", "Copyright (C) 2015-%i The PIVX Core Developers"), -QT_TRANSLATE_NOOP("ion-core", "Copyright (C) 2018-%i The Ion Core Developers"), +QT_TRANSLATE_NOOP("ion-core", "Copyright (C) 2018-%i The ION Core Developers"), QT_TRANSLATE_NOOP("ion-core", "Corrupted block database detected"), QT_TRANSLATE_NOOP("ion-core", "Could not parse masternode.conf"), +QT_TRANSLATE_NOOP("ion-core", "Couldn't generate the accumulator witness"), QT_TRANSLATE_NOOP("ion-core", "Debugging/Testing options:"), QT_TRANSLATE_NOOP("ion-core", "Delete blockchain folders and resync from scratch"), QT_TRANSLATE_NOOP("ion-core", "Disable OS notifications for incoming transactions (default: %u)"), @@ -287,6 +305,7 @@ QT_TRANSLATE_NOOP("ion-core", "Do not load the wallet and disable wallet RPC cal QT_TRANSLATE_NOOP("ion-core", "Do you want to rebuild the block database now?"), QT_TRANSLATE_NOOP("ion-core", "Done loading"), QT_TRANSLATE_NOOP("ion-core", "Enable automatic Zerocoin minting (0-1, default: %u)"), +QT_TRANSLATE_NOOP("ion-core", "Enable precomputation of xION spends and stakes (0-1, default %u)"), QT_TRANSLATE_NOOP("ion-core", "Enable publish hash block in
"), QT_TRANSLATE_NOOP("ion-core", "Enable publish hash transaction (locked via SwiftX) in
"), QT_TRANSLATE_NOOP("ion-core", "Enable publish hash transaction in
"), @@ -302,7 +321,7 @@ QT_TRANSLATE_NOOP("ion-core", "Error initializing wallet database environment %s QT_TRANSLATE_NOOP("ion-core", "Error loading block database"), QT_TRANSLATE_NOOP("ion-core", "Error loading wallet.dat"), QT_TRANSLATE_NOOP("ion-core", "Error loading wallet.dat: Wallet corrupted"), -QT_TRANSLATE_NOOP("ion-core", "Error loading wallet.dat: Wallet requires newer version of Ion Core"), +QT_TRANSLATE_NOOP("ion-core", "Error loading wallet.dat: Wallet requires newer version of ION Core"), QT_TRANSLATE_NOOP("ion-core", "Error opening block database"), QT_TRANSLATE_NOOP("ion-core", "Error reading from database, shutting down."), QT_TRANSLATE_NOOP("ion-core", "Error recovering public key."), @@ -318,7 +337,6 @@ QT_TRANSLATE_NOOP("ion-core", "Error: Wallet locked, unable to create transactio QT_TRANSLATE_NOOP("ion-core", "Error: You already have pending entries in the Obfuscation pool"), QT_TRANSLATE_NOOP("ion-core", "Failed to calculate accumulator checkpoint"), QT_TRANSLATE_NOOP("ion-core", "Failed to create mint"), -QT_TRANSLATE_NOOP("ion-core", "Failed to deserialize"), QT_TRANSLATE_NOOP("ion-core", "Failed to find Zerocoins in wallet.dat"), QT_TRANSLATE_NOOP("ion-core", "Failed to listen on any port. Use -listen=0 if you want this."), QT_TRANSLATE_NOOP("ion-core", "Failed to parse host:port string"), @@ -341,7 +359,7 @@ QT_TRANSLATE_NOOP("ion-core", "Incompatible mode."), QT_TRANSLATE_NOOP("ion-core", "Incompatible version."), QT_TRANSLATE_NOOP("ion-core", "Incorrect or no genesis block found. Wrong datadir for network?"), QT_TRANSLATE_NOOP("ion-core", "Information"), -QT_TRANSLATE_NOOP("ion-core", "Initialization sanity check failed. Ion Core is shutting down."), +QT_TRANSLATE_NOOP("ion-core", "Initialization sanity check failed. ION Core is shutting down."), QT_TRANSLATE_NOOP("ion-core", "Input is not valid."), QT_TRANSLATE_NOOP("ion-core", "Insufficient funds"), QT_TRANSLATE_NOOP("ion-core", "Insufficient funds."), @@ -371,7 +389,7 @@ QT_TRANSLATE_NOOP("ion-core", "Loading budget cache..."), QT_TRANSLATE_NOOP("ion-core", "Loading masternode cache..."), QT_TRANSLATE_NOOP("ion-core", "Loading masternode payment cache..."), QT_TRANSLATE_NOOP("ion-core", "Loading sporks..."), -QT_TRANSLATE_NOOP("ion-core", "Loading wallet... (%3.1f %%)"), +QT_TRANSLATE_NOOP("ion-core", "Loading wallet... (%3.2f %%)"), QT_TRANSLATE_NOOP("ion-core", "Loading wallet..."), QT_TRANSLATE_NOOP("ion-core", "Location of the auth cookie (default: data dir)"), QT_TRANSLATE_NOOP("ion-core", "Lock is already in place."), @@ -414,6 +432,9 @@ QT_TRANSLATE_NOOP("ion-core", "RPC server options:"), QT_TRANSLATE_NOOP("ion-core", "Randomly drop 1 of every network messages"), QT_TRANSLATE_NOOP("ion-core", "Randomly fuzz 1 of every network messages"), QT_TRANSLATE_NOOP("ion-core", "Rebuild block chain index from current blk000??.dat files"), +QT_TRANSLATE_NOOP("ion-core", "Recalculating ION supply..."), +QT_TRANSLATE_NOOP("ion-core", "Recalculating minted XION..."), +QT_TRANSLATE_NOOP("ion-core", "Recalculating spent XION..."), QT_TRANSLATE_NOOP("ion-core", "Receive and display P2P network alerts (default: %u)"), QT_TRANSLATE_NOOP("ion-core", "Reindex the ION and xION money supply statistics"), QT_TRANSLATE_NOOP("ion-core", "Reindex the accumulator database"), @@ -459,6 +480,7 @@ QT_TRANSLATE_NOOP("ion-core", "Stop running after importing blocks from disk (de QT_TRANSLATE_NOOP("ion-core", "Submitted following entries to masternode: %u / %d"), QT_TRANSLATE_NOOP("ion-core", "Submitted to masternode, waiting for more entries ( %u / %d ) %s"), QT_TRANSLATE_NOOP("ion-core", "Submitted to masternode, waiting in queue %s"), +QT_TRANSLATE_NOOP("ion-core", "Support the zerocoin light node protocol (default: %u)"), QT_TRANSLATE_NOOP("ion-core", "SwiftX options:"), QT_TRANSLATE_NOOP("ion-core", "Synchronization failed"), QT_TRANSLATE_NOOP("ion-core", "Synchronization finished"), @@ -469,8 +491,6 @@ QT_TRANSLATE_NOOP("ion-core", "Synchronizing masternodes..."), QT_TRANSLATE_NOOP("ion-core", "Synchronizing sporks..."), QT_TRANSLATE_NOOP("ion-core", "Syncing xION wallet..."), QT_TRANSLATE_NOOP("ion-core", "The coin spend has been used"), -QT_TRANSLATE_NOOP("ion-core", "The new spend coin transaction did not verify"), -QT_TRANSLATE_NOOP("ion-core", "The selected mint coin is an invalid coin"), QT_TRANSLATE_NOOP("ion-core", "The transaction did not verify"), QT_TRANSLATE_NOOP("ion-core", "This help message"), QT_TRANSLATE_NOOP("ion-core", "This is experimental software."), @@ -490,7 +510,6 @@ QT_TRANSLATE_NOOP("ion-core", "Transaction not valid."), QT_TRANSLATE_NOOP("ion-core", "Transaction too large for fee policy"), QT_TRANSLATE_NOOP("ion-core", "Transaction too large"), QT_TRANSLATE_NOOP("ion-core", "Transmitting final transaction."), -QT_TRANSLATE_NOOP("ion-core", "Try to spend with a higher security level to include more coins"), QT_TRANSLATE_NOOP("ion-core", "Trying to spend an already spent serial #, try again."), QT_TRANSLATE_NOOP("ion-core", "Unable to bind to %s on this computer (bind returned error %s)"), QT_TRANSLATE_NOOP("ion-core", "Unable to find transaction containing mint"), @@ -502,6 +521,7 @@ QT_TRANSLATE_NOOP("ion-core", "Upgrade wallet to latest format"), QT_TRANSLATE_NOOP("ion-core", "Use UPnP to map the listening port (default: %u)"), QT_TRANSLATE_NOOP("ion-core", "Use UPnP to map the listening port (default: 1 when listening)"), QT_TRANSLATE_NOOP("ion-core", "Use a custom max chain reorganization depth (default: %u)"), +QT_TRANSLATE_NOOP("ion-core", "Use block spam filter (default: %u)"), QT_TRANSLATE_NOOP("ion-core", "Use the test network"), QT_TRANSLATE_NOOP("ion-core", "User Agent comment (%s) contains unsafe characters."), QT_TRANSLATE_NOOP("ion-core", "Username for JSON-RPC connections"), @@ -509,10 +529,9 @@ QT_TRANSLATE_NOOP("ion-core", "Value is below the smallest available denominatio QT_TRANSLATE_NOOP("ion-core", "Value more than Obfuscation pool maximum allows."), QT_TRANSLATE_NOOP("ion-core", "Verifying blocks..."), QT_TRANSLATE_NOOP("ion-core", "Verifying wallet..."), -QT_TRANSLATE_NOOP("ion-core", "Version 1 xION require a security level of 100 to successfully spend."), QT_TRANSLATE_NOOP("ion-core", "Wallet %s resides outside data directory %s"), QT_TRANSLATE_NOOP("ion-core", "Wallet is locked."), -QT_TRANSLATE_NOOP("ion-core", "Wallet needed to be rewritten: restart Ion Core to complete"), +QT_TRANSLATE_NOOP("ion-core", "Wallet needed to be rewritten: restart ION Core to complete"), QT_TRANSLATE_NOOP("ion-core", "Wallet options:"), QT_TRANSLATE_NOOP("ion-core", "Wallet window title"), QT_TRANSLATE_NOOP("ion-core", "Warning"), @@ -527,6 +546,7 @@ QT_TRANSLATE_NOOP("ion-core", "Your transaction was accepted into the pool!"), QT_TRANSLATE_NOOP("ion-core", "Zapping all transactions from wallet..."), QT_TRANSLATE_NOOP("ion-core", "ZeroMQ notification options:"), QT_TRANSLATE_NOOP("ion-core", "Zerocoin options:"), +QT_TRANSLATE_NOOP("ion-core", "could not get lock on cs_spendcache"), QT_TRANSLATE_NOOP("ion-core", "isValid(): Invalid -proxy address or hostname: '%s'"), QT_TRANSLATE_NOOP("ion-core", "on startup"), QT_TRANSLATE_NOOP("ion-core", "wallet.dat corrupt, salvage failed"), diff --git a/src/qt/locale/ion_bg.ts b/src/qt/locale/ion_bg.ts index f9e9bd8a5cc04..26314a74e34f0 100644 --- a/src/qt/locale/ion_bg.ts +++ b/src/qt/locale/ion_bg.ts @@ -608,10 +608,6 @@ &Command-line options Опции за &Командното-поле - - Processed %n blocks of transaction history. - Обработени %n блока от преводната история.Обработени %n блока от преводна история. - Synchronizing additional data: %p% Синхронизиране на допълнитенни данни: %p% @@ -645,7 +641,7 @@ Колан с инструменти - Ion Core + ION Core ION Ядро @@ -669,11 +665,11 @@ Разгледай мастърноудове - &About Ion Core + &About ION Core &Относно ION Ядрото - Show information about Ion Core + Show information about ION Core Информациза за ION Ядрото @@ -729,17 +725,13 @@ Прозорец на блок сондата - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options Разкрийте Помощ за ION Ядрото, за да видите списък с възможни писмени команди. - Ion Core client + ION Core client Клиент ION Ядро - - %n active connection(s) to ION network - %n активни свръзки към ION мрежата %n активни свръзка(и) към ION мрежата - Synchronizing with network... Синхронизиране с мрежата... @@ -760,22 +752,10 @@ Up to date Актуален - - %n hour(s) - %n часа%n часа - - - %n week(s) - %n седмици%n седмици - %1 and %2 %1 и %2 - - %n year(s) - %n години%n години - Catching up... Наваксване... @@ -846,7 +826,7 @@ Address: %4 AutoMint is currently enabled and set to - АвтоЕмитирането е включено в момента и настроено на + АвтоЕмисията е включена и настроена на AutoMint is disabled @@ -860,7 +840,7 @@ Address: %4 Wallet is <b>encrypted</b> and currently <b>locked</b> Портфейла е <b>шифриран</b> и в момента е <b>отключен</b> - + BlockExplorer @@ -1220,6 +1200,17 @@ Address: %4 Не може да създадете нова папка за данни точно тук. + + GovernancePage + + Form + От + + + 0 + 0 + + HelpMessageDialog @@ -1227,7 +1218,7 @@ Address: %4 версия - Ion Core + ION Core ION Ядро @@ -1235,7 +1226,7 @@ Address: %4 (%1-bit) - About Ion Core + About ION Core Относно ION Ядрото @@ -1282,15 +1273,15 @@ Address: %4 Привет - Welcome to Ion Core. + Welcome to ION Core. Добре Дошли в ION Ядрото - As this is the first time the program is launched, you can choose where Ion Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. Тъй като това е първия път, в който стартирате програмата, имате възможността да изберете къде ION Ядрото ще съхранява своите данни. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. ION Ядрото ще изтегли и запише копие на целия ION блокчейн. Поне %1 гигабайта ще бъдат съхранявани в тази папка, като тенденцията е файла да расте. Портфейла също ще бъде запазен в тази папка. @@ -1302,7 +1293,7 @@ Address: %4 Задай своя папка за данни: - Ion Core + ION Core ION Ядро @@ -1537,50 +1528,10 @@ MultiSend will not be activated unless you have clicked Activate (no label) (без етикет) - - The entered address: - - Въведения адрес: - - - - is invalid. -Please check the address and try again. - е невалиден. -Моля проверете адреса отново и опитайте пак. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - Сумата по Вашия вектор за МултиИзпращане надхвърля 100% от вашето стейк възнаграждение. - - Please Enter 1 - 100 for percent. Използвайте числата 1 - 100 за процент. - - Saved the MultiSend to memory, but failed saving properties to the database. - - МултиСенд е успешно запазен в паметта, но свойствата не бяха записани в базата данни. - - - - MultiSend Vector - - Вектор по МултиИзпращане - - - - Removed - Премахнат - - - Could not locate address - - Не намирам адреса - - MultisigDialog @@ -1776,31 +1727,31 @@ Please be patient after clicking import. Изберете ниво на поверителност. - Use 2 separate masternodes to mix funds up to 10000 ION - Използвай 2 различни мастърноуда за смесване на средства над 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Използвай 2 различни мастърноуда за смесване на средства над 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Използвай 8 различни мастърноуда за да смесите средства до 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Използвай 8 различни мастърноуда за да смесите средства до 20000 ION Use 16 separate masternodes Използвай 16 различни мастърноуда - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Това е най-бързия метод и ще струва около 0.025 ION за да скриете 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Това е най-бързия метод и ще струва около 0.025 ION за да скриете 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Тази опция е сравнително бърза и ще струва около 0.05 ION за да скриете 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Тази опция е сравнително бърза и ще струва около 0.05 ION за да скриете 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Това е най-бавния и най-сигурен вариант за скриване на ION. Използването й ще струва - 0.1 ION per 10000 ION you anonymize. + 0.1 ION per 20000 ION you anonymize. 0.1 ION за 10000 скрити ION @@ -2473,18 +2424,6 @@ xION са узрели, тогава когато имат повече от 20 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Сигурност на Zerocoin Преводите. Повече - означава по-добра сигурност, но изисква повече време и ресурси. - - - Security Level: - Сигурност: - - - Security Level 1 - 100 (default: 42) - Ниво на Сигурност 1 - 100 (42 по подразбиране) - Pay &To: Плати На: @@ -2761,14 +2700,6 @@ To change the percentage (no restart required): Please be patient... Стартиране на ResetMintZerocoin: сканираме цялия блокчейн, това ще изисква около 30 минути, в зависимост от вашия компютър. Моля изчакате... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Харчене на Zerocoin. -Математически скъп превод, който може да има нужда от няколко минути за потвърждение, в зависимост от избраното Ниво на Сигурност и Вашият хардуер. -Моля проявете търпение... ) needed. @@ -2940,22 +2871,10 @@ Maximum allowed: to a newly generated (unused and therefore anonymous) local address <br /> на ново-генериран (неизползван до сега и поради това - анонимен) локален адрес <br /> - - with Security Level - с Ниво на Сигурност - Confirm send coins Потвърждаване на изпращането - - Version 1 xION require a security level of 100 to successfully spend. - Версия 1 xION изисква ниво на сигурност от 100 за успешно изразходване. - - - Failed to spend xION - Неуспешно изразходване на xION - Failed to fetch mint associated with serial hash Неуспешно извличане на мента, свързана със сериен хеш @@ -2974,11 +2893,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Spend Zerocoin failed with status = Харченето на Zerocoin се провали със статус = - - PrivacyDialog - Enter an amount of ION to convert to xION - PrivacyDialogPrivacyDialog - denomination: деноминация: @@ -3012,6 +2926,9 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou такса: + + ProposalFrame + QObject @@ -3062,7 +2979,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou %1 ms %1 милисек. - + + ION Core + ION Ядро + + QRImageWidget @@ -3424,10 +3345,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Confirm resync Blockchain Потвърдете ресинх на Блокчейна - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Използвайте стрелките за на доре и на долу, за да разгледате историята и <b>Ctrol-L</b>за да изчистите екрана. - Type <b>help</b> for an overview of available commands. Напишете <b>help</b> за списък с възможните команди. @@ -3499,6 +3416,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional label to associate with the new receiving address. Незадължителен етикет, който да асоциираме с адреса за получаване. + + A&mount: + Сума: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Съобщение свободен текст, което да се прикачи към платежното нареждане, за да бъде показано когато нареждането се отвори от клиента на когото е изпратено. Обърнете внимание, че съобщението няма да бъде изпратено заедно с плащането по ION мрежата. @@ -3523,10 +3444,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional amount to request. Leave this empty or zero to not request a specific amount. Незадължителна сума за поискване. Оставете полето празно или напишете нула, за да не изисквате определена сума. - - &Amount: - &Сума: - &Request payment &Поискай плащане @@ -3571,6 +3488,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Copy amount Копирай сумата + + Copy address + Копирай адрес + ReceiveRequestDialog @@ -3641,6 +3562,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Message Съобщение + + Address + Адрес + Amount Сума @@ -3924,10 +3849,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou A fee %1 times higher than %2 per kB is considered an insanely high fee. Такса %1 пъти по-голяма от %2 за кБ се счита неразумно голяма такса. - - Estimated to begin confirmation within %n block(s). - Очаквано начало на потвърждения след %n блока.Очаквано начало на потвърждения след %n блока. - The recipient address is not valid, please recheck. Адреса на получателя е недвалиден. Моля преверете. @@ -4067,7 +3988,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou ShutdownWindow - Ion Core is shutting down... + ION Core is shutting down... Изключване на ION Ядрото... @@ -4217,7 +4138,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou SplashScreen - Ion Core + ION Core ION Ядро @@ -4233,8 +4154,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Dash Core разработчици - The Ion Core developers - Ion Core разработчици + The ION Core developers + ION Core разработчици [testnet] @@ -4250,10 +4171,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou TransactionDesc - - Open for %n more block(s) - Отворен за още %n блокаОтворен за още %n блока - Open until %1 Отворен до %1 @@ -4314,10 +4231,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou , has not been successfully broadcast yet , все още неуспешно обявени - - , broadcast through %n node(s) - , обявени през %n възела, обявени през %n нода - Date Дата @@ -4358,10 +4271,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Credit Кредит - - matures in %n more block(s) - узрява след още %n блокаузрява след още %n блока - not accepted не е приет @@ -4460,10 +4369,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Address Адрес - - Open for %n more block(s) - Отворен за още %n блокаОтворен за още %n блока - Open until %1 Отворен до %1 @@ -4866,11 +4771,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Select/Deselect All Избери/Премахни Всички - - Is Spendable - В Налични за харечене - - + ion-core @@ -4898,7 +4799,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Изчисления чекпойнт на акумулатора не е същия като записания в блок индекса. - Cannot obtain a lock on data directory %s. Ion Core is probably already running. + Cannot obtain a lock on data directory %s. ION Core is probably already running. Не може да заключи папката с данни %s. ION Портфейла вероятно вече е стартиран. @@ -5070,7 +4971,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Този продукт включва софтуер разработен от OpenSSL Project <https://www.openssl.org/> и крипто софтуер написан от Ерик Юнг и UPnP софтуер от Томас Бернард. - Unable to bind to %s on this computer. Ion Core is probably already running. + Unable to bind to %s on this computer. ION Core is probably already running. Не може да се прикачи към %s на този компютър. ION Портфейла вероятно вече е стартиран. @@ -5078,12 +4979,12 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Не намираме достатъчно Обфускационно деноминирани средства за този превод. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Не можем да намерим достатъчно Обфускационно не-деноминирани средства за този превод, които да не са равни на 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Не можем да намерим достатъчно Обфускационно не-деноминирани средства за този превод, които да не са равни на 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Не намираме достатъчно средства за този превод, които да не са равни на 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Не намираме достатъчно средства за този превод, които да не са равни на 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5098,7 +4999,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Внимание: -paytxfee е зададена твърде голяма! Това е преводната такса, която ще платите ако изпратите този превод. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. Внимание: Проверете дали датата и часа на компютъра са верни! Ако Вашият часовник греши, ION Портфейла няма да работи правилно. @@ -5254,8 +5155,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Всички права запазени (c) 2015-%i PIVX Core разработчици - Copyright (C) 2018-%i The Ion Core Developers - Всички права запазени (c) 2018-%i Ion Core разработчици + Copyright (C) 2018-%i The ION Core Developers + Всички права запазени (c) 2018-%i ION Core разработчици Corrupted block database detected @@ -5342,7 +5243,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Грешка в зареждането на wallet.dat: Портфейла е повреден - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core Грешка в зареждането на wallet.dat: Портфейла изисква по-нова версия @@ -5458,7 +5359,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Информация - Initialization sanity check failed. Ion Core is shutting down. + Initialization sanity check failed. ION Core is shutting down. Стартирането на проверка на здравословното състояние на портфейла се провали. Изключваме Портфейла. @@ -5669,10 +5570,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Failed to create mint Неуспешно емитиране - - Failed to deserialize - Неуспешно изтриване на серийния номер - Failed to find Zerocoins in wallet.dat Няма намерени Zerocoin монети в wallet.dat файла @@ -5742,8 +5639,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Зареждане на вилицо-лъжици... - Loading wallet... (%3.1f %%) - Зареждане на портфейла... (%3.1f %%) + Loading wallet... (%3.2f %%) + Зареждане на портфейла... (%3.2f %%) Loading wallet... @@ -6113,14 +6010,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou The coin spend has been used Монетното плащане е използвано - - The new spend coin transaction did not verify - Новото преводно плащане не бе потвърдено - - - The selected mint coin is an invalid coin - Избраната емисия е невалидна монета - The transaction did not verify Превода не бе потвърден @@ -6269,10 +6158,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Verifying wallet... Проверява портфейла... - - Version 1 xION require a security level of 100 to successfully spend. - Версия 1 xION изисква ниво на сигурност от 100 за успешно изразходване. - Wallet %s resides outside data directory %s Портфейла %s е извън папката с данни %s @@ -6282,7 +6167,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Портфейла е заключен. - Wallet needed to be rewritten: restart Ion Core to complete + Wallet needed to be rewritten: restart ION Core to complete Портфейла трябва да се пренапише: рестартирайте програмата за завършване на процеса diff --git a/src/qt/locale/ion_ca.ts b/src/qt/locale/ion_ca.ts index f7deaa3a3e2da..d07dd90744ca9 100644 --- a/src/qt/locale/ion_ca.ts +++ b/src/qt/locale/ion_ca.ts @@ -421,8 +421,8 @@ A&juda - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -437,8 +437,8 @@ &Masternodes - &About Ion Core - &Sobre Ion Core + &About ION Core + &Sobre ION Core &BIP38 tool @@ -461,7 +461,7 @@ Obre el fitxer de configuració del Masternode - Ion Core client + ION Core client Client ION core @@ -516,7 +516,7 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> El moneder està <b>encriptat</b> i bloquejat</b> - + BlockExplorer @@ -844,6 +844,17 @@ No és possible crear una carpeta de dades aquí. + + GovernancePage + + Form + Formulari + + + 0 + 0 + + HelpMessageDialog @@ -851,16 +862,16 @@ versió - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - Sobre Ion Core + About ION Core + Sobre ION Core Command-line options @@ -906,12 +917,12 @@ Benvingut - Welcome to Ion Core. - Benvingut a Ion Core. + Welcome to ION Core. + Benvingut a ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Al ser el primer cop que s'inicia el programa, pots escollir on es desaran les dades del Ion Core. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Al ser el primer cop que s'inicia el programa, pots escollir on es desaran les dades del ION Core. Use the default data directory @@ -922,8 +933,8 @@ Usar una carpeta de dades personalitzada: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1083,32 +1094,10 @@ (no label) (sense etiqueta) - - The entered address: - - L'adreça introduïda: - - Please Enter 1 - 100 for percent. Si us plau introdueix 1 - 100 per al percentatge - - MultiSend Vector - - Vector MultiSend - - - - Removed - Eliminat - - - Could not locate address - - No s'ha trobat l'adreça - - MultisigDialog @@ -1148,24 +1137,24 @@ Si us plau, selecciona un nivell de privacitat. - Use 2 separate masternodes to mix funds up to 10000 ION - Utilitza 2 masternodes diferents per mesclar fons de fins a 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Utilitza 2 masternodes diferents per mesclar fons de fins a 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Utilitza 8 masternodes diferents per mesclar fons de fins a 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Utilitza 8 masternodes diferents per mesclar fons de fins a 20000 ION Use 16 separate masternodes Utilitza 16 masternodes diferents - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Aquesta opció és la més ràpida i té un cost d'uns ~0.025 ION per anonimitzar 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Aquesta opció és la més ràpida i té un cost d'uns ~0.025 ION per anonimitzar 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Aquesta opció és moderadament ràpida i té un cost d'uns 0.05 ION per anonimitzar 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Aquesta opció és moderadament ràpida i té un cost d'uns 0.05 ION per anonimitzar 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost @@ -1374,6 +1363,9 @@ Copia l'import + + ProposalFrame + QObject @@ -1404,7 +1396,11 @@ %1 ms %1 ms - + + ION Core + ION Core + + QRImageWidget @@ -1521,6 +1517,10 @@ &Message: &Missatge: + + A&mount: + I&mport: + Remove Elimina @@ -1537,6 +1537,10 @@ Copy amount Copia l'import + + Copy address + Copia l'adreça + ReceiveRequestDialog @@ -1583,6 +1587,10 @@ Message Missatge + + Address + Adreça + Amount Import @@ -1713,8 +1721,8 @@ ShutdownWindow - Ion Core is shutting down... - Ion Core s'està tancant... + ION Core is shutting down... + ION Core s'està tancant... Do not shut down the computer until this window disappears. @@ -1779,8 +1787,8 @@ SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -2004,8 +2012,8 @@ S'està carregant l'índex de blocs... - Loading wallet... (%3.1f %%) - S'està carregant el moneder... (%3.1f %%) + Loading wallet... (%3.2f %%) + S'està carregant el moneder... (%3.2f %%) Loading wallet... diff --git a/src/qt/locale/ion_cs.ts b/src/qt/locale/ion_cs.ts index 25021493a2ce0..f6b3ae7c32a85 100644 --- a/src/qt/locale/ion_cs.ts +++ b/src/qt/locale/ion_cs.ts @@ -601,8 +601,8 @@ Nástrojová lišta záložek - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -625,12 +625,12 @@ Procházet masternody - &About Ion Core - &O Ion Core + &About ION Core + &O ION Core - Show information about Ion Core - Zobraz informace o Ion Core + Show information about ION Core + Zobraz informace o ION Core Modify configuration options for ION @@ -685,12 +685,12 @@ Okno blokového průzkumníka - Show the Ion Core help message to get a list with possible ION command-line options - Zobrazit Ion Core pomocnou zpráv pro získání seznamu možných parametrů ION pro příkazy do příkazové řádky + Show the ION Core help message to get a list with possible ION command-line options + Zobrazit ION Core pomocnou zpráv pro získání seznamu možných parametrů ION pro příkazy do příkazové řádky - Ion Core client - Ion Core klient + ION Core client + ION Core klient Synchronizing with network... @@ -792,7 +792,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Peněženka je <b>zašifrovaná</b> a momentálně je <b>zamčená</b> - + BlockExplorer @@ -1120,6 +1120,17 @@ MultiSend: %1 Zde nelze vytvořit složku. + + GovernancePage + + Form + Od + + + 0 + 0 + + HelpMessageDialog @@ -1127,12 +1138,12 @@ MultiSend: %1 verze - Ion Core - Ion Core + ION Core + ION Core - About Ion Core - O Ion Core + About ION Core + O ION Core Command-line options @@ -1166,16 +1177,16 @@ MultiSend: %1 Vítejte - Welcome to Ion Core. - Vítejte v Ion Core. + Welcome to ION Core. + Vítejte v ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Při prvním spuštění programu si můžete vybrat, kam bude Ion Core ukládat svá data. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Při prvním spuštění programu si můžete vybrat, kam bude ION Core ukládat svá data. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core stáhne a uloží kopii ION blockchainu. Nejméně %1GB dat bude do této složky uloženo a v průběhu času bude ukládat další data. Peněženka bude v této složce uložena také. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core stáhne a uloží kopii ION blockchainu. Nejméně %1GB dat bude do této složky uloženo a v průběhu času bude ukládat další data. Peněženka bude v této složce uložena také. Use the default data directory @@ -1186,8 +1197,8 @@ MultiSend: %1 Použít vlastní složku pro data - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1391,44 +1402,10 @@ MultiSend: %1 (no label) (bez popisku) - - The entered address: - - Zadaná adresa: - - - - is invalid. -Please check the address and try again. - není validní. -Prosím zkontrolujte adresu a zkuste to znovu. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - Celkovvá hodnota Vašeho MultiSend Vekktoru je přes 100% vaší odměny ze vsázení - - Please Enter 1 - 100 for percent. Prosím, zadejte 1-100 procent. - - MultiSend Vector - - MultiSend Vektor - - - - Removed - Odstraněno - - - Could not locate address - - Nemůžu najít adresu - - MultisigDialog @@ -1468,24 +1445,24 @@ Prosím zkontrolujte adresu a zkuste to znovu. Vyberte úrpvěň ochrany soukromí - Use 2 separate masternodes to mix funds up to 10000 ION - Použí 2 oddělené masternody k promíchání prostředků až do 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Použí 2 oddělené masternody k promíchání prostředků až do 20000 ION Use 16 separate masternodes Použít 16 oddělených masternodů - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Tato možnost je nejrychleší a bude stát zhruba ~0.025 ION pro anonymizaci 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Tato možnost je nejrychleší a bude stát zhruba ~0.025 ION pro anonymizaci 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Toto je nejpomalejší a nejvíce bezpečná volba. Použití maximalní anonymity bude stát - 0.1 ION per 10000 ION you anonymize. - 0.1 ION za 10000 ION anonymizujete. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION za 20000 ION anonymizujete. Obfuscation Configuration @@ -1746,6 +1723,9 @@ Prosím zkontrolujte adresu a zkuste to znovu. Kopírovat hodnotu + + ProposalFrame + QObject @@ -1772,6 +1752,10 @@ Prosím zkontrolujte adresu a zkuste to znovu. N/A N/A + + ION Core + ION Core + QRImageWidget @@ -1946,12 +1930,12 @@ Prosím zkontrolujte adresu a zkuste to znovu. ReceiveCoinsDialog - &Label: - &Popis + A&mount: + H&odnota: - &Amount: - &Hodnota + &Label: + &Popis &Request payment @@ -1981,6 +1965,10 @@ Prosím zkontrolujte adresu a zkuste to znovu. Copy amount Kopírovat hodnotu + + Copy address + Kopírovat adresu + ReceiveRequestDialog @@ -2035,6 +2023,10 @@ Prosím zkontrolujte adresu a zkuste to znovu. Message Zpráva + + Address + Adresa + Amount Hodnota @@ -2291,8 +2283,8 @@ Prosím zkontrolujte adresu a zkuste to znovu. SplashScreen - Ion Core - Ion Core + ION Core + ION Core diff --git a/src/qt/locale/ion_da.ts b/src/qt/locale/ion_da.ts index 3faa68cc5f79c..f2c0028b0a6ae 100644 --- a/src/qt/locale/ion_da.ts +++ b/src/qt/locale/ion_da.ts @@ -610,7 +610,7 @@ Processed %n blocks of transaction history. - Behandlet %n blok af transaktionshistorik.Behandlet %n blokke af transaktionshistorik. + Der er gennemløbet %n blokke af transaktionshistorikken.Der er gennemløbet %n blokke af transaktionshistorikken. Synchronizing additional data: %p% @@ -645,7 +645,7 @@ Værktøjslinier - Ion Core + ION Core ION kerne @@ -669,11 +669,11 @@ Vis masternoder - &About Ion Core + &About ION Core &Om ION kerne - Show information about Ion Core + Show information about ION Core Vis information om ION kerne @@ -729,16 +729,16 @@ Blockexplorer vindue - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options Vis hjelpetekster fra ION kernen for at få en liste med mulige ION kommandolinie-startparametre - Ion Core client + ION Core client ION kerneklient %n active connection(s) to ION network - %n aktiv forbindelse til ION-netværk%n aktiv forbindelse(s) til ION netværk + %n aktiv forbindelse(s) til ION netværk%n aktiv forbindelse(s) til ION netværk Synchronizing with network... @@ -864,7 +864,7 @@ Adresse: %4 Wallet is <b>encrypted</b> and currently <b>locked</b> Tegnebogen er <b>krypteret og låst</b> - + BlockExplorer @@ -1224,6 +1224,17 @@ Adresse: %4 Kan ikke oprette en mappe hr + + GovernancePage + + Form + Formular + + + 0 + 0 + + HelpMessageDialog @@ -1231,7 +1242,7 @@ Adresse: %4 version - Ion Core + ION Core ION kerne @@ -1239,7 +1250,7 @@ Adresse: %4 (%1-bit) - About Ion Core + About ION Core om ION kerne @@ -1286,15 +1297,15 @@ Adresse: %4 Velkommen - Welcome to Ion Core. + Welcome to ION Core. Velkommen til ION kerne - As this is the first time the program is launched, you can choose where Ion Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. Da det er første gang programmet startes, kan De vælge hvor ION kernen skal lagre sine data - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. ION kernen vil nu hente og gemme en kopi af ION blockchain. Der skal være mindst %1GB ledigt på lagermediet, og behovet vil stige efterhånden som tiden går. Selve tegnebogen vil også blive gemt her. @@ -1306,7 +1317,7 @@ Adresse: %4 Anvend en mappe valgt af brugeren - Ion Core + ION Core ION kerne @@ -1542,48 +1553,26 @@ Multisend vil ikke fungere med mindre systemet er aktiveret. (ingen opmærknig) - The entered address: - - Den indtastede adresse: - - - - is invalid. -Please check the address and try again. - er ikke gyldig. -Kontroller adressen og prøv igen. - - - The total amount of your MultiSend vector is over 100% of your stake reward - + The total amount of your MultiSend vector is over 100% of your stake reward Den totale sum af Deres Multisendgruppe er over 100% af Deres indskudsbelønning - Please Enter 1 - 100 for percent. - Indtast en procentsats 1-100 - - - Saved the MultiSend to memory, but failed saving properties to the database. - + Saved the MultiSend to memory, but failed saving properties to the database. Gemt MultiSend til hukommelse, men fejlede gemme egenskaber til databasen. - MultiSend Vector - - Multisendgruppe - + Removed %1 + Fjernet %1 - Removed - Fjernet + Could not locate address + Kunne ikke finde adresse - Could not locate address - - Kunne ikke finde adresse - + Please Enter 1 - 100 for percent. + Indtast en procentsats 1-100 @@ -1780,32 +1769,32 @@ Vær tålmodig efter at du har klikket på import. Vælg tilsløringsniveau - Use 2 separate masternodes to mix funds up to 10000 ION - Brug 2 separate masternoder for at tilsløre beløb op til 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Brug 2 separate masternoder for at tilsløre beløb op til 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Brug 8 separate masternoder for at tilsløre op til 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Brug 8 separate masternoder for at tilsløre op til 20000 ION Use 16 separate masternodes Brug 16 separate masternoder - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Dette valg er det hurtigste og vil koste i omegnen af 0.025 ION for at anonymiser 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Dette valg er det hurtigste og vil koste i omegnen af 0.025 ION for at anonymiser 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Dette valg er relativt hurtigt og vil koste i omegnen af 0.05 ION for at anonymiser 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Dette valg er relativt hurtigt og vil koste i omegnen af 0.05 ION for at anonymiser 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Denne mulighed er den langsomste og det mest sikre valg. Valg af maksimal tilsløring vil koste - 0.1 ION per 10000 ION you anonymize. - 0.1 pr 10000 ION for at tilsløre. + 0.1 ION per 20000 ION you anonymize. + 0.1 pr 20000 ION for at tilsløre. Obfuscation Configuration @@ -2484,18 +2473,6 @@ xION er modne, når de har mere end 20 bekræftelser OG mere end 2 minutter med 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Sikkerhedsniveau for Zerocoin Transaktioner. Mere er bedre, men har brug for mere tid og ressourcer. - - - Security Level: - Sikkerhedsniveau: - - - Security Level 1 - 100 (default: 42) - Sikkerhedsniveau 1 - 100 (standard: 42) - Pay &To: Betal &Til @@ -2772,14 +2749,6 @@ For at ændre procentdelen (ingen genstart kræves):. Please be patient... Starter ResetMintZerocoin: Genskanning af komplet blockchain, dette vil tage op til 30 minutter afhængigt af din hardware. Vær tålmodig... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Tilbringe Zerocoin -Computationally dyrt, kan have brug for flere minutter afhængigt af det valgte sikkerhedsniveau og din hardware. -Vær tålmodig.. ) needed. @@ -2951,22 +2920,10 @@ Maksimum tilladt: to a newly generated (unused and therefore anonymous) local address <br /> til en nyligt genereret (ubrugt og derfor anonym) lokal adresse <br /> - - with Security Level - med sikkerhedsniveau - Confirm send coins Bekræft at De vil sende mønter - - Version 1 xION require a security level of 100 to successfully spend. - Version 1 xION kræver et sikkerhedsniveau på 100 til succes. - - - Failed to spend xION - Kunne ikke bruge xION - Failed to fetch mint associated with serial hash Kunne ikke hente mynte i forbindelse med seriel hash @@ -3023,6 +2980,9 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Gebyr: + + ProposalFrame + QObject @@ -3073,7 +3033,11 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere %1 ms %1 ms - + + ION Core + ION kerne + + QRImageWidget @@ -3435,10 +3399,6 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Confirm resync Blockchain Bekræft resync Blockchain - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Brug piltasterne for at navigere rundt i historiedata, og <b>Ctrl-L</b> for at tømme skærmen. - Type <b>help</b> for an overview of available commands. Tast <b>help> for at få en oversigt over tilgængelige kommandoer @@ -3510,6 +3470,14 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere An optional label to associate with the new receiving address. Valgfri opmærkning som tilknyttes den nye modtageradresse. + + &Address: + &adresse + + + A&mount: + A&mount + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Valgfri besked som vedhæftes betalingsanmodnigen, og som bliver vist når anmodningen åbnes. Note: Beskeden fremsendes ikke sammen med betalingen, når denne sendes ud på ION netværket. @@ -3534,10 +3502,6 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere An optional amount to request. Leave this empty or zero to not request a specific amount. Beløbsfeltet er valgfrit. Efterlad det tomt, eller med værdien 0 for at anmode om et beløb, som afsenderen bestemmer. - - &Amount: - &Beløb - &Request payment &Anmod om betaling @@ -3582,6 +3546,10 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Copy amount Kopiér beløb + + Copy address + Kopiér adresse + ReceiveRequestDialog @@ -3652,6 +3620,10 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Message Besked + + Address + Adresse + Amount Beløb @@ -4078,7 +4050,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere ShutdownWindow - Ion Core is shutting down... + ION Core is shutting down... ION kernen lukker ned @@ -4228,7 +4200,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere SplashScreen - Ion Core + ION Core ION kerne @@ -4244,7 +4216,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere DASH "core" udviklerne - The Ion Core developers + The ION Core developers ION "core" udviklerne @@ -4263,7 +4235,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere TransactionDesc Open for %n more block(s) - Åbn for %n flere blokkeÅbn for %n flere blokke + Åbn for %n blokkeÅbn for %n blokke Open until %1 @@ -4473,7 +4445,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Open for %n more block(s) - Åbn for %n flere blokkeÅbn for %n flere blokke + Åbn for %n blokkeÅbn for %n blokke Open until %1 @@ -4877,11 +4849,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Select/Deselect All Vælg / Fravælg alle - - Is Spendable - Kan tilbringes - - + ion-core @@ -4909,7 +4877,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Beregnet akkumulator kontrolpunkt er ikke det, der er registreret af blok indeks - Cannot obtain a lock on data directory %s. Ion Core is probably already running. + Cannot obtain a lock on data directory %s. ION Core is probably already running. Kan ikke låse datamappen %s. ION core kører sandsynligvis allerede. @@ -5086,7 +5054,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Dette produkt anvender software udviklet i OpenSSL projektet til brug i OpenSSL værktøjssættet <https://www.openssl.org/> og kryptosoftware skrevet afEric Young og UPnP software skrevet af Thomas Bernard. - Unable to bind to %s on this computer. Ion Core is probably already running. + Unable to bind to %s on this computer. ION Core is probably already running. Det var ikke muligt at forbinde %s på denne computer. ION kører sandsynligvis allerede. @@ -5094,12 +5062,12 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Det er ikke muligt at allokere tilstrækkeligt med tilsløret designeret indestående for at gennemføre denne transaktion. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Det er ikke muligt at allokere tilstrækkeligt med tilsløret ikke-designeret indestående for at gennemføre denne transaktion, der ikke ækvivalerer 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Det er ikke muligt at allokere tilstrækkeligt med tilsløret ikke-designeret indestående for at gennemføre denne transaktion, der ikke ækvivalerer 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Det var ikke muligt at allokere tilstrækkelige midler til denne transaktion som er forskellig fra 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Det var ikke muligt at allokere tilstrækkelige midler til denne transaktion som er forskellig fra 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5114,7 +5082,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Advarsel! -paytxfee er sat meget højt. Det er dette gebyr De kommer til at betale for transaktionen, hvis De gennemfører. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. Advarsel! Kontroller at computerens dato og tid er korrekt indstillet. Hvis tiden ikke er rigtig, vil ION core ikke fungere ordentligt. @@ -5270,8 +5238,8 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Copyright (C) 2015-%i The PIVX Core Developers - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i The Ion Core Developers + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core Developers Corrupted block database detected @@ -5358,7 +5326,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Fejl ved indlæsning af wallet.dat: Tegnebogen er beskadiget - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core Fejl ved indlæsning af wallet.dat: Tegnebogen kræver en nyere version af ION core @@ -5373,6 +5341,10 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Error recovering public key. Fejl ved genskabelse af den offentlige nøgle + + Error writing zerocoinDB to disk + Fejl ved at skrive zerocoinDB til disk + Error Fejl! @@ -5409,6 +5381,10 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Failed to listen on any port. Use -listen=0 if you want this. Lytning på uspecificerede porte mislykkedes. Brug -listen=0 hvis De ønsker denne funktion. + + Failed to parse host:port string + Failed to parse host:port string + Failed to read block Læsning af blokken mislykkedes @@ -5474,7 +5450,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Info: - Initialization sanity check failed. Ion Core is shutting down. + Initialization sanity check failed. ION Core is shutting down. Initiering af sanitetskontrollen fejlede. ION core lukker ned. @@ -5685,10 +5661,6 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Failed to create mint Kunne ikke oprette mynte - - Failed to deserialize - Kunne ikke deserialisere - Failed to find Zerocoins in wallet.dat Kunne ikke finde Zerocoins i wallet.dat @@ -5758,8 +5730,8 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Indlæser sporks ... - Loading wallet... (%3.1f %%) - Indlæser tegnebog... (%3.1f%%) + Loading wallet... (%3.2f %%) + Indlæser tegnebog... (%3.2f%%) Loading wallet... @@ -6129,14 +6101,6 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere The coin spend has been used Møntudgifterne er blevet brugt - - The new spend coin transaction did not verify - Den nye udgiftsmønttransaktion bekræftede ikke - - - The selected mint coin is an invalid coin - Den valgte mintmønter er en ugyldig mønt - The transaction did not verify Transaktionen bekræftede ikke @@ -6285,10 +6249,6 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Verifying wallet... Verificerer tegnebog - - Version 1 xION require a security level of 100 to successfully spend. - Version 1 xION kræver et sikkerhedsniveau på 100 til succes. - Wallet %s resides outside data directory %s Tegnbogen %s befinder sig udenfor datamappen %s @@ -6298,7 +6258,7 @@ Enten mint højere nomineringer (så færre input er nødvendige) eller reducere Tegnebogen er låst - Wallet needed to be rewritten: restart Ion Core to complete + Wallet needed to be rewritten: restart ION Core to complete Tegnebogen måtte genskrives. Genstart ION core for at gøre færdig diff --git a/src/qt/locale/ion_de.ts b/src/qt/locale/ion_de.ts index ddb2789d44bef..4cc19e02e1ee7 100644 --- a/src/qt/locale/ion_de.ts +++ b/src/qt/locale/ion_de.ts @@ -608,10 +608,6 @@ &Command-line options &Kommandozeilenoptionen - - Processed %n blocks of transaction history. - %n Blöcke der Transaktionshistorie bearbeitet.%n Blöcke des Transaktionsverlaufs verarbeitet. - Synchronizing additional data: %p% Synchronisiere zusätzliche Daten: %p% @@ -645,8 +641,8 @@ Registerkartenleiste - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +665,12 @@ Masternodes durchsuchen - &About Ion Core - Über Ion Core + &About ION Core + Über ION Core - Show information about Ion Core - Zeigt Informationen über Ion Core + Show information about ION Core + Zeigt Informationen über ION Core Modify configuration options for ION @@ -725,16 +721,12 @@ Blockchain Betrachter Fenster - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options Zeige die ION-Core Hilfe, um mögliche ION Kommando-Zeilen-Optionen anzuzeigen - Ion Core client - Ion Core Client - - - %n active connection(s) to ION network - %n aktive Verbindung(en) zum ION Netzwerk%n aktive Verbindung(en) zum ION Netzwerk + ION Core client + ION Core Client Synchronizing with network... @@ -756,26 +748,10 @@ Up to date Auf aktuellem Stand - - %n hour(s) - %n Stunden%n Stunden - - - %n day(s) - %n Tage%n Tage - - - %n week(s) - %n Wochen%n Wochen - %1 and %2 %1 und %2 - - %n year(s) - %n Jahre%n Jahre - Catching up... Hole auf... @@ -859,7 +835,7 @@ Adresse: %4 Wallet is <b>encrypted</b> and currently <b>locked</b> Wallet ist <b>verschlüsselt</b> und aktuell <b>gesperrt</b> - + BlockExplorer @@ -1219,6 +1195,17 @@ Adresse: %4 Datenverzeichnis kann hier nicht angelegt werden. + + GovernancePage + + Form + Formular + + + 0 + 0 + + HelpMessageDialog @@ -1226,16 +1213,16 @@ Adresse: %4 Version - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-Bit) - About Ion Core - Über Ion Core + About ION Core + Über ION Core Command-line options @@ -1281,16 +1268,16 @@ Adresse: %4 Willkommen - Welcome to Ion Core. - Willkommen zu Ion Core. + Welcome to ION Core. + Willkommen zu ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Da dies das erste Mal ist, dass Sie Ion Core starten, legen Sie jetzt bitte fest, an welchem Ort die Daten gespeichert werden sollen. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Da dies das erste Mal ist, dass Sie ION Core starten, legen Sie jetzt bitte fest, an welchem Ort die Daten gespeichert werden sollen. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core wird die Blockchain laden und lokal speichern. Dafür sind mindestens %1GB freier Speicherplatz erforderlich. Der Speicherbedarf wird mit der Zeit anwachsen. Die Wallet wird ebenfalls in diesem Verzeichnis gespeichert. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core wird die Blockchain laden und lokal speichern. Dafür sind mindestens %1GB freier Speicherplatz erforderlich. Der Speicherbedarf wird mit der Zeit anwachsen. Die Wallet wird ebenfalls in diesem Verzeichnis gespeichert. Use the default data directory @@ -1301,8 +1288,8 @@ Adresse: %4 Ein benutzerdefiniertes Datenverzeichnis verwenden: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1532,50 +1519,10 @@ MultiSend wird nicht aktiviert bis Sie auf Aktivieren geklickt haben.(no label) (keine Bezeichnung) - - The entered address: - - Die eingegebene Adresse: - - - - is invalid. -Please check the address and try again. - ist ungültig. -Bitte Adresse überprüfen und nochmals versuchen. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - Die Gesamtzahl des MultiSend Vektors ist über 100% des Stake Rewards - - Please Enter 1 - 100 for percent. Bitte eine Zahl zwischen 1-100 in Prozent eingeben. - - Saved the MultiSend to memory, but failed saving properties to the database. - - Gespeichert den MultiSend im Speicher, aber Fehler beim Speichern von Eigenschaften in der Datenbank - - - - MultiSend Vector - - MultiSend Vektor - - - - Removed - Gelöscht - - - Could not locate address - - Konnte Adresse nicht ermitteln - - MultisigDialog @@ -1771,32 +1718,32 @@ Bitte haben Sie etwas Geduld, nachdem Sie auf Importieren geklickt haben.Bitte den gewünschten Privatsphäre Level auswählen. - Use 2 separate masternodes to mix funds up to 10000 ION - 2 separate Masternodes verwenden um bis zu 10000 ION zu mixen + Use 2 separate masternodes to mix funds up to 20000 ION + 2 separate Masternodes verwenden um bis zu 20000 ION zu mixen - Use 8 separate masternodes to mix funds up to 10000 ION - 8 separate Masternodes verwenden um bis zu 10000 ION zu mixen + Use 8 separate masternodes to mix funds up to 20000 ION + 8 separate Masternodes verwenden um bis zu 20000 ION zu mixen Use 16 separate masternodes 16 separate Masternodes verwenden - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Diese Option ist die schnellst und kostet ungefähr ~0.025 ION um 10000 ION zu anonymisieren + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Diese Option ist die schnellst und kostet ungefähr ~0.025 ION um 20000 ION zu anonymisieren - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Diese Option ist angemessen schnell und kostet ungefähr 0.05 ION um 10000 ION zu anonymisieren + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Diese Option ist angemessen schnell und kostet ungefähr 0.05 ION um 20000 ION zu anonymisieren This is the slowest and most secure option. Using maximum anonymity will cost Diese Option ist die langsamste und sicherste Option. Die Verwendung maximaler Anonymisierung kostet - 0.1 ION per 10000 ION you anonymize. - 0.1 ION per 10000 ION die anonymisiert werden. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION per 20000 ION die anonymisiert werden. Obfuscation Configuration @@ -2243,7 +2190,7 @@ Falls das automatische Prägen aktiviert ist, wird sich dieser Prozentsatz um de AutoMint is currently enabled and set to - Automatisches Prägen ist aktiv und eingestellt auf + Automatisches Prägen ist aktiv und eingestellt auf To disable AutoMint add 'enablezeromint=0' in ioncoin.conf. @@ -2476,18 +2423,6 @@ xION sind ausgereift wenn sie mehr als 20 Bestätigungen und mehr als 2 Prägung 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Sicherheitsstufe für Zerocoin-Transaktionen. Höher ist besser, benötigt jedoch mehr Zeit und Ressourcen. - - - Security Level: - Sicherheitsstufe: - - - Security Level 1 - 100 (default: 42) - Sicherheitsstufe 1 - 100 (Voreinstellung: 42) - Pay &To: E&mpfänger: @@ -2764,14 +2699,6 @@ Um den Prozentsatz zu ändern (kein Neustart erforderlich): Please be patient... Starten von ResetMintZerocoin: Erneutes Scannen der kompletten Blockchain. Das benötigt, je nach Hardware, bis zu 30 Minuten. Bitte haben Sie etwas Geduld... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Zerocoin ausgeben. -Rechnerisch aufwändig. Kann je nach ausgewähltem Sicherheitsstufe und Ihrer Hardware mehrere Minuten benötigen. -Bitte haben Sie Geduld... ) needed. @@ -2943,22 +2870,10 @@ Maximal erlaubt: to a newly generated (unused and therefore anonymous) local address <br /> an eine neu generierte (unbenutzte und daher anonyme) lokale Adresse<br /> - - with Security Level - mit Sicherheitsstufe - Confirm send coins Sende Coins bestätigen - - Version 1 xION require a security level of 100 to successfully spend. - Version 1 xION benötigen eine Sicherheitsstufe von 100 um erfolgreich ausgegeben werden zu können. - - - Failed to spend xION - xION Überweisung fehlgeschlagen - Failed to fetch mint associated with serial hash Mit Hash verbundene Prägung konnte nicht abgerufen werden @@ -2977,11 +2892,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Spend Zerocoin failed with status = Ausgeben Zerocoin fehlgeschlagen mit Status = - - PrivacyDialog - Enter an amount of ION to convert to xION - PrivacyDialogPrivacyDialog - denomination: Stückelung: @@ -3015,6 +2925,9 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Gebühr: + + ProposalFrame + QObject @@ -3065,7 +2978,11 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) %1 ms %1 Ms - + + ION Core + ION Core + + QRImageWidget @@ -3427,10 +3344,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Confirm resync Blockchain Synchronisation der Blockchain bestätigen - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Nutze die Pfeiltasten um durch ehemals genutze Konsolenbefehle zu scrollen und <b>Ctrl-L</b> um das Konsolenfenster zu leeren. - Type <b>help</b> for an overview of available commands. Gebe <b>help</b> ein, um eine Übersicht der verfügbaren Befehle zu erhalten. @@ -3502,6 +3415,10 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) An optional label to associate with the new receiving address. Ein optionales Etikett, das mit der neuen Empfangsadresse verknüpft werden soll. + + A&mount: + Betra&g: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Eine optionale Nachricht an die Zahlungsaufforderung anhängen, die bei der Eröffnung der Anforderung angezeigt wird. Hinweis: Die Nachricht wird nicht mit der Zahlung über das ION-Netzwerk gesendet. @@ -3526,10 +3443,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) An optional amount to request. Leave this empty or zero to not request a specific amount. Einen optionalen Betrag anfordern. Lassen Sie diesen leer oder Null, um einen unbestimmten Betrag anzufordern. - - &Amount: - &Betrag: - &Request payment Zahlung anfo&rdern @@ -3574,6 +3487,10 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Copy amount Betrag kopieren + + Copy address + Adresse kopieren + ReceiveRequestDialog @@ -3644,6 +3561,10 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Message Nachricht + + Address + Adresse + Amount Betrag @@ -3927,10 +3848,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) A fee %1 times higher than %2 per kB is considered an insanely high fee. Eine Gebühr %1 mal höher als %2 pro kB gilt als wahnsinnig hohe Gebühr. - - Estimated to begin confirmation within %n block(s). - Voraussichtlich beginnt die Betätigung in %n Blöcken.Voraussichtlich beginnt die Betätigung in %n Blöcken. - The recipient address is not valid, please recheck. Die Adresse des Empfängers ist nicht gültig, bitte erneut prüfen. @@ -4070,8 +3987,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) ShutdownWindow - Ion Core is shutting down... - Ion Core wird beendet... + ION Core is shutting down... + ION Core wird beendet... Do not shut down the computer until this window disappears. @@ -4178,11 +4095,11 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) The entered address does not refer to a key. - Die eingegebene Adresse passt nicht zu einem Schlüssel + Die eingegebene Adresse passt zu keinem Schlüssel Wallet unlock was cancelled. - Wallet-Entsperrung wurde abgebrochen. + Entsperrung der Wallet wurde abgebrochen. Private key for the entered address is not available. @@ -4220,8 +4137,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -4236,8 +4153,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Die Dash Core Entwickler - The Ion Core developers - Die Ion Core Entwickler + The ION Core developers + Die ION Core Entwickler [testnet] @@ -4253,10 +4170,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) TransactionDesc - - Open for %n more block(s) - Geöffnet für %n weitere BlöckeGeöffnet für %n weitere Blöcke - Open until %1 Offen bis %1 @@ -4317,10 +4230,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) , has not been successfully broadcast yet , wurde noch nicht erfolgreich übertragen - - , broadcast through %n node(s) - , über %n Knoten übertragen, über %n Knoten übertragen - Date Datum @@ -4361,10 +4270,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Credit Gutschrift - - matures in %n more block(s) - reift noch %n weitere Blöckereift noch %n weitere Blöcke - not accepted nicht angenommen @@ -4463,10 +4368,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Address Adresse - - Open for %n more block(s) - Geöffnet für %n weitere BlöckeGeöffnet für %n weitere Blöcke - Open until %1 Offen bis %1 @@ -4732,7 +4633,7 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Comma separated file (*.csv) - Kommagetrennte-Datei (*.csv) + Kommagetrennte Datei (*.csv) Confirmed @@ -4832,7 +4733,7 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Export the data in the current tab to a file - Daten der aktuellen Ansicht in eine Datei exportieren + Daten aus der aktuellen Ansicht in eine Datei exportieren Selected amount: @@ -4869,11 +4770,7 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Select/Deselect All Alle Aus-/Abwählen - - Is Spendable - ist aufwendbar - - + ion-core @@ -4901,8 +4798,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Der berechnete Akkumulator-Checkpoint stimmt nicht mit dem vom Blockindex aufgezeichneten überein - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - Kann keine Sperre für das Datenverzeichnis %s erhalten. Ion Core läuft wahrscheinlich bereits. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Kann keine Sperre für das Datenverzeichnis %s erhalten. ION Core läuft wahrscheinlich bereits. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -5077,20 +4974,20 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Dieses Produkt beinhaltet Software, die vom OpenSSL Projekt für die Nutzung im OpenSSL Toolkit <https://www.openssl.org/> entwickelt wurde. Desweiteren kryptografische Software , die von Eric Young, und UPnP Software, die von Thomas Bernard, geschrieben wurde. - Unable to bind to %s on this computer. Ion Core is probably already running. - Fehler: Port %s ist bereits belegt! Läuft bereits eine andere Ion Core Wallet ? + Unable to bind to %s on this computer. ION Core is probably already running. + Fehler: Port %s ist bereits belegt! Läuft bereits eine andere ION Core Wallet ? Unable to locate enough Obfuscation denominated funds for this transaction. Nicht genügend gestückeltes, verschleiertes Guthaben für diese Transaktion gefunden. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Nicht genügend verschleiertes, nicht gestückeltes Guthaben für diese Transaktion gefunden, die nicht gleich 10000 ION entsprechen. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Nicht genügend verschleiertes, nicht gestückeltes Guthaben für diese Transaktion gefunden, die nicht gleich 20000 ION entsprechen. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Nicht genügend Guthaben für diese Transaktion gefunden, die nicht gleich 10000 ION entsprechen. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Nicht genügend Guthaben für diese Transaktion gefunden, die nicht gleich 20000 ION entsprechen. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5105,8 +5002,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Warnung: -paytxfee ist sehr hoch eingestellt! Diese Transaktionsgebühr werden Ihnen abgebucht, falls Sie die Transaktion überweisen. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - Warnung: Bitte stellen Sie sicher, das vom Computer verwendete Zeit und Datumangaben korrekt sind! Wenn ihr System falsche Zeitangaben nutzt, wird Ion Core nicht korrekt funktionieren. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Warnung: Bitte stellen Sie sicher, das vom Computer verwendete Zeit und Datumangaben korrekt sind! Wenn ihr System falsche Zeitangaben nutzt, wird ION Core nicht korrekt funktionieren. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -5261,8 +5158,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Copyright (C) 2015-%i The PIVX Core Developers - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i The Ion Core Developers + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core Developers Corrupted block database detected @@ -5349,8 +5246,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Fehler beim Laden von wallet.dat : Wallet beschädigt - Error loading wallet.dat: Wallet requires newer version of Ion Core - Fehler beim Laden der wallet.dat: Neuere Ion Core Version benötigt + Error loading wallet.dat: Wallet requires newer version of ION Core + Fehler beim Laden der wallet.dat: Neuere ION Core Version benötigt Error opening block database @@ -5364,6 +5261,10 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Error recovering public key. Fehler bei der Wiederherstellung des öffentlichen Schlüssels. + + Error writing zerocoinDB to disk + Fehler beim Schreiben von zerocoinDB auf die Festplatte + Error Fehler @@ -5400,6 +5301,10 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Failed to listen on any port. Use -listen=0 if you want this. Abhören jeglicher Ports fehlgeschlagen. Nutzen Sie -listen=0 falls dies erwünscht ist. + + Failed to parse host:port string + Fehler beim Analysieren von host: port string + Failed to read block Block konnte nicht gelesen werden @@ -5465,8 +5370,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Hinweis - Initialization sanity check failed. Ion Core is shutting down. - Initialisierung Sanity-Check fehlgeschlagen. Ion Core schaltet ab. + Initialization sanity check failed. ION Core is shutting down. + Initialisierung Sanity-Check fehlgeschlagen. ION Core schaltet ab. Input is not valid. @@ -5676,10 +5581,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Failed to create mint Fehler beim Erstellen von Minze - - Failed to deserialize - Fehler beim Deserialisieren - Failed to find Zerocoins in wallet.dat Zerocoins in wallet.dat nicht gefunden @@ -5749,8 +5650,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Lade Sporks... - Loading wallet... (%3.1f %%) - Lade Wallet... (%3.1f %%) + Loading wallet... (%3.2f %%) + Lade Wallet... (%3.2f %%) Loading wallet... @@ -6120,14 +6021,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) The coin spend has been used Die Münzausgabe wurde verwendet - - The new spend coin transaction did not verify - Die neue Münzausgabe wurde nicht überprüft - - - The selected mint coin is an invalid coin - Die ausgewählte Münze ist eine ungültige Münze - The transaction did not verify Die Transaktion wurde nicht verifiziert @@ -6276,10 +6169,6 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Verifying wallet... Verifiziere Wallet... - - Version 1 xION require a security level of 100 to successfully spend. - Version 1 xION benötigen eine Sicherheitsstufe von 100 um erfolgreich ausgegeben werden zu können. - Wallet %s resides outside data directory %s Wallet %s liegt außerhalb des Datenverzeichnisses %s @@ -6289,8 +6178,8 @@ Präge entweder höhere Stückelungen (damit weniger Eingaben benötigt werdenn) Wallet gesperrt. - Wallet needed to be rewritten: restart Ion Core to complete - Wallet musste neu geschrieben werden: Bitte Ion Core neu starten + Wallet needed to be rewritten: restart ION Core to complete + Wallet musste neu geschrieben werden: Bitte ION Core neu starten Wallet options: diff --git a/src/qt/locale/ion_en.ts b/src/qt/locale/ion_en.ts index b1b383fd23b09..a53c43c50f96d 100644 --- a/src/qt/locale/ion_en.ts +++ b/src/qt/locale/ion_en.ts @@ -516,7 +516,7 @@ BitcoinGUI - + Wallet Wallet @@ -561,7 +561,17 @@ - + + &Governance + + + + + Show Proposals + + + + E&xit E&xit @@ -776,7 +786,7 @@ &Command-line options - + Processed %n blocks of transaction history. Processed %n block of transaction history. @@ -794,7 +804,7 @@ - + Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymization and staking only @@ -804,7 +814,7 @@ - + &File &File @@ -829,13 +839,13 @@ Tabs toolbar - - - Ion Core + + + ION Core - + Send coins to a ION address @@ -860,13 +870,13 @@ - - &About Ion Core + + &About ION Core - Show information about Ion Core + Show information about ION Core @@ -936,16 +946,16 @@ - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options - - Ion Core client + + ION Core client - + %n active connection(s) to ION network @@ -1074,20 +1084,20 @@ Address: %4 - + Staking is active MultiSend: %1 - + Active - - + + Not Active @@ -1098,17 +1108,17 @@ Address: %4 - + AutoMint is currently enabled and set to - + AutoMint is disabled - + Wallet is <b>encrypted</b> and currently <b>unlocked</b> Wallet is <b>encrypted</b> and currently <b>unlocked</b> @@ -1117,6 +1127,11 @@ Address: %4 Wallet is <b>encrypted</b> and currently <b>locked</b> Wallet is <b>encrypted</b> and currently <b>locked</b> + + + A fatal error occurred. ION can no longer continue safely and will quit. + + BlockExplorer @@ -1568,6 +1583,64 @@ Address: %4 Cannot create data directory here. + + GovernancePage + + + Form + Form + + + + GOVERNANCE + + + + + Update Proposals + + + + + Next super block: + + + + + + + + + + 0 + + + + + Blocks to next super block: + + + + + Days to budget payout (estimate): + + + + + Allotted budget: + + + + + Budget left: + + + + + Masternodes count: + + + HelpMessageDialog @@ -1577,7 +1650,7 @@ Address: %4 - Ion Core + ION Core @@ -1588,7 +1661,7 @@ Address: %4 - About Ion Core + About ION Core @@ -1646,17 +1719,17 @@ Address: %4 - Welcome to Ion Core. + Welcome to ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. @@ -1671,7 +1744,7 @@ Address: %4 - Ion Core + ION Core @@ -2292,12 +2365,12 @@ Please be patient after clicking import. - Use 2 separate masternodes to mix funds up to 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION @@ -2307,12 +2380,12 @@ Please be patient after clicking import. - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION @@ -2322,7 +2395,7 @@ Please be patient after clicking import. - 0.1 ION per 10000 ION you anonymize. + 0.1 ION per 20000 ION you anonymize. @@ -2409,7 +2482,7 @@ Please be patient after clicking import. (0 = auto, <0 = leave that many cores free) - + W&allet W&allet @@ -2444,7 +2517,7 @@ Please be patient after clicking import. Expert - + Automatically start ION after logging in to the system. @@ -2454,7 +2527,7 @@ Please be patient after clicking import. - + Whether to show coin control features or not. Whether to show coin control features or not. @@ -2500,7 +2573,7 @@ https://www.transifex.com/ioncoincore/ioncore Map port using &UPnP - + Enable automatic minting of ION units to xION @@ -2510,7 +2583,17 @@ https://www.transifex.com/ioncoincore/ioncore - + + Enable automatic xION minting from specific addresses + + + + + Enable Automint Addresses + + + + Percentage of incoming ION which get automatically converted to xION via Zerocoin Protocol (min: 10%) @@ -2683,7 +2766,7 @@ https://www.transifex.com/ioncoincore/ioncore none - + Confirm options reset Confirm options reset @@ -2920,7 +3003,7 @@ To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1 PaymentServer - + @@ -3071,7 +3154,7 @@ To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1 - + Mint Zerocoin @@ -3085,12 +3168,12 @@ To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1 - + xION - + Available for minting are coins which are confirmed and not locked or Masternode collaterals. @@ -3101,7 +3184,7 @@ To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1 - 0.000 000 00 ION + 0.000 000 00 ION @@ -3172,18 +3255,16 @@ To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1 - + Spend Zerocoin. Without 'Pay To:' address creates payments to yourself. - + - - - + Spend Zerocoin @@ -3209,7 +3290,7 @@ xION are mature when they have more than 20 confirmations AND more than 2 mints - + @@ -3223,22 +3304,7 @@ xION are mature when they have more than 20 confirmations AND more than 2 mints - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - - - - - Security Level: - - - - - Security Level 1 - 100 (default: 42) - - - - + Pay &To: Pay &To: @@ -3308,16 +3374,16 @@ xION are mature when they have more than 20 confirmations AND more than 2 mints - + - + Total Balance including unconfirmed and immature xION - - + + Total Zerocoin Balance: @@ -3364,8 +3430,8 @@ To change the percentage (no restart required): - - + + Global Supply: @@ -3422,7 +3488,7 @@ To change the percentage (no restart required): - + Show xION denominations list @@ -3432,7 +3498,7 @@ To change the percentage (no restart required): - + Denominations with value 5: @@ -3543,9 +3609,9 @@ To change the percentage (no restart required): - + - + Coins automatically selected @@ -3581,18 +3647,18 @@ To change the percentage (no restart required): Change: - + out of sync out of sync - + Mint Status: Okay - + Copy quantity Copy quantity @@ -3602,20 +3668,13 @@ To change the percentage (no restart required): - + Starting ResetMintZerocoin: rescanning complete blockchain, this will need up to 30 minutes depending on your hardware. Please be patient... - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - - - - + ) needed. Maximum allowed: @@ -3652,13 +3711,13 @@ Maximum allowed: - + xION is currently undergoing maintenance. - + Denom. with value <b>1</b>: @@ -3699,12 +3758,12 @@ Maximum allowed: - + AutoMint Status: - + Denom. <b>1</b>: @@ -3744,7 +3803,7 @@ Maximum allowed: - + Error: Your wallet is locked. Please enter the wallet passphrase first. @@ -3777,20 +3836,20 @@ Maximum allowed: - + Duration: - + - + sec. - + Starting ResetSpentZerocoin: @@ -3815,7 +3874,7 @@ Maximum allowed: - + Are you sure you want to send?<br /><br /> @@ -3830,34 +3889,17 @@ Maximum allowed: - - with Security Level - - - - + Confirm send coins Confirm send coins - - - Version 1 xION require a security level of 100 to successfully spend. - - - - - - Failed to spend xION - - - - + Failed to fetch mint associated with serial hash - + Too much inputs ( @@ -3888,7 +3930,14 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + + Spending Zerocoin. +Computationally expensive, might need several minutes depending on your hardware. +Please be patient... + + + + serial: @@ -3923,6 +3972,90 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou + + ProposalFrame + + + Open proposal page in browser + + + + + remaining payment(s). + + + + + Yes: + + + + + Abstain: + + + + + No: + + + + + A proposal URL can be used for phishing, scams and computer viruses. Open this link only if you trust the following URL. + + + + + + Open link + + + + + Copy link + + + + + Wallet Locked + + + + + You must unlock your wallet to vote. + + + + + Do you want to vote %1 on + + + + + using all your masternodes? + + + + + Proposal Hash: + + + + + Proposal URL: + + + + + Confirm Vote + + + + + Vote Results + + + QObject @@ -3952,12 +4085,12 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + %1 s %1 s - + NETWORK NETWORK @@ -3966,6 +4099,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou BLOOM + + + ZK_BLOOM + + UNKNOWN @@ -3986,6 +4124,39 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou %1 ms %1 ms + + + + + + ION Core + + + + + Error: Specified data directory "%1" does not exist. + + + + + Error: Cannot parse configuration file: %1. Only use key=value syntax. + + + + + Error: Invalid combination of -regtest and -testnet. + + + + + Error reading masternode configuration file: %1 + + + + + ION Core didn't yet exit safely... + + QRImageWidget @@ -5334,7 +5505,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou ShutdownWindow - Ion Core is shutting down... + ION Core is shutting down... @@ -5529,7 +5700,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou SplashScreen - Ion Core + ION Core @@ -5549,7 +5720,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - The Ion Core developers + The ION Core developers @@ -6314,7 +6485,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou WalletView - + HISTORY @@ -6334,7 +6505,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Selected amount: - + Backup Wallet Backup Wallet @@ -6373,8 +6544,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - - Is Spendable + + Spendable? @@ -6412,7 +6583,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Cannot obtain a lock on data directory %s. Ion Core is probably already running. + Cannot obtain a lock on data directory %s. ION Core is probably already running. @@ -6447,6 +6618,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou + Enable automatic Zerocoin minting from specific addresses (0-1, default: %u) + + + + Enable automatic wallet backups triggered after each xION minting (0-1, default: %u) @@ -6555,6 +6731,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + + + Maximum average size of an index occurrence in the block spam filter (default: %u) + + Maximum size of data in data carrier transactions we relay and mine (default: %u) @@ -6562,6 +6743,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou + Maximum size of the list of indexes in the block spam filter (default: %u) + + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) @@ -6607,6 +6793,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou + Set the number of included blocks to precompute per cycle. (minimum: %d) (maximum: %d) (default: %d) + + + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) @@ -6625,6 +6816,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Support filtering of blocks and transaction with bloom filters (default: %u) + + + The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct + + This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard. @@ -6637,7 +6833,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Unable to bind to %s on this computer. Ion Core is probably already running. + Unable to bind to %s on this computer. ION Core is probably already running. @@ -6647,12 +6843,12 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. @@ -6672,7 +6868,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. @@ -6750,6 +6946,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Add a node to connect to and attempt to keep the connection open Add a node to connect to and attempt to keep the connection open + + + Adding Wrapped Serials supply... + + Allow DNS lookups for -addnode, -seednode and -connect @@ -6832,6 +7033,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou + CoinSpend: failed check + + + + Collateral not valid. Collateral not valid. @@ -6872,7 +7078,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Copyright (C) 2018-%i The Ion Core Developers + Copyright (C) 2018-%i The ION Core Developers @@ -6885,6 +7091,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Could not parse masternode.conf Could not parse masternode.conf + + + Couldn't generate the accumulator witness + + Debugging/Testing options: @@ -6930,6 +7141,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Enable automatic Zerocoin minting (0-1, default: %u) + + + Enable precomputation of xION spends and stakes (0-1, default %u) + + Enable publish hash transaction (locked via SwiftX) in <address> @@ -6982,7 +7198,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core @@ -7046,7 +7262,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + Failed to listen on any port. Use -listen=0 if you want this. Failed to listen on any port. Use -listen=0 if you want this. @@ -7137,7 +7353,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Initialization sanity check failed. Ion Core is shutting down. + Initialization sanity check failed. ION Core is shutting down. @@ -7226,7 +7442,22 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + + Recalculating ION supply... + + + + + Recalculating minted XION... + + + + + Recalculating spent XION... + + + + Reindex the ION and xION money supply statistics @@ -7247,16 +7478,21 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou + Support the zerocoin light node protocol (default: %u) + + + + SwiftX options: - + This is a pre-release test build - use at your own risk - do not use for staking or merchant applications! - + mints deleted @@ -7283,7 +7519,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. @@ -7313,12 +7549,12 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + Preferred Denomination for automatically minted Zerocoin (1/5/10/50/100/500/1000/5000), 0 for no preference. default: %u) - + Specify custom backup path to add a copy of any automatic xION backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. If backuppath is set as well, 4 backups will happen @@ -7333,12 +7569,12 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + <category> can be: - + Attempt to force blockchain corruption recovery @@ -7348,7 +7584,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + Display the stake modifier calculations in the debug.log file. @@ -7358,7 +7594,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + Enable publish hash block in <address> @@ -7397,11 +7633,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Failed to create mint - - - Failed to deserialize - - Failed to find Zerocoins in wallet.dat @@ -7489,8 +7720,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Loading wallet... (%3.1f %%) - Loading wallet... (%3.1f %%) + Loading wallet... (%3.2f %%) + Loading wallet... (%3.2f %%) @@ -7663,12 +7894,22 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Password for JSON-RPC connections - + + Use block spam filter (default: %u) + + + + + could not get lock on cs_spendcache + + + + isValid(): Invalid -proxy address or hostname: '%s' - + Preparing for resync... @@ -7703,7 +7944,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Rebuild block chain index from current blk000??.dat files - + Receive and display P2P network alerts (default: %u) Receive and display P2P network alerts (default: %u) @@ -7908,7 +8149,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Submitted to masternode, waiting in queue %s - + Synchronization failed Synchronization failed @@ -7952,16 +8193,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou The coin spend has been used - - - The new spend coin transaction did not verify - - - - - The selected mint coin is an invalid coin - - The transaction did not verify @@ -8057,11 +8288,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Transmitting final transaction. Transmitting final transaction. - - - Try to spend with a higher security level to include more coins - - Trying to spend an already spent serial #, try again. @@ -8118,7 +8344,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + Use the test network Use the test network @@ -8152,11 +8378,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Verifying wallet... Verifying wallet... - - - Version 1 xION require a security level of 100 to successfully spend. - - Wallet %s resides outside data directory %s @@ -8169,7 +8390,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - Wallet needed to be rewritten: restart Ion Core to complete + Wallet needed to be rewritten: restart ION Core to complete @@ -8243,7 +8464,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou - + on startup on startup diff --git a/src/qt/locale/ion_en_GB.ts b/src/qt/locale/ion_en_GB.ts new file mode 100644 index 0000000000000..6785b2ce90a4f --- /dev/null +++ b/src/qt/locale/ion_en_GB.ts @@ -0,0 +1,6446 @@ + + + AddressBookPage + + Right-click to edit address or label + Right-click to edit address or label + + + Create a new address + Create a new address + + + &New + &New + + + Copy the currently selected address to the system clipboard + Copy the currently selected address to the system clipboard + + + &Copy + &Copy + + + Delete the currently selected address from the list + Delete the currently selected address from the list + + + &Delete + &Delete + + + Export the data in the current tab to a file + Export the data in the current tab to a file + + + &Export + &Export + + + C&lose + C&lose + + + Choose the address to send coins to + Choose the address to send coins to + + + Choose the address to receive coins with + Choose the address to receive coins with + + + C&hoose + C&hoose + + + Sending addresses + Sending addresses + + + Receiving addresses + Receiving addresses + + + These are your ION addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your ION addresses for sending payments. Always check the amount and the receiving address before sending coins. + + + These are your ION addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your ION addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + + + &Copy Address + &Copy Address + + + Copy &Label + Copy &Label + + + &Edit + &Edit + + + Export Address List + Export Address List + + + Comma separated file (*.csv) + Comma separated file (*.csv) + + + Exporting Failed + Exporting Failed + + + There was an error trying to save the address list to %1. Please try again. + There was an error trying to save the address list to %1. Please try again. + + + + AddressTableModel + + Label + Label + + + Address + Address + + + (no label) + (no label) + + + + AskPassphraseDialog + + Passphrase Dialog + Passphrase Dialog + + + Enter passphrase + Enter passphrase + + + New passphrase + New passphrase + + + Repeat new passphrase + Repeat new passphrase + + + Serves to disable the trivial sendmoney when OS account compromised. Provides no real security. + Serves to disable the trivial sendmoney when OS account compromised. Provides no real security. + + + For anonymization, automint, and staking only + For anonymisation, automint, and staking only + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. + + + Encrypt wallet + Encrypt wallet + + + This operation needs your wallet passphrase to unlock the wallet. + This operation needs your wallet passphrase to unlock the wallet. + + + Unlock wallet + Unlock wallet + + + This operation needs your wallet passphrase to decrypt the wallet. + This operation needs your wallet passphrase to decrypt the wallet. + + + Decrypt wallet + Decrypt wallet + + + Change passphrase + Change passphrase + + + Enter the old and new passphrase to the wallet. + Enter the old and new passphrase to the wallet. + + + Confirm wallet encryption + Confirm wallet encryption + + + ION will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your IONs from being stolen by malware infecting your computer. + ION will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your IONs from being stolen by malware infecting your computer. + + + Are you sure you wish to encrypt your wallet? + Are you sure you wish to encrypt your wallet? + + + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR ION</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR ION</b>! + + + Wallet encrypted + Wallet encrypted + + + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet. + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet. + + + Wallet encryption failed + Wallet encryption failed + + + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + Wallet encryption failed due to an internal error. Your wallet was not encrypted. + + + The supplied passphrases do not match. + The supplied passphrases do not match. + + + Wallet unlock failed + Wallet unlock failed + + + The passphrase entered for the wallet decryption was incorrect. + The passphrase entered for the wallet decryption was incorrect. + + + Wallet decryption failed + Wallet decryption failed + + + Wallet passphrase was successfully changed. + Wallet passphrase was successfully changed. + + + Warning: The Caps Lock key is on! + Warning: The Caps Lock key is on! + + + + BanTableModel + + IP/Netmask + IP/Netmask + + + Banned Until + Banned Until + + + + Bip38ToolDialog + + BIP 38 Tool + BIP 38 Tool + + + &BIP 38 Encrypt + &BIP 38 Encrypt + + + Address: + Address: + + + Enter a ION Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key. + Enter a ION Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key. + + + The ION address to encrypt + The ION address to encrypt + + + Choose previously used address + Choose previously used address + + + Alt+A + Alt+A + + + Paste address from clipboard + Paste address from clipboard + + + Alt+P + Alt+P + + + Passphrase: + Passphrase: + + + Encrypted Key: + Encrypted Key: + + + Copy the current signature to the system clipboard + Copy the current signature to the system clipboard + + + Encrypt the private key for this ION address + Encrypt the private key for this ION address + + + Reset all fields + Reset all fields + + + The encrypted private key + The encrypted private key + + + Decrypt the entered key using the passphrase + Decrypt the entered key using the passphrase + + + Encrypt &Key + Encrypt &Key + + + Clear &All + Clear &All + + + &BIP 38 Decrypt + &BIP 38 Decrypt + + + Enter the BIP 38 encrypted private key. Enter the passphrase in the middle box. Click Decrypt Key to compute the private key. After the key is decrypted, clicking 'Import Address' will add this private key to the wallet. + Enter the BIP 38 encrypted private key. Enter the passphrase in the middle box. Click Decrypt Key to compute the private key. After the key is decrypted, clicking 'Import Address' will add this private key to the wallet. + + + Decrypt &Key + Decrypt &Key + + + Decrypted Key: + Decrypted Key: + + + Import Address + Import Address + + + Click "Decrypt Key" to compute key + Click "Decrypt Key" to compute key + + + The entered passphrase is invalid. + The entered passphrase is invalid. + + + Allowed: 0-9,a-z,A-Z, + Allowed: 0-9,a-z,A-Z, + + + The entered address is invalid. + The entered address is invalid. + + + Please check the address and try again. + Please check the address and try again. + + + The entered address does not refer to a key. + The entered address does not refer to a key. + + + Wallet unlock was cancelled. + Wallet unlock was cancelled. + + + Private key for the entered address is not available. + Private key for the entered address is not available. + + + Failed to decrypt. + Failed to decrypt. + + + Please check the key and passphrase and try again. + Please check the key and passphrase and try again. + + + Data Not Valid. + Data Not Valid. + + + Please try again. + Please try again. + + + Please wait while key is imported + Please wait while key is imported + + + Key Already Held By Wallet + Key Already Held By Wallet + + + Error Adding Key To Wallet + Error Adding Key To Wallet + + + Successfully Added Private Key To Wallet + Successfully Added Private Key To Wallet + + + + BitcoinGUI + + Wallet + Wallet + + + Node + Node + + + &Overview + &Overview + + + Show general overview of wallet + Show general overview of wallet + + + &Send + &Send + + + &Receive + &Receive + + + &Transactions + &Transactions + + + Browse transaction history + Browse transaction history + + + Privacy Actions for xION + Privacy Actions for xION + + + E&xit + E&xit + + + Quit application + Quit application + + + About &Qt + About &Qt + + + Show information about Qt + Show information about Qt + + + &Options... + &Options... + + + &Show / Hide + &Show / Hide + + + Show or hide the main Window + Show or hide the main Window + + + &Encrypt Wallet... + &Encrypt Wallet... + + + Encrypt the private keys that belong to your wallet + Encrypt the private keys that belong to your wallet + + + &Backup Wallet... + &Backup Wallet... + + + Backup wallet to another location + Backup wallet to another location + + + &Change Passphrase... + &Change Passphrase... + + + Change the passphrase used for wallet encryption + Change the passphrase used for wallet encryption + + + &Unlock Wallet... + &Unlock Wallet... + + + Unlock wallet + Unlock wallet + + + &Lock Wallet + &Lock Wallet + + + Sign &message... + Sign &message... + + + &Verify message... + &Verify message... + + + &Information + &Information + + + Show diagnostic information + Show diagnostic information + + + &Debug console + &Debug console + + + Open debugging console + Open debugging console + + + &Network Monitor + &Network Monitor + + + Show network monitor + Show network monitor + + + &Peers list + &Peers list + + + Show peers info + Show peers info + + + Wallet &Repair + Wallet &Repair + + + Show wallet repair options + Show wallet repair options + + + Open configuration file + Open configuration file + + + Show Automatic &Backups + Show Automatic &Backups + + + Show automatically created wallet backups + Show automatically created wallet backups + + + &Sending addresses... + &Sending addresses... + + + Show the list of used sending addresses and labels + Show the list of used sending addresses and labels + + + &Receiving addresses... + &Receiving addresses... + + + Show the list of used receiving addresses and labels + Show the list of used receiving addresses and labels + + + &Multisignature creation... + &Multisignature creation... + + + Create a new multisignature address and add it to this wallet + Create a new multisignature address and add it to this wallet + + + &Multisignature spending... + &Multisignature spending... + + + Spend from a multisignature address + Spend from a multisignature address + + + &Multisignature signing... + &Multisignature signing... + + + Sign with a multisignature address + Sign with a multisignature address + + + Open &URI... + Open &URI... + + + &Command-line options + &Command-line options + + + Processed %n blocks of transaction history. + Processed %n block of transaction history.Processed %n blocks of transaction history. + + + Synchronizing additional data: %p% + Synchronising additional data: %p% + + + %1 behind. Scanning block %2 + %1 behind. Scanning block %2 + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymization and staking only + Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymisation and staking only + + + Tor is <b>enabled</b>: %1 + Tor is <b>enabled</b>: %1 + + + &File + &File + + + &Settings + &Settings + + + &Tools + &Tools + + + &Help + &Help + + + Tabs toolbar + Tabs toolbar + + + ION Core + ION Core + + + Send coins to a ION address + Send coins to a ION address + + + Request payments (generates QR codes and ion: URIs) + Request payments (generates QR codes and ion: URIs) + + + &Privacy + &Privacy + + + &Masternodes + &Masternodes + + + Browse masternodes + Browse masternodes + + + &About ION Core + &About ION Core + + + Show information about ION Core + Show information about ION Core + + + Modify configuration options for ION + Modify configuration options for ION + + + Sign messages with your ION addresses to prove you own them + Sign messages with your ION addresses to prove you own them + + + Verify messages to ensure they were signed with specified ION addresses + Verify messages to ensure they were signed with specified ION addresses + + + &BIP38 tool + &BIP38 tool + + + Encrypt and decrypt private keys using a passphrase + Encrypt and decrypt private keys using a passphrase + + + &MultiSend + &MultiSend + + + MultiSend Settings + MultiSend Settings + + + Open Wallet &Configuration File + Open Wallet &Configuration File + + + Open &Masternode Configuration File + Open &Masternode Configuration File + + + Open Masternode configuration file + Open Masternode configuration file + + + Open a ION: URI or payment request + Open a ION: URI or payment request + + + &Blockchain explorer + &Blockchain explorer + + + Block explorer window + Block explorer window + + + Show the ION Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options + + + ION Core client + ION Core client + + + %n active connection(s) to ION network + %n active connection(s) to ION network%n active connection(s) to ION network + + + Synchronizing with network... + Synchronising with network... + + + Importing blocks from disk... + Importing blocks from disk... + + + Reindexing blocks on disk... + Reindexing blocks on disk... + + + No block source available... + No block source available... + + + Up to date + Up to date + + + %n hour(s) + %n hour%n hours + + + %n day(s) + %n day%n days + + + %n week(s) + %n week%n weeks + + + %1 and %2 + %1 and %2 + + + %n year(s) + %n year%n years + + + Catching up... + Catching up... + + + Last received block was generated %1 ago. + Last received block was generated %1 ago. + + + Transactions after this will not yet be visible. + Transactions after this will not yet be visible. + + + Error + Error + + + Warning + Warning + + + Information + Information + + + Sent transaction + Sent transaction + + + Incoming transaction + Incoming transaction + + + Sent MultiSend transaction + Sent MultiSend transaction + + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + Date: %1 +Amount: %2 +Type: %3 +Address: %4 + + + + Staking is active + MultiSend: %1 + Staking is active + MultiSend: %1 + + + Active + Active + + + Not Active + Not Active + + + Staking is not active + MultiSend: %1 + Staking is not active + MultiSend: %1 + + + AutoMint is currently enabled and set to + AutoMint is currently enabled and set to + + + AutoMint is disabled + AutoMint is disabled + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + Wallet is <b>encrypted</b> and currently <b>unlocked</b> + + + Wallet is <b>encrypted</b> and currently <b>locked</b> + Wallet is <b>encrypted</b> and currently <b>locked</b> + + + + BlockExplorer + + Blockchain Explorer + Blockchain Explorer + + + Back + Back + + + Forward + Forward + + + Address / Block / Transaction + Address / Block / Transaction + + + Search + Search + + + TextLabel + TextLabel + + + Not all transactions will be shown. To view all transactions you need to set txindex=1 in the configuration file (ioncoin.conf). + Not all transactions will be shown. To view all transactions you need to set txindex=1 in the configuration file (ioncoin.conf). + + + + ClientModel + + Total: %1 (IPv4: %2 / IPv6: %3 / Tor: %4 / Unknown: %5) + Total: %1 (IPv4: %2 / IPv6: %3 / Tor: %4 / Unknown: %5) + + + Network Alert + Network Alert + + + + CoinControlDialog + + Quantity: + Quantity: + + + Bytes: + Bytes: + + + Amount: + Amount: + + + Priority: + Priority: + + + Fee: + Fee: + + + Coin Selection + Coin Selection + + + Dust: + Dust: + + + After Fee: + After Fee: + + + Change: + Change: + + + (un)select all + (un)select all + + + toggle lock state + toggle lock state + + + Tree mode + Tree mode + + + List mode + List mode + + + (1 locked) + (1 locked) + + + Amount + Amount + + + Received with label + Received with label + + + Received with address + Received with address + + + Type + Type + + + Date + Date + + + Confirmations + Confirmations + + + Confirmed + Confirmed + + + Priority + Priority + + + Copy address + Copy address + + + Copy label + Copy label + + + Copy amount + Copy amount + + + Copy transaction ID + Copy transaction ID + + + Lock unspent + Lock unspent + + + Unlock unspent + Unlock unspent + + + Copy quantity + Copy quantity + + + Copy fee + Copy fee + + + Copy after fee + Copy after fee + + + Copy bytes + Copy bytes + + + Copy priority + Copy priority + + + Copy dust + Copy dust + + + Copy change + Copy change + + + Please switch to "List mode" to use this function. + Please switch to "List mode" to use this function. + + + highest + highest + + + higher + higher + + + high + high + + + medium-high + medium-high + + + medium + medium + + + low-medium + low-medium + + + low + low + + + lower + lower + + + lowest + lowest + + + (%1 locked) + (%1 locked) + + + none + none + + + yes + yes + + + no + no + + + This label turns red, if the transaction size is greater than 1000 bytes. + This label turns red if the transaction size is greater than 1000 bytes. + + + This means a fee of at least %1 per kB is required. + This means a fee of at least %1 per kB is required. + + + Can vary +/- 1 byte per input. + Can vary +/- 1 byte per input. + + + Transactions with higher priority are more likely to get included into a block. + Transactions with higher priority are more likely to get included into a block. + + + This label turns red, if the priority is smaller than "medium". + This label turns red if the priority is smaller than "medium". + + + This label turns red, if any recipient receives an amount smaller than %1. + This label turns red if any recipient receives an amount smaller than %1. + + + Can vary +/- %1 uion per input. + Can vary +/- %1 uion per input. + + + (no label) + (no label) + + + change from %1 (%2) + change from %1 (%2) + + + (change) + (change) + + + + EditAddressDialog + + Edit Address + Edit Address + + + &Label + &Label + + + The label associated with this address list entry + The label associated with this address list entry + + + &Address + &Address + + + The address associated with this address list entry. This can only be modified for sending addresses. + The address associated with this address list entry. This can only be modified for sending addresses. + + + New receiving address + New receiving address + + + New sending address + New sending address + + + Edit receiving address + Edit receiving address + + + Edit sending address + Edit sending address + + + The entered address "%1" is not a valid ION address. + The entered address "%1" is not a valid ION address. + + + The entered address "%1" is already in the address book. + The entered address "%1" is already in the address book. + + + Could not unlock wallet. + Could not unlock wallet. + + + New key generation failed. + New key generation failed. + + + + FreespaceChecker + + A new data directory will be created. + A new data directory will be created. + + + name + name + + + Directory already exists. Add %1 if you intend to create a new directory here. + Directory already exists. Add %1 if you intend to create a new directory here. + + + Path already exists, and is not a directory. + Path already exists and is not a directory. + + + Cannot create data directory here. + Cannot create data directory here. + + + + GovernancePage + + Form + Form + + + 0 + 0 + + + + HelpMessageDialog + + version + version + + + ION Core + ION Core + + + (%1-bit) + (%1-bit) + + + About ION Core + About ION Core + + + Command-line options + Command-line options + + + Usage: + Usage: + + + command-line options + command-line options + + + UI Options: + UI Options: + + + Choose data directory on startup (default: %u) + Choose data directory on start up (default: %u) + + + Show splash screen on startup (default: %u) + Show splash screen on start up (default: %u) + + + Set language, for example "de_DE" (default: system locale) + Set language, for example "de_DE" (default: system locale) + + + Start minimized + Start minimised + + + Set SSL root certificates for payment request (default: -system-) + Set SSL root certificates for payment request (default: -system-) + + + + Intro + + Welcome + Welcome + + + Welcome to ION Core. + Welcome to ION Core. + + + As this is the first time the program is launched, you can choose where ION Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. + + + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + + + Use the default data directory + Use the default data directory + + + Use a custom data directory: + Use a custom data directory: + + + ION Core + ION Core + + + Error: Specified data directory "%1" cannot be created. + Error: Specified data directory "%1" cannot be created. + + + Error + Error + + + %1 GB of free space available + %1 GB of free space available + + + (of %1 GB needed) + (of %1 GB needed) + + + + MasternodeList + + Form + Form + + + MASTERNODES + MASTERNODES + + + Note: Status of your masternodes in local wallet can potentially be slightly incorrect.<br />Always wait for wallet to sync additional data and then double check from another node<br />if your node should be running but you still see "MISSING" in "Status" field. + Note: Status of your masternodes in local wallet can potentially be slightly incorrect.<br />Always wait for wallet to sync additional data and then double check from another node<br />if your node should be running but you still see "MISSING" in "Status" field. + + + Alias + Alias + + + Address + Address + + + Protocol + Protocol + + + Status + Status + + + Active + Active + + + Last Seen (UTC) + Last Seen (UTC) + + + Pubkey + Pubkey + + + S&tart alias + S&tart alias + + + Start &all + Start &all + + + Start &MISSING + Start &MISSING + + + &Update status + &Update status + + + Status will be updated automatically in (sec): + Status will be updated automatically in (sec): + + + 0 + 0 + + + Start alias + Start alias + + + Confirm masternode start + Confirm masternode start + + + Are you sure you want to start masternode %1? + Are you sure you want to start masternode %1? + + + Confirm all masternodes start + Confirm all masternodes start + + + Are you sure you want to start ALL masternodes? + Are you sure you want to start ALL masternodes? + + + Command is not available right now + Command is not available right now + + + You can't use this command until masternode list is synced + You can't use this command until masternode list is synced + + + Confirm missing masternodes start + Confirm missing masternodes start + + + Are you sure you want to start MISSING masternodes? + Are you sure you want to start MISSING masternodes? + + + + MultiSendDialog + + MultiSend + MultiSend + + + Enter whole numbers 1 - 100 + Enter whole numbers 1 - 100 + + + Enter % to Give (1-100) + Enter % to Give (1-100) + + + Enter Address to Send to + Enter Address to Send to + + + MultiSend allows you to automatically send up to 100% of your stake or masternode reward to a list of other ION addresses after it matures. +To Add: enter percentage to give and ION address to add to the MultiSend vector. +To Delete: Enter address to delete and press delete. +MultiSend will not be activated unless you have clicked Activate + MultiSend allows you to automatically send up to 100% of your stake or masternode reward to a list of other ION addresses after it matures. +To Add: enter percentage to give and ION address to add to the MultiSend vector. +To Delete: Enter address to delete and press delete. +MultiSend will not be activated unless you have clicked Activate + + + Add to MultiSend Vector + Add to MultiSend Vector + + + Add + Add + + + Deactivate MultiSend + Deactivate MultiSend + + + Deactivate + Deactivate + + + Choose an address from the address book + Choose an address from the address book + + + Alt+A + Alt+A + + + Percentage of stake to send + Percentage of stake to send + + + Percentage: + Percentage: + + + Address to send portion of stake to + Address to send portion of stake to + + + Address: + Address: + + + Label: + Label: + + + Enter a label for this address to add it to your address book + Enter a label for this address to add it to your address book + + + Delete Address From MultiSend Vector + Delete Address From MultiSend Vector + + + Delete + Delete + + + Activate MultiSend + Activate MultiSend + + + Activate + Activate + + + View MultiSend Vector + View MultiSend Vector + + + View MultiSend + View MultiSend + + + Send For Stakes + Send For Stakes + + + Send For Masternode Rewards + Send For Masternode Rewards + + + (no label) + (no label) + + + MultiSend Active for Stakes and Masternode Rewards + MultiSend Active for Stakes and Masternode Rewards + + + MultiSend Active for Stakes + MultiSend Active for Stakes + + + MultiSend Active for Masternode Rewards + MultiSend Active for Masternode Rewards + + + MultiSend Not Active + MultiSend Not Active + + + The entered address: %1 is invalid. +Please check the address and try again. + The entered address: %1 is invalid. +Please check the address and try again. + + + The total amount of your MultiSend vector is over 100% of your stake reward + The total amount of your MultiSend vector is over 100% of your stake reward + + + Saved the MultiSend to memory, but failed saving properties to the database. + Saved the MultiSend to memory, but failed saving properties to the database. + + + MultiSend Vector + MultiSend Vector + + + Removed %1 + Removed %1 + + + Could not locate address + Could not locate address + + + Unable to activate MultiSend, check MultiSend vector + Unable to activate MultiSend, check MultiSend vector + + + Need to select to send on stake and/or masternode rewards + Need to select to send on stake and/or masternode rewards + + + MultiSend activated but writing settings to DB failed + MultiSend activated but writing settings to DB failed + + + MultiSend activated + MultiSend activated + + + First Address Not Valid + First Address Not Valid + + + MultiSend deactivated but writing settings to DB failed + MultiSend deactivated but writing settings to DB failed + + + MultiSend deactivated + MultiSend deactivated + + + Please Enter 1 - 100 for percent. + Please Enter 1 - 100 for percent. + + + + MultisigDialog + + Multisignature Address Interactions + Multisignature Address Interactions + + + Create MultiSignature &Address + Create MultiSignature &Address + + + How many people must sign to verify a transaction + How many people must sign to verify a transaction + + + Enter the minimum number of signatures required to sign transactions + Enter the minimum number of signatures required to sign transactions + + + Address Label: + Address Label: + + + Add another address that could sign to verify a transaction from the multisig address. + Add another address that could sign to verify a transaction from the multisig address. + + + &Add Address / Key + &Add Address / Key + + + Local addresses or public keys that can sign: + Local addresses or public keys that can sign: + + + Create a new multisig address + Create a new multisig address + + + C&reate + C&reate + + + Status: + Status: + + + Use below to quickly import an address by its redeem. Don't forget to add a label before clicking import! +Keep in mind, the wallet will rescan the blockchain to find transactions containing the new address. +Please be patient after clicking import. + Use below to quickly import an address by its redeem. Don't forget to add a label before clicking import! +Keep in mind, the wallet will rescan the blockchain to find transactions containing the new address. +Please be patient after clicking import. + + + &Import Redeem + &Import Redeem + + + &Create MultiSignature Tx + &Create MultiSignature Tx + + + Inputs: + Inputs: + + + Coin Control + Coin Control + + + Quantity Selected: + Quantity Selected: + + + 0 + 0 + + + Amount: + Amount: + + + Add an input to fund the outputs + Add an input to fund the outputs + + + Add a Raw Input + Add a Raw Input + + + Address / Amount: + Address / Amount: + + + Add destinations to send ION to + Add destinations to send ION to + + + Add &Destination + Add &Destination + + + Create a transaction object using the given inputs to the given outputs + Create a transaction object using the given inputs to the given outputs + + + Cr&eate + Cr&eate + + + &Sign MultiSignature Tx + &Sign MultiSignature Tx + + + Transaction Hex: + Transaction Hex: + + + Sign the transaction from this wallet or from provided private keys + Sign the transaction from this wallet or from provided private keys + + + S&ign + S&ign + + + <html><head/><body><p>DISABLED until transaction has been signed enough times.</p></body></html> + <html><head/><body><p>DISABLED until transaction has been signed enough times.</p></body></html> + + + Co&mmit + Co&mmit + + + Add private keys to sign the transaction with + Add private keys to sign the transaction with + + + Add Private &Key + Add Private &Key + + + Sign with only private keys (Not Recommened) + Sign with only private keys (Not Recommened) + + + Invalid Tx Hash. + Invalid Tx Hash. + + + Vout position must be positive. + Vout position must be positive. + + + Maximum possible addresses reached. (15) + Maximum possible addresses reached. (15) + + + Vout Position: + Vout Position: + + + Amount: + Amount: + + + Maximum (15) + Maximum (15) + + + + ObfuscationConfig + + Configure Obfuscation + Configure Obfuscation + + + Basic Privacy + Basic Privacy + + + High Privacy + High Privacy + + + Maximum Privacy + Maximum Privacy + + + Please select a privacy level. + Please select a privacy level. + + + Use 2 separate masternodes to mix funds up to 20000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + + + Use 8 separate masternodes to mix funds up to 20000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + + + Use 16 separate masternodes + Use 16 separate masternodes + + + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + This option is the quickest and will cost about ~0.025 ION to anonymise 20000 ION + + + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + This option is moderately fast and will cost about 0.05 ION to anonymise 20000 ION + + + This is the slowest and most secure option. Using maximum anonymity will cost + This is the slowest and most secure option. Using maximum anonymity will cost + + + 0.1 ION per 20000 ION you anonymize. + 0.1 ION per 20000 ION you anonymise. + + + Obfuscation Configuration + Obfuscation Configuration + + + Obfuscation was successfully set to basic (%1 and 2 rounds). You can change this at any time by opening ION's configuration screen. + Obfuscation was successfully set to basic (%1 and 2 rounds). You can change this at any time by opening ION's configuration screen. + + + Obfuscation was successfully set to high (%1 and 8 rounds). You can change this at any time by opening ION's configuration screen. + Obfuscation was successfully set to high (%1 and 8 rounds). You can change this at any time by opening ION's configuration screen. + + + Obfuscation was successfully set to maximum (%1 and 16 rounds). You can change this at any time by opening ION's configuration screen. + Obfuscation was successfully set to maximum (%1 and 16 rounds). You can change this at any time by opening ION's configuration screen. + + + + OpenURIDialog + + Open URI + Open URI + + + Open payment request from URI or file + Open payment request from URI or file + + + URI: + URI: + + + Select payment request file + Select payment request file + + + Select payment request file to open + Select payment request file to open + + + + OptionsDialog + + Options + Options + + + &Main + &Main + + + Size of &database cache + Size of &database cache + + + MB + MB + + + Number of script &verification threads + Number of script &verification threads + + + (0 = auto, <0 = leave that many cores free) + (0 = auto, <0 = leave that many cores free) + + + W&allet + W&allet + + + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. + + + Automatically open the ION client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the ION client port on the router. This only works when your router supports UPnP and it is enabled. + + + Accept connections from outside + Accept connections from outside + + + Allow incoming connections + Allow incoming connections + + + &Connect through SOCKS5 proxy (default proxy): + &Connect through SOCKS5 proxy (default proxy): + + + Expert + Expert + + + Automatically start ION after logging in to the system. + Automatically start ION after logging in to the system. + + + &Start ION on system login + &Start ION on system login + + + Whether to show coin control features or not. + Whether to show coin control features or not. + + + Enable coin &control features + Enable coin &control features + + + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. + + + Show Masternodes Tab + Show Masternodes Tab + + + &Spend unconfirmed change + &Spend unconfirmed change + + + &Network + &Network + + + The user interface language can be set here. This setting will take effect after restarting ION. + The user interface language can be set here. This setting will take effect after restarting ION. + + + Language missing or translation incomplete? Help contributing translations here: +https://www.transifex.com/ioncoincore/ioncore + Language missing or translation incomplete? Help contributing translations here: +https://www.transifex.com/ioncoincore/ioncore + + + Map port using &UPnP + Map port using &UPnP + + + Enable automatic minting of ION units to xION + Enable automatic minting of ION units to xION + + + Enable xION Automint + Enable xION Automint + + + Percentage of incoming ION which get automatically converted to xION via Zerocoin Protocol (min: 10%) + Percentage of incoming ION which get automatically converted to xION via Zerocoin Protocol (min: 10%) + + + Percentage of autominted xION + Percentage of autominted xION + + + Wait with automatic conversion to Zerocoin until enough ION for this denomination is available + Wait with automatic conversion to Zerocoin until enough ION for this denomination is available + + + Preferred Automint xION Denomination + Preferred Automint xION Denomination + + + Stake split threshold: + Stake split threshold: + + + Connect to the ION network through a SOCKS5 proxy. + Connect to the ION network through a SOCKS5 proxy. + + + Proxy &IP: + Proxy &IP: + + + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) + IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1) + + + &Port: + &Port: + + + Port of the proxy (e.g. 9050) + Port of the proxy (e.g. 9050) + + + &Window + &Window + + + Show only a tray icon after minimizing the window. + Show only a tray icon after minimising the window. + + + &Minimize to the tray instead of the taskbar + &Minimise to the tray instead of the taskbar + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + Minimise instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + + + M&inimize on close + M&inimise on close + + + &Display + &Display + + + User Interface &language: + User Interface &language: + + + User Interface Theme: + User Interface Theme: + + + &Unit to show amounts in: + &Unit to show amounts in: + + + Choose the default subdivision unit to show in the interface and when sending coins. + Choose the default subdivision unit to show in the interface and when sending coins. + + + Decimal digits + Decimal digits + + + Hide empty balances + Hide empty balances + + + Hide orphan stakes in transaction lists + Hide orphan stakes in transaction lists + + + Hide orphan stakes + Hide orphan stakes + + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + + + Third party transaction URLs + Third party transaction URLs + + + Active command-line options that override above options: + Active command-line options that override above options: + + + Reset all client options to default. + Reset all client options to default. + + + &Reset Options + &Reset Options + + + &OK + &OK + + + &Cancel + &Cancel + + + Any + Any + + + default + default + + + none + none + + + Confirm options reset + Confirm options reset + + + Client restart required to activate changes. + Client restart required to activate changes. + + + Client will be shutdown, do you want to proceed? + Client will be shut down, do you want to proceed? + + + This change would require a client restart. + This change would require a client restart. + + + The supplied proxy address is invalid. + The supplied proxy address is invalid. + + + The supplied proxy port is invalid. + The supplied proxy port is invalid. + + + The supplied proxy settings are invalid. + The supplied proxy settings are invalid. + + + + OverviewPage + + Form + Form + + + Available: + Available: + + + Your current spendable balance + Your current spendable balance + + + Total Balance, including all unavailable coins. + Total Balance, including all unavailable coins. + + + ION Balance + ION Balance + + + Pending: + Pending: + + + Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance + Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance + + + Immature: + Immature: + + + Staked or masternode rewards that has not yet matured + Staked or masternode rewards that has not yet matured + + + Current locked balance in watch-only addresses + Current locked balance in watch-only addresses + + + Your current ION balance, unconfirmed and immature transactions included + Your current ION balance, unconfirmed and immature transactions included + + + xION Balance + xION Balance + + + Mature: more than 20 confirmation and more than 1 mint of the same denomination after it was minted. +These xION are spendable. + Mature: more than 20 confirmation and more than 1 mint of the same denomination after it was minted. +These xION are spendable. + + + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + + + The displayed information may be out of date. Your wallet automatically synchronizes with the ION network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronises with the ION network after a connection is established, but this process has not completed yet. + + + OVERVIEW + OVERVIEW + + + Combined Balance (including unconfirmed and immature coins) + Combined Balance (including unconfirmed and immature coins) + + + Combined Balance + Combined Balance + + + Unconfirmed transactions to watch-only addresses + Unconfirmed transactions to watch-only addresses + + + Staked or masternode rewards in watch-only addresses that has not yet matured + Staked or masternode rewards in watch-only addresses that have not yet matured + + + Total: + Total: + + + Current total balance in watch-only addresses + Current total balance in watch-only addresses + + + Watch-only: + Watch-only: + + + Your current balance in watch-only addresses + Your current balance in watch-only addresses + + + Spendable: + Spendable: + + + Locked ION or Masternode collaterals. These are excluded from xION minting. + Locked ION or Masternode collaterals. These are excluded from xION minting. + + + Locked: + Locked: + + + Unconfirmed: + Unconfirmed: + + + Your current xION balance, unconfirmed and immature xION included. + Your current xION balance, unconfirmed and immature xION included. + + + Recent transactions + Recent transactions + + + out of sync + out of sync + + + Current percentage of xION. +If AutoMint is enabled this percentage will settle around the configured AutoMint percentage (default = 10%). + + Current percentage of xION. +If AutoMint is enabled this percentage will settle around the configured AutoMint percentage (default = 10%). + + + + AutoMint is currently enabled and set to + AutoMint is currently enabled and set to + + + To disable AutoMint add 'enablezeromint=0' in ioncoin.conf. + To disable AutoMint add 'enablezeromint=0' in ioncoin.conf. + + + AutoMint is currently disabled. +To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1' in ioncoin.conf + AutoMint is currently disabled. +To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1' in ioncoin.conf + + + + PaymentServer + + Payment request error + Payment request error + + + URI handling + URI handling + + + Payment request fetch URL is invalid: %1 + Payment request fetch URL is invalid: %1 + + + Payment request file handling + Payment request file handling + + + Invalid payment address %1 + Invalid payment address %1 + + + Cannot start ion: click-to-pay handler + Cannot start ion: click-to-pay handler + + + URI cannot be parsed! This can be caused by an invalid ION address or malformed URI parameters. + URI cannot be parsed! This can be caused by an invalid ION address or malformed URI parameters. + + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Payment request file cannot be read! This can be caused by an invalid payment request file. + + + Payment request rejected + Payment request rejected + + + Payment request network doesn't match client network. + Payment request network doesn't match client network. + + + Payment request has expired. + Payment request has expired. + + + Payment request is not initialized. + Payment request is not initialised. + + + Unverified payment requests to custom payment scripts are unsupported. + Unverified payment requests to custom payment scripts are unsupported. + + + Requested payment amount of %1 is too small (considered dust). + Requested payment amount of %1 is too small (considered dust). + + + Refund from %1 + Refund from %1 + + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + + + Payment request DoS protection + Payment request DoS protection + + + Error communicating with %1: %2 + Error communicating with %1: %2 + + + Payment request cannot be parsed! + Payment request cannot be parsed! + + + Bad response from server %1 + Bad response from server %1 + + + Network request error + Network request error + + + Payment acknowledged + Payment acknowledged + + + + PeerTableModel + + Address/Hostname + Address/Hostname + + + Version + Version + + + Ping Time + Ping Time + + + + PrivacyDialog + + Zerocoin Actions: + Zerocoin Actions: + + + The displayed information may be out of date. Your wallet automatically synchronizes with the ION network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronises with the ION network after a connection is established, but this process has not completed yet. + + + Mint Zerocoin + Mint Zerocoin + + + 0 + 0 + + + xION + xION + + + Available for minting are coins which are confirmed and not locked or Masternode collaterals. + Available for minting are coins which are confirmed and not locked or Masternode collaterals. + + + Available for Minting: + Available for Minting: + + + 0.000 000 00 ION + 0.000 000 00 ION + + + Reset Zerocoin Wallet DB. Deletes transactions that did not make it into the blockchain. + Reset Zerocoin Wallet DB. Deletes transactions that did not make it into the blockchain. + + + Reset + Reset + + + Coin Control... + Coin Control... + + + Quantity: + Quantity: + + + Amount: + Amount: + + + Rescan the complete blockchain for Zerocoin mints and their meta-data. + Rescan the complete blockchain for Zerocoin mints and their meta-data. + + + ReScan + ReScan + + + Status and/or Mesages from the last Mint Action. + Status and/or Messages from the last Mint Action. + + + PRIVACY + PRIVACY + + + Enter an amount of Ion to convert to xION + Enter an amount of Ion to convert to xION + + + xION Control + xION Control + + + xION Selected: + xION Selected: + + + Quantity Selected: + Quantity Selected: + + + Spend Zerocoin. Without 'Pay To:' address creates payments to yourself. + Spend Zerocoin. Without 'Pay To:' address creates payments to yourself. + + + Spend Zerocoin + Spend Zerocoin + + + Available (mature and spendable) xION for spending + Available (mature and spendable) xION for spending + + + Available Balance: + Available Balance: + + + Available (mature and spendable) xION for spending + +xION are mature when they have more than 20 confirmations AND more than 2 mints of the same denomination after them were minted + Available (mature and spendable) xION for spending + +xION are mature when they have more than 20 confirmations AND more than 2 mints of the same denomination after them were minted + + + 0 xION + 0 xION + + + Pay &To: + Pay &To: + + + The ION address to send the payment to. Creates local payment to yourself when empty. + The ION address to send the payment to. Creates local payment to yourself when empty. + + + Choose previously used address + Choose previously used address + + + Alt+A + Alt+A + + + Paste address from clipboard + Paste address from clipboard + + + Alt+P + Alt+P + + + &Label: + &Label: + + + Enter a label for this address to add it to the list of used addresses + Enter a label for this address to add it to the list of used addresses + + + A&mount: + A&mount: + + + Convert Change to Zerocoin (might cost additional fees) + Convert Change to Zerocoin (might cost additional fees) + + + If checked, the wallet tries to minimize the returning change instead of minimizing the number of spent denominations. + If checked, the wallet tries to minimise the returning change instead of minimising the number of spent denominations. + + + Minimize Change + Minimise Change + + + Information about the available Zerocoin funds. + Information about the available Zerocoin funds. + + + Zerocoin Stats: + Zerocoin Stats: + + + Total Balance including unconfirmed and immature xION + Total Balance including unconfirmed and immature xION + + + Total Zerocoin Balance: + Total Zerocoin Balance: + + + Denominations with value 1: + Denominations with value 1: + + + Denom. with value 1: + Denom. with value 1: + + + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + + + Show the current status of automatic xION minting. + +To change the status (restart required): +- enable: add 'enablezeromint=1' to ioncoin.conf +- disable: add 'enablezeromint=0' to ioncoin.conf + +To change the percentage (no restart required): +- menu Settings->Options->Percentage of autominted xION + + + Show the current status of automatic xION minting. + +To change the status (restart required): +- enable: add 'enablezeromint=1' to ioncoin.conf +- disable: add 'enablezeromint=0' to ioncoin.conf + +To change the percentage (no restart required): +- menu Settings->Options->Percentage of autominted xION + + + + + AutoMint Status + AutoMint Status + + + Global Supply: + Global Supply: + + + Denom. 1: + Denom. 1: + + + Denom. 5: + Denom. 5: + + + Denom. 10: + Denom. 10: + + + Denom. 50: + Denom. 50: + + + Denom. 100: + Denom. 100: + + + Denom. 500: + Denom. 500: + + + Denom. 1000: + Denom. 1000: + + + Denom. 5000: + Denom. 5000: + + + 0 x + 0 x + + + Show xION denominations list + Show xION denominations list + + + Show Denominations + Show Denominations + + + Denominations with value 5: + Denominations with value 5: + + + Denom. with value 5: + Denom. with value 5: + + + Denominations with value 10: + Denominations with value 10: + + + Denom. with value 10: + Denom. with value 10: + + + Denominations with value 50: + Denominations with value 50: + + + Denom. with value 50: + Denom. with value 50: + + + Denominations with value 100: + Denominations with value 100: + + + Denom. with value 100: + Denom. with value 100: + + + Denominations with value 500: + Denominations with value 500: + + + Denom. with value 500: + Denom. with value 500: + + + Denominations with value 1000: + Denominations with value 1000: + + + Denom. with value 1000: + Denom. with value 1000: + + + Denominations with value 5000: + Denominations with value 5000: + + + Denom. with value 5000: + Denom. with value 5000: + + + Hide Denominations + Hide Denominations + + + Priority: + Priority: + + + TextLabel + TextLabel + + + Fee: + Fee: + + + Dust: + Dust: + + + no + no + + + Bytes: + Bytes: + + + Insufficient funds! + Insufficient funds! + + + Coins automatically selected + Coins automatically selected + + + medium + medium + + + Coin Control Features + Coin Control Features + + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + + + Custom change address + Custom change address + + + Amount After Fee: + Amount After Fee: + + + Change: + Change: + + + out of sync + out of sync + + + Mint Status: Okay + Mint Status: Okay + + + Copy quantity + Copy quantity + + + Copy amount + Copy amount + + + Starting ResetMintZerocoin: rescanning complete blockchain, this will need up to 30 minutes depending on your hardware. +Please be patient... + Starting ResetMintZerocoin: rescanning complete blockchain, this will need up to 30 minutes depending on your hardware. +Please be patient... + + + ) needed. +Maximum allowed: + ) needed. +Maximum allowed: + + + xION Spend #: + xION Spend #: + + + xION Mint + xION Mint + + + <b>enabled</b>. + <b>enabled</b>. + + + <b>disabled</b>. + <b>disabled</b>. + + + Configured target percentage: <b> + Configured target percentage: <b> + + + xION is currently disabled due to maintenance. + xION is currently disabled due to maintenance. + + + xION is currently undergoing maintenance. + xION is currently undergoing maintenance. + + + Denom. with value <b>1</b>: + Denom. with value <b>1</b>: + + + Denom. with value <b>5</b>: + Denom. with value <b>5</b>: + + + Denom. with value <b>10</b>: + Denom. with value <b>10</b>: + + + Denom. with value <b>50</b>: + Denom. with value <b>50</b>: + + + Denom. with value <b>100</b>: + Denom. with value <b>100</b>: + + + Denom. with value <b>500</b>: + Denom. with value <b>500</b>: + + + Denom. with value <b>1000</b>: + Denom. with value <b>1000</b>: + + + Denom. with value <b>5000</b>: + Denom. with value <b>5000</b>: + + + AutoMint Status: + AutoMint Status: + + + Denom. <b>1</b>: + Denom. <b>1</b>: + + + Denom. <b>5</b>: + Denom. <b>5</b>: + + + Denom. <b>10</b>: + Denom. <b>10</b>: + + + Denom. <b>50</b>: + Denom. <b>50</b>: + + + Denom. <b>100</b>: + Denom. <b>100</b>: + + + Denom. <b>500</b>: + Denom. <b>500</b>: + + + Denom. <b>1000</b>: + Denom. <b>1000</b>: + + + Denom. <b>5000</b>: + Denom. <b>5000</b>: + + + Error: Your wallet is locked. Please enter the wallet passphrase first. + Error: Your wallet is locked. Please enter the wallet passphrase first. + + + Message: Enter an amount > 0. + Message: Enter an amount > 0. + + + Minting + Minting + + + Successfully minted + Successfully minted + + + xION in + xION in + + + sec. Used denominations: + + sec. Used denominations: + + + + Duration: + Duration: + + + sec. + + sec. + + + + Starting ResetSpentZerocoin: + Starting ResetSpentZerocoin: + + + No 'Pay To' address provided, creating local payment + No 'Pay To' address provided, creating local payment + + + Invalid Ion Address + Invalid Ion Address + + + Invalid Send Amount + Invalid Send Amount + + + Confirm additional Fees + Confirm additional Fees + + + Are you sure you want to send?<br /><br /> + Are you sure you want to send?<br /><br /> + + + to address + to address + + + to a newly generated (unused and therefore anonymous) local address <br /> + to a newly generated (unused and therefore anonymous) local address <br /> + + + Confirm send coins + Confirm send coins + + + Failed to fetch mint associated with serial hash + Failed to fetch mint associated with serial hash + + + Too much inputs ( + Too much inputs ( + + + +Either mint higher denominations (so fewer inputs are needed) or reduce the amount to spend. + +Either mint higher denominations (so fewer inputs are needed) or reduce the amount to spend. + + + Spend Zerocoin failed with status = + Spend Zerocoin failed with status = + + + PrivacyDialog + Enter an amount of ION to convert to xION + PrivacyDialogPrivacyDialog + + + denomination: + denomination: + + + serial: + serial: + + + Spend is 1 of : + Spend is 1 of : + + + value out: + value out: + + + address: + address: + + + Sending successful, return code: + Sending successful, return code: + + + txid: + txid: + + + fee: + fee: + + + + ProposalFrame + + + QObject + + Amount + Amount + + + Enter a ION address (e.g. %1) + Enter a ION address (e.g. %1) + + + %1 d + %1 d + + + %1 h + %1 h + + + %1 m + %1 m + + + %1 s + %1 s + + + NETWORK + NETWORK + + + BLOOM + BLOOM + + + UNKNOWN + UNKNOWN + + + None + None + + + N/A + N/A + + + %1 ms + %1 ms + + + ION Core + ION Core + + + + QRImageWidget + + &Save Image... + &Save Image... + + + &Copy Image + &Copy Image + + + Save QR Code + Save QR Code + + + PNG Image (*.png) + PNG Image (*.png) + + + + RPCConsole + + Tools window + Tools window + + + &Information + &Information + + + General + General + + + Name + Name + + + Client name + Client name + + + N/A + N/A + + + Number of connections + Number of connections + + + &Open + &Open + + + Startup time + Start up time + + + Network + Network + + + Last block time + Last block time + + + Debug log file + Debug log file + + + Using OpenSSL version + Using OpenSSL version + + + Build date + Build date + + + Current number of blocks + Current number of blocks + + + Client version + Client version + + + Using BerkeleyDB version + Using BerkeleyDB version + + + Block chain + Block chain + + + Open the ION debug log file from the current data directory. This can take a few seconds for large log files. + Open the ION debug log file from the current data directory. This can take a few seconds for large log files. + + + Number of Masternodes + Number of Masternodes + + + &Console + &Console + + + Clear console + Clear console + + + &Network Traffic + &Network Traffic + + + &Clear + &Clear + + + Totals + Totals + + + Received + Received + + + Sent + Sent + + + &Peers + &Peers + + + Banned peers + Banned peers + + + Select a peer to view detailed information. + Select a peer to view detailed information. + + + Whitelisted + Whitelisted + + + Direction + Direction + + + Protocol + Protocol + + + Version + Version + + + Services + Services + + + Ban Score + Ban Score + + + Connection Time + Connection Time + + + Last Send + Last Send + + + Last Receive + Last Receive + + + Bytes Sent + Bytes Sent + + + Bytes Received + Bytes Received + + + Ping Time + Ping Time + + + &Wallet Repair + &Wallet Repair + + + Delete local Blockchain Folders + Delete local Blockchain Folders + + + Wallet In Use: + Wallet In Use: + + + Starting Block + Starting Block + + + Synced Headers + Synced Headers + + + Synced Blocks + Synced Blocks + + + The duration of a currently outstanding ping. + The duration of a currently outstanding ping. + + + Ping Wait + Ping Wait + + + Time Offset + Time Offset + + + Custom Backup Path: + Custom Backup Path: + + + Custom xION Backup Path: + Custom xION Backup Path: + + + Custom Backups Threshold: + Custom Backups Threshold: + + + Salvage wallet + Salvage wallet + + + Attempt to recover private keys from a corrupt wallet.dat. + Attempt to recover private keys from a corrupt wallet.dat. + + + Rescan blockchain files + Rescan blockchain files + + + Rescan the block chain for missing wallet transactions. + Rescan the block chain for missing wallet transactions. + + + Recover transactions 1 + Recover transactions 1 + + + Recover transactions from blockchain (keep meta-data, e.g. account owner). + Recover transactions from blockchain (keep meta-data, e.g. account owner). + + + Recover transactions 2 + Recover transactions 2 + + + Recover transactions from blockchain (drop meta-data). + Recover transactions from blockchain (drop meta-data). + + + Upgrade wallet format + Upgrade wallet format + + + Rebuild block chain index from current blk000??.dat files. + Rebuild block chain index from current blk000??.dat files. + + + -resync: + -resync: + + + Deletes all local blockchain folders so the wallet synchronizes from scratch. + Deletes all local blockchain folders so the wallet synchronises from scratch. + + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockchain files or missing/obsolete transactions. + + + Wallet repair options. + Wallet repair options. + + + Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!) + Upgrade wallet to latest format on start up. (Note: this is NOT an update of the wallet itself!) + + + Rebuild index + Rebuild index + + + In: + In: + + + Out: + Out: + + + Welcome to the ION RPC console. + Welcome to the ION RPC console. + + + &Disconnect Node + &Disconnect Node + + + Ban Node for + Ban Node for + + + 1 &hour + 1 &hour + + + 1 &day + 1 &day + + + 1 &week + 1 &week + + + 1 &year + 1 &year + + + &Unban Node + &Unban Node + + + This will delete your local blockchain folders and the wallet will synchronize the complete Blockchain from scratch.<br /><br /> + This will delete your local blockchain folders and the wallet will synchronise the complete Blockchain from scratch.<br /><br /> + + + This needs quite some time and downloads a lot of data.<br /><br /> + This needs quite some time and downloads a lot of data.<br /><br /> + + + Your transactions and funds will be visible again after the download has completed.<br /><br /> + Your transactions and funds will be visible again after the download has completed.<br /><br /> + + + Do you want to continue?.<br /> + Do you want to continue?.<br /> + + + Confirm resync Blockchain + Confirm resync Blockchain + + + Use up and down arrows to navigate history, and %1 to clear screen. + Use up and down arrows to navigate history, and %1 to clear screen. + + + Type <b>help</b> for an overview of available commands. + Type <b>help</b> for an overview of available commands. + + + WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command. + WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command. + + + %1 B + %1 B + + + %1 KB + %1 KB + + + %1 MB + %1 MB + + + %1 GB + %1 GB + + + (node id: %1) + (node id: %1) + + + via %1 + via %1 + + + never + never + + + Inbound + Inbound + + + Outbound + Outbound + + + Yes + Yes + + + No + No + + + Unknown + Unknown + + + + ReceiveCoinsDialog + + Reuse one of the previously used receiving addresses.<br>Reusing addresses has security and privacy issues.<br>Do not use this unless re-generating a payment request made before. + Reuse one of the previously used receiving addresses.<br>Reusing addresses has security and privacy issues.<br>Do not use this unless re-generating a payment request made before. + + + R&euse an existing receiving address (not recommended) + R&euse an existing receiving address (not recommended) + + + &Message: + &Message: + + + An optional label to associate with the new receiving address. + An optional label to associate with the new receiving address. + + + Your receiving address. You can copy and use it to receive coins on this wallet. A new one will be generated once it is used. + Your receiving address. You can copy and use it to receive coins on this wallet. A new one will be generated once it is used. + + + &Address: + &Address: + + + A&mount: + A&mount: + + + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. + + + RECEIVE + RECEIVE + + + An optional message to attach to the payment request, which will be displayed when the request is opened.<br>Note: The message will not be sent with the payment over the ION network. + An optional message to attach to the payment request, which will be displayed when the request is opened.<br>Note: The message will not be sent with the payment over the ION network. + + + Use this form to request payments. All fields are <b>optional</b>. + Use this form to request payments. All fields are <b>optional</b>. + + + &Label: + &Label: + + + An optional amount to request. Leave this empty or zero to not request a specific amount. + An optional amount to request. Leave this empty or zero to not request a specific amount. + + + &Request payment + &Request payment + + + Clear all fields of the form. + Clear all fields of the form. + + + Clear + Clear + + + Receiving Addresses + Receiving Addresses + + + Requested payments history + Requested payments history + + + Show the selected request (does the same as double clicking an entry) + Show the selected request (does the same as double clicking an entry) + + + Show + Show + + + Remove the selected entries from the list + Remove the selected entries from the list + + + Remove + Remove + + + Copy label + Copy label + + + Copy message + Copy message + + + Copy amount + Copy amount + + + Copy address + Copy address + + + + ReceiveRequestDialog + + QR Code + QR Code + + + Copy &URI + Copy &URI + + + Copy &Address + Copy &Address + + + &Save Image... + &Save Image... + + + Request payment to %1 + Request payment to %1 + + + Payment information + Payment information + + + URI + URI + + + Address + Address + + + Amount + Amount + + + Label + Label + + + Message + Message + + + Resulting URI too long, try to reduce the text for label / message. + Resulting URI too long, try to reduce the text for label / message. + + + Error encoding URI into QR Code. + Error encoding URI into QR Code. + + + + RecentRequestsTableModel + + Date + Date + + + Label + Label + + + Message + Message + + + Address + Address + + + Amount + Amount + + + (no label) + (no label) + + + (no message) + (no message) + + + (no amount) + (no amount) + + + + SendCoinsDialog + + Send Coins + Send Coins + + + SEND + SEND + + + Coin Control Features + Coin Control Features + + + Insufficient funds! + Insufficient funds! + + + Quantity: + Quantity: + + + Bytes: + Bytes: + + + Amount: + Amount: + + + Priority: + Priority: + + + medium + medium + + + Fee: + Fee: + + + Dust: + Dust: + + + no + no + + + After Fee: + After Fee: + + + Change: + Change: + + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + + + Custom change address + Custom change address + + + Split UTXO + Split UTXO + + + # of outputs + # of outputs + + + UTXO Size: + UTXO Size: + + + 0 ION + 0 ION + + + SwiftX technology allows for near instant transactions - A flat fee of 0.01 ION applies + SwiftX technology allows for near instant transactions - A flat fee of 0.01 ION applies + + + Transaction Fee: + Transaction Fee: + + + Choose... + Choose... + + + collapse fee-settings + collapse fee-settings + + + Minimize + Minimise + + + per kilobyte + per kilobyte + + + total at least + total at least + + + (read the tooltip) + (read the tooltip) + + + Custom: + Custom: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Smart fee not initialised yet. This usually takes a few blocks...) + + + SwiftX + SwiftX + + + Confirmation time: + Confirmation time: + + + Open Coin Control... + Open Coin Control... + + + Coins automatically selected + Coins automatically selected + + + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + + + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "total at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "total at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for ION transactions than the network can process. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for ION transactions than the network can process. + + + normal + normal + + + fast + fast + + + Recommended + Recommended + + + Send as zero-fee transaction if possible + Send as zero-fee transaction if possible + + + (confirmation may take longer) + (confirmation may take longer) + + + Confirm the send action + Confirm the send action + + + S&end + S&end + + + Clear all fields of the form. + Clear all fields of the form. + + + Clear &All + Clear &All + + + Send to multiple recipients at once + Send to multiple recipients at once + + + Add &Recipient + Add &Recipient + + + Anonymized ION + Anonymised ION + + + Balance: + Balance: + + + Copy quantity + Copy quantity + + + Copy amount + Copy amount + + + Copy fee + Copy fee + + + Copy after fee + Copy after fee + + + Copy bytes + Copy bytes + + + Copy priority + Copy priority + + + Copy dust + Copy dust + + + Copy change + Copy change + + + The split block tool does not work when sending to outside addresses. Try again. + The split block tool does not work when sending to outside addresses. Try again. + + + The split block tool does not work with multiple addresses. Try again. + The split block tool does not work with multiple addresses. Try again. + + + Warning: Invalid ION address + Warning: Invalid ION address + + + %1 to %2 + %1 to %2 + + + Are you sure you want to send? + Are you sure you want to send? + + + are added as transaction fee + are added as transaction fee + + + Total Amount = <b>%1</b><br />= %2 + Total Amount = <b>%1</b><br />= %2 + + + Confirm send coins + Confirm send coins + + + A fee %1 times higher than %2 per kB is considered an insanely high fee. + A fee %1 times higher than %2 per kB is considered an insanely high fee. + + + Estimated to begin confirmation within %n block(s). + Estimated to begin confirmation within %n block.Estimated to begin confirmation within %n blocks. + + + The recipient address is not valid, please recheck. + The recipient address is not valid, please recheck. + + + using SwiftX + using SwiftX + + + split into %1 outputs using the UTXO splitter. + split into %1 outputs using the UTXO splitter. + + + <b>(%1 of %2 entries displayed)</b> + <b>(%1 of %2 entries displayed)</b> + + + The amount to pay must be larger than 0. + The amount to pay must be larger than 0. + + + The amount exceeds your balance. + The amount exceeds your balance. + + + The total exceeds your balance when the %1 transaction fee is included. + The total exceeds your balance when the %1 transaction fee is included. + + + Duplicate address found, can only send to each address once per send operation. + Duplicate address found, can only send to each address once per send operation. + + + Transaction creation failed! + Transaction creation failed! + + + The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + Error: The wallet was unlocked only to anonymize coins. + Error: The wallet was unlocked only to anonymise coins. + + + Error: The wallet was unlocked only to anonymize coins. Unlock canceled. + Error: The wallet was unlocked only to anonymise coins. Unlock cancelled. + + + Pay only the minimum fee of %1 + Pay only the minimum fee of %1 + + + Estimated to get 6 confirmations near instantly with <b>SwiftX</b>! + Estimated to get 6 confirmations near instantly with <b>SwiftX</b>! + + + Warning: Unknown change address + Warning: Unknown change address + + + (no label) + (no label) + + + + SendCoinsEntry + + This is a normal payment. + This is a normal payment. + + + Pay &To: + Pay &To: + + + The ION address to send the payment to + The ION address to send the payment to + + + Choose previously used address + Choose previously used address + + + Alt+A + Alt+A + + + Paste address from clipboard + Paste address from clipboard + + + Alt+P + Alt+P + + + Remove this entry + Remove this entry + + + &Label: + &Label: + + + Enter a label for this address to add it to the list of used addresses + Enter a label for this address to add it to the list of used addresses + + + A&mount: + A&mount: + + + Message: + Message: + + + A message that was attached to the ION: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the ION network. + A message that was attached to the ION: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the ION network. + + + This is an unverified payment request. + This is an unverified payment request. + + + Pay To: + Pay To: + + + Memo: + Memo: + + + This is a verified payment request. + This is a verified payment request. + + + Enter a label for this address to add it to your address book + Enter a label for this address to add it to your address book + + + + ShutdownWindow + + ION Core is shutting down... + ION Core is shutting down... + + + Do not shut down the computer until this window disappears. + Do not shut down the computer until this window disappears. + + + + SignVerifyMessageDialog + + Signatures - Sign / Verify a Message + Signatures - Sign / Verify a Message + + + &Sign Message + &Sign Message + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + + + The ION address to sign the message with + The ION address to sign the message with + + + Choose previously used address + Choose previously used address + + + Alt+A + Alt+A + + + Paste address from clipboard + Paste address from clipboard + + + Alt+P + Alt+P + + + Enter the message you want to sign here + Enter the message you want to sign here + + + Signature + Signature + + + Copy the current signature to the system clipboard + Copy the current signature to the system clipboard + + + Sign the message to prove you own this ION address + Sign the message to prove you own this ION address + + + The ION address the message was signed with + The ION address the message was signed with + + + Verify the message to ensure it was signed with the specified ION address + Verify the message to ensure it was signed with the specified ION address + + + Sign &Message + Sign &Message + + + Reset all sign message fields + Reset all sign message fields + + + Clear &All + Clear &All + + + &Verify Message + &Verify Message + + + Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. + Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. + + + Verify &Message + Verify &Message + + + Reset all verify message fields + Reset all verify message fields + + + Click "Sign Message" to generate signature + Click "Sign Message" to generate signature + + + The entered address is invalid. + The entered address is invalid. + + + Please check the address and try again. + Please check the address and try again. + + + The entered address does not refer to a key. + The entered address does not refer to a key. + + + Wallet unlock was cancelled. + Wallet unlock was cancelled. + + + Private key for the entered address is not available. + Private key for the entered address is not available. + + + Message signing failed. + Message signing failed. + + + Message signed. + Message signed. + + + The signature could not be decoded. + The signature could not be decoded. + + + Please check the signature and try again. + Please check the signature and try again. + + + The signature did not match the message digest. + The signature did not match the message digest. + + + Message verification failed. + Message verification failed. + + + Message verified. + Message verified. + + + + SplashScreen + + ION Core + ION Core + + + Version %1 + Version %1 + + + The Bitcoin Core developers + The Bitcoin Core developers + + + The Dash Core developers + The Dash Core developers + + + The ION Core developers + The ION Core developers + + + [testnet] + [testnet] + + + + TrafficGraphWidget + + KB/s + KB/s + + + + TransactionDesc + + Open for %n more block(s) + Open for %n more blockOpen for %n more blocks + + + Open until %1 + Open until %1 + + + conflicted + conflicted + + + %1/offline + %1/offline + + + %1/unconfirmed + %1/unconfirmed + + + %1 confirmations + %1 confirmations + + + %1/offline (verified via SwiftX) + %1/offline (verified via SwiftX) + + + %1/confirmed (verified via SwiftX) + %1/confirmed (verified via SwiftX) + + + %1 confirmations (verified via SwiftX) + %1 confirmations (verified via SwiftX) + + + %1/offline (SwiftX verification in progress - %2 of %3 signatures) + %1/offline (SwiftX verification in progress - %2 of %3 signatures) + + + %1/confirmed (SwiftX verification in progress - %2 of %3 signatures ) + %1/confirmed (SwiftX verification in progress - %2 of %3 signatures ) + + + %1 confirmations (SwiftX verification in progress - %2 of %3 signatures) + %1 confirmations (SwiftX verification in progress - %2 of %3 signatures) + + + %1/offline (SwiftX verification failed) + %1/offline (SwiftX verification failed) + + + %1/confirmed (SwiftX verification failed) + %1/confirmed (SwiftX verification failed) + + + Status + Status + + + , has not been successfully broadcast yet + , has not been successfully broadcast yet + + + , broadcast through %n node(s) + , broadcast through %n node, broadcast through %n nodes + + + Date + Date + + + Source + Source + + + Generated + Generated + + + From + From + + + unknown + unknown + + + To + To + + + own address + own address + + + watch-only + watch-only + + + label + label + + + Credit + Credit + + + matures in %n more block(s) + matures in %n more blockmatures in %n more blocks + + + not accepted + not accepted + + + Debit + Debit + + + Total debit + Total debit + + + Total credit + Total credit + + + Transaction fee + Transaction fee + + + Net amount + Net amount + + + Message + Message + + + Comment + Comment + + + Transaction ID + Transaction ID + + + Output index + Output index + + + Merchant + Merchant + + + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + + + Debug information + Debug information + + + Transaction + Transaction + + + Inputs + Inputs + + + Amount + Amount + + + true + true + + + false + false + + + + TransactionDescDialog + + Transaction details + Transaction details + + + This pane shows a detailed description of the transaction + This pane shows a detailed description of the transaction + + + + TransactionTableModel + + Date + Date + + + Type + Type + + + Address + Address + + + Open for %n more block(s) + Open for %n more blockOpen for %n more blocks + + + Open until %1 + Open until %1 + + + Offline + Offline + + + Unconfirmed + Unconfirmed + + + Confirming (%1 of %2 recommended confirmations) + Confirming (%1 of %2 recommended confirmations) + + + Confirmed (%1 confirmations) + Confirmed (%1 confirmations) + + + Conflicted + Conflicted + + + Immature (%1 confirmations, will be available after %2) + Immature (%1 confirmations, will be available after %2) + + + This block was not received by any other nodes and will probably not be accepted! + This block was not received by any other nodes and will probably not be accepted! + + + Received with + Received with + + + Masternode Reward + Masternode Reward + + + Received from + Received from + + + Received via Obfuscation + Received via Obfuscation + + + ION Stake + ION Stake + + + xION Stake + xION Stake + + + Obfuscation Denominate + Obfuscation Denominate + + + Obfuscation Collateral Payment + Obfuscation Collateral Payment + + + Obfuscation Make Collateral Inputs + Obfuscation Make Collateral Inputs + + + Obfuscation Create Denominations + Obfuscation Create Denominations + + + Converted ION to xION + Converted ION to xION + + + Spent xION + Spent xION + + + Received ION from xION + Received ION from xION + + + Minted Change as xION from xION Spend + Minted Change as xION from xION Spend + + + Converted xION to ION + Converted xION to ION + + + Anonymous (xION Transaction) + Anonymous (xION Transaction) + + + Anonymous (xION Stake) + Anonymous (xION Stake) + + + Sent to + Sent to + + + Orphan Block - Generated but not accepted. This does not impact your holdings. + Orphan Block - Generated but not accepted. This does not impact your holdings. + + + Payment to yourself + Payment to yourself + + + Mined + Mined + + + Obfuscated + Obfuscated + + + watch-only + watch-only + + + (n/a) + (n/a) + + + Transaction status. Hover over this field to show number of confirmations. + Transaction status. Hover over this field to show number of confirmations. + + + Date and time that the transaction was received. + Date and time that the transaction was received. + + + Type of transaction. + Type of transaction. + + + Whether or not a watch-only address is involved in this transaction. + Whether or not a watch-only address is involved in this transaction. + + + Destination address of transaction. + Destination address of transaction. + + + Amount removed from or added to balance. + Amount removed from or added to balance. + + + + TransactionView + + All + All + + + Today + Today + + + This week + This week + + + This month + This month + + + Last month + Last month + + + This year + This year + + + Range... + Range... + + + Most Common + Most Common + + + Received with + Received with + + + Sent to + Sent to + + + To yourself + To yourself + + + Mined + Mined + + + Minted + Minted + + + Masternode Reward + Masternode Reward + + + Zerocoin Mint + Zerocoin Mint + + + Zerocoin Spend + Zerocoin Spend + + + Zerocoin Spend to Self + Zerocoin Spend to Self + + + Other + Other + + + Enter address or label to search + Enter address or label to search + + + Min amount + Min amount + + + Copy address + Copy address + + + Copy label + Copy label + + + Copy amount + Copy amount + + + Copy transaction ID + Copy transaction ID + + + Edit label + Edit label + + + Show transaction details + Show transaction details + + + Hide orphan stakes + Hide orphan stakes + + + Export Transaction History + Export Transaction History + + + Comma separated file (*.csv) + Comma separated file (*.csv) + + + Confirmed + Confirmed + + + Watch-only + Watch-only + + + Date + Date + + + Type + Type + + + Label + Label + + + Address + Address + + + ID + ID + + + Exporting Failed + Exporting Failed + + + There was an error trying to save the transaction history to %1. + There was an error trying to save the transaction history to %1. + + + Exporting Successful + Exporting Successful + + + Received ION from xION + Received ION from xION + + + Zerocoin Spend, Change in xION + Zerocoin Spend, Change in xION + + + The transaction history was successfully saved to %1. + The transaction history was successfully saved to %1. + + + Range: + Range: + + + to + to + + + + UnitDisplayStatusBarControl + + Unit to show amounts in. Click to select another unit. + Unit to show amounts in. Click to select another unit. + + + + WalletFrame + + No wallet has been loaded. + No wallet has been loaded. + + + + WalletModel + + Send Coins + Send Coins + + + SwiftX doesn't support sending values that high yet. Transactions are currently limited to %1 ION. + SwiftX doesn't support sending values that high yet. Transactions are currently limited to %1 ION. + + + + WalletView + + HISTORY + HISTORY + + + &Export + &Export + + + Export the data in the current tab to a file + Export the data in the current tab to a file + + + Selected amount: + Selected amount: + + + Backup Wallet + Backup Wallet + + + Wallet Data (*.dat) + Wallet Data (*.dat) + + + + XIonControlDialog + + Select xION to Spend + Select xION to Spend + + + Quantity + Quantity + + + 0 + 0 + + + xION + xION + + + Select/Deselect All + Select/Deselect All + + + + ion-core + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + + + Calculated accumulator checkpoint is not what is recorded by block index + Calculated accumulator checkpoint is not what is recorded by block index + + + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + + + Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) + Change automatic finalised budget voting behaviour. mode=auto: Vote for only exact finalised budget match to my generated budget. (string, default: auto) + + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + + + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on start up + + + Delete all zerocoin spends and mints that have been recorded to the blockchain database and reindex them (0-1, default: %u) + Delete all zerocoin spends and mints that have been recorded to the blockchain database and reindex them (0-1, default: %u) + + + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + + + Enable automatic wallet backups triggered after each xION minting (0-1, default: %u) + Enable automatic wallet backups triggered after each xION minting (0-1, default: %u) + + + Enable or disable staking functionality for ION inputs (0-1, default: %u) + Enable or disable staking functionality for ION inputs (0-1, default: %u) + + + Enable or disable staking functionality for xION inputs (0-1, default: %u) + Enable or disable staking functionality for xION inputs (0-1, default: %u) + + + Enable spork administration functionality with the appropriate private key. + Enable spork administration functionality with the appropriate private key. + + + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + + + Error: Listening for incoming connections failed (listen returned error %s) + Error: Listening for incoming connections failed (listen returned error %s) + + + Error: The transaction is larger than the maximum allowed transaction size! + Error: The transaction is larger than the maximum allowed transaction size! + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible any more, only SOCKS5 proxies are supported. + + + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + Execute command when the best block changes (%s in cmd is replaced by block hash) + + + Fees (in ION/Kb) smaller than this are considered zero fee for relaying (default: %s) + Fees (in ION/Kb) smaller than this are considered zero fee for relaying (default: %s) + + + Fees (in ION/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Fees (in ION/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + + + Found unconfirmed denominated outputs, will wait till they confirm to continue. + Found unconfirmed denominated outputs, will wait till they confirm to continue. + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + + + In this mode -genproclimit controls how many blocks are generated immediately. + In this mode -genproclimit controls how many blocks are generated immediately. + + + Insufficient or insufficient confirmed funds, you might need to wait a few minutes and try again. + Insufficient or insufficient confirmed funds, you might need to wait a few minutes and try again. + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + + + Keep the specified amount available for spending at all times (default: 0) + Keep the specified amount available for spending at all times (default: 0) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Log transaction priority and fee per kB when mining blocks (default: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Maintain a full transaction index, used by the getrawtransaction RPC call (default: %u) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Maximum size of data in data carrier transactions we relay and mine (default: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + + + Obfuscation uses exact denominated amounts to send funds, you might simply need to anonymize some more coins. + Obfuscation uses exact denominated amounts to send funds, you might simply need to anonymise some more coins. + + + Output debugging information (default: %u, supplying <category> is optional) + Output debugging information (default: %u, supplying <category> is optional) + + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + + + Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u) + Randomise credentials for every proxy connection. This enables Tor stream isolation (default: %u) + + + Require high priority for relaying free or low-fee transactions (default:%u) + Require high priority for relaying free or low-fee transactions (default:%u) + + + Send trace/debug info to console instead of debug.log file (default: %u) + Send trace/debug info to console instead of debug.log file (default: %u) + + + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) + + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + + + Show N confirmations for a successfully locked transaction (0-9999, default: %u) + Show N confirmations for a successfully locked transaction (0-9999, default: %u) + + + Support filtering of blocks and transaction with bloom filters (default: %u) + Support filtering of blocks and transaction with bloom filters (default: %u) + + + This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard. + This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard. + + + Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. + Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. + + + Unable to bind to %s on this computer. ION Core is probably already running. + Unable to bind to %s on this computer. ION Core is probably already running. + + + Unable to locate enough Obfuscation denominated funds for this transaction. + Unable to locate enough Obfuscation denominated funds for this transaction. + + + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + + + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + + + Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. + Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. + + + Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. + Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + + + Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway + Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway + + + You must specify a masternodeprivkey in the configuration. Please see documentation for help. + You must specify a masternodeprivkey in the configuration. Please see documentation for help. + + + (12700 could be used only on mainnet) + (12700 could be used only on mainnet) + + + (default: %s) + (default: %s) + + + (default: 1) + (default: 1) + + + (must be 12700 for mainnet) + (must be 12700 for mainnet) + + + Accept command line and JSON-RPC commands + Accept command line and JSON-RPC commands + + + Accept connections from outside (default: 1 if no -proxy or -connect) + Accept connections from outside (default: 1 if no -proxy or -connect) + + + Accept public REST requests (default: %u) + Accept public REST requests (default: %u) + + + Add a node to connect to and attempt to keep the connection open + Add a node to connect to and attempt to keep the connection open + + + Allow DNS lookups for -addnode, -seednode and -connect + Allow DNS lookups for -addnode, -seednode and -connect + + + Already have that input. + Already have that input. + + + Always query for peer addresses via DNS lookup (default: %u) + Always query for peer addresses via DNS lookup (default: %u) + + + Append comment to the user agent string + Append comment to the user agent string + + + Attempt to recover private keys from a corrupt wallet.dat + Attempt to recover private keys from a corrupt wallet.dat + + + Automatically create Tor hidden service (default: %d) + Automatically create Tor hidden service (default: %d) + + + Block creation options: + Block creation options: + + + Calculating missing accumulators... + Calculating missing accumulators... + + + Can't denominate: no compatible inputs left. + Can't denominate: no compatible inputs left. + + + Can't find random Masternode. + Can't find random Masternode. + + + Can't mix while sync in progress. + Can't mix while sync in progress. + + + Cannot downgrade wallet + Cannot downgrade wallet + + + Cannot resolve -bind address: '%s' + Cannot resolve -bind address: '%s' + + + Cannot resolve -externalip address: '%s' + Cannot resolve -externalip address: '%s' + + + Cannot resolve -whitebind address: '%s' + Cannot resolve -whitebind address: '%s' + + + Cannot write default address + Cannot write default address + + + Collateral not valid. + Collateral not valid. + + + Connect only to the specified node(s) + Connect only to the specified node(s) + + + Connect through SOCKS5 proxy + Connect through SOCKS5 proxy + + + Connect to a node to retrieve peer addresses, and disconnect + Connect to a node to retrieve peer addresses, and disconnect + + + Connection options: + Connection options: + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i The Bitcoin Core Developers + + + Copyright (C) 2014-%i The Dash Core Developers + Copyright (C) 2014-%i The Dash Core Developers + + + Copyright (C) 2015-%i The PIVX Core Developers + Copyright (C) 2015-%i The PIVX Core Developers + + + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core Developers + + + Corrupted block database detected + Corrupted block database detected + + + Could not parse masternode.conf + Could not parse masternode.conf + + + Debugging/Testing options: + Debugging/Testing options: + + + Delete blockchain folders and resync from scratch + Delete blockchain folders and resync from scratch + + + Disable OS notifications for incoming transactions (default: %u) + Disable OS notifications for incoming transactions (default: %u) + + + Disable safemode, override a real safe mode event (default: %u) + Disable safe mode, override a real safe mode event (default: %u) + + + Discover own IP address (default: 1 when listening and no -externalip) + Discover own IP address (default: 1 when listening and no -externalip) + + + Do not load the wallet and disable wallet RPC calls + Do not load the wallet and disable wallet RPC calls + + + Do you want to rebuild the block database now? + Do you want to rebuild the block database now? + + + Done loading + Done loading + + + Enable automatic Zerocoin minting (0-1, default: %u) + Enable automatic Zerocoin minting (0-1, default: %u) + + + Enable publish hash transaction (locked via SwiftX) in <address> + Enable publish hash transaction (locked via SwiftX) in <address> + + + Enable publish raw transaction (locked via SwiftX) in <address> + Enable publish raw transaction (locked via SwiftX) in <address> + + + Enable the client to act as a masternode (0-1, default: %u) + Enable the client to act as a masternode (0-1, default: %u) + + + Entries are full. + Entries are full. + + + Error connecting to Masternode. + Error connecting to Masternode. + + + Error initializing block database + Error initialising block database + + + Error initializing wallet database environment %s! + Error initialising wallet database environment %s! + + + Error loading block database + Error loading block database + + + Error loading wallet.dat + Error loading wallet.dat + + + Error loading wallet.dat: Wallet corrupted + Error loading wallet.dat: Wallet corrupted + + + Error loading wallet.dat: Wallet requires newer version of ION Core + Error loading wallet.dat: Wallet requires newer version of ION Core + + + Error opening block database + Error opening block database + + + Error reading from database, shutting down. + Error reading from database, shutting down. + + + Error recovering public key. + Error recovering public key. + + + Error writing zerocoinDB to disk + Error writing zerocoinDB to disk + + + Error + Error + + + Error: A fatal internal error occured, see debug.log for details + Error: A fatal internal error occurred, see debug.log for details + + + Error: Can't select current denominated inputs + Error: Can't select current denominated inputs + + + Error: Disk space is low! + Error: Disk space is low! + + + Error: Unsupported argument -tor found, use -onion. + Error: Unsupported argument -tor found, use -onion. + + + Error: Wallet locked, unable to create transaction! + Error: Wallet locked, unable to create transaction! + + + Error: You already have pending entries in the Obfuscation pool + Error: You already have pending entries in the Obfuscation pool + + + Failed to calculate accumulator checkpoint + Failed to calculate accumulator checkpoint + + + Failed to listen on any port. Use -listen=0 if you want this. + Failed to listen on any port. Use -listen=0 if you want this. + + + Failed to parse host:port string + Failed to parse host:port string + + + Failed to read block + Failed to read block + + + Fee (in ION/kB) to add to transactions you send (default: %s) + Fee (in ION/kB) to add to transactions you send (default: %s) + + + Finalizing transaction. + Finalising transaction. + + + Force safe mode (default: %u) + Force safe mode (default: %u) + + + Found enough users, signing ( waiting %s ) + Found enough users, signing ( waiting %s ) + + + Found enough users, signing ... + Found enough users, signing ... + + + Generate coins (default: %u) + Generate coins (default: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + How many blocks to check at start up (default: %u, 0 = all) + + + If <category> is not supplied, output all debugging information. + If <category> is not supplied, output all debugging information. + + + Importing... + Importing... + + + Imports blocks from external blk000??.dat file + Imports blocks from external blk000??.dat file + + + Include IP addresses in debug output (default: %u) + Include IP addresses in debug output (default: %u) + + + Incompatible mode. + Incompatible mode. + + + Incompatible version. + Incompatible version. + + + Incorrect or no genesis block found. Wrong datadir for network? + Incorrect or no genesis block found. Wrong datadir for network? + + + Information + Information + + + Initialization sanity check failed. ION Core is shutting down. + Initialisation sanity check failed. ION Core is shutting down. + + + Input is not valid. + Input is not valid. + + + Insufficient funds + Insufficient funds + + + Insufficient funds. + Insufficient funds. + + + Invalid -onion address or hostname: '%s' + Invalid -onion address or hostname: '%s' + + + Invalid amount for -maxtxfee=<amount>: '%s' + Invalid amount for -maxtxfee=<amount>: '%s' + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Invalid amount for -minrelaytxfee=<amount>: '%s' + + + Invalid amount for -mintxfee=<amount>: '%s' + Invalid amount for -mintxfee=<amount>: '%s' + + + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + + + Invalid amount for -paytxfee=<amount>: '%s' + Invalid amount for -paytxfee=<amount>: '%s' + + + Invalid amount for -reservebalance=<amount> + Invalid amount for -reservebalance=<amount> + + + Invalid amount + Invalid amount + + + Invalid masternodeprivkey. Please see documenation. + Invalid masternodeprivkey. Please see documentation. + + + Invalid netmask specified in -whitelist: '%s' + Invalid netmask specified in -whitelist: '%s' + + + Invalid port detected in masternode.conf + Invalid port detected in masternode.conf + + + Invalid private key. + Invalid private key. + + + Invalid script detected. + Invalid script detected. + + + Percentage of automatically minted Zerocoin (1-100, default: %u) + Percentage of automatically minted Zerocoin (1-100, default: %u) + + + Reindex the ION and xION money supply statistics + Reindex the ION and xION money supply statistics + + + Reindexing zerocoin database... + Reindexing zerocoin database... + + + Reindexing zerocoin failed + Reindexing zerocoin failed + + + Selected coins value is less than payment target + Selected coins value is less than payment target + + + SwiftX options: + SwiftX options: + + + This is a pre-release test build - use at your own risk - do not use for staking or merchant applications! + This is a pre-release test build - use at your own risk - do not use for staking or merchant applications! + + + mints deleted + + mints deleted + + + + mints updated, + mints updated, + + + unconfirmed transactions removed + + unconfirmed transactions removed + + + + Disable all ION specific functionality (Masternodes, Zerocoin, SwiftX, Budgeting) (0-1, default: %u) + Disable all ION specific functionality (Masternodes, Zerocoin, SwiftX, Budgeting) (0-1, default: %u) + + + Enable SwiftX, show confirmations for locked transactions (bool, default: %s) + Enable SwiftX, show confirmations for locked transactions (bool, default: %s) + + + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + + + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds! + + + Error: Unsupported argument -checklevel found. Checklevel must be level 4. + Error: Unsupported argument -checklevel found. Checklevel must be level 4. + + + Execute command when the best block changes and its size is over (%s in cmd is replaced by block hash, %d with the block size) + Execute command when the best block changes and its size is over (%s in cmd is replaced by block hash, %d with the block size) + + + Failed to find coin set amongst held coins with less than maxNumber of Spends + Failed to find coin set amongst held coins with less than maxNumber of Spends + + + In rare cases, a spend with 7 coins exceeds our maximum allowable transaction size, please retry spend using 6 or less coins + In rare cases, a spend with 7 coins exceeds our maximum allowable transaction size, please retry spend using 6 or less coins + + + Preferred Denomination for automatically minted Zerocoin (1/5/10/50/100/500/1000/5000), 0 for no preference. default: %u) + Preferred Denomination for automatically minted Zerocoin (1/5/10/50/100/500/1000/5000), 0 for no preference. default: %u) + + + Specify custom backup path to add a copy of any automatic xION backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. If backuppath is set as well, 4 backups will happen + Specify custom backup path to add a copy of any automatic xION backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. If backuppath is set as well, 4 backups will happen + + + Specify custom backup path to add a copy of any wallet backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. + Specify custom backup path to add a copy of any wallet backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. + + + SwiftX requires inputs with at least 6 confirmations, you might need to wait a few minutes and try again. + SwiftX requires inputs with at least 6 confirmations, you might need to wait a few minutes and try again. + + + <category> can be: + <category> can be: + + + Attempt to force blockchain corruption recovery + Attempt to force blockchain corruption recovery + + + CoinSpend: Accumulator witness does not verify + CoinSpend: Accumulator witness does not verify + + + Display the stake modifier calculations in the debug.log file. + Display the stake modifier calculations in the debug.log file. + + + Display verbose coin stake messages in the debug.log file. + Display verbose coin stake messages in the debug.log file. + + + Enable publish hash block in <address> + Enable publish hash block in <address> + + + Enable publish hash transaction in <address> + Enable publish hash transaction in <address> + + + Enable publish raw block in <address> + Enable publish raw block in <address> + + + Enable publish raw transaction in <address> + Enable publish raw transaction in <address> + + + Enable staking functionality (0-1, default: %u) + Enable staking functionality (0-1, default: %u) + + + Error: A fatal internal error occurred, see debug.log for details + Error: A fatal internal error occurred, see debug.log for details + + + Error: No valid utxo! + Error: No valid utxo! + + + Failed to create mint + Failed to create mint + + + Failed to find Zerocoins in wallet.dat + Failed to find Zerocoins in wallet.dat + + + Failed to select a zerocoin + Failed to select a zerocoin + + + Failed to wipe zerocoinDB + Failed to wipe zerocoinDB + + + Failed to write coin serial number into wallet + Failed to write coin serial number into wallet + + + Keep at most <n> unconnectable transactions in memory (default: %u) + Keep at most <n> unconnectable transactions in memory (default: %u) + + + Last Obfuscation was too recent. + Last Obfuscation was too recent. + + + Last successful Obfuscation action was too recent. + Last successful Obfuscation action was too recent. + + + Limit size of signature cache to <n> entries (default: %u) + Limit size of signature cache to <n> entries (default: %u) + + + Line: %d + Line: %d + + + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + Listen for JSON-RPC connections on <port> (default: %u or testnet: %u) + + + Listen for connections on <port> (default: %u or testnet: %u) + Listen for connections on <port> (default: %u or testnet: %u) + + + Loading addresses... + Loading addresses... + + + Loading block index... + Loading block index... + + + Loading budget cache... + Loading budget cache... + + + Loading masternode cache... + Loading masternode cache... + + + Loading masternode payment cache... + Loading masternode payment cache... + + + Loading sporks... + Loading sporks... + + + Loading wallet... (%3.2f %%) + Loading wallet... (%3.2f %%) + + + Loading wallet... + Loading wallet... + + + Location of the auth cookie (default: data dir) + Location of the auth cookie (default: data dir) + + + Lock is already in place. + Lock is already in place. + + + Lock masternodes from masternode configuration file (default: %u) + Lock masternodes from masternode configuration file (default: %u) + + + Lookup(): Invalid -proxy address or hostname: '%s' + Lookup(): Invalid -proxy address or hostname: '%s' + + + Maintain at most <n> connections to peers (default: %u) + Maintain at most <n> connections to peers (default: %u) + + + Masternode options: + Masternode options: + + + Masternode queue is full. + Masternode queue is full. + + + Masternode: + Masternode: + + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + + + Mint did not make it into blockchain + Mint did not make it into blockchain + + + Missing input transaction information. + Missing input transaction information. + + + Mixing in progress... + Mixing in progress... + + + Need address because change is not exact + Need address because change is not exact + + + Need to specify a port with -whitebind: '%s' + Need to specify a port with -whitebind: '%s' + + + No Masternodes detected. + No Masternodes detected. + + + No compatible Masternode found. + No compatible Masternode found. + + + No funds detected in need of denominating. + No funds detected in need of denominating. + + + No matching denominations found for mixing. + No matching denominations found for mixing. + + + Node relay options: + Node relay options: + + + Non-standard public key detected. + Non-standard public key detected. + + + Not compatible with existing transactions. + Not compatible with existing transactions. + + + Not enough file descriptors available. + Not enough file descriptors available. + + + Not in the Masternode list. + Not in the Masternode list. + + + Number of automatic wallet backups (default: 10) + Number of automatic wallet backups (default: 10) + + + Number of custom location backups to retain (default: %d) + Number of custom location backups to retain (default: %d) + + + Obfuscation is idle. + Obfuscation is idle. + + + Obfuscation request complete: + Obfuscation request complete: + + + Obfuscation request incomplete: + Obfuscation request incomplete: + + + Only accept block chain matching built-in checkpoints (default: %u) + Only accept block chain matching built-in checkpoints (default: %u) + + + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + Only connect to nodes in network <net> (ipv4, ipv6 or onion) + + + Options: + Options: + + + Password for JSON-RPC connections + Password for JSON-RPC connections + + + isValid(): Invalid -proxy address or hostname: '%s' + isValid(): Invalid -proxy address or hostname: '%s' + + + Preparing for resync... + Preparing for resync... + + + Prepend debug output with timestamp (default: %u) + Prepend debug output with timestamp (default: %u) + + + Print version and exit + Print version and exit + + + RPC server options: + RPC server options: + + + Randomly drop 1 of every <n> network messages + Randomly drop 1 of every <n> network messages + + + Randomly fuzz 1 of every <n> network messages + Randomly fuzz 1 of every <n> network messages + + + Rebuild block chain index from current blk000??.dat files + Rebuild block chain index from current blk000??.dat files + + + Receive and display P2P network alerts (default: %u) + Receive and display P2P network alerts (default: %u) + + + Reindex the accumulator database + Reindex the accumulator database + + + Relay and mine data carrier transactions (default: %u) + Relay and mine data carrier transactions (default: %u) + + + Relay non-P2SH multisig (default: %u) + Relay non-P2SH multisig (default: %u) + + + Rescan the block chain for missing wallet transactions + Rescan the block chain for missing wallet transactions + + + Rescanning... + Rescanning... + + + ResetMintZerocoin finished: + ResetMintZerocoin finished: + + + ResetSpentZerocoin finished: + ResetSpentZerocoin finished: + + + Run a thread to flush wallet periodically (default: %u) + Run a thread to flush wallet periodically (default: %u) + + + Run in the background as a daemon and accept commands + Run in the background as a daemon and accept commands + + + Send transactions as zero-fee transactions if possible (default: %u) + Send transactions as zero-fee transactions if possible (default: %u) + + + Session not complete! + Session not complete! + + + Session timed out. + Session timed out. + + + Set database cache size in megabytes (%d to %d, default: %d) + Set database cache size in megabytes (%d to %d, default: %d) + + + Set external address:port to get to this masternode (example: %s) + Set external address:port to get to this masternode (example: %s) + + + Set key pool size to <n> (default: %u) + Set key pool size to <n> (default: %u) + + + Set maximum block size in bytes (default: %d) + Set maximum block size in bytes (default: %d) + + + Set minimum block size in bytes (default: %u) + Set minimum block size in bytes (default: %u) + + + Set the Maximum reorg depth (default: %u) + Set the Maximum reorg depth (default: %u) + + + Set the masternode private key + Set the masternode private key + + + Set the number of threads to service RPC calls (default: %d) + Set the number of threads to service RPC calls (default: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + + + Show all debugging options (usage: --help -help-debug) + Show all debugging options (usage: --help -help-debug) + + + Shrink debug.log file on client startup (default: 1 when no -debug) + Shrink debug.log file on client start up (default: 1 when no -debug) + + + Signing failed. + Signing failed. + + + Signing timed out. + Signing timed out. + + + Signing transaction failed + Signing transaction failed + + + Specify configuration file (default: %s) + Specify configuration file (default: %s) + + + Specify connection timeout in milliseconds (minimum: 1, default: %d) + Specify connection timeout in milliseconds (minimum: 1, default: %d) + + + Specify data directory + Specify data directory + + + Specify masternode configuration file (default: %s) + Specify masternode configuration file (default: %s) + + + Specify pid file (default: %s) + Specify pid file (default: %s) + + + Specify wallet file (within data directory) + Specify wallet file (within data directory) + + + Specify your own public address + Specify your own public address + + + Spend Valid + Spend Valid + + + Spend unconfirmed change when sending transactions (default: %u) + Spend unconfirmed change when sending transactions (default: %u) + + + Staking options: + Staking options: + + + Stop running after importing blocks from disk (default: %u) + Stop running after importing blocks from disk (default: %u) + + + Submitted following entries to masternode: %u / %d + Submitted following entries to masternode: %u / %d + + + Submitted to masternode, waiting for more entries ( %u / %d ) %s + Submitted to masternode, waiting for more entries ( %u / %d ) %s + + + Submitted to masternode, waiting in queue %s + Submitted to masternode, waiting in queue %s + + + Synchronization failed + Synchronisation failed + + + Synchronization finished + Synchronisation finished + + + Synchronization pending... + Synchronisation pending... + + + Synchronizing budgets... + Synchronising budgets... + + + Synchronizing masternode winners... + Synchronising masternode winners... + + + Synchronizing masternodes... + Synchronising masternodes... + + + Synchronizing sporks... + Synchronising sporks... + + + Syncing xION wallet... + Syncing xION wallet... + + + The coin spend has been used + The coin spend has been used + + + The transaction did not verify + The transaction did not verify + + + This help message + This help message + + + This is experimental software. + This is experimental software. + + + This is intended for regression testing tools and app development. + This is intended for regression testing tools and app development. + + + This is not a Masternode. + This is not a Masternode. + + + Threshold for disconnecting misbehaving peers (default: %u) + Threshold for disconnecting misbehaving peers (default: %u) + + + Too many spends needed + Too many spends needed + + + Tor control port password (default: empty) + Tor control port password (default: empty) + + + Tor control port to use if onion listening enabled (default: %s) + Tor control port to use if onion listening enabled (default: %s) + + + Transaction Created + Transaction Created + + + Transaction Mint Started + Transaction Mint Started + + + Transaction amount too small + Transaction amount too small + + + Transaction amounts must be positive + Transaction amounts must be positive + + + Transaction created successfully. + Transaction created successfully. + + + Transaction fees are too high. + Transaction fees are too high. + + + Transaction not valid. + Transaction not valid. + + + Transaction too large for fee policy + Transaction too large for fee policy + + + Transaction too large + Transaction too large + + + Transmitting final transaction. + Transmitting final transaction. + + + Try to spend with a higher security level to include more coins + Try to spend with a higher security level to include more coins + + + Trying to spend an already spent serial #, try again. + Trying to spend an already spent serial #, try again. + + + Unable to bind to %s on this computer (bind returned error %s) + Unable to bind to %s on this computer (bind returned error %s) + + + Unable to find transaction containing mint + Unable to find transaction containing mint + + + Unable to sign spork message, wrong key? + Unable to sign spork message, wrong key? + + + Unable to start HTTP server. See debug log for details. + Unable to start HTTP server. See debug log for details. + + + Unknown network specified in -onlynet: '%s' + Unknown network specified in -onlynet: '%s' + + + Unknown state: id = %u + Unknown state: id = %u + + + Upgrade wallet to latest format + Upgrade wallet to latest format + + + Use UPnP to map the listening port (default: %u) + Use UPnP to map the listening port (default: %u) + + + Use UPnP to map the listening port (default: 1 when listening) + Use UPnP to map the listening port (default: 1 when listening) + + + Use a custom max chain reorganization depth (default: %u) + Use a custom max chain reorganisation depth (default: %u) + + + Use the test network + Use the test network + + + User Agent comment (%s) contains unsafe characters. + User Agent comment (%s) contains unsafe characters. + + + Username for JSON-RPC connections + Username for JSON-RPC connections + + + Value is below the smallest available denomination (= 1) of xION + Value is below the smallest available denomination (= 1) of xION + + + Value more than Obfuscation pool maximum allows. + Value more than Obfuscation pool maximum allows. + + + Verifying blocks... + Verifying blocks... + + + Verifying wallet... + Verifying wallet... + + + Wallet %s resides outside data directory %s + Wallet %s resides outside data directory %s + + + Wallet is locked. + Wallet is locked. + + + Wallet needed to be rewritten: restart ION Core to complete + Wallet needed to be rewritten: restart ION Core to complete + + + Wallet options: + Wallet options: + + + Wallet window title + Wallet window title + + + Warning + Warning + + + Warning: This version is obsolete, upgrade required! + Warning: This version is obsolete, upgrade required! + + + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + Warning: Unsupported argument -benchmark ignored, use -debug=bench. + + + Warning: Unsupported argument -debugnet ignored, use -debug=net. + Warning: Unsupported argument -debugnet ignored, use -debug=net. + + + Will retry... + Will retry... + + + You don't have enough Zerocoins in your wallet + You don't have enough Zerocoins in your wallet + + + You need to rebuild the database using -reindex to change -txindex + You need to rebuild the database using -reindex to change -txindex + + + Your entries added successfully. + Your entries added successfully. + + + Your transaction was accepted into the pool! + Your transaction was accepted into the pool! + + + Zapping all transactions from wallet... + Zapping all transactions from wallet... + + + ZeroMQ notification options: + ZeroMQ notification options: + + + Zerocoin options: + Zerocoin options: + + + on startup + on start up + + + wallet.dat corrupt, salvage failed + wallet.dat corrupt, salvage failed + + + \ No newline at end of file diff --git a/src/qt/locale/ion_en_US.ts b/src/qt/locale/ion_en_US.ts index 041ac32beb3cd..0c6d2b36f9dad 100644 --- a/src/qt/locale/ion_en_US.ts +++ b/src/qt/locale/ion_en_US.ts @@ -602,8 +602,8 @@ Tabs toolbar - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -622,12 +622,12 @@ Browse masternodes - &About Ion Core - &About Ion Core + &About ION Core + &About ION Core - Show information about Ion Core - Show information about Ion Core + Show information about ION Core + Show information about ION Core Modify configuration options for ION @@ -682,12 +682,12 @@ Block explorer window - Show the Ion Core help message to get a list with possible ION command-line options - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options - Ion Core client - Ion Core client + ION Core client + ION Core client %n active connection(s) to ION network @@ -1184,16 +1184,16 @@ Address: %4 version - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - About Ion Core + About ION Core + About ION Core Command-line options @@ -1239,16 +1239,16 @@ Address: %4 Welcome - Welcome to Ion Core. - Welcome to Ion Core. + Welcome to ION Core. + Welcome to ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - As this is the first time the program is launched, you can choose where Ion Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. Use the default data directory @@ -1259,8 +1259,8 @@ Address: %4 Use a custom data directory: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1544,32 +1544,32 @@ Please check the address and try again. Please select a privacy level. - Use 2 separate masternodes to mix funds up to 10000 ION - Use 2 separate masternodes to mix funds up to 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Use 2 separate masternodes to mix funds up to 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Use 8 separate masternodes to mix funds up to 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Use 8 separate masternodes to mix funds up to 20000 ION Use 16 separate masternodes Use 16 separate masternodes - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost This is the slowest and most secure option. Using maximum anonymity will cost - 0.1 ION per 10000 ION you anonymize. - 0.1 ION per 10000 ION you anonymize. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION per 20000 ION you anonymize. Obfuscation Configuration @@ -3126,8 +3126,8 @@ https://www.transifex.com/ioncoincore/ioncore ShutdownWindow - Ion Core is shutting down... - Ion Core is shutting down... + ION Core is shutting down... + ION Core is shutting down... Do not shut down the computer until this window disappears. @@ -3276,8 +3276,8 @@ https://www.transifex.com/ioncoincore/ioncore SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -3292,8 +3292,8 @@ https://www.transifex.com/ioncoincore/ioncore The Dash Core developers - The Ion Core developers - The Ion Core developers + The ION Core developers + The ION Core developers [testnet] @@ -3910,8 +3910,8 @@ https://www.transifex.com/ioncoincore/ioncore Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - Cannot obtain a lock on data directory %s. Ion Core is probably already running. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Cannot obtain a lock on data directory %s. ION Core is probably already running. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -4106,20 +4106,20 @@ for example: alertnotify=echo %%s | mail -s "ION Alert" admin@foo.com - Unable to bind to %s on this computer. Ion Core is probably already running. - Unable to bind to %s on this computer. Ion Core is probably already running. + Unable to bind to %s on this computer. ION Core is probably already running. + Unable to bind to %s on this computer. ION Core is probably already running. Unable to locate enough Obfuscation denominated funds for this transaction. Unable to locate enough Obfuscation denominated funds for this transaction. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -4134,8 +4134,8 @@ for example: alertnotify=echo %%s | mail -s "ION Alert" admin@foo.com Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -4286,8 +4286,8 @@ for example: alertnotify=echo %%s | mail -s "ION Alert" admin@foo.com Copyright (C) 2015-%i The PIVX Core Developers - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i The Ion Core Developers + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core Developers Corrupted block database detected @@ -4358,8 +4358,8 @@ for example: alertnotify=echo %%s | mail -s "ION Alert" admin@foo.com Error loading wallet.dat: Wallet corrupted - Error loading wallet.dat: Wallet requires newer version of Ion Core - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core + Error loading wallet.dat: Wallet requires newer version of ION Core Error opening block database @@ -4470,8 +4470,8 @@ for example: alertnotify=echo %%s | mail -s "ION Alert" admin@foo.com Information - Initialization sanity check failed. Ion Core is shutting down. - Initialization sanity check failed. Ion Core is shutting down. + Initialization sanity check failed. ION Core is shutting down. + Initialization sanity check failed. ION Core is shutting down. Input is not valid. @@ -4634,8 +4634,8 @@ for example: alertnotify=echo %%s | mail -s "ION Alert" admin@foo.com Loading masternode payment cache... - Loading wallet... (%3.1f %%) - Loading wallet... (%3.1f %%) + Loading wallet... (%3.2f %%) + Loading wallet... (%3.2f %%) Loading wallet... @@ -5090,8 +5090,8 @@ for example: alertnotify=echo %%s | mail -s "ION Alert" admin@foo.com Wallet is locked. - Wallet needed to be rewritten: restart Ion Core to complete - Wallet needed to be rewritten: restart Ion Core to complete + Wallet needed to be rewritten: restart ION Core to complete + Wallet needed to be rewritten: restart ION Core to complete Wallet options: diff --git a/src/qt/locale/ion_eo.ts b/src/qt/locale/ion_eo.ts index 95d70c54b1dfe..4f13b15976875 100644 --- a/src/qt/locale/ion_eo.ts +++ b/src/qt/locale/ion_eo.ts @@ -608,10 +608,6 @@ &Command-line options &Komando-linio opcioj - - Processed %n blocks of transaction history. - %n bloko de tansakcio historo procesita%n blokoj de tansakcio historo procesita - Synchronizing additional data: %p% Ĝisdatiĝante pliaj datumo: %p% @@ -645,7 +641,7 @@ Iloj langeto - Ion Core + ION Core ION kerno @@ -669,11 +665,11 @@ Foliumi mastro-nodo - &About Ion Core + &About ION Core &Pri ION Kerno - Show information about Ion Core + Show information about ION Core Montri informon pri ION Kerno @@ -729,17 +725,13 @@ Bloko esplorilo fenestro - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options Montri la ION Kore help-mesaĝo por havi liston de havebla ION komandlinion opciojn - Ion Core client + ION Core client ION Kerno kliento - - %n active connection(s) to ION network - %n aktiva ligo(j) al la ION reto%n aktiva ligo(j) al la ION reto - Synchronizing with network... Ĝisdatiĝante kun reto... @@ -760,26 +752,10 @@ Up to date Ĝisdata - - %n hour(s) - %n horo%n horoj - - - %n day(s) - %n tago%n tagoj - - - %n week(s) - %n semajno%n semajnoj - %1 and %2 %1 kaj %2 - - %n year(s) - %n jaro%n jaroj - Catching up... Kaptante... @@ -864,7 +840,7 @@ Muktisendi: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Monujo estas <b>ĉifrita</b> kaj nuntempe <b>ŝlosita</b> - + BlockExplorer @@ -1216,6 +1192,17 @@ Muktisendi: %1 Ne povas krei datumoj dosierujo ĉi tie. + + GovernancePage + + Form + Formo + + + 0 + 0 + + HelpMessageDialog @@ -1223,7 +1210,7 @@ Muktisendi: %1 versio - Ion Core + ION Core ION kerno @@ -1231,7 +1218,7 @@ Muktisendi: %1 (%1-bajto) - About Ion Core + About ION Core Pri ION Kerno @@ -1274,15 +1261,15 @@ Muktisendi: %1 Bonvenon - Welcome to Ion Core. + Welcome to ION Core. Bonvenon al la ION Kerno. - As this is the first time the program is launched, you can choose where Ion Core will store its data. + As this is the first time the program is launched, you can choose where ION Core will store its data. Ĉar estas la unuan fojon ke la programo estas lanĉita, vi povas elekti kie ION kernk storigis sian datumojn. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. ION kerno elŝutos kaj konservi kopion de la ION blokĉeno. Almenaŭ %1GB datumoj stokitos en ĉi tiun dosierujo, kaj ĝi kresko kun la tempo. Monujo stokitos en ĉi tiun dosierujo. @@ -1294,7 +1281,7 @@ Muktisendi: %1 Uzi kutimon datumojn dosierujo: - Ion Core + ION Core ION kerno @@ -1459,44 +1446,10 @@ Muktisendi: %1 (no label) (neniu etikedo) - - The entered address: - - La enirita adreson: - - - - is invalid. -Please check the address and try again. - estas nevalida -Bonvolu kontroku la adreson kaj riprovu - - - The total amount of your MultiSend vector is over 100% of your stake reward - - Totala sumo de via multisendo vektoro estas super 100% de via stako rekompenco - - Please Enter 1 - 100 for percent. Bonvolu eniru 1 - 100 por porcento. - - MultiSend Vector - - Multisendo vektoro - - - - Removed - Forigita - - - Could not locate address - - Ne eblis loki adreson - - MultisigDialog @@ -1550,7 +1503,7 @@ Bonvolu kontroku la adreson kaj riprovu Amount: - Kvanto + Kvanto: Add an input to fund the outputs @@ -1628,12 +1581,12 @@ Bonvolu kontroku la adreson kaj riprovu Bonvolu elekti privata nivelo. - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Tion opcion estas la plej rapida kaji kostos ~0.025 ION por anonimigi 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Tion opcion estas la plej rapida kaji kostos ~0.025 ION por anonimigi 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Tion opcion estas moderebla rapide kaj kostos ĉirkaŭ 0.05 ION por anonimigi 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Tion opcion estas moderebla rapide kaj kostos ĉirkaŭ 0.05 ION por anonimigi 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost @@ -1887,7 +1840,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Amount: - Kvanto + Kvanto: xION Control @@ -1923,7 +1876,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Choose previously used address - Elektu antaŭan uzatan adreson + Elektu antaŭe uzatan adreson Alt+A @@ -1949,7 +1902,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Priority: - Prioritato + Prioritato: TextLabel @@ -1961,7 +1914,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi no - no + ne Bytes: @@ -1977,7 +1930,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Change: - Ŝanĝo: + Ŝanĝu: Copy quantity @@ -2020,6 +1973,9 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi adreso: + + ProposalFrame + QObject @@ -2038,6 +1994,10 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi UNKNOWN NEKONATA + + ION Core + ION kerno + QRImageWidget @@ -2116,10 +2076,6 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi 1 &week 1&semajno - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Uzi la sagojn supran kaj malsupran por esplori la historion, kaj <b>Ctr-L</b> por malplenigi la ekraron. - Type <b>help</b> for an overview of available commands. Tajpu <b>helpo</b> por superrigardi la disponeblajn komandojn. @@ -2183,6 +2139,10 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Copy amount Kopii kvanto + + Copy address + Kopi adreson + ReceiveRequestDialog @@ -2233,6 +2193,10 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Message Mesaĝo + + Address + Adreso + Amount Sumo: @@ -2266,11 +2230,11 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Amount: - Kvanto + Kvanto: Priority: - Prioritato + Prioritato: medium @@ -2282,7 +2246,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi no - no + ne After Fee: @@ -2290,7 +2254,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Change: - Ŝanĝo: + Ŝanĝu: If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. @@ -2354,7 +2318,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Confirm send coins - Konfirmu sendi monon + Konfirmu sendi monojn (no label) @@ -2377,7 +2341,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi Choose previously used address - Elektu antaŭan uzatan adreson + Elektu antaŭe uzatan adreson Alt+A @@ -2407,7 +2371,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi ShutdownWindow - Ion Core is shutting down... + ION Core is shutting down... ION kerno fermanta... @@ -2415,7 +2379,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi SignVerifyMessageDialog Choose previously used address - Elektu antaŭan uzatan adreson + Elektu antaŭe uzatan adreson Alt+A @@ -2447,7 +2411,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi The entered address does not refer to a key. - La enirita adreso ne rilatas al ŝlosilo + La enirita adreso ne rilatas al ŝlosilo. Wallet unlock was cancelled. @@ -2461,7 +2425,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi SplashScreen - Ion Core + ION Core ION kerno @@ -2473,7 +2437,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi La Dash kerno programistoj - The Ion Core developers + The ION Core developers La ION kerno programistoj @@ -2658,11 +2622,7 @@ Nematura: konfirmita, sed malpli ol 1 minto el la samo nomado post ĝin estis mi xION xION - - Is Spendable - Estas elspezebla - - + ion-core diff --git a/src/qt/locale/ion_es.ts b/src/qt/locale/ion_es.ts index 3b1f04cd201bf..04bf2b98ecd8a 100644 --- a/src/qt/locale/ion_es.ts +++ b/src/qt/locale/ion_es.ts @@ -267,7 +267,7 @@ Alt+A - Alt + A + Alt+A Paste address from clipboard @@ -275,7 +275,7 @@ Alt+P - Alt + P + Alt+P Passphrase: @@ -608,10 +608,6 @@ &Command-line options &Opciones de linea de comandos - - Processed %n blocks of transaction history. - Procesados %n bloques del histórico de transacciones.Procesados %n bloques del histórico de transacciones. - Synchronizing additional data: %p% Sincronizando datos adicionales: %p% @@ -645,8 +641,8 @@ Herramienta de pestañas - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +665,12 @@ Explorar masternodes - &About Ion Core - &Sobre Ion Core + &About ION Core + &Sobre ION Core - Show information about Ion Core - Mostrar información sobre Ion Core + Show information about ION Core + Mostrar información sobre ION Core Modify configuration options for ION @@ -729,16 +725,12 @@ Ventana del explorador de bloques - Show the Ion Core help message to get a list with possible ION command-line options - Mostrar la ayuda de Ion Core para obtener una lista de posibles opciones en línea de comandos + Show the ION Core help message to get a list with possible ION command-line options + Mostrar la ayuda de ION Core para obtener una lista de posibles opciones en línea de comandos - Ion Core client - Cliente Ion Core - - - %n active connection(s) to ION network - %n conexión(es) activas a la red ION%n conexión(es) activas a la red ION + ION Core client + Cliente ION Core Synchronizing with network... @@ -762,7 +754,7 @@ %n hour(s) - %n horas%n horas + %n hora%n horas %n day(s) @@ -770,7 +762,7 @@ %n week(s) - %n semanas%n semanas + %n semana%n semanas %1 and %2 @@ -778,7 +770,7 @@ %n year(s) - %n años%n años + %n año%n años Catching up... @@ -864,7 +856,7 @@ MultiEnvío: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> El monedero está <b>encriptado</b> y actualmente <b>bloqueado</b> - + BlockExplorer @@ -915,11 +907,11 @@ MultiEnvío: %1 Bytes: - Octetos: + Bytes: Amount: - Cantidad: + Suma: Priority: @@ -1224,6 +1216,17 @@ MultiEnvío: %1 No se puede crear un directorio de datos aquí. + + GovernancePage + + Form + Formulario + + + 0 + 0 + + HelpMessageDialog @@ -1231,16 +1234,16 @@ MultiEnvío: %1 versión - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - Acerca de Ion Core + About ION Core + Acerca de ION Core Command-line options @@ -1286,16 +1289,16 @@ MultiEnvío: %1 Bienvenido/a - Welcome to Ion Core. - Bienvenido/a a Ion Core. + Welcome to ION Core. + Bienvenido/a a ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Al ser la primera vez que se inicia el programa, usted puede elegir dónde guardará Ion Core sus datos. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Al ser la primera vez que se inicia el programa, usted puede elegir dónde guardará ION Core sus datos. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core descargará y guardará una copia de la cadena de bloques ION. Por lo menos %1GB de datos serán guardados en esta carpeta, y crecerá con el tiempo. El monedero también se guardará en esta carpeta. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core descargará y guardará una copia de la cadena de bloques ION. Por lo menos %1GB de datos serán guardados en esta carpeta, y crecerá con el tiempo. El monedero también se guardará en esta carpeta. Use the default data directory @@ -1306,8 +1309,8 @@ MultiEnvío: %1 Usar una carpeta de datos personalizada: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1542,48 +1545,54 @@ MultiEnvío no se activará a menos que haga usted click en Activar(sin etiqueta) - The entered address: - - La dirección introducida: - + MultiSend Active for Stakes and Masternode Rewards + MultiSend Activado para las recompensas de Stakes y Masternode + + + MultiSend Active for Stakes + MultiSend Activado para Stakes + + + MultiSend Active for Masternode Rewards + MultiSend Activado para las recompensas de Masternode - is invalid. + MultiSend Not Active + MultiSend Desactivado + + + The entered address: %1 is invalid. Please check the address and try again. - es inválida. -Por favor compruebe la dirección e inténtelo de nuevo. + La dirección introducida: %1 es inválida. +Por favor comprueba la dirección e inténtalo nuevamente. - The total amount of your MultiSend vector is over 100% of your stake reward - - La cantidad total de su vector MultiEnvío es superior al 100% de su recompensa de stake - + The total amount of your MultiSend vector is over 100% of your stake reward + La cantidad total de tu vector de MultiEnvío es superior al 100% de tu recompensa de Stake - Please Enter 1 - 100 for percent. - Por favor Introduzca 1 - 100 por ciento. + Saved the MultiSend to memory, but failed saving properties to the database. + El MultiSend se guardó en la memoria, pero se produjo un error al guardar las propiedades en la base de datos. - Saved the MultiSend to memory, but failed saving properties to the database. - - Se guardó MultiEnvío en la memoria, pero se produjo un error al guardar las propiedades en la base de datos. - + MultiSend Vector + Vector de MultiSend - MultiSend Vector - - Vector MultiEnvío - + Removed %1 + Removido %1 - Removed - Borrado + Could not locate address + No se pudo localizar la dirección - Could not locate address - - No se pudo localizar la dirección - + Unable to activate MultiSend, check MultiSend vector + No fue posible activar el MultiSend, verifica el vector de MultiSend + + + Please Enter 1 - 100 for percent. + Por favor Introduzca 1 - 100 por ciento. @@ -1666,7 +1675,7 @@ Por favor, tenga paciencia después de hacer clic en importar. Amount: - Cantidad: + Suma: Add an input to fund the outputs @@ -1780,32 +1789,32 @@ Por favor, tenga paciencia después de hacer clic en importar. Por favor seleccione un nivel de privacidad. - Use 2 separate masternodes to mix funds up to 10000 ION - Use 2 masterdodes diferentes para mezclar los fondos hasta los 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Use 2 masterdodes diferentes para mezclar los fondos hasta los 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Use 8 masternodes diferentes para mezclar fondos hasta los 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Use 8 masternodes diferentes para mezclar fondos hasta los 20000 ION Use 16 separate masternodes Use 16 masternodes diferentes - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Esta opción es la más rápida y costará alrededor de ~0.025 ION para anonimizar 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Esta opción es la más rápida y costará alrededor de ~0.025 ION para anonimizar 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Esta opción es moderadamente rápida y costará cerca de 0.05 ION para anonimizar 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Esta opción es moderadamente rápida y costará cerca de 0.05 ION para anonimizar 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Esta es la opción más lenta pero más segura. Usar el máximo anonimato costará - 0.1 ION per 10000 ION you anonymize. - 0.1 ION por 10000 ION que anonimizas. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION por 20000 ION que anonimizas. Obfuscation Configuration @@ -2485,18 +2494,6 @@ xION son maduros cuando tienen más de 20 confirmaciones Y más de 2 mints de la 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Nivel de Seguridad para Transacciones Zerocoin. Cuanto más mejor, pero necesitará más tiempo y recursos. - - - Security Level: - Nivel de Seguridad: - - - Security Level 1 - 100 (default: 42) - Nivel de Seguridad 1 - 100 (por defecto: 42) - Pay &To: Pagar &A: @@ -2531,7 +2528,7 @@ xION son maduros cuando tienen más de 20 confirmaciones Y más de 2 mints de la A&mount: - C&antidad: + Cantidad: Convert Change to Zerocoin (might cost additional fees) @@ -2718,7 +2715,7 @@ Para cambiar el porcentaje (no se requiere reiniciar): Bytes: - Octetos: + Bytes: Insufficient funds! @@ -2773,14 +2770,6 @@ Para cambiar el porcentaje (no se requiere reiniciar): Please be patient... Ejecutando ResetMintZerocoin: reescaneando el blockchain entero, esto necesitará hasta 30 minutos dependiendo de su hardware. Por favor espere... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Gastando Zerocoin. -Esto es computacionalmente intensivo, puede necesitar varios minutos dependiendo del Nivel de Seguridad elegido y el hardware de su máquina. -Por favor tenga paciencia... ) needed. @@ -2952,22 +2941,10 @@ Máximo permitido: to a newly generated (unused and therefore anonymous) local address <br /> a una dirección local recién generada (no utilizada y, por lo tanto, anónima)<br /> - - with Security Level - con Nivel de Seguridad - Confirm send coins Confirmar enviar monedas - - Version 1 xION require a security level of 100 to successfully spend. - La versión 1 xION requiere un nivel de seguridad de 100 para gastar exitosamente. - - - Failed to spend xION - Error al enviar xION - Failed to fetch mint associated with serial hash Error al buscar la asociación del acuñado con el hash serial @@ -2986,11 +2963,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Spend Zerocoin failed with status = Gastar Zerocoin falló con estado = - - PrivacyDialog - Enter an amount of ION to convert to xION - PrivacyDialogPrivacyDialog - denomination: Denominación: @@ -3024,6 +2996,9 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o comisión: + + ProposalFrame + QObject @@ -3074,7 +3049,11 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o %1 ms %1 ms - + + ION Core + ION Core + + QRImageWidget @@ -3436,10 +3415,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Confirm resync Blockchain Confirmar resincronización del Blockchain - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Use las teclas arriba y abajo para navegar por la historia, y <b>Ctrl-L</b> para limpiar la pantalla. - Type <b>help</b> for an overview of available commands. Escriba <b>help</b> para ver una lista de posibles comandos. @@ -3511,6 +3486,10 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o An optional label to associate with the new receiving address. Una etiqueta opcional a asociar con la nueva dirección de recepción. + + A&mount: + Cantidad: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Un mensaje opcional a adjuntar a la solicitud de pago, que será mostrado cuando se abra la solicitud. Nota: El mensaje no se envía junto al pago por la red ION. @@ -3535,10 +3514,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o An optional amount to request. Leave this empty or zero to not request a specific amount. Una cantidad opcional a solicitar. Deje esto vacío o en cero para no pedir una cantidad específica. - - &Amount: - &Cantidad: - &Request payment &Solicitud de pago @@ -3583,6 +3558,10 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Copy amount Copiar cantidad + + Copy address + Copiar dirección + ReceiveRequestDialog @@ -3653,6 +3632,10 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Message Mensaje + + Address + Dirección + Amount Cantidad @@ -3698,7 +3681,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Amount: - Cantidad: + Suma: Priority: @@ -3936,10 +3919,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o A fee %1 times higher than %2 per kB is considered an insanely high fee. Una comisión %1 veces más alta que %2 por kB se considera exageradamente alta. - - Estimated to begin confirmation within %n block(s). - Estimamos que empezará la confirmación en %n bloques.Estimamos que empezará la confirmación en %n bloques. - The recipient address is not valid, please recheck. La dirección de destino no es válida, por favor compruébelo de nuevo. @@ -4021,7 +4000,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Alt+A - Alt + A + Alt+A Paste address from clipboard @@ -4029,7 +4008,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Alt+P - Alt + P + Alt+P Remove this entry @@ -4079,7 +4058,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o ShutdownWindow - Ion Core is shutting down... + ION Core is shutting down... El programa ION se está cerrando... @@ -4111,7 +4090,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Alt+A - Alt + A + Alt+A Paste address from clipboard @@ -4119,7 +4098,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Alt+P - Alt + P + Alt+P Enter the message you want to sign here @@ -4229,8 +4208,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -4245,8 +4224,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Los desarrolladores de Dash Core - The Ion Core developers - Los desarrolladores de Ion Core + The ION Core developers + Los desarrolladores de ION Core [testnet] @@ -4262,10 +4241,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o TransactionDesc - - Open for %n more block(s) - Abierto para %n bloques másAbierto para %n bloques más - Open until %1 Abierto hasta %1 @@ -4326,10 +4301,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o , has not been successfully broadcast yet , no ha sido correctamente transmitida todavía - - , broadcast through %n node(s) - , retransmitido a través de %n nodos, retransmitido a través de %n nodos - Date Fecha @@ -4370,10 +4341,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Credit Crédito - - matures in %n more block(s) - madura en %n bloques másmaduracíon en %n bloques más - not accepted rechazado @@ -4472,10 +4439,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Address Dirección - - Open for %n more block(s) - Abierto para %n bloques másAbierto para %n bloques más - Open until %1 Abierto hasta %1 @@ -4558,7 +4521,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Received ION from xION - ION recibidos desde xION + ION recibidos desde xION Minted Change as xION from xION Spend @@ -4878,11 +4841,7 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Select/Deselect All Seleccionar/Deseleccionar Todos - - Is Spendable - Es Gastable - - + ion-core @@ -4910,8 +4869,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o El punto de chequeo del acumulador que hemos calculado no coincide con lo guardado en el índice de bloques - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - No se puede obtener un bloqueo sobre el directorio de datos %s. Ion Core esta probablemente en ejecución. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + No se puede obtener un bloqueo sobre el directorio de datos %s. ION Core esta probablemente en ejecución. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -5086,20 +5045,20 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Este producto incluye software desarrollado por el Proyecto OpenSSL para uso en OpenSSL Toolkit <https://www.openssl.org/> y software de cifrado escrito por Eric Young y software de UPnP escrito por Thomas Bernard. - Unable to bind to %s on this computer. Ion Core is probably already running. - Imposible conectar a %s en esta computadora. Es probable que Ion Core ya este corriendo. + Unable to bind to %s on this computer. ION Core is probably already running. + Imposible conectar a %s en esta computadora. Es probable que ION Core ya este corriendo. Unable to locate enough Obfuscation denominated funds for this transaction. Imposible localizar suficientes fondos denominados de Ofuscación para esta transacción. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Imposible localizar suficientes fondos no-denominados de Ofuscación para esta transacción que no es igual a 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Imposible localizar suficientes fondos no-denominados de Ofuscación para esta transacción que no es igual a 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Imposible localizar fondos suficientes para esta transacción que no es igual a 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Imposible localizar fondos suficientes para esta transacción que no es igual a 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5114,8 +5073,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Advertencia: -paytxfee esta muy alta! Esta es la comisión de transacción que pagarás si envías una transacción. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - Advertencia: Por favor verifique que la fecha y hora de su computadora sean correctas! Si su reloj esta fuera de hora Ion Core no funcionará adecuadamente. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Advertencia: Por favor verifique que la fecha y hora de su computadora sean correctas! Si su reloj esta fuera de hora ION Core no funcionará adecuadamente. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -5270,8 +5229,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Copyright (C) 2015-%i The PIVX Core Developers - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i The Ion Core Developers + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core Developers Corrupted block database detected @@ -5358,8 +5317,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Error al cargar wallet.dat: Monedero dañado - Error loading wallet.dat: Wallet requires newer version of Ion Core - Error al cargar wallet.dat: El monedero requiere una nueva versión del Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core + Error al cargar wallet.dat: El monedero requiere una nueva versión del ION Core Error opening block database @@ -5373,6 +5332,10 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Error recovering public key. Error al recuperar clave pública. + + Error writing zerocoinDB to disk + Error al escribir zerocoinDB en el disco + Error Error @@ -5409,6 +5372,10 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Failed to listen on any port. Use -listen=0 if you want this. Falló la escucha en cualquiera de los puertos. Usar -listen=0 si quieres esto. + + Failed to parse host:port string + Error al analizar el host: cadena del puerto + Failed to read block Falló al leer el bloque @@ -5474,8 +5441,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Información - Initialization sanity check failed. Ion Core is shutting down. - La prueba de salud de inicialización ha fallado. Ion Core se cerrará. + Initialization sanity check failed. ION Core is shutting down. + La prueba de salud de inicialización ha fallado. ION Core se cerrará. Input is not valid. @@ -5685,10 +5652,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Failed to create mint Error al acuñar - - Failed to deserialize - Error al deserializar - Failed to find Zerocoins in wallet.dat Error al encontrar Zerocoins en wallet.dat @@ -5758,8 +5721,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Cargando sporks... - Loading wallet... (%3.1f %%) - Cargando monedero: (%3.1f %%) + Loading wallet... (%3.2f %%) + Cargando monedero: (%3.2f %%) Loading wallet... @@ -6129,14 +6092,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o The coin spend has been used El gasto de moneda se ha usado - - The new spend coin transaction did not verify - La nueva transacción de gasto de moneda no se verificó - - - The selected mint coin is an invalid coin - La moneda acuñada seleccionada es una moneda no válida - The transaction did not verify La transacción no se verificó @@ -6285,10 +6240,6 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Verifying wallet... Verificando el monedero... - - Version 1 xION require a security level of 100 to successfully spend. - La versión 1 xION requiere un nivel de seguridad de 100 para gastar exitosamente. - Wallet %s resides outside data directory %s El monedero %s esta ubicada fuera del directorio de datos %s @@ -6298,8 +6249,8 @@ O mint las denominaciones más altas (por lo tanto, se necesitan menos datos) o Monedero bloqueado. - Wallet needed to be rewritten: restart Ion Core to complete - El Monedero necesita ser reescrito: reinicie Ion Core para completar + Wallet needed to be rewritten: restart ION Core to complete + El Monedero necesita ser reescrito: reinicie ION Core para completar Wallet options: diff --git a/src/qt/locale/ion_es_ES.ts b/src/qt/locale/ion_es_ES.ts index 00f9425d984aa..f3c8713e8c628 100644 --- a/src/qt/locale/ion_es_ES.ts +++ b/src/qt/locale/ion_es_ES.ts @@ -392,6 +392,9 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog @@ -460,6 +463,9 @@ Alt+P + + ProposalFrame + QObject @@ -489,6 +495,10 @@ Label Etiqueta + + Address + Dirección + (no label) (sin etiqueta) @@ -637,7 +647,7 @@ WalletView &Export - &Exportar + Exportar Export the data in the current tab to a file diff --git a/src/qt/locale/ion_fi.ts b/src/qt/locale/ion_fi.ts index c38476fe5e278..c2c98124c115a 100644 --- a/src/qt/locale/ion_fi.ts +++ b/src/qt/locale/ion_fi.ts @@ -565,7 +565,7 @@ &Apua - Ion Core + ION Core ION Ydin @@ -585,11 +585,11 @@ Selaa masternodeja - &About Ion Core - Ion Core &ytimestä + &About ION Core + ION Core &ytimestä - Show information about Ion Core + Show information about ION Core Näytä tietoja ION Ytimestä @@ -645,11 +645,11 @@ Lohkon tutkija näkymä - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options Näytä ION Ydin apuviesti saadaksesi lista mahdollisista ION komentolinja komennoista. - Ion Core client + ION Core client ION Ydin asiakasohjelma @@ -905,10 +905,21 @@ nimi + + GovernancePage + + Form + Lomake + + + 0 + 0 + + HelpMessageDialog - Ion Core + ION Core ION Ydin @@ -927,11 +938,11 @@ Tervetuloa - Welcome to Ion Core. + Welcome to ION Core. Tervetuloa ION Ytimeen. - Ion Core + ION Core ION Ydin @@ -1056,39 +1067,10 @@ (no label) (ei nimikettä) - - The entered address: - - Syötetty osoite: - - - is invalid. -Please check the address and try again. - on invalidi. Ole hyvä ja tarkista osoite. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - MultiSend vektorisi kokonaismäärä on yli 100% panoksesi lohkopalkkiosta. - Please Enter 1 - 100 for percent. Syötä 1 - 100 prosenttia - - MultiSend Vector - - MultiSend vektori - - - Removed - Poistettu - - - Could not locate address - - Osoitetta ei löytynyt - MultisigDialog @@ -1128,32 +1110,32 @@ Please check the address and try again. Valitse yksityisyyden taso. - Use 2 separate masternodes to mix funds up to 10000 ION - Käytä 2 erillistä masternodea sekoittaaksesi enintään 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Käytä 2 erillistä masternodea sekoittaaksesi enintään 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Käytä 8 erillistä masternodea sekoittaaksesi enintään 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Käytä 8 erillistä masternodea sekoittaaksesi enintään 20000 ION Use 16 separate masternodes Käytä 16 erillistä masternodea - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Tämä vaihtoehto on nopein ja maksaa noin ~0.025 ION anonymoidaksesi 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Tämä vaihtoehto on nopein ja maksaa noin ~0.025 ION anonymoidaksesi 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Tämä vaihtoehto on suhteellisen nopea ja maksaa 0.05 ION anonymoidaksesi 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Tämä vaihtoehto on suhteellisen nopea ja maksaa 0.05 ION anonymoidaksesi 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Tämä on hitain ja turvallisin vaihtoehto. Täydesti anonymisoiminen ei maksa mitään. - 0.1 ION per 10000 ION you anonymize. - 0.1 per 10000 ION, jotka anonymisoit. + 0.1 ION per 20000 ION you anonymize. + 0.1 per 20000 ION, jotka anonymisoit. Obfuscation Configuration @@ -1474,12 +1456,19 @@ Please check the address and try again. Vahvista kolikoiden lähetys + + ProposalFrame + QObject Amount Määrä + + ION Core + ION Ydin + QRImageWidget @@ -1685,6 +1674,10 @@ Please check the address and try again. An optional label to associate with the new receiving address. Vaihtoehtoinen nimike uudelle vastaanottavalle osoitteelle + + A&mount: + M&äärä: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Vaihtoehtoinen viesti joka liitetään maksupyyntöön, joka näytetään kun pyyntö avataan. Huomio: Viestiä ei lähetetä maksun mukana ION verkolle. @@ -1705,10 +1698,6 @@ Please check the address and try again. An optional amount to request. Leave this empty or zero to not request a specific amount. Pyydä vaihtoehtoinen määrä. Jätä tämä tyhjäksi tai 0, jos haluat pyytää ennaltamääräämättömän summan - - &Amount: - &Määrä: - &Request payment &Pyydä maksua @@ -1753,6 +1742,10 @@ Please check the address and try again. Copy amount Kopioi määrä + + Copy address + Kopioi osoite + ReceiveRequestDialog @@ -1823,6 +1816,10 @@ Please check the address and try again. Message Viesti + + Address + Osoite + Amount Määrä @@ -2057,7 +2054,7 @@ Please check the address and try again. ShutdownWindow - Ion Core is shutting down... + ION Core is shutting down... ION core sammuu... @@ -2199,7 +2196,7 @@ Please check the address and try again. SplashScreen - Ion Core + ION Core ION Ydin @@ -2215,7 +2212,7 @@ Please check the address and try again. Dash Core kehittäjät - The Ion Core developers + The ION Core developers ION core kehittäjät @@ -2568,8 +2565,8 @@ Please check the address and try again. Virhe ladattaessa wallet.dat tiedostoa: Lompakko korruptoitunut - Error loading wallet.dat: Wallet requires newer version of Ion Core - Virhe ladattaessa wallet.dat tiedostoa: Lompakko vaatii uudemman version Ion Coresta + Error loading wallet.dat: Wallet requires newer version of ION Core + Virhe ladattaessa wallet.dat tiedostoa: Lompakko vaatii uudemman version ION Coresta Error reading from database, shutting down. diff --git a/src/qt/locale/ion_fr_FR.ts b/src/qt/locale/ion_fr_FR.ts index 4b59a92766645..ce1005072ea58 100644 --- a/src/qt/locale/ion_fr_FR.ts +++ b/src/qt/locale/ion_fr_FR.ts @@ -355,7 +355,7 @@ The entered address does not refer to a key. - L'adresse renseignée ne correspond à aucune à une clé. + L'adresse renseignée ne correspond pas à une clé. Wallet unlock was cancelled. @@ -363,7 +363,7 @@ Private key for the entered address is not available. - La clé privé pour l'adresse entrée n'est pas valide. + La clé privée pour l'adresse entrée n'est pas valide. Failed to decrypt. @@ -436,6 +436,14 @@ Privacy Actions for xION Actions confidentielles pour xION + + &Governance + &Gouvernance + + + Show Proposals + Afficher les propositions + E&xit Quitter @@ -478,7 +486,7 @@ Backup wallet to another location - Sauvegarder ailleurs le portefeuille + Sauvegarder le portefeuille dans un autre emplacement &Change Passphrase... @@ -610,7 +618,7 @@ Processed %n blocks of transaction history. - %n bloc de l'historique de transaction traité.%n blocs de l'historique de transaction traités. + Parcouru %n blocs dans l'historique des transactionsParcouru %n blocs dans l'historique des transactions Synchronizing additional data: %p% @@ -624,6 +632,10 @@ Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymization and staking only Le portefeuille est <b>chiffré</b> et pour l'instant <b>débloqué</b>pour l'anonymat et le staking seulement + + Tor is <b>enabled</b>: %1 + Tor est <b>activé</b>: %1 + &File &Fichier @@ -645,8 +657,8 @@ Onglets de la barre d'outils - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +681,12 @@ Afficher les masternodes - &About Ion Core - A &propos de Ion Core + &About ION Core + A &propos de ION Core - Show information about Ion Core - Afficher les information concernant Ion Core + Show information about ION Core + Afficher les information concernant ION Core Modify configuration options for ION @@ -729,16 +741,16 @@ Fenêtre de Explorateur de Bloc - Show the Ion Core help message to get a list with possible ION command-line options - Afficher les message d'aide de Ion Core pour avoir les options pour ligne de commande + Show the ION Core help message to get a list with possible ION command-line options + Afficher les message d'aide de ION Core pour avoir les options pour ligne de commande - Ion Core client - Ion Core client + ION Core client + ION Core client %n active connection(s) to ION network - connexion(s) active(s) au réseau IONconnexion(s) active(s) au réseau ION + %n connection(s) active(s) au réseau ION%n connection(s) active(s) au réseau ION Synchronizing with network... @@ -848,6 +860,10 @@ Adresse : %4 Wallet is <b>encrypted</b> and currently <b>locked</b> Le portefeuille est <b>crypté</b> et actuellement <b>verrouillé</b> + + A fatal error occurred. ION can no longer continue safely and will quit. + Une erreur fatale s'est produite. ION Core ne peut plus poursuivre en toute sécurité et va quitter. + BlockExplorer @@ -915,7 +931,7 @@ Adresse : %4 Coin Selection - Coin de sélection + Sélection des pièces Dust: @@ -1031,7 +1047,7 @@ Adresse : %4 Copy change - Copier le changement + Copier la monnaie Please switch to "List mode" to use this function. @@ -1148,6 +1164,10 @@ Adresse : %4 &Address Adresse + + The address associated with this address list entry. This can only be modified for sending addresses. + L'adresse associée à cette entrée de liste d'adresses. Ceci ne peut être modifié que pour les adresses d'envoi. + New receiving address Nouvelle adresse de reception @@ -1204,6 +1224,45 @@ Adresse : %4 Impossible de créer le répertoire pour les données ici + + GovernancePage + + Form + Formulaire + + + GOVERNANCE + GOUVERNANCE + + + Update Proposals + Mettre à jour les propositions + + + Next super block: + Super bloc suivant: + + + 0 + 0 + + + Blocks to next super block: + Blocs restants jusqu'au Super block suivant: + + + Allotted budget: + Budget alloué: + + + Budget left: + Budget restant: + + + Masternodes count: + Nombre de masternodes: + + HelpMessageDialog @@ -1211,16 +1270,16 @@ Adresse : %4 version - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - A propos de Ion Core + About ION Core + A propos de ION Core Command-line options @@ -1262,12 +1321,12 @@ Adresse : %4 Bienvenu - Welcome to Ion Core. - Bienvenue à Ion Core + Welcome to ION Core. + Bienvenue à ION Core - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Comme c'est la première fois que le programme est lancé, vous pouvez choisir où Ion Core va stocker ses données. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Comme c'est la première fois que le programme est lancé, vous pouvez choisir où ION Core va stocker ses données. Use the default data directory @@ -1278,8 +1337,8 @@ Adresse : %4 Utiliser un répertoire spécifique de données - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1358,7 +1417,7 @@ Adresse : %4 Status will be updated automatically in (sec): - Le statut sera mis à jour automatiquement dans (sec): + Statut màj automatiquement dans (sec): 0 @@ -1510,51 +1569,82 @@ L'Envoi-multiple ne sera activé que si vous avez cliqué sur Activer(pas de label) - The entered address: - - L'adresse entrée: - + MultiSend Active for Stakes and Masternode Rewards + Envoi multiple actif pour les recompenses Masternode et Stake - is invalid. -Please check the address and try again. - est invalide. -Veuillez vérifier l'adresse et réessayer. + MultiSend Active for Stakes + Envoi multiple actif pour les recompenses Stake - The total amount of your MultiSend vector is over 100% of your stake reward - - Le montant total de votre vecteur Multisend est supérieur à 100% de votre récompense Stake - + MultiSend Active for Masternode Rewards + Envoi multiple actif pour les recompenses Masternode - Please Enter 1 - 100 for percent. - Veuillez entrer un pourcentage entre 1 et 100. + MultiSend Not Active + Envoi multiple inactif - Saved the MultiSend to memory, but failed saving properties to the database. - - L'Envoi-multiple est sauvegardé en mémoire, néanmoins la sauvegarde des propriétés de celui-ci en base a échoué. - + The entered address: %1 is invalid. +Please check the address and try again. + L'adresse %1 entrée est invalide. +SVP vérifiez l'adresse et essayez à nouveau. - MultiSend Vector - - Vecteur des Envoi-multiples - + The total amount of your MultiSend vector is over 100% of your stake reward + Le montant total de votre vecteur d'envoi multiple est supérieur à 100% de votre récompense Stake - Removed - Supprimé + Saved the MultiSend to memory, but failed saving properties to the database. + Envoi multiple sauvegardé, mais échec de la sauvegarde de ses propriétés en base de données. - Could not locate address - + MultiSend Vector + Vecteur d'envoi multiple + + + Removed %1 + Retiré %1 + + + Could not locate address Impossible de localiser l'adresse + + Unable to activate MultiSend, check MultiSend vector + Impossible d'activer l'envoi multple, vérifiez le vecteur d'envoi + + + MultiSend activated but writing settings to DB failed + Envoi multiple activé mais les paramètres d'écriture en base de données ont échoué + + + MultiSend activated + Envoi multiple activé + + + First Address Not Valid + Première adresse invalide + + + MultiSend deactivated but writing settings to DB failed + Envoi multiple désactivé mais les paramètres d'écriture en base de données ont échoué + + + MultiSend deactivated + Envoi multiple désactivé + + + Please Enter 1 - 100 for percent. + Veuillez entrer un pourcentage entre 1 et 100. + MultisigDialog + + Multisignature Address Interactions + Interactions d'adresse multisignature + Create MultiSignature &Address Créer une nouvelle &adresse MultiSignature @@ -1603,6 +1693,10 @@ Please be patient after clicking import. Garder en tete que le portefeuille effectuera une nouvelle analyse de la blockchain pour trouver les transactions contenant la nouvelle adresse. S'il vous plaît soyez patient après avoir cliqué sur l'importation. + + &Import Redeem + &Import la compensation + &Create MultiSignature Tx Créer une transaction Multi-Signature @@ -1613,7 +1707,7 @@ S'il vous plaît soyez patient après avoir cliqué sur l'importation. Coin Control - Contrôle de pièce de monnaie + Contrôle des pièces Quantity Selected: @@ -1647,6 +1741,10 @@ S'il vous plaît soyez patient après avoir cliqué sur l'importation.Add &Destination Ajouter la destination + + Create a transaction object using the given inputs to the given outputs + Créer un objet de transaction en utilisant les données d'entrée pour les données de sortie + Cr&eate Cré&er @@ -1691,10 +1789,18 @@ S'il vous plaît soyez patient après avoir cliqué sur l'importation.Invalid Tx Hash. Le Hash de la transaction est invalide. + + Vout position must be positive. + La position Vout doit être positive. + Maximum possible addresses reached. (15) Nombre maximum d'adresses atteint. (15) + + Vout Position: + Position Vout: + Amount: Montant : @@ -1727,32 +1833,32 @@ S'il vous plaît soyez patient après avoir cliqué sur l'importation.Veuillez sélectionner un niveau de confidentialité. - Use 2 separate masternodes to mix funds up to 10000 ION - Utiliser 2 masternodes différentes pour mélanger les fonds jusqu'a 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Utiliser 2 masternodes différentes pour mélanger les fonds jusqu'a 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Utiliser 8 masternodes différentes pour mélanger les fonds jusqu'a 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Utiliser 8 masternodes différentes pour mélanger les fonds jusqu'a 20000 ION Use 16 separate masternodes Utiliser 16 masternodes différents - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Cette option est la plus rapide, et coutera ~0.025 ION pour anonymiser 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Cette option est la plus rapide, et coutera ~0.025 ION pour anonymiser 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Cette option est moyennement rapide, et coutera 0.05 ION pour anonymiser 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Cette option est moyennement rapide, et coutera 0.05 ION pour anonymiser 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Il s'agit de l'option la plus lente est la plus sécurisé. Utiliser l'anonymat maximum coutera - 0.1 ION per 10000 ION you anonymize. - 0.1 ION par 10000 ION vous anonymisez. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION par 20000 ION vous anonymisez. Obfuscation Configuration @@ -1808,10 +1914,18 @@ S'il vous plaît soyez patient après avoir cliqué sur l'importation.Size of &database cache Taille du cache de base de données + + MB + MB + Number of script &verification threads Nombre de fil pour les scripts de vérification + + (0 = auto, <0 = leave that many cores free) + (0 = auto, <0 = laisser autant de cœurs libres) + W&allet Portefeuille @@ -1892,7 +2006,15 @@ https://www.transifex.com/ioncoincore/ioncore Enable xION Automint - Activé XION Auto-monnayage + Activer l'Auto-monnayage xION + + + Enable automatic xION minting from specific addresses + Activer la frappe xION automatique à partir d'adresses spécifiques + + + Enable Automint Addresses + Activer les Adresses Automint Percentage of incoming ION which get automatically converted to xION via Zerocoin Protocol (min: 10%) @@ -1902,9 +2024,13 @@ https://www.transifex.com/ioncoincore/ioncore Percentage of autominted xION Pourcentage de xION auto-monnayé + + Wait with automatic conversion to Zerocoin until enough ION for this denomination is available + Met en attente la conversion automatique Zerocoin jusqu'à ce qu'il y ai suffisament de ION disponibles pour la dénomination demandée + Preferred Automint xION Denomination - Dénomination préférée d'auto-monnayage xION + Dénomination préférée pour l'auto-monnayage xION Stake split threshold: @@ -1978,6 +2104,14 @@ https://www.transifex.com/ioncoincore/ioncore Hide empty balances Masquer les soldes vides + + Hide orphan stakes in transaction lists + Masquer les récompenses Stake orphelines dans la liste des transactions + + + Hide orphan stakes + Masquer les récompenses Stake orphelines + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. URL tierces (par exemple un explorateur de blocs) qui apparaissent dans l'onglet des transactions en tant qu'éléments de menu contextuel. %s dans l'URL est remplacé par le hash de transaction. Les URL multiples sont séparées par une barre verticale | @@ -2100,14 +2234,14 @@ https://www.transifex.com/ioncoincore/ioncore Mature: more than 20 confirmation and more than 1 mint of the same denomination after it was minted. These xION are spendable. - Maturité: plus de 20 confirmations et plus de 1 monnayer de la même dénomination après sa frappe. + Maturité: plus de 20 confirmations et plus de 1 monnaie de la même dénomination après sa frappe. Ces xION sont dépensables. Unconfirmed: less than 20 confirmations Immature: confirmed, but less than 1 mint of the same denomination after it was minted Non confirmé: moins de 20 confirmations -Immature: confirmé, mais moins de 1 monnayer de la même dénomination après sa frappe +Immature: confirmé, mais moins de 1 monnaie de la même dénomination après sa frappe The displayed information may be out of date. Your wallet automatically synchronizes with the ION network after a connection is established, but this process has not completed yet. @@ -2155,7 +2289,7 @@ Immature: confirmé, mais moins de 1 monnayer de la même dénomination après s Locked ION or Masternode collaterals. These are excluded from xION minting. - ION Verrouillé ou Masternode collatéraux. Ceux-ci sont exclus de la monnayage xION. + ION Verrouillé ou Masternode collatéraux. Ceux-ci sont exclus du monnayage xION. Locked: @@ -2182,7 +2316,8 @@ Immature: confirmé, mais moins de 1 monnayer de la même dénomination après s If AutoMint is enabled this percentage will settle around the configured AutoMint percentage (default = 10%). Le pourcentage actuel de xION. -Si Auto-monnayage est activé, ce pourcentage sera réglé autour du pourcentage Auto-monnayage configuré (par défaut = 10%). +Si l'Auto-monnayage est activé, ce pourcentage sera réglé au niveau du pourcentage d'Auto-monnayage configuré (par défaut = 10%). + AutoMint is currently enabled and set to @@ -2317,7 +2452,7 @@ Pour activer Auto-monnayage, changez 'enablezeromint = 0' en 'enablezeromint = 1 Mint Zerocoin - Monnayer Zerocoin + Créer des Zerocoin 0 @@ -2333,7 +2468,7 @@ Pour activer Auto-monnayage, changez 'enablezeromint = 0' en 'enablezeromint = 1 Available for Minting: - Disponible pour Monnayage: + Disponible : 0.000 000 00 ION @@ -2349,7 +2484,7 @@ Pour activer Auto-monnayage, changez 'enablezeromint = 0' en 'enablezeromint = 1 Coin Control... - Contrôle des pièces... + Choisir les pièces... Quantity: @@ -2381,11 +2516,11 @@ Pour activer Auto-monnayage, changez 'enablezeromint = 0' en 'enablezeromint = 1 xION Control - Contrôle xION + Choisir les xION xION Selected: - xION sélectionné: + xION sélectionnés: Quantity Selected: @@ -2397,11 +2532,11 @@ Pour activer Auto-monnayage, changez 'enablezeromint = 0' en 'enablezeromint = 1 Spend Zerocoin - Dépenser Zerocoin + Dépenser les Zerocoin Available (mature and spendable) xION for spending - xION disponibles (matures et dépensables) pour dépenser + xION disponibles (matures et utilisables) pour les dépenses Available Balance: @@ -2411,33 +2546,21 @@ Pour activer Auto-monnayage, changez 'enablezeromint = 0' en 'enablezeromint = 1 Available (mature and spendable) xION for spending xION are mature when they have more than 20 confirmations AND more than 2 mints of the same denomination after them were minted - XION disponible (mature et utilisable) pour les dépenses + xION disponibles (matures et utilisables) pour les dépenses -Les xION sont matures lorsqu'elles ont plus de 20 confirmations ET plus de 2 monnayent de même dénomination après ils était monnayer +Les xION sont matures lorsqu'ils ont plus de 20 confirmations ET plus de 2 monnaies de même dénomination après leur frappe 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Niveau de sécurité pour les transactions Zerocoin. Le plus élevé est préférable, mais cela requiert plus de temps et de ressource. - - - Security Level: - Niveau de sécurité: - - - Security Level 1 - 100 (default: 42) - Niveau de sécurité 1 - 100 (par défaut: 42) - Pay &To: Payer à : The ION address to send the payment to. Creates local payment to yourself when empty. - L'adresse ION à laquelle nevoyer le paiement. Créé un paiement à vous même lorsque ce champs est vide. + L'adresse ION à laquelle envoyer le paiement. Le système créé un paiement à vous même lorsque ce champs est vide. Choose previously used address @@ -2469,7 +2592,7 @@ Les xION sont matures lorsqu'elles ont plus de 20 confirmations ET plus de 2 mon Convert Change to Zerocoin (might cost additional fees) - Convertir la monnaie rendue en Zerocoin (peut augmenter les frais de transaction) + Convertir la monnaie rendue en Zerocoin (peut augmenter les frais) If checked, the wallet tries to minimize the returning change instead of minimizing the number of spent denominations. @@ -2507,7 +2630,7 @@ Les xION sont matures lorsqu'elles ont plus de 20 confirmations ET plus de 2 mon Unconfirmed: less than 20 confirmations Immature: confirmed, but less than 1 mint of the same denomination after it was minted Non confirmé: moins de 20 confirmations -Immature: confirmé, mais moins de 1 monnayer de la même dénomination après sa frappe +Immature: confirmé, mais moins de 1 monnaie de la même dénomination après sa frappe Show the current status of automatic xION minting. @@ -2520,7 +2643,7 @@ To change the percentage (no restart required): - menu Settings->Options->Percentage of autominted xION - Afficher l'état actuel de monnayage automatique xION. + Afficher l'état actuel de l'Auto-monnayage xION. Pour changer le statut (redémarrage requis): - enable: ajoute 'enablezeromint = 1' au fichier ioncoin.conf @@ -2575,6 +2698,14 @@ Pour changer le pourcentage (pas de redémarrage requis): 0 x 0 x + + Show xION denominations list + Montrer la liste des Dénominations pour xION + + + Show Denominations + Montrer les Dénominations + Denominations with value 5: Dénominations avec une valeur 5: @@ -2631,6 +2762,10 @@ Pour changer le pourcentage (pas de redémarrage requis): Denom. with value 5000: Dénom. avec une valeur 5000: + + Hide Denominations + Masquer les Dénominations + Priority: Priorité : @@ -2708,14 +2843,6 @@ Pour changer le pourcentage (pas de redémarrage requis): Please be patient... Démarrage de ResetMonnayerZerocoin: réanalyser blockchain complète, cela prendra jusqu'à 30 minutes selon votre matériel. S'il vous plaît soyez patient ... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - En cours de dépense Zerocoin. -Opération coûteuse en ressources, peut nécessiter plusieurs minutes selon le niveau de sécurité choisi et la performance de votre matériel. -SVP, soyez patient... ) needed. @@ -2729,7 +2856,7 @@ Maximum autorisé: xION Mint - Monnayer xION + Monnayage xION <b>enabled</b>. @@ -2833,11 +2960,11 @@ Maximum autorisé: Successfully minted - Monnayez réussi + Auto-monnayage réussi xION in - xION dans + xION en sec. Used denominations: @@ -2855,6 +2982,10 @@ Maximum autorisé: sec. + + Starting ResetSpentZerocoin: + Démarrage de ResetSpentZerocoin: + No 'Pay To' address provided, creating local payment Aucune adresse 'Payer à' de fournie, création d'un paiement local @@ -2883,26 +3014,13 @@ Maximum autorisé: to a newly generated (unused and therefore anonymous) local address <br /> vers une adresse locale nouvellement générée (inutilisée et donc anonyme) - - with Security Level - avec le niveau de sécurité - Confirm send coins Confirmer l'envoi des pièces - - Version 1 xION require a security level of 100 to successfully spend. - La version 1 de xION requiert un niveau de sécurité de 100 pour les dépenser. - - - - Failed to spend xION - Échec de la dépense de xION - Failed to fetch mint associated with serial hash - Impossible d'extraire la monnayer associée au hachage série + Impossible de récupérer la monnaie associée au hash Too much inputs ( @@ -2912,7 +3030,7 @@ Maximum autorisé: Either mint higher denominations (so fewer inputs are needed) or reduce the amount to spend. -Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessaires), soit une réduction du montant à dépenser. +Monnayez des dénominations plus élevées (moins d'intrants sont nécessaires), ou réduisez le montant à dépenser. Spend Zerocoin failed with status = @@ -2922,6 +3040,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai denomination: dénomination: + + Spending Zerocoin. +Computationally expensive, might need several minutes depending on your hardware. +Please be patient... + Dépenses Zerocoin. +Cela peut prendre plusieurs minutes, selon votre matériel. +S'il vous plaît soyez patient ... + serial: série: @@ -2951,6 +3077,75 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai frais: + + ProposalFrame + + Open proposal page in browser + Ouvrir la page des propositions dans le navigateur + + + remaining payment(s). + paiement(s) restant. + + + Yes: + Pour: + + + Abstain: + Abstention: + + + No: + Contre: + + + A proposal URL can be used for phishing, scams and computer viruses. Open this link only if you trust the following URL. + + Une page de proposition peut être utilisée pour le phishing, des escroqueries ou des virus informatiques. Ouvrez ce lien uniquement si vous faites confiance à l'URL suivante. + + + + Open link + Ouvrir le lien + + + Copy link + Copier le lien + + + Wallet Locked + Portefeuille vérouillé + + + You must unlock your wallet to vote. + Vous devez déverrouiller votre portefeuille pour voter + + + Do you want to vote %1 on + Voulez-vous voter %1 pour + + + using all your masternodes? + en utilisant tous vos masternodes? + + + Proposal Hash: + Hash de la proposition: + + + Proposal URL: + URL de la proposition: + + + Confirm Vote + Confirmer le vote + + + Vote Results + Résultats du vote + + QObject @@ -2959,7 +3154,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Enter a ION address (e.g. %1) - Entrez uen adresse ION (par ex. %1) + Entrez une adresse ION (par ex. %1) %1 d @@ -2985,6 +3180,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai BLOOM ÉCLOSION + + ZK_BLOOM + ZK_BLOOM + UNKNOWN INCONNU @@ -3001,6 +3200,30 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai %1 ms %1 ms + + ION Core + ION Core + + + Error: Specified data directory "%1" does not exist. + Erreur: le répertoire de données spécifié "%1" n'existe pas. + + + Error: Cannot parse configuration file: %1. Only use key=value syntax. + Erreur: impossible d'analyser le fichier de configuration: %1. Utilisez uniquement la syntaxe clé=valeur. + + + Error: Invalid combination of -regtest and -testnet. + Erreur: Combinaison non valide de -regtest et -testnet. + + + Error reading masternode configuration file: %1 + Erreur de lecture du fichier de configuration Masternode: %1 + + + ION Core didn't yet exit safely... + ION Core n'a pas encore quitté en toute sécurité ... + QRImageWidget @@ -3364,13 +3587,17 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Cornfirmer la resynchronisation Blockchain - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Utilisez les flèches bas et haut pour naviguer dans l'historique, et <b> Ctrl-L </b> pour effacer l'écran. + Use up and down arrows to navigate history, and %1 to clear screen. + Utilisez la flèches haut et bas pour naviguer dans l'historique, et %1 pour purger l'écran. Type <b>help</b> for an overview of available commands. Entrez <b> aide </b> pour un aperçu des commandes disponibles + + WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command. + ATTENTION: Des escrocs sévisent, demandant aux utilisateurs de taper certaines commandes dans la console, volant le contenu de leur portefeuille. N'utilisez pas cette console sans une parfaite compréhension des conséquences des commandes que vous y tapez. + %1 B %1 B @@ -3424,7 +3651,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai ReceiveCoinsDialog Reuse one of the previously used receiving addresses.<br>Reusing addresses has security and privacy issues.<br>Do not use this unless re-generating a payment request made before. - Réutilise une des adresses de réception précédement utilisées.<br /> Réutiliser des adresses posent des problèmes de sécurité etd e confidentialité. <br /> Ne réuilisez pas une adresse à moins que vous souhaitiez regénérer une demande de paiement antérieure. + Réutilise une des adresses de réception précédement utilisées.<br /> Réutiliser des adresses posent des problèmes de sécurité et de confidentialité. <br /> Ne réutilisez pas une adresse à moins que vous ne souhaitiez regénérer une demande de paiement antérieure. R&euse an existing receiving address (not recommended) @@ -3438,6 +3665,18 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai An optional label to associate with the new receiving address. Un label Un optionnel à associer à la nouvelle adresse de réception. + + Your receiving address. You can copy and use it to receive coins on this wallet. A new one will be generated once it is used. + Votre adresse de réception. Vous pouvez la copier et la diffuser pour recevoir vos pièces dans ce portefeuille. Une nouvelle adresse sera générée dès que celle-ci aura été utilisée. + + + &Address: + &Adresse: + + + A&mount: + Montant: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Un message optionnel à ajouter à la demande de paiement, lequel sera affiché lorsque la demande sera ouverte. Note: Le message ne sera pas renvoyé avec le paiement sur le réseaux ION. @@ -3462,10 +3701,6 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai An optional amount to request. Leave this empty or zero to not request a specific amount. Montant demandé. Optionnel, laissez vide ou zéro pour ne pas demander de montant spécifique. - - &Amount: - Montant : - &Request payment Demande le paiement @@ -3478,6 +3713,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Clear Effacer + + Receiving Addresses + Adresses de réception + Requested payments history Historique des requêtes de paiement @@ -3500,7 +3739,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Copy label - Copier le montant + Copier label Copy message @@ -3510,6 +3749,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Copy amount Copier le montant + + Copy address + Copier l'adresse + ReceiveRequestDialog @@ -3580,6 +3823,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Message Message + + Address + Adresse + Amount Montant @@ -3679,6 +3926,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai 0 ION 0 ION + + SwiftX technology allows for near instant transactions - A flat fee of 0.01 ION applies + La technologie SwiftX permet des transactions quasi instantanées - Des frais minimum de 0.01 ION s'appliquent + Transaction Fee: Commission de transaction @@ -3719,6 +3970,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai SwiftX SwiftX + + Confirmation time: + Délai de confirmation: + Open Coin Control... Ouvrir le contrôle des pièces ... @@ -3727,6 +3982,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Coins automatically selected Pièces automatiquement sélectionnées + + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + Si le tarif personnalisé est fixé à 1000 uION et que la transaction ne représente que 250 octets, "par kilo-octet", alors le système ne paiera que 250 uION en frais,<br />tandis que le choix "au moins" paiera 1000 uION forfaitairement. Pour les transactions supérieures à un kilo-octet, les deux choix paieront les frais par kilo-octets. + + + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "total at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + Si le tarif personnalisé est fixé à 1000 uION et que la transaction ne représente que 250 octets, "par kilo-octet", alors le système ne paiera que 250 uION en frais,tandis que le choix "total au moins" paiera 1000 uION. Pour les transactions supérieures à un kilo-octet, les deux choix paieront les frais par kilo-octets. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for ION transactions than the network can process. Payer les frais minimum est convenable tant qu'il y a moins de volume de transactions que d'espace dans les blocs. <br /> Mais sachez que cela peut aboutir à une transaction qui ne se confirmera jamais lorsqu'il y aura plus de transactions ION que le réseau ne peut en traiter. @@ -3903,6 +4166,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Pay only the minimum fee of %1 Payer uniquement les frais minimum de %1 + + Estimated to get 6 confirmations near instantly with <b>SwiftX</b>! + Estimé d'obtenir 6 confirmations quasi instantanément avec <b>SwiftX</b>! + + + Warning: Unknown change address + Attention: adresse de changement inconnue + (no label) (pas de label) @@ -3958,10 +4229,22 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Message: Message : + + A message that was attached to the ION: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the ION network. + Un message qui était attaché au ION: URI qui sera stockée avec la transaction pour votre référence ultérieure. Remarque: Ce message ne sera pas envoyé sur le réseau ION. + + + This is an unverified payment request. + Ceci est une demande de paiement non vérifiée. + Pay To: Payer à : + + Memo: + Mémo: + This is a verified payment request. Ceci est une requête de paiement vérifiée. @@ -3973,13 +4256,29 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai ShutdownWindow - + + ION Core is shutting down... + ION Core est en cours de fermeture... + + + Do not shut down the computer until this window disappears. + N'arrêtez pas l'ordinateur tant que cette fenêtre n'a pas disparu. + + SignVerifyMessageDialog + + Signatures - Sign / Verify a Message + Signatures - Signer / Vérifier un Message + &Sign Message Signer le message + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Vous pouvez signer des messages avec vos adresses pour prouver que vous les possédez. Veillez à ne rien signer d'imprécis, car des attaques de type phishing pourraient vous inciter à divulger votre identité. Ne signez que des déclarations détaillées que vous avez approuvé. + The ION address to sign the message with L'adresse ION avec laquelle signer le message @@ -4000,6 +4299,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Alt+P Alt+P + + Enter the message you want to sign here + Entrez ici le texte que vous souhaitez signer + Signature Signature @@ -4036,10 +4339,22 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai &Verify Message Vérifier le message + + Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. + Entrez l'adresse de signature, le message (veillez à copier précisément les sauts de ligne, les espaces, les onglets, etc...) et la signature ci-dessous pour vérifier le message. Verifiez que vous ne lisez pas plus d'informations dans la signature que ce qui se trouve dans le message signé lui-même, afin d'éviter de se faire piéger par une attaque de type intermédiaire (tel que l'ajout d'informations à votre insu lors d'un copié/collé). + Verify &Message Vérifier le message + + Reset all verify message fields + Réinitialiser tous les champs de vérification du message + + + Click "Sign Message" to generate signature + Cliquez sur "Signer le Message" pour générer la signature + The entered address is invalid. L'adresse entrée est incorrecte. @@ -4076,51 +4391,251 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Please check the signature and try again. Merci de vérifier la signature et de ré-essayer. - - - SplashScreen - Ion Core - Ion Core + The signature did not match the message digest. + La signature ne correspond pas au résumé du message. - - - TrafficGraphWidget - - - TransactionDesc - Status - Statuts + Message verification failed. + La vérification du message a échoué. - Date - Date + Message verified. + Message vérifié. + + + SplashScreen - watch-only - témoin seulement + ION Core + ION Core - label - label + Version %1 + Version %1 - Message - Message + The Bitcoin Core developers + Les développeurs Bitcoin Core - Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + The Dash Core developers + Les développeurs Dash Core + + + The ION Core developers + Les développeurs ION Core + + + [testnet] + [testnet] + + + + TrafficGraphWidget + + KB/s + Ko/s + + + + TransactionDesc + + Open for %n more block(s) + Ouvert pour %n blocs supplémentairesOuvert pour %n blocs supplémentaires + + + Open until %1 + Ouvrir jusqu'à %1 + + + conflicted + en conflit + + + %1/offline + %1/hors ligne + + + %1/unconfirmed + %1/non confirmé + + + %1 confirmations + %1 confirmations + + + %1/offline (verified via SwiftX) + %1/hors ligne (vérifié via SwiftX) + + + %1/confirmed (verified via SwiftX) + %1/confirmé (vérifié via SwiftX) + + + %1 confirmations (verified via SwiftX) + %1 confirmations (vérifié via SwiftX) + + + %1/offline (SwiftX verification in progress - %2 of %3 signatures) + %1/hors ligne (Vérification SwiftX en cours - %2 de %3 signatures) + + + %1/confirmed (SwiftX verification in progress - %2 of %3 signatures ) + %1/confirmé (vérification SwiftX en cours - %2 sur %3 signatures) + + + %1 confirmations (SwiftX verification in progress - %2 of %3 signatures) + %1 confirmations (Vérification SwiftX en cours - %2 de %3 signatures) + + + %1/offline (SwiftX verification failed) + %1/hors ligne (Vérification SwiftX échouée) + + + %1/confirmed (SwiftX verification failed) + %1/confirmé (vérification SwiftX a échoué) + + + Status + Statuts + + + , has not been successfully broadcast yet + , n'a pas encore été diffusé avec succès + + + , broadcast through %n node(s) + , diffusion à travers %n noeuds, diffusion à travers %n noeuds + + + Date + Date + + + Source + Source + + + Generated + Généré + + + From + De + + + unknown + inconnu + + + To + À + + + own address + Adresse personnelle + + + watch-only + témoin seulement + + + label + label + + + Credit + Crédit + + + matures in %n more block(s) + mature dans %n blocs supplémentairesmature dans %n blocs supplémentaires + + + not accepted + pas accepté + + + Debit + Débit + + + Total debit + Total débit + + + Total credit + Total crédit + + + Transaction fee + Frais de transaction + + + Net amount + Montant net + + + Message + Message + + + Comment + Commentaire + + + Transaction ID + ID de transaction + + + Output index + Index de sortie + + + Merchant + Marchand + + + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. Les pièces créées doit murir %1 blocs avant qu'elles ne puissent être dépensées. Lorsque vous générez ce bloc, il est diffusé sur le réseau afin d'être ajouté à la chaîne de blocs. Si cet ajout échoue, son statut sera modifié à "non accepté" et il ne sera pas dépensable. Ceci peut arriver occasionnellement lorsqu'un autre noeud du réseau génère un bloc quelques secondes avant le votre. + + Debug information + Information de débug + + + Transaction + Transaction + + + Inputs + Entrées + Amount Montant - + + true + vrai + + + false + faux + + TransactionDescDialog - + + Transaction details + Détails de transaction + + + This pane shows a detailed description of the transaction + Ce volet affiche une description détaillée de la transaction + + TransactionTableModel @@ -4135,6 +4650,42 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Address Adresse + + Open for %n more block(s) + Ouvert pour %n blocs supplémentairesOuvert pour %n blocs supplémentaires + + + Open until %1 + Ouvrir jusqu'à %1 + + + Offline + Hors ligne + + + Unconfirmed + Non confirmé + + + Confirming (%1 of %2 recommended confirmations) + Confirmation en cours (%1 de %2 confirmations requises) + + + Confirmed (%1 confirmations) + Confirmé (%1 confirmations) + + + Conflicted + En conflit + + + Immature (%1 confirmations, will be available after %2) + Immature (%1 confirmations, sera disponible après %2) + + + This block was not received by any other nodes and will probably not be accepted! + Ce bloc n'a été reçu par aucun autre noeud du réseau et sera probablement refusé! + Received with Reçu avec @@ -4189,7 +4740,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Sent to - Envoyer à + Envoyé à Orphan Block - Generated but not accepted. This does not impact your holdings. @@ -4211,6 +4762,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai watch-only témoin seulement + + (n/a) + (n/a) + + + Transaction status. Hover over this field to show number of confirmations. + État de la transaction. Survolez le champ pour voir le nombre de transactions. + Date and time that the transaction was received. Date et heure a laquelle la transaction fut reçue @@ -4258,13 +4817,25 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai This year Cette année + + Range... + Choisir la période... + + + Most Common + Plus courant + Received with Reçu avec Sent to - Envoyer à + Envoyé à + + + To yourself + A vous-même Mined @@ -4272,7 +4843,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Minted - Monnayez + Récompense Stake Masternode Reward @@ -4280,161 +4851,653 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Zerocoin Mint - Zerocoin Monnayez + ION convertit en xION + + + Zerocoin Spend + Dépense Zerocoin + + + Zerocoin Spend to Self + Dépense Zerocoin à soi-même + + + Other + Autre Enter address or label to search Entrez l'adresse ou label à rechercher + + Min amount + Montant min + Copy address Copier l'adresse Copy label + Copier label + + + Copy amount Copier le montant - Copy amount - Copier le montant + Copy transaction ID + Copier l'ID de la transaction + + + Edit label + Modifier label + + + Show transaction details + Afficher les détail de transaction + + + Hide orphan stakes + Masquer les récompenses Stake orphelines + + + Export Transaction History + Exporter l'historique des transactions + + + Comma separated file (*.csv) + Fichier avec séparation par des virgules (*.csv) + + + Confirmed + Confirmé + + + Watch-only + Témoin + + + Date + Date + + + Type + Type + + + Label + Label + + + Address + Adresse + + + ID + ID + + + Exporting Failed + Exportation échouée + + + There was an error trying to save the transaction history to %1. + Une erreur est survenue lors de la tentative de sauvegarde de l'historique de transaction vers %1. + + + Exporting Successful + Exportation réussie + + + Received ION from xION + ION reçu depuis xION + + + Zerocoin Spend, Change in xION + Dépense Zerocoin, monnaie rendue en xION + + + The transaction history was successfully saved to %1. + L'historique de transaction a été correctement sauvegardé à %1. + + + Range: + Période: + + + to + à + + + + UnitDisplayStatusBarControl + + Unit to show amounts in. Click to select another unit. + Unité pour afficher les montants. Cliquez pour choisir une autre unité. + + + + WalletFrame + + No wallet has been loaded. + Aucun portefeuille n'a été chargé. + + + + WalletModel + + Send Coins + Envoyer des pièces + + + SwiftX doesn't support sending values that high yet. Transactions are currently limited to %1 ION. + SwiftX ne supporte pas l'envoi de montants aussi élevés. Les transactions sont actuellement lmitées à %1 ION. + + + + WalletView + + HISTORY + HISTORIQUE + + + &Export + Exporter + + + Export the data in the current tab to a file + Exporter les informations de l'onglet actuel vers un fichier + + + Selected amount: + Montant sélectionné : + + + Backup Wallet + Sauvegarder le Portefeuille + + + Wallet Data (*.dat) + Wallet Data (*.dat) + + + + XIonControlDialog + + Select xION to Spend + Choisir les xION à dépenser + + + Quantity + Quantité + + + 0 + 0 + + + xION + xION + + + Select/Deselect All + Tout Sélectionner/Désélectionner + + + Spendable? + Dépensable ? + + + + ion-core + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = conserve les métadonnées de transaction, par exemple le propriétaire du compte et les informations de demande de paiement, 2 = supprime les métadonnées) + + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Autoriser les connexions JSON-RPC à partir de la source spécifiée. Valable pour <ip> comme une seule adresse IP (par exemple, 1.2.3.4), un réseau / masque de sous-réseau (par exemple, 1.2.3.4/255.255.255.0) ou un réseau / CIDR (par exemple, 1.2.3.4/24). Cette option peut être spécifiée plusieurs fois. + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + Relier à des adresses spécifiques et toujours écouter dessus. Utilisez [host]:port pour IPv6 + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Relier à des adresses spécifiques et ajouter à la liste blanche les pairs qui s'y connectent. Utilisez la notation [host]:port pour IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Relier à une adresse spécifique pour écouter les connexions JSON-RPC. Utilisez la notation [host]:port pour IPv6. Cette option peut être spécifiée plusieurs fois (par défaut: liaison à toutes les interfaces) + + + Calculated accumulator checkpoint is not what is recorded by block index + Le point de contrôle de l'accumulateur qui a été calculé ne correspond pas à ce qui est enregistré par l'index de bloc + + + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Impossible de vérouiller le répertoire de données %s. ION Core est probablement déjà en cours d'exécution. + + + Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) + Modifier le comportement du vote budgétaire automatique. mode = auto: ne votez que pour une correspondance exacte avec votre budget généré. (chaîne, par défaut: auto) + + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Limiter continuellement les transactions gratuites à <n>* 1000 octets par minute (par défaut: %u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Créer les nouveaux fichiers avec les autorisations système par défaut, au lieu de umask 077 (efficace uniquement avec la fonctionnalité de portefeuille désactivée) + + + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Supprimer toutes les transactions de portefeuille et ne récupérer ces parties de la blockchain que via -rescan au démarrage + + + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Distribué sous la licence du logiciel MIT, consultez le fichier d'accompagnement COPYING ou <http://www.opensource.org/licenses/mit-license.php>. + + + Enable automatic Zerocoin minting from specific addresses (0-1, default: %u) + Activer la frappe automatique de monnaie à partir d’adresses spécifiques (0-1, par défaut: %u) + + + Enable or disable staking functionality for ION inputs (0-1, default: %u) + Active ou désactive la fonctionnalité de staking pour les entrées ION (0-1, par défaut: %u) + + + Enable or disable staking functionality for xION inputs (0-1, default: %u) + Active ou désactive la fonctionnalité de staking pour les entrées xION (0-1, par défaut: %u) + + + Enable spork administration functionality with the appropriate private key. + Activer la fonctionnalité d'administration de spork avec la clé privée appropriée. + + + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Entrer dans le mode de test de régression, qui utilise une chaîne spéciale dans laquelle les blocs peuvent être résolus instantanément. + + + Error: Listening for incoming connections failed (listen returned error %s) + Erreur: L'écoute des connexions entrantes a échoué (listen a renvoyé l'erreur %s) + + + Error: The transaction is larger than the maximum allowed transaction size! + Erreur: La transaction est plus grande que la taille maximum autorisée! + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Erreur: Argument -socks non pris en charge. Le paramétrage de SOCKS n'est plus possible, seul les proxies SOCKS5 sont supportés. + + + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) + Execute la commande quand une alerte pertinente est reçue ou que nous constatons un long fork dans la chaine (%s dans cmd est remplacé par un message) + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Exécuter la commande quand une transaction de portefeuille change (%s dans cmd est remplacé par l'identifiant de transaction) + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + Exécuter la commande lorsque le meilleur bloc change (%s dans cmd est remplacé par le hash du bloc) + + + Fees (in ION/Kb) smaller than this are considered zero fee for relaying (default: %s) + Les frais (en ION / Kb) inférieurs à ceux-ci sont considérés comme des frais nuls pour le relais (par défaut: %s) + + + Fees (in ION/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Les frais (en ION / Kb) inférieurs à cette valeur sont considérés comme des frais nuls pour la création de transaction (par défaut: %s) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Vider l'activité de la base de données du pool de mémoire vers le journal du disque tous les <n>mégaoctets (par défaut: %u) + + + Found unconfirmed denominated outputs, will wait till they confirm to continue. + Les sorties libellées non confirmées attendront jusqu'à ce qu'elles se confirment pour continuer. + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Si paytxfee n'est pas défini, incluez suffisamment de frais pour que les transactions commencent la confirmation en moyenne dans les n blocs (par défaut: %u) + + + In this mode -genproclimit controls how many blocks are generated immediately. + Dans ce mode, -genproclimit contrôle le nombre de blocs générés immédiatement. + + + Insufficient or insufficient confirmed funds, you might need to wait a few minutes and try again. + Vos fonds confirmés sont insuffisants, attendez quelques minutes et essayez à nouveau. + + + Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions) + Montant incorrect pour -maxtxfee=<amount>: '%s' (doit être au minimum de %s afin d'éviter que la transaction reste bloquée) + + + Keep the specified amount available for spending at all times (default: 0) + Garder le montant spécifié disponible pour la dépense en tous temps (défaut: 0) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Journaliser la priorité des transactions et les frais par Ko lors de l'extraction de blocs (par défaut: %u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Maintenir un index de transaction complet, utilisé par l'appel rpc de getrawtransaction (par défaut: %u) + + + Maximum size of data in data carrier transactions we relay and mine (default: %u) + Taille maximale des données dans les transactions de support de données que nous transmettons et minons (par défaut: %u) + + + Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s) + Total des frais maximum à utiliser dans une même transaction, paramétrer une valeur trop basse peut empêcher des transactions importantes (défaut: %s) + + + Number of seconds to keep misbehaving peers from reconnecting (default: %u) + Nombre de secondes pendant lesquelles les pairs se conduisant mal ne peuvent pas se reconnecter (par défaut: %u) + + + Obfuscation uses exact denominated amounts to send funds, you might simply need to anonymize some more coins. + L'Obfuscation utilise des montants libellés précis pour envoyer des fonds, vous devriez peut-être simplement anonymiser des pièces supplémentaires. + + + Output debugging information (default: %u, supplying <category> is optional) + Informations de débogage en sortie (par défaut: %u, fournir <category> est facultatif) + + + Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect) + Requêter les adresses des pairs via la recherche DNS, si faible sur les adresses (par défaut: 1 sauf si -connect) + + + Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u) + Définir aléatoirement les informations d'identification pour chaque connexion proxy. Cela permet d'isoler le flux Tor (par défaut: %u) + + + Require high priority for relaying free or low-fee transactions (default:%u) + Exiger une priorité éleveée pour relayer des transactions gratuites ou à faible coût (par défaut: %u) + + + Send trace/debug info to console instead of debug.log file (default: %u) + Envoyer des informations de trace/débogage à la console au lieu du fichier debug.log (par défaut: %u) + + + Set maximum size of high-priority/low-fee transactions in bytes (default: %d) + Définir la taille maximale des transactions à priorité élevée / faible tarif en octets (par défaut: %d) + + + Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d) + Définir le nombre de threads de vérification de script (%u à %d, 0 = auto, <0 = laisse autant de cœurs libres, par défaut: %d) + + + Set the number of threads for coin generation if enabled (-1 = all cores, default: %d) + Définir le nombre de threads pour la génération des pièces, si activé (-1 = tous les cœurs, par défaut: %d) + + + Show N confirmations for a successfully locked transaction (0-9999, default: %u) + Affiche N confirmations pour une transaction correctement verrouillée (0-9999, par défaut: %u) + + + Support filtering of blocks and transaction with bloom filters (default: %u) + Supporter le filtrage des blocs et des transactions avec des filtres de Bloom (par défaut: %u) + + + This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard. + Ce produit inclut un logiciel développé par OpenSSL Project pour être utilisé dans OpenSSL Toolkit <https://www.openssl.org/> et le logiciel de cryptographie écrit par Eric Young ainsi que le logiciel UPnP écrit par Thomas Bernard. + + + Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. + La longueur totale de la chaîne dans la version réseau (%i) dépasse la longueur maximale (%i). Réduisez le nombre ou la taille des commentaires de l'Agent Utilisateur + + + Unable to bind to %s on this computer. ION Core is probably already running. + Impossible de se lier à %s depuis cet ordinateur. ION Core est probablement déjà en cours d'exécution. + + + Unable to locate enough Obfuscation denominated funds for this transaction. + Incapable de localiser suffisamment de fonds non-dénommés pour l'Obfuscation de cette transaction. + + + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Incapable de localiser suffisamment de fonds non-dénommés pour l'Obfuscation de cette transaction qui ne sont pas égaux à 20000 ION. + + + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Impossible de grouper assez de fonds pour cette transaction qui n'est pas égale à 20000 ION. + + + Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) + Utilisez un proxy SOCKS5 séparé pour rejoindre les pairs via les services cachés Tor (par défaut: %s) + + + Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction. + Attention: -maxtxfee est très élevé! Ces frais importants pourraient être payés lors d'une seule transaction. + + + Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. + Attention: -paytxfee est réglé très haut! Ce sont les frais de transaction que vous paierez si vous envoyez une transaction. + + + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Avertissement: Veuillez vérifier que la date et l'heure de votre ordinateur sont correctes! Si votre horloge est incorrecte, ION Core ne fonctionnera pas correctement. + + + Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. + Attention: le réseau ne semble pas totalement d'accord! Certains mineurs semblent avoir des problèmes. + + + Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade. + Attention: Il semble que nous soyons en désaccord avec nos pairs sur le réseau! Cela signifie que vous pourriez avoir besoin de mettre à jour votre ION Core, ou que les autres noeuds aient besoin de se mettre à jour de leur côté. + + + Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. + Attention: erreur de lecture du fichier wallet.dat! Toutes les clés sont lues correctement, mais les données de transaction ou les entrées du carnet d'adresse pourraient être manquantes ou incorrectes. + + + Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. + Attention: wallet.dat corrompu, données récupérées! Le wallet.dat original est enregistré en tant que wallet.{timestamp}.bak in %s; Si votre solde ou vos transactions sont incorrects, vous devez restaurer à partir de votre sauvegarde. + + + Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times. + Mettre en liste blanche les pairs se connectant à partir du masque de réseau ou de l'adresse IP donnés. Peut être spécifié plusieurs fois. + + + Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway + Les pairs inscrits sur la liste blanche ne peuvent pas être interdits par le DoS et leurs transactions sont toujours relayées, même si elles sont déjà dans le mempool, utile par exemple pour une passerelle + + + You must specify a masternodeprivkey in the configuration. Please see documentation for help. + Vous devez spécifier une masternodeprivkey dans la configuration. Veuillez consulter la documentation pour obtenir de l'aide. + + + (12700 could be used only on mainnet) + (12700 ne peut être utilisé que pour le mainnet) + + + (default: %s) + (défaut: %s) + + + (default: 1) + (default: 1) + + + (must be 12700 for mainnet) + (doit être 12700 pour le mainnet) + + + Accept command line and JSON-RPC commands + Accepter les lignes de commandes et les commandes JSON-RPC + + + Accept connections from outside (default: 1 if no -proxy or -connect) + Accepter les connections depuis l'extérieur (défaut: 1 si pas de -proxy ou -connect) + + + Accept public REST requests (default: %u) + Accepter les requêtes REST publiques (défaut: %u) + + + Add a node to connect to and attempt to keep the connection open + Ajouter un noeud pour se connecter avec et essayer de garder la connexion ouverte. + + + Allow DNS lookups for -addnode, -seednode and -connect + Autoriser les recherches DNS pour -addnode, -seednode et -connect + + + Already have that input. + Vous avez déjà cette entrée. + + + Always query for peer addresses via DNS lookup (default: %u) + Toujours rechercher les adresses des pairs via une recherche DNS (par défaut: %u) + + + Append comment to the user agent string + Ajouter un commentaire à la chaîne de l'Agent Utilisateur + + + Attempt to recover private keys from a corrupt wallet.dat + Essaye de restaurer les clés privées depuis un fichier wallet.dat corrompu + + + Automatically create Tor hidden service (default: %d) + Créer automatiquement un service Tor caché (défaut: %d) + + + Block creation options: + Options de création de bloc: + + + Calculating missing accumulators... + Calcul des accumulateurs manquants... + + + Can't denominate: no compatible inputs left. + Ne peut dénommer: aucune entrée compatible laissée. - Copy transaction ID - Copier l'ID de la transaction + Can't find random Masternode. + Ne peut pas trouver un Masternode aléatoire - Edit label - Modifier label + Can't mix while sync in progress. + Ne peut pas mélanger lorsqu'une sycnhronisation est en cours - Comma separated file (*.csv) - Fichier avec séparation par des virgules (*.csv) + Cannot downgrade wallet + Ne peut pas rétrograder le portefeuille - Confirmed - Confirmé + Cannot resolve -bind address: '%s' + Impossible de résoudre l'adresse -bind: '%s' - Watch-only - Témoin + Cannot resolve -externalip address: '%s' + Impossible de résoudre l'adresse -externalip: '%s' - Date - Date + Cannot resolve -whitebind address: '%s' + Impossible de résoudre l'adresse -whitebind: '%s' - Type - Type + Cannot write default address + Impossible d'écrire l'adresse par défaut - Label - Label + Collateral not valid. + Collatéral invalide. - Address - Adresse + Connect only to the specified node(s) + Se connecter uniquement au(x) noeud(s) spécifié(s) - Exporting Failed - Exportation échouée + Connect through SOCKS5 proxy + Connecter à travers un proxy SOCKS5 - There was an error trying to save the transaction history to %1. - Une erreur est survenue lors de la tentative de sauvegarde de l'historique de transaction vers %1. + Connect to a node to retrieve peer addresses, and disconnect + Se connecter à un noeud pour retrouver les adresses des pairs et se déconnecter ensuite - Received ION from xION - ION reçu depuis xION + Connection options: + Options de connection: - Zerocoin Spend, Change in xION - Dépense Zerocoin, monnaie rendue en xION + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i Les développeurs de Bitcoin Core - - - UnitDisplayStatusBarControl - - - WalletFrame - - - WalletModel - Send Coins - Envoyer des pièces + Copyright (C) 2014-%i The Dash Core Developers + Copyright (C) 2014-%i Les développeurs de DASH Core - - - WalletView - &Export - &Exporter + Copyright (C) 2015-%i The PIVX Core Developers + Copyright (C) 2015-%i Les développeurs de PIVX Core - Export the data in the current tab to a file - Exporter les informations de l'onglet actuel vers un fichier + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i Les développeurs de ION Core - Selected amount: - Montant sélectionné : + Corrupted block database detected + Corruption des base de données de blocs détectée - Backup Wallet - Sauvegarder le Portefeuille + Could not parse masternode.conf + Impossible d'analyser masternode.conf - Wallet Data (*.dat) - Wallet Data (*.dat) + Debugging/Testing options: + Options de déboguage/test: - - - XIonControlDialog - Quantity - Quantité + Delete blockchain folders and resync from scratch + Supprimer les dossiers blockchain et resynchroniser à partir de zéro - 0 - 0 + Disable OS notifications for incoming transactions (default: %u) + Désactiver les notifications de l'OS pour les transcation entrantes (défaut: %u) - xION - xION + Disable safemode, override a real safe mode event (default: %u) + Désactiver le mode sans échec , remplacer un événement en mode sans échec réel (par défaut: %u) - - - ion-core - Enable or disable staking functionality for ION inputs (0-1, default: %u) - Active ou désactive la fonctionnalité de staking pour les entrées ION (0-1, par défaut: %u) + Discover own IP address (default: 1 when listening and no -externalip) + Découvrir sa propre adresse IP (par défaut: 1 lorsqu'en écoute et sans -externalip) - Enable or disable staking functionality for xION inputs (0-1, default: %u) - Active ou désactive la fonctionnalité de staking pour les entrées xION (0-1, par défaut: %u) + Do not load the wallet and disable wallet RPC calls + Ne pas charger le portefeuille et désactiver les appels RPC - Error: Listening for incoming connections failed (listen returned error %s) - Erreur: L'écoute des connexions entrantes a échoué (listen a renvoyé l'erreur %s) + Do you want to rebuild the block database now? + Voulez-vous reconstruire la base de données des blocs maintenant ? - Error: The transaction is larger than the maximum allowed transaction size! - Erreur: La transaction est plus grande que la taille maximum autorisée! + Done loading + Chargement effectué - Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. - Erreur: Argument -socks non pris en charge. Le paramétrage de SOCKS n'est plus possible, seul les proxies SOCKS5 sont supportés. + Enable publish hash transaction (locked via SwiftX) in <address> + Activer la publication du hash des transactions (vérouillées via SwiftX) dans <address> - Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) - Exécuter la commande quand une transaction de portefeuille change (%s dans cmd est remplacé par l'identifiant de transaction) + Enable publish raw transaction (locked via SwiftX) in <address> + Activer la publication des transactions brut (vérouillées via SwiftX) dans <address> - Execute command when the best block changes (%s in cmd is replaced by block hash) - Exécuter la commande lorsque le meilleur bloc change (%s dans cmd est remplacé par le hash du bloc) + Enable the client to act as a masternode (0-1, default: %u) + Activer le client pour agir en tant que Masternode (0-1, défaut: %u) - Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect. - Attention: erreur de lecture du fichier wallet.dat! Toutes les clés sont lues correctement, mais les données de transaction ou les entrées du carnet d'adresse pourraient être manquantes ou incorrectes. + Entries are full. + Les entrées sont complètes. Error connecting to Masternode. @@ -4461,7 +5524,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Erreur de chargement du fichier wallet.dat: Portefeuille corrompu - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core Erreur de chargement du fichier wallet.dat: Le portefeuille nécessite une version plus récente du ION core @@ -4476,6 +5539,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Error recovering public key. Erreur de récupération de la clé publique. + + Error writing zerocoinDB to disk + Erreur lors de l'écriture de zerocoinDB sur le disque + Error Erreur @@ -4504,13 +5571,169 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Error: You already have pending entries in the Obfuscation pool Erreur: Vous avez déjà des enregistrements en attente de la pool d'obfuscation + + Failed to calculate accumulator checkpoint + Échec du calcul du point de contrôle de l'accumulateur + + + Failed to listen on any port. Use -listen=0 if you want this. + Écoute impossible quelque soit le port. Utilisez -listen=0 si c'est cela que vous souhaitez. + + + Failed to parse host:port string + Impossible d'interprêter la chaine host:port + + + Failed to read block + Impossible de lire le bloc + + + Fee (in ION/kB) to add to transactions you send (default: %s) + Frais (en ION/kB) à ajouter aux transactions envoyées (défaut: %s) + + + Finalizing transaction. + Finalisation de la transaction. + + + Force safe mode (default: %u) + Forcer le mode sans échec (défaut: %u) + + + Found enough users, signing ( waiting %s ) + Trouvé assez d'utilisateurs, signature en cours ( attente %s) + + + Found enough users, signing ... + Trouvé assez d'utilisateurs, signature en cours ... + + + Generate coins (default: %u) + Générer des pièces (par défaut: %u) + + + How many blocks to check at startup (default: %u, 0 = all) + Nombre de blocs à vérifier au démarrage (défaut: %u, 0 = tous) + + + If <category> is not supplied, output all debugging information. + Si <category> n'est pas fourni, afficher toutes les informations de débogage. + + + Importing... + Importation... + + + Imports blocks from external blk000??.dat file + Importe les blocs à partir du fichier externe blk000??.dat + + + Include IP addresses in debug output (default: %u) + Inclure les adresses IP dans les informations de déboguage (par défaut: %u) + + + Incompatible mode. + Mode incompatible. + + + Incompatible version. + Version incompatible. + + + Incorrect or no genesis block found. Wrong datadir for network? + Bloc de genèse incorrect ou non trouvé. Peut-être un mauvais datadir pour le réseau ? + Information Information + + Initialization sanity check failed. ION Core is shutting down. + Échec de la vérification de l'initialisation. ION Core va fermer. + + + Input is not valid. + L'entrée n'est pas valide. + + + Insufficient funds + Fonds insuffisants + + + Insufficient funds. + Fonds insuffisants. + + + Invalid -onion address or hostname: '%s' + Adresse -onion ou hostname incorrect: '%s' + + + Invalid amount for -maxtxfee=<amount>: '%s' + Montant incorrect pour -maxtxfee=<amount>: '%s' + + + Invalid amount for -minrelaytxfee=<amount>: '%s' + Montant incorrect pour -minrelaytxfee=:<amount> '%s' + Invalid amount for -mintxfee=<amount>: '%s' - Invalid amount for -mintxfee=<amount>: '%s' + Montant incorrect pour -mintxfee=<amount>: '%s' + + + Invalid amount for -paytxfee=<amount>: '%s' (must be at least %s) + Montant incorrect pour -paytxfee=<amount>: '%s' (doit être au mininum %s) + + + Invalid amount for -paytxfee=<amount>: '%s' + Montant incorrect pour -paytxfee=<amount>: '%s' + + + Invalid amount for -reservebalance=<amount> + Montant incorrect pour -reservebalance=<amount> + + + Invalid amount + Montant incorrect + + + Invalid masternodeprivkey. Please see documenation. + Masternodeprivkey incorrecte. Regardez la documentation SVP. + + + Invalid netmask specified in -whitelist: '%s' + Masque réseau incorrect spécifié dans -whitelist: '%s' + + + Invalid port detected in masternode.conf + Port invalide détecté dans masternode.conf + + + Invalid private key. + Clé privée incorrecte. + + + Invalid script detected. + Script incorrect détecté. + + + Reindex the ION and xION money supply statistics + Recalculer les statistiques sur l'approvisionnement en ION et xION + + + Reindexing zerocoin database... + Réindexation de la base de données zerocoin... + + + Reindexing zerocoin failed + La réindexation zerocoin a échoué + + + Selected coins value is less than payment target + La valeur des monnaies choisies est inférieure au montant projeté + + + SwiftX options: + Options SwiftX: This is a pre-release test build - use at your own risk - do not use for staking or merchant applications! @@ -4527,6 +5750,20 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Monnayes actualisé , + + unconfirmed transactions removed + + Transactions non confirmées supprimées + + + + Disable all ION specific functionality (Masternodes, Zerocoin, SwiftX, Budgeting) (0-1, default: %u) + Désactiver toutes les fonctionnalités spécifiques à ION (Masternodes, Zerocoin, SwiftX, Budgétisation) (0-1, défaut: %u) + + + Enable SwiftX, show confirmations for locked transactions (bool, default: %s) + Activer SwiftX, montrer les confirmations pour les transactions vérouillées (booléen, défaut : %s) + Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. Erreur: La transaction a été rejetée. Cela peut survenir si certaines pièces de votre portefeuille ont déjà été dépensées. Par exemple si vous avez utilisez une copie de wallet.dat et que les monnaies dépensées dans cette copie n'ont pas été marquées comme telles dans ce portefeuille. @@ -4543,6 +5780,62 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Execute command when the best block changes and its size is over (%s in cmd is replaced by block hash, %d with the block size) Exécute la commande lorsque le meilleur bloc change et que sa taille est finalisée (%s dans cmd est remplacé par le hash du bloc, %d avec la taille du bloc) + + Failed to find coin set amongst held coins with less than maxNumber of Spends + Impossible de trouver des pièces parmi celles détenues avec moins de maxNumber de dépenses + + + In rare cases, a spend with 7 coins exceeds our maximum allowable transaction size, please retry spend using 6 or less coins + Dans quelques rares cas, une dépense de 7 monnaies dépasse la taille maximale autorisée pour une transation, SVP réessayez en choisissant 6 monnaies ou moins + + + Specify custom backup path to add a copy of any automatic xION backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. If backuppath is set as well, 4 backups will happen + Spécifier un chemin de sauvegarde personnalisé pour y ajouter les sauvegardes automatiques xION. S'il est paramétré comme un dossier, chaque sauvegarde génère un fichier horodaté. S'il est paramétré comme fichier, chaque sauvegarde écrasera la précédente. Si le chemin de la sauvegarde est défini, il y aura 4 versions de sauvegardes + + + Specify custom backup path to add a copy of any wallet backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. + Spécifier un chemin de sauvegarde personnalisé pour y ajouter les sauvegardes automatiques xION. S'il est paramétré comme un dossier, chaque sauvegarde génère un fichier horodaté. S'il est paramétré comme fichier, chaque sauvegarde écrasera la précédente. + + + SwiftX requires inputs with at least 6 confirmations, you might need to wait a few minutes and try again. + SwiftX requiert des entrées avec un minimum de 6 confirmations, attendez quelques minutes et réessayez. + + + <category> can be: + <category> peut être: + + + Attempt to force blockchain corruption recovery + Tenter de forcer la restauration d'une chaine de bloc corrompue + + + CoinSpend: Accumulator witness does not verify + CoinSpend: le témoin d'accumulateur ne vérifie pas + + + Display the stake modifier calculations in the debug.log file. + Afficher les calculs du modificateur de mise dans le fichier debug.log. + + + Display verbose coin stake messages in the debug.log file. + Afficher des messages détaillés dans le fichier debug.log. + + + Enable publish hash block in <address> + Activer la publication du bloc de hachage dans <address> + + + Enable publish hash transaction in <address> + Activer la publication d'une transaction de hachage dans <address> + + + Enable publish raw block in <address> + Activer la publication du bloc brut dans <address> + + + Enable publish raw transaction in <address> + Activer la publication des transactions brutes dans <address> + Enable staking functionality (0-1, default: %u) Activer la fonctionnalité de staking (0-1, par défaut: %u) @@ -4559,6 +5852,34 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Failed to create mint Impossible de créer la monnayer + + Failed to find Zerocoins in wallet.dat + Impossible de trouver un Zerocoin dans le portefeuille wallet.dat + + + Failed to select a zerocoin + Impossible de sélectionner un zerocoin + + + Failed to wipe zerocoinDB + Impossible de nettoyer zerocoinDB + + + Failed to write coin serial number into wallet + Impossible d'écrire le numéro de série de la monnaie dans le portefeuille + + + Keep at most <n> unconnectable transactions in memory (default: %u) + Conserver au maximum <n> transactions non connectables en mémoire (par défaut: %u) + + + Last Obfuscation was too recent. + La dernière Obfuscation est trop récente. + + + Last successful Obfuscation action was too recent. + La dernière Obfuscation réussie est trop récente. + Limit size of signature cache to <n> entries (default: %u) Limiter la taille du cache de signature à <n> entrées (par défaut: %u) @@ -4600,8 +5921,8 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Chargement des sporks... - Loading wallet... (%3.1f %%) - Chargement du portefeuille... (%3.1f %%) + Loading wallet... (%3.2f %%) + Chargement du portefeuille... (%3.2f %%) Loading wallet... @@ -4611,6 +5932,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Location of the auth cookie (default: data dir) Emplacement du cookie d'authentification (par défaut: répertoire de données) + + Lock is already in place. + Le vérouillage est déjà actif. + + + Lock masternodes from masternode configuration file (default: %u) + Verrouiller les masternodes à partir du fichier de configuration masternode (par défaut: %u) + Lookup(): Invalid -proxy address or hostname: '%s' Lookup(): adresse-proxy ou nom d'hôte non valide: '%s' @@ -4631,6 +5960,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Masternode: Masternode: + + Maximum per-connection receive buffer, <n>*1000 bytes (default: %u) + Tampon de réception maximum par connexion, * 1000 octets (par défaut: %u) + + + Maximum per-connection send buffer, <n>*1000 bytes (default: %u) + Tampon d'envoi maximum par connexion, <n>* 1000 octets (par défaut: %u) + Mint did not make it into blockchain Monnayés ne pas fait entre dans la blockchain @@ -4647,6 +5984,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Need address because change is not exact Nécessite une adresse pour rendre la monnaie + + Need to specify a port with -whitebind: '%s' + Nécessite de vérifier un port avec -whitebind: '%s' + No Masternodes detected. Aucun Masternode détecté. @@ -4655,6 +5996,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai No compatible Masternode found. Aucun Masternode compatible trouvé. + + No funds detected in need of denominating. + Aucun fonds détecté nécessitant une dénomination. + No matching denominations found for mixing. Aucune dénomination adéquate trouvée pour le mélange. @@ -4715,10 +6060,18 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Password for JSON-RPC connections Mot de passe pour les connexions JSON-RPC + + isValid(): Invalid -proxy address or hostname: '%s' + isValid(): adresses -proxy ou hostname invalides: '%s' + Preparing for resync... Préparation à la resynchronistaion... + + Prepend debug output with timestamp (default: %u) + Ajouter une sortie de débogage avec l'horodatage (par défaut: %u) + Print version and exit Imprimer la version est quitter @@ -4727,6 +6080,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai RPC server options: Options serveur RPC: + + Randomly drop 1 of every <n> network messages + Déposer aléatoirement 1 message tous les <n> messages du réseau + + + Randomly fuzz 1 of every <n> network messages + Couvrir aléatoirement 1 message tous les <n> messages du réseau + Rebuild block chain index from current blk000??.dat files Reconstruire l'index de la chaîne de blocs à partir des fichiers blk000 ??.dat courants @@ -4739,6 +6100,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Reindex the accumulator database Réindexer la base de données des accumulateurs + + Relay and mine data carrier transactions (default: %u) + Relayer et miner les transactions de support de données (par défaut: %u) + + + Relay non-P2SH multisig (default: %u) + Relayer les multisignatures non-P2SH (par défaut: %u) + Rescan the block chain for missing wallet transactions Rescanner la chaîne de blocs pour retrouver les transactions manquantes dans le portefeuille @@ -4749,7 +6118,11 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai ResetMintZerocoin finished: - ResetMonnayerZerocoin terminé: + ResetMintZerocoin terminé: + + + ResetSpentZerocoin finished: + ResetSpentZerocoin terminé: Run a thread to flush wallet periodically (default: %u) @@ -4799,6 +6172,22 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Set the masternode private key Définir la clé privée masternode + + Set the number of threads to service RPC calls (default: %d) + Définir le nombre de threads pour traiter les appels RPC (par défaut: %d) + + + Sets the DB_PRIVATE flag in the wallet db environment (default: %u) + Définit l'indicateur DB_PRIVATE dans l'environnement db du portefeuille (défaut: %u) + + + Show all debugging options (usage: --help -help-debug) + Afficher toutes les options de déboguage (utilisation: -help -help-debug) + + + Shrink debug.log file on client startup (default: 1 when no -debug) + Réduire le fichier debug.log au démarrage du client (défaut: 1 quand pas de -debug) + Signing failed. La signature a échoué. @@ -4839,6 +6228,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Specify your own public address Indiquez votre propre adresse publique + + Spend Valid + Dépenser Valide + Spend unconfirmed change when sending transactions (default: %u) Dépenser la monnaie non confirmée lors de l'envoi de transactions (par défaut: %u) @@ -4847,6 +6240,14 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Staking options: Options de staking: + + Stop running after importing blocks from disk (default: %u) + Arrêter l'exécution après l'importation des blocs du disque (défaut: %u) + + + Submitted following entries to masternode: %u / %d + Entrées soumises au masternode: %u / %d + Submitted to masternode, waiting for more entries ( %u / %d ) %s Soumis au masternode, en attente d'entrées supplémentaires ( %u / %d ) %s @@ -4867,6 +6268,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Synchronization pending... Synchronisation en attente... + + Synchronizing budgets... + Synchronisation des budgets... + Synchronizing masternode winners... Synchronisation des masternodes gagnants... @@ -4887,14 +6292,6 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai The coin spend has been used La dépense en pièces a été utilisée - - The new spend coin transaction did not verify - La nouvelle transaction de pièces n'a pas été vérifiée - - - The selected mint coin is an invalid coin - La pièce de monnaie sélectionnée est une pièce invalide - The transaction did not verify La transaction n'a pas été vérifiée @@ -4945,7 +6342,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Transaction amounts must be positive - Le montant de la transaction doit être posiftif + Le montant de la transaction doit être positif Transaction created successfully. @@ -5023,6 +6420,10 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Use the test network Utiliser le réseau test + + User Agent comment (%s) contains unsafe characters. + Le commentaire de l'Agent Utilisateur (%s) contient des caractères non sécurisés. + Username for JSON-RPC connections Nom d'utilisateur pour les connections JSON-RPC @@ -5043,18 +6444,13 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Verifying wallet... Vérification du portefeuille... - - Version 1 xION require a security level of 100 to successfully spend. - La version 1 de xION requiert un niveau de sécurité de 100 pour les dépenser. - - Wallet is locked. Le portefeuille est vérouillé. - Wallet needed to be rewritten: restart Ion Core to complete - Le portefeuille doit être réécrit: redémarrez Ion Core pour terminer + Wallet needed to be rewritten: restart ION Core to complete + Le portefeuille doit être réécrit: redémarrez ION Core pour terminer Wallet options: @@ -5110,7 +6506,7 @@ Soit monnayer des dénominations plus élevées (moins d'intrants sont nécessai Zerocoin options: - Options de Zerocoin: + Options Zerocoin: on startup diff --git a/src/qt/locale/ion_hi_IN.ts b/src/qt/locale/ion_hi_IN.ts index c61bb08fefdb4..396883404caf2 100644 --- a/src/qt/locale/ion_hi_IN.ts +++ b/src/qt/locale/ion_hi_IN.ts @@ -13,6 +13,10 @@ Choose the address to receive coins with सिक्कों को प्राप्त करने के लिए पता चुनें + + These are your ION addresses for sending payments. Always check the amount and the receiving address before sending coins. + पहले इस्तेमाल किए गए पते को चुनें + AddressTableModel @@ -92,6 +96,9 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog @@ -156,6 +163,9 @@ मध्यम + + ProposalFrame + QObject @@ -209,6 +219,10 @@ Message संदेश + + Address + पता + SendCoinsDialog diff --git a/src/qt/locale/ion_hr.ts b/src/qt/locale/ion_hr.ts index 4c1b5355aad39..97ffadaf9b498 100644 --- a/src/qt/locale/ion_hr.ts +++ b/src/qt/locale/ion_hr.ts @@ -269,6 +269,18 @@ Copy the current signature to the system clipboard Kopirajte trenutačni potpis u međuspremnik sustava + + Reset all fields + Resetiraj sva polja + + + The encrypted private key + Šifrirani privatni ključ + + + Decrypt the entered key using the passphrase + Dešifriraj uneseni ključ pomoću zaporke + Encrypt &Key Šifriranje &Ključ @@ -580,6 +592,10 @@ %1 behind. Scanning block %2 %1 iza. Skeniranje blokiranjem %2 + + Tor is <b>enabled</b>: %1 + Tor je <b> omogućen <b>: %1 + &File &Datoteka @@ -601,8 +617,8 @@ Alatna traka kartica - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -625,12 +641,12 @@ Pregledajte masternode - &About Ion Core - & O Ion Coreu + &About ION Core + & O ION Coreu - Show information about Ion Core - Prikaz informacija o Ion Coreu + Show information about ION Core + Prikaz informacija o ION Coreu Modify configuration options for ION @@ -653,8 +669,32 @@ Šifriranje i dešifriranje privatnih ključeva pomoću zaporke - Ion Core client - Ion Core klijent + &MultiSend + &MultiSend + + + MultiSend Settings + MultiSend postavke + + + Open Wallet &Configuration File + Otvori novčanik i konfiguracijsku datoteku + + + Open Masternode configuration file + Otvori konfiguracijsku datoteku za Masternode + + + ION Core client + ION Core klijent + + + Importing blocks from disk... + Unos blokova s diska + + + Up to date + Ažurirano Error @@ -668,13 +708,41 @@ Information Informacija + + Sent transaction + Poslana transakcija + + + Incoming transaction + Nadolazeća tranksakcija + + + Active + Aktivan + + + Not Active + Neaktivan + BlockExplorer + + Back + Povratak + + + Forward + Naprijed + Address / Block / Transaction Adresa / Blok / Transakcija + + Search + Traži + ClientModel @@ -693,10 +761,42 @@ Priority: Prioritet: + + Fee: + Naknada: + + + After Fee: + Nakon naknade: + + + Change: + Ostatak: + + + (un)select all + (od)znači sve + + + Tree mode + Stablo prikaz + + + List mode + Popis prikaz + + + (1 locked) + (1 zaključan) + Amount Iznos + + Received with address + Primljeno s adresom + Type Tip @@ -713,6 +813,10 @@ Confirmed Potvrđeno + + Priority + Prioritet + Copy address Kopiraj adrese @@ -725,10 +829,66 @@ Copy amount Kopiraj iznos + + Copy transaction ID + Kopiraj ID transakcije + + + Lock unspent + Zaključaj neiskorišteno + + + Unlock unspent + Otključaj neiskorišteno + Copy quantity Kopiraj količinu + + Copy fee + Kopiraj naknadu + + + Copy after fee + Kopiraj nakon naknade + + + Copy change + Kopiraj naknadu + + + highest + Najviši + + + higher + viši + + + high + visok + + + medium-high + srednje-visoki + + + medium + Srednji + + + low + nizak + + + lower + niži + + + lowest + najniži + yes da @@ -741,25 +901,36 @@ (no label) (nema oznake) - + + (change) + (ostatak) + + EditAddressDialog FreespaceChecker + + GovernancePage + + 0 + 0 + + HelpMessageDialog - Ion Core - Ion Core + ION Core + ION Core Intro - Ion Core - Ion Core + ION Core + ION Core Error @@ -776,6 +947,10 @@ Status Status + + Active + Aktivan + 0 0 @@ -859,10 +1034,22 @@ Priority: Prioritet: + + Fee: + Naknada: + no ne + + medium + Srednji + + + Change: + Ostatak: + Copy quantity Kopiraj količinu @@ -872,6 +1059,9 @@ Kopiraj iznos + + ProposalFrame + QObject @@ -886,6 +1076,10 @@ N/A N/A + + ION Core + ION Core + QRImageWidget @@ -963,6 +1157,10 @@ Copy amount Kopiraj iznos + + Copy address + Kopiraj adrese + ReceiveRequestDialog @@ -1013,6 +1211,10 @@ Message Poruka + + Address + Adresa + Amount Iznos @@ -1040,10 +1242,26 @@ Priority: Prioritet: + + medium + Srednji + + + Fee: + Naknada: + no ne + + After Fee: + Nakon naknade: + + + Change: + Ostatak: + 0 ION 0 ION @@ -1068,6 +1286,18 @@ Copy amount Kopiraj iznos + + Copy fee + Kopiraj naknadu + + + Copy after fee + Kopiraj nakon naknade + + + Copy change + Kopiraj naknadu + %1 to %2 %1 do %2 @@ -1111,8 +1341,8 @@ ShutdownWindow - Ion Core is shutting down... - Ion Core se gasi... + ION Core is shutting down... + ION Core se gasi... @@ -1197,8 +1427,8 @@ SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -1291,6 +1521,10 @@ Copy amount Kopiraj iznos + + Copy transaction ID + Kopiraj ID transakcije + Comma separated file (*.csv) Comma separated file (*.csv) @@ -1361,13 +1595,77 @@ Information Informacija + + Options: + Mogućnosti: + + + Synchronization failed + Sinkronizacija neuspjela + + + Synchronization finished + Usklađivanje završeno + + + Synchronization pending... + Sinkronizacija je na čekanju... + + + Synchronizing budgets... + Usklađivanje proračuna... + + + This is experimental software. + Ovo je eksperimentalan softver. + + + Transaction Created + Transakcija stvorena + + + Transaction not valid. + Transakcija nije valjana. + + + Transaction too large for fee policy + Transakcija je prevelika za trenutnu naknadu + + + Transaction too large + Transakcija je prevelika + + + Unable to find transaction containing mint + Nije moguće pronaći transakciju koja sadrži novcic + Use the test network Koristi testnu mrežu + + Verifying blocks... + Provjera blokova... + + + Verifying wallet... + Provjera novčanika... + + + Wallet is locked. + Novčanik je zaključan. + + + Wallet options: + Opcije novčanika: + Warning Upozorenje + + Zerocoin options: + Zerocoin opcije: + \ No newline at end of file diff --git a/src/qt/locale/ion_hr_HR.ts b/src/qt/locale/ion_hr_HR.ts index 133945adac94b..de2fa604583b9 100644 --- a/src/qt/locale/ion_hr_HR.ts +++ b/src/qt/locale/ion_hr_HR.ts @@ -251,7 +251,7 @@ Address: - Adresa: + Adresa: Enter a ION Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key. @@ -608,10 +608,6 @@ &Command-line options Opcije naredbene linije - - Processed %n blocks of transaction history. - Obrađeno %n blokova povijesti transakcija.Obrađeno %n blokova povijesti transakcija.Obrađeno %n blokova povijesti transakcija. - Synchronizing additional data: %p% Usklađivanje dodatnih podataka: %p% @@ -645,8 +641,8 @@ Alatna traka kartica - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +665,12 @@ Pretraži masternodes - &About Ion Core - O Ion Core + &About ION Core + O ION Core - Show information about Ion Core - Prikaz informacija o Ion Core-u + Show information about ION Core + Prikaz informacija o ION Core-u Modify configuration options for ION @@ -729,17 +725,13 @@ Prozor Block preglednika - Show the Ion Core help message to get a list with possible ION command-line options - Pokažite poruku Ion Core pomoći da biste dobili popis s mogućim ION opcijama naredbenog retka + Show the ION Core help message to get a list with possible ION command-line options + Pokažite poruku ION Core pomoći da biste dobili popis s mogućim ION opcijama naredbenog retka - Ion Core client + ION Core client IONIX Core Klijent - - %n active connection(s) to ION network - %n aktivne veze na ION mrežu%n aktivne veze na ION mrežu%n aktivne veze na ION mrežu - Synchronizing with network... Sinkronizacija s mrežom... @@ -760,26 +752,10 @@ Up to date Ažurirano - - %n hour(s) - %n sati%n sati%n sati - - - %n day(s) - %n dana%n dana%n dana - - - %n week(s) - %n tjedni%n tjedni%n tjedni - %1 and %2 %1 i %2 - - %n year(s) - %n godine%n godine%n godine - Catching up... Nadoknađivanje @@ -836,7 +812,7 @@ Višestruko slanje: %1 Active - Aktivno + Aktivno Not Active @@ -864,7 +840,7 @@ Višestruko slanje: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Novčanik je 1. šifriran 1. i trenutno 2. zaključan 2. - + BlockExplorer @@ -1224,6 +1200,17 @@ Višestruko slanje: %1 Ovdje nije moguće stvoriti direktorij za podatke. + + GovernancePage + + Form + Obrazac + + + 0 + 0 + + HelpMessageDialog @@ -1231,16 +1218,16 @@ Višestruko slanje: %1 verzija - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - O Ion Core + About ION Core + O ION Core Command-line options @@ -1286,16 +1273,16 @@ Višestruko slanje: %1 Dobrodošli - Welcome to Ion Core. - Dobrodošli u Ion Core. + Welcome to ION Core. + Dobrodošli u ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Budući da je prvi put pokrenut program, možete odabrati gdje će Ion Core pohraniti svoje podatke. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Budući da je prvi put pokrenut program, možete odabrati gdje će ION Core pohraniti svoje podatke. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core preuzima i pohranjuje kopiju ION blok-lanca. Barem će %1GB podataka biti pohranjeno u ovom direktoriju i to će s vremenom rasti. Novčanik će također biti pohranjena u ovom direktoriju. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core preuzima i pohranjuje kopiju ION blok-lanca. Barem će %1GB podataka biti pohranjeno u ovom direktoriju i to će s vremenom rasti. Novčanik će također biti pohranjena u ovom direktoriju. Use the default data directory @@ -1306,8 +1293,8 @@ Višestruko slanje: %1 Koristite prilagođeni direktorij podataka: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1541,47 +1528,10 @@ MultiSend neće biti aktiviran dok ne kliknete Aktiviraj (no label) (bez oznake) - - The entered address: - - Unesena adresa: - - - is invalid. -Please check the address and try again. - je netočna. -Provjerite adresu i pokušajte ponovo. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - Ukupna količina vašeg MultiSend vektora iznosi preko 100% vaše nagrade uloga - - Please Enter 1 - 100 for percent. Unesite 1 - 100 za postotak. - - Saved the MultiSend to memory, but failed saving properties to the database. - - Spremio je MultiSend u memoriju, ali nije spasio svojstva u bazi podataka. - - - MultiSend Vector - - MultiSend Vektor - - - - Removed - Uklonjeno - - - Could not locate address - - Nije moguće pronaći adresu - MultisigDialog @@ -1779,32 +1729,32 @@ Budite strpljivi nakon što kliknete uvoz. Odaberi razinu privatnosti. - Use 2 separate masternodes to mix funds up to 10000 ION - Koristite 2 odvojene masternode za miješanje sredstava do 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Koristite 2 odvojene masternode za miješanje sredstava do 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Koristite 8 zasebnih masternoda za miješanje sredstava do 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Koristite 8 zasebnih masternoda za miješanje sredstava do 20000 ION Use 16 separate masternodes Koristite 16 zasebnih masternodova - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Ova je opcija najbrža i košta oko 0,025 ION da anonimizira 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Ova je opcija najbrža i košta oko 0,025 ION da anonimizira 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Ova je opcija umjereno brza i košta oko 0,05 ION da anonimizira 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Ova je opcija umjereno brza i košta oko 0,05 ION da anonimizira 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Ovo je najsporiji i najsigurniji izbor. Korištenje maksimalne anonimnosti košta - 0.1 ION per 10000 ION you anonymize. - 0,1 ION po 10000 ION za anonimizaciju. + 0.1 ION per 20000 ION you anonymize. + 0,1 ION po 20000 ION za anonimizaciju. Obfuscation Configuration @@ -2485,18 +2435,6 @@ xION su zreli kada imaju više od 20 potvrda I više od 2 mint od iste denominac 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Razina sigurnosti za Zerocoin transakcije. Više je bolje, ali treba više vremena i resursa. - - - Security Level: - Razina sigurnosti: - - - Security Level 1 - 100 (default: 42) - Razina sigurnosti 1 - 100 (zadano: 42) - Pay &To: Platiti: @@ -2772,14 +2710,6 @@ Promjena postotka (nije potrebno ponovno pokretanje): Please be patient... Pokretanje ResetMintZerocoin: ponovno skeniranje potpunog blockchain, to će trajati i do 30 minuta, ovisno o vašem hardveru. - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Potrošnja Zerocoina. -Zahtjevan izračun, možda će trebati nekoliko minuta ovisno o odabranoj razini sigurnosti i vašem hardveru. -Budite strpljivi ... - ) needed. Maximum allowed: @@ -2949,22 +2879,10 @@ Maksimalno dopušteno: to a newly generated (unused and therefore anonymous) local address <br /> na novo generiranu (neiskorištenu i stoga anonimnu) lokalnu adresu - - with Security Level - s razinom sigurnosti - Confirm send coins Potvrdite slanje novca - - Version 1 xION require a security level of 100 to successfully spend. - Verzija 1 xION zahtjeva sigurnosnu razinu 100 da se uspješno utroši. - - - Failed to spend xION - Neuspjelo trošenje xION - Failed to fetch mint associated with serial hash Neuspjelo dohvaćanje minta asociranog s serijskim hashom @@ -2982,11 +2900,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Spend Zerocoin failed with status = Utrošak Zerocoina nije uspjela s statusom = - - PrivacyDialog - Enter an amount of ION to convert to xION - PrivacyDialogPrivacyDialogPrivacyDialog - denomination: denominacija: @@ -3020,6 +2933,9 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou naknada: + + ProposalFrame + QObject @@ -3070,7 +2986,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou %1 ms %1 ms - + + ION Core + ION Core + + QRImageWidget @@ -3433,10 +3353,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Confirm resync Blockchain Potvrdite resync Blockchain - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Upotrijebite strelice gore i dolje za kretanje po povijesti, a Ctrl-L za brisanje zaslona. - Type <b>help</b> for an overview of available commands. Upišite pomoć za pregled dostupnih naredbi. @@ -3508,6 +3424,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional label to associate with the new receiving address. Dodatna oznaka za povezivanje s novom adresom primatelja. + + A&mount: + Količina: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Dodatna poruka priložena zahtjevu za plaćanje, koji će se prikazati kada se zahtjev otvori. Napomena: poruka neće biti poslana s plaćanjem putem ION mreže. @@ -3532,10 +3452,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional amount to request. Leave this empty or zero to not request a specific amount. Neobavezna količina za zahtjev. Ostavite ovo prazno ili nulu da ne zatražite određeni iznos. - - &Amount: - Iznos: - &Request payment Zatraži plaćanje @@ -3580,6 +3496,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Copy amount Kopiraj iznos + + Copy address + Kopiraj adresu + ReceiveRequestDialog @@ -3651,6 +3571,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Message Poruka + + Address + Adresa + Amount Iznos @@ -3936,10 +3860,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou A fee %1 times higher than %2 per kB is considered an insanely high fee. Naknada %1 puta veća od %2 po kB smatra se nerazumljivo visokom naknadom. - - Estimated to begin confirmation within %n block(s). - Procijenjeno za početak potvrde u%n blokova.Procijenjeno za početak potvrde u%n blokova.Procijenjeno za početak potvrde u %n blokova. - The recipient address is not valid, please recheck. Adresa primatelja nije važeća, ponovo provjerite. @@ -4079,8 +3999,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou ShutdownWindow - Ion Core is shutting down... - Ion Core se zatvara ... + ION Core is shutting down... + ION Core se zatvara ... Do not shut down the computer until this window disappears. @@ -4229,8 +4149,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -4245,8 +4165,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Dash Core programeri - The Ion Core developers - Ion Core programeri + The ION Core developers + ION Core programeri [testnet] @@ -4262,10 +4182,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou TransactionDesc - - Open for %n more block(s) - Otvori se za %n više blokovaOtvori se za %n više blokovaOtvori se za %n više blokova - Open until %1 Otvori dok %1 @@ -4326,10 +4242,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou , has not been successfully broadcast yet , još nije uspješno emitiran - - , broadcast through %n node(s) - , emitiraju se preko %n čvorova, emitiraju se preko %n čvorova, emitiraju se preko %n čvorova - Date Datum @@ -4370,10 +4282,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Credit Kredit - - matures in %n more block(s) - sazrijeva se u %n više blokovasazrijeva se u %n više blokovasazrijeva se u %n više blokova - not accepted nije prihvaćeno @@ -4473,10 +4381,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Address Adresa - - Open for %n more block(s) - Otvori se za %n više blokovaOtvori se za %n više blokovaOtvori se za %n više blokova - Open until %1 Otvori dok %1 @@ -4879,11 +4783,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Select/Deselect All Odaberite/poništi odabir za Sve - - Is Spendable - Je moguće utrošiti - - + ion-core @@ -4911,8 +4811,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Izračunata kontrolna točka akumulatora nije ono što se bilježi indeksom blokova - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - Nije moguće dobiti zaključavanje na direktoriju podataka %s. Ion Core vjerojatno već radi. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Nije moguće dobiti zaključavanje na direktoriju podataka %s. ION Core vjerojatno već radi. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -5087,20 +4987,20 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Ovaj proizvod uključuje softver razvijen od strane OpenSSL projekta za uporabu u OpenSSL Toolkitu i kriptografskom softveru kojeg je napisao Eric Young i UPnP softver koji je napisao Thomas Bernard. - Unable to bind to %s on this computer. Ion Core is probably already running. - Nije moguće vezati se na %s na ovom računalu. Ion Core vjerojatno već radi. + Unable to bind to %s on this computer. ION Core is probably already running. + Nije moguće vezati se na %s na ovom računalu. ION Core vjerojatno već radi. Unable to locate enough Obfuscation denominated funds for this transaction. Nije moguće locirati dovoljno sredstava s domenom Prikrivanja za tu transakciju. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Nije moguće pronaći dovoljno prikrivenih sredstava koja nisu denominirana za ovu transakciju koja nisu jednaka 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Nije moguće pronaći dovoljno prikrivenih sredstava koja nisu denominirana za ovu transakciju koja nisu jednaka 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Nije moguće pronaći dovoljno sredstava za ovu transakciju koja nije jednaka 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Nije moguće pronaći dovoljno sredstava za ovu transakciju koja nije jednaka 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5115,8 +5015,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Upozorenje: -paytxfee je vrlo visoka! To je transakcijska naknada koju ćete platiti ako šaljete transakciju. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - Upozorenje: Provjerite jesu li datum i vrijeme vašeg računala točni! Ako je vaš sat pogrešan, Ion Core neće raditi ispravno. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Upozorenje: Provjerite jesu li datum i vrijeme vašeg računala točni! Ako je vaš sat pogrešan, ION Core neće raditi ispravno. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -5271,8 +5171,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Autorska prava (C) 2015-%i The PIVX Core Developers - Copyright (C) 2018-%i The Ion Core Developers - Autorska prava (C) 2018-%i The Ion Core Developers + Copyright (C) 2018-%i The ION Core Developers + Autorska prava (C) 2018-%i The ION Core Developers Corrupted block database detected @@ -5360,7 +5260,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Pogreška pri učitavanju wallet.dat: novčanik oštećen - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core Pogreška prilikom učitavanja wallet.dat: Novčanik zahtijeva noviju verziju ION jezgre @@ -5375,6 +5275,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Error recovering public key. Pogreška prilikom vraćanja javnog ključa. + + Error writing zerocoinDB to disk + Greška u zapisivanju zerocoinDB na disk + Error Greška @@ -5476,8 +5380,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Informacije - Initialization sanity check failed. Ion Core is shutting down. - Provjera ispravnosti inicijalizacije nije uspjela. Ion Core se zatvara. + Initialization sanity check failed. ION Core is shutting down. + Provjera ispravnosti inicijalizacije nije uspjela. ION Core se zatvara. Input is not valid. @@ -5686,10 +5590,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Failed to create mint Nije uspjelo kovanje - - Failed to deserialize - Deserializiranje nije uspjelo - Failed to find Zerocoins in wallet.dat Neuspjelo pronalaženje Zerocoina u wallet.dat @@ -5759,8 +5659,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Učitavanje aplikacije ... - Loading wallet... (%3.1f %%) - Učitavanje novčanika ... (%3.1f %%) + Loading wallet... (%3.2f %%) + Učitavanje novčanika ... (%3.2f %%) Loading wallet... @@ -6130,14 +6030,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou The coin spend has been used Korištena je potrošnja novčića - - The new spend coin transaction did not verify - Nova transakcija potrošnje novca nije potvrđena - - - The selected mint coin is an invalid coin - Odabrano je kovanje novčića za nevažeći novčić - The transaction did not verify Transakcija nije potvrđena @@ -6286,10 +6178,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Verifying wallet... Provjera novčanika... - - Version 1 xION require a security level of 100 to successfully spend. - Verzija 1 xION zahtjeva sigurnosnu razinu 100 da se uspješno utroši. - Wallet %s resides outside data directory %s Novčanik %s nalazi se izvan direktorija podataka %s @@ -6299,8 +6187,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Novčanik zaključan. - Wallet needed to be rewritten: restart Ion Core to complete - Potrebno je prepisati novčanik: ponovo pokrenite Ion Core + Wallet needed to be rewritten: restart ION Core to complete + Potrebno je prepisati novčanik: ponovo pokrenite ION Core Wallet options: diff --git a/src/qt/locale/ion_it.ts b/src/qt/locale/ion_it.ts index 5dd1ac69a0d6f..edad1d38ad1ab 100644 --- a/src/qt/locale/ion_it.ts +++ b/src/qt/locale/ion_it.ts @@ -608,10 +608,6 @@ &Command-line options Opzioni riga di &Comando - - Processed %n blocks of transaction history. - Elaborato 1 blocco dalla cronologia delle transazioniElaborati %n blocchi dalla cronologia delle transazioni. - Synchronizing additional data: %p% Sincronizzazione dati addizionali: %p% @@ -645,8 +641,8 @@ Schede degli strumenti - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +665,12 @@ Esplora i masternodes - &About Ion Core - &Informazioni Ion Core + &About ION Core + &Informazioni ION Core - Show information about Ion Core - Visualizza informazioni su Ion Core + Show information about ION Core + Visualizza informazioni su ION Core Modify configuration options for ION @@ -729,16 +725,12 @@ Finestra Block Explorer - Show the Ion Core help message to get a list with possible ION command-line options - Mostra il messaggio di aiuto Ion Core per ottenere un elenco con le possibili opzioni di riga di comando ION + Show the ION Core help message to get a list with possible ION command-line options + Mostra il messaggio di aiuto ION Core per ottenere un elenco con le possibili opzioni di riga di comando ION - Ion Core client - Ion Core - - - %n active connection(s) to ION network - %n connessione attiva alla rete IONIX%n connessioni attive alla rete IONIX + ION Core client + ION Core Synchronizing with network... @@ -760,26 +752,10 @@ Up to date Aggiornato - - %n hour(s) - %n ora%n ore - - - %n day(s) - %n giorno%n giorni - - - %n week(s) - %n settimana%n settimane - %1 and %2 %1 e %2 - - %n year(s) - %n anno%n anni - Last received block was generated %1 ago. L'ultimo blocco ricevuto è stato generato %1 fa. @@ -860,7 +836,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Il portafoglio è <b>crittografato</b> e attualmente <b>bloccato</b> - + BlockExplorer @@ -1212,6 +1188,17 @@ MultiSend: %1 Impossibile creare la cartella dati qui. + + GovernancePage + + Form + Modulo + + + 0 + 0 + + HelpMessageDialog @@ -1219,16 +1206,16 @@ MultiSend: %1 versione - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - Informazioni su Ion Core + About ION Core + Informazioni su ION Core Command-line options @@ -1274,16 +1261,16 @@ MultiSend: %1 Benvenuto - Welcome to Ion Core. + Welcome to ION Core. Benvenuto in IONIX Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Essendo il primo avvio dell'applicazione, puoi scegliere dove Ion Core salverà i propri dati. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Essendo il primo avvio dell'applicazione, puoi scegliere dove ION Core salverà i propri dati. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core scaricherà e salverà una copia della blockchain ION. Verranno salvati almeno %1GB di dati in questa cartella, che cresceranno nel tempo. In questa cartella verrà salvato anche il portafoglio. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core scaricherà e salverà una copia della blockchain ION. Verranno salvati almeno %1GB di dati in questa cartella, che cresceranno nel tempo. In questa cartella verrà salvato anche il portafoglio. Use the default data directory @@ -1294,8 +1281,8 @@ MultiSend: %1 Utilizza una cartella dati personalizzata: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1529,49 +1516,10 @@ MultiSend non verrà attivato a meno che tu non prema su Attiva (no label) (nessuna etichetta) - - The entered address: - - L'indirizzo immesso: - - - is invalid. -Please check the address and try again. - è invalido. -Per favore controlla l'indirizzo e riprova nuovamente. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - L'ammontare totale del tuo vettore MultiSend è superiore al 100% della tua ricompensa per lo stake - - Please Enter 1 - 100 for percent. Per favore inserisci 1 - 100 come percentuale. - - Saved the MultiSend to memory, but failed saving properties to the database. - - MultiSend è stato salvato con successo in memoria, ma il salvataggio delle proprietà nel database non è andato a buon fine. - - - - MultiSend Vector - - Vettore InvioMultiplo - - - - Removed - Eliminato - - - Could not locate address - - Impossibile trovare l'indirizzo - - MultisigDialog @@ -1671,12 +1619,12 @@ Per favore controlla l'indirizzo e riprova nuovamente. Configura Offuscamento - Use 2 separate masternodes to mix funds up to 10000 ION - Usa 2 masternodi diversi per mescolare fino a 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Usa 2 masternodi diversi per mescolare fino a 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Usa 8 masternodi diversi per mixare fino a 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Usa 8 masternodi diversi per mixare fino a 20000 ION Use 16 separate masternodes @@ -1875,7 +1823,7 @@ Se il conio automatico è attivato questa percentuale si stabilizzerà all'incir AutoMint is currently enabled and set to - AutoMint è attivo e impostato su + Conio automatico è attivo e impostato su To disable AutoMint add 'enablezeromint=0' in ioncoin.conf. @@ -2174,7 +2122,7 @@ Per cambiare la percentuale (riavvio non necessario): Fee: - Tassa: + Commissione: Dust: @@ -2192,6 +2140,10 @@ Per cambiare la percentuale (riavvio non necessario): Insufficient funds! Fondi insufficienti! + + medium + media + Amount After Fee: Importo al netto della commissione: @@ -2226,7 +2178,7 @@ Per cambiare la percentuale (riavvio non necessario): Confirm send coins - Converma invio monete + Conferma invio monete Sending successful, return code: @@ -2237,12 +2189,19 @@ Per cambiare la percentuale (riavvio non necessario): commissione + + ProposalFrame + QObject Amount Ammontare + + ION Core + ION Core + QRImageWidget @@ -2268,6 +2227,10 @@ Per cambiare la percentuale (riavvio non necessario): ReceiveCoinsDialog + + A&mount: + Q&uantità: + &Label: &Etichetta: @@ -2280,6 +2243,10 @@ Per cambiare la percentuale (riavvio non necessario): Copy amount Copia ammontare + + Copy address + Copia indirizzo + ReceiveRequestDialog @@ -2306,6 +2273,10 @@ Per cambiare la percentuale (riavvio non necessario): Label Etichetta + + Address + Indirizzo + Amount Ammontare @@ -2345,9 +2316,13 @@ Per cambiare la percentuale (riavvio non necessario): Priority: Priorità: + + medium + media + Fee: - Tassa: + Commissione: Dust: @@ -2359,7 +2334,7 @@ Per cambiare la percentuale (riavvio non necessario): After Fee: - Al netto della commissione: + Importo al netto della commissione: Change: @@ -2407,16 +2382,20 @@ Per cambiare la percentuale (riavvio non necessario): Copy fee - Copia commissioni + Copia commissione Copy after fee - Copia al netto della commissione + Copia importo al netto della commissione Copy bytes Copia byte + + Copy priority + Copia priorità + Copy dust Copia polvere @@ -2554,8 +2533,8 @@ Per cambiare la percentuale (riavvio non necessario): SplashScreen - Ion Core - Ion Core + ION Core + ION Core diff --git a/src/qt/locale/ion_ja.ts b/src/qt/locale/ion_ja.ts index 6c5a7a9ceed1d..b560e2eb160b9 100644 --- a/src/qt/locale/ion_ja.ts +++ b/src/qt/locale/ion_ja.ts @@ -144,6 +144,9 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog @@ -188,6 +191,9 @@ PrivacyDialog + + ProposalFrame + QObject @@ -209,6 +215,10 @@ RecentRequestsTableModel + + Address + アドレス + SendCoinsDialog diff --git a/src/qt/locale/ion_ko_KR.ts b/src/qt/locale/ion_ko_KR.ts index 3ad907eab6b0c..53aee1688f13f 100644 --- a/src/qt/locale/ion_ko_KR.ts +++ b/src/qt/locale/ion_ko_KR.ts @@ -608,10 +608,6 @@ &Command-line options &명령행 옵션 - - Processed %n blocks of transaction history. - %n 블록의 거래내역 확인됨 - Synchronizing additional data: %p% 추가 데이터 동기화: %p% @@ -645,8 +641,8 @@ 탭 도구 모음 - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +665,12 @@ 마스터노드 검색 - &About Ion Core - Ion Core &정보 + &About ION Core + ION Core &정보 - Show information about Ion Core - Ion Core에 대한 정보 표시 + Show information about ION Core + ION Core에 대한 정보 표시 Modify configuration options for ION @@ -729,16 +725,12 @@ 블록 탐색 창 - Show the Ion Core help message to get a list with possible ION command-line options - Ion Core 도움말 메세지를 표시하여 사용 가능한 ION 명령행 옵션 목록 표시 + Show the ION Core help message to get a list with possible ION command-line options + ION Core 도움말 메세지를 표시하여 사용 가능한 ION 명령행 옵션 목록 표시 - Ion Core client - Ion Core 클라이언트 - - - %n active connection(s) to ION network - %n 개의 ION 네트웍에 연결됨 + ION Core client + ION Core 클라이언트 Synchronizing with network... @@ -760,26 +752,10 @@ Up to date 최신 - - %n hour(s) - %n 시간 - - - %n day(s) - %n 일 - - - %n week(s) - %n 주 - %1 and %2 %1 그리고 %2 - - %n year(s) - %n 년 - Catching up... 동기화 중... @@ -864,7 +840,7 @@ Address: %4 Wallet is <b>encrypted</b> and currently <b>locked</b> 지갑은 <b>암호화</ b>되어 있으며 현재 <b>잠겨 있습니다</ b>. - + BlockExplorer @@ -1224,6 +1200,17 @@ Address: %4 여기에 디렉토리를 만들 수 없습니다. + + GovernancePage + + Form + Form + + + 0 + 0 + + HelpMessageDialog @@ -1231,16 +1218,16 @@ Address: %4 버전 - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - Ion Core 정보 + About ION Core + ION Core 정보 Command-line options @@ -1286,16 +1273,16 @@ Address: %4 환영합니다 - Welcome to Ion Core. - Ion Core에 오신 것을 환영합니다. + Welcome to ION Core. + ION Core에 오신 것을 환영합니다. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - 이 프로그램이 처음 실행되었으므로 Ion Core가 데이터를 저장할 위치를 선택할 수 있습니다. + As this is the first time the program is launched, you can choose where ION Core will store its data. + 이 프로그램이 처음 실행되었으므로 ION Core가 데이터를 저장할 위치를 선택할 수 있습니다. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core는 ION 블록체인을 다운로드하여 저장합니다. 최소 %1GB의 데이터가 디렉토리에 저장되며 시간이 지날수록 증가합니다. 또한 지갑도 해당 디렉토리에 저장됩니다. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core는 ION 블록체인을 다운로드하여 저장합니다. 최소 %1GB의 데이터가 디렉토리에 저장되며 시간이 지날수록 증가합니다. 또한 지갑도 해당 디렉토리에 저장됩니다. Use the default data directory @@ -1306,8 +1293,8 @@ Address: %4 사용자 지정 데이터 디렉토리 사용: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1541,50 +1528,10 @@ MultiSend will not be activated unless you have clicked Activate (no label) (라벨 없음) - - The entered address: - - 입력된 주소: - - - - is invalid. -Please check the address and try again. - 올바르지 않습니다. -주소를 확인하고 다시 시도해주세요. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - 다중전송 벡터의 총 금액이 스테이크 보상 금액의 100 % 이상입니다 - - Please Enter 1 - 100 for percent. 퍼센트로 1 - 100을 입력하십시오. - - Saved the MultiSend to memory, but failed saving properties to the database. - - MultiSend를 메모리에 저장했지만 데이터베이스에 대한 속성 저장에 실패했습니다. - - - - MultiSend Vector - - 다중전송 벡터 - - - - Removed - 제거됨 - - - Could not locate address - - 주소를 찾을 수 없습니다 - - MultisigDialog @@ -1780,32 +1727,32 @@ Please be patient after clicking import. 익명화 레벨을 선택해주세요. - Use 2 separate masternodes to mix funds up to 10000 ION - 2개의 개별 마스터노드를 이용하여 최대 10000 ION 를 섞을 수 있습니다. + Use 2 separate masternodes to mix funds up to 20000 ION + 2개의 개별 마스터노드를 이용하여 최대 20000 ION 를 섞을 수 있습니다. - Use 8 separate masternodes to mix funds up to 10000 ION - 8개의 개별 마스터노드를 이용하여 최대 10000 ION 를 섞을 수 있습니다. + Use 8 separate masternodes to mix funds up to 20000 ION + 8개의 개별 마스터노드를 이용하여 최대 20000 ION 를 섞을 수 있습니다. Use 16 separate masternodes 16개의 개별 마스터노드를 사용 - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - 이 옵션은 가장 빠르게 전송되며 10000 ION 익명화에 약 ~0.025 ION의 비용이 들어갑니다. + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + 이 옵션은 가장 빠르게 전송되며 20000 ION 익명화에 약 ~0.025 ION의 비용이 들어갑니다. - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - 이 옵션은 중간 정도의 속도로 전송되며 10000 ION 익명화에 약 0.05 ION의 비용이 들어갑니다. + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + 이 옵션은 중간 정도의 속도로 전송되며 20000 ION 익명화에 약 0.05 ION의 비용이 들어갑니다. This is the slowest and most secure option. Using maximum anonymity will cost 이것은 가장 느리고 안전한 옵션입니다. 최고 익명성을 사용하면 비용이 발생합니다. - 0.1 ION per 10000 ION you anonymize. - 10000 ION 익명화에 0.1 ION 가 듭니다. + 0.1 ION per 20000 ION you anonymize. + 20000 ION 익명화에 0.1 ION 가 듭니다. Obfuscation Configuration @@ -2484,18 +2431,6 @@ xION는 성명서가 20 개 이상 있고 명칭이 동일하지 않은 2 개 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - 제로코인 전송 시큐리티 레벨. 높을수록 좋지만, 시간과 많은 자원이 필요합니다. - - - Security Level: - 시큐리티 레벨: - - - Security Level 1 - 100 (default: 42) - 시큐리티 레벨 1 - 100 (기본값: 42) - Pay &To: 지불 &대상: @@ -2718,7 +2653,7 @@ To change the percentage (no restart required): Bytes: - Bytes: + 바이트: Insufficient funds! @@ -2726,11 +2661,11 @@ To change the percentage (no restart required): Coins automatically selected - 코인 자동으로 선택됨 + 자동으로 선택됩니다. medium - 중간 + 5 중간 Coin Control Features @@ -2773,14 +2708,6 @@ To change the percentage (no restart required): Please be patient... 제로코인 생성 초기화 진행중... : 전체 블록체인을 다시 검색합니다. 하드웨어에 따라 최대 30분이 걸릴수 있습니다. 기다려주세요... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - 제로코인 전송중입니다. -시큐리티 레벨과 여러분의 하드웨어에 따라 수 분이 걸립니다. -조금만 기다려주세요... ) needed. @@ -2952,22 +2879,10 @@ Maximum allowed: to a newly generated (unused and therefore anonymous) local address <br /> 새로 생성된 개인 지갑 주소(미사용된 익명의) <br /> 로 - - with Security Level - 시큐리티 레벨 - Confirm send coins 코인 전송 확인 - - Version 1 xION require a security level of 100 to successfully spend. - xION 버전 1은 성공적으로 보내기 위해서 100 시큐리티 레벨이 필요합니다. - - - Failed to spend xION - xION 전송 실패 - Failed to fetch mint associated with serial hash Failed to fetch mint associated with serial hash @@ -2985,11 +2900,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Spend Zerocoin failed with status = 제로코인 송금 실패 상태 = - - PrivacyDialog - Enter an amount of ION to convert to xION - PrivacyDialog - denomination: 디노미네이션: @@ -3023,6 +2933,9 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou 수수료: + + ProposalFrame + QObject @@ -3073,7 +2986,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou %1 ms %1 ms - + + ION Core + ION Core + + QRImageWidget @@ -3436,10 +3353,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Confirm resync Blockchain 블록체인 동기화를 다시 하시겠습니까? - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - 위 아래 화살표를 사용하여 기록을 탐색하고 <b>Ctrl-L</b> 화면을 지웁니다. - Type <b>help</b> for an overview of available commands. 사용가능한 명령을 보려면 <b>help</b>를 입력하십시오. @@ -3511,6 +3424,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional label to associate with the new receiving address. 새로운 수신 주소와 연결할 선택적 라벨. + + A&mount: + 금&액: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. 요청이 열릴 때 표시되는 결제 요청에 첨부할 선택적 메세지 입니다. 참고: ION 네트워크를 통한 결제는 메세지가 전송되지 않습니다. @@ -3535,10 +3452,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional amount to request. Leave this empty or zero to not request a specific amount. 요청할 선택적 금액. 이 금액을 비워두거나 특정 금액을 요청하지 않으려면 0으로 두세요. - - &Amount: - &금액: - &Request payment &결제 요청 @@ -3583,6 +3496,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Copy amount 금액 복사 + + Copy address + 주소 복사 + ReceiveRequestDialog @@ -3616,7 +3533,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Address - 마스터노드 주소 + 주소 Amount @@ -3653,6 +3570,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Message 메세지 + + Address + 주소 + Amount 금액 @@ -3706,7 +3627,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou medium - 중간 + 5 중간 Fee: @@ -3936,10 +3857,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou A fee %1 times higher than %2 per kB is considered an insanely high fee. KB당 %1보다 %2배 많은 수수료는 너무 높은 수수료입니다. - - Estimated to begin confirmation within %n block(s). - %n 개의 블록 내에서 컨펌이 시작할 것으로 추정됨. - The recipient address is not valid, please recheck. 수신자 주소가 유효하지 않습니다. 다시 확인해주세요. @@ -4079,8 +3996,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou ShutdownWindow - Ion Core is shutting down... - Ion Core가 종료됩니다... + ION Core is shutting down... + ION Core가 종료됩니다... Do not shut down the computer until this window disappears. @@ -4229,8 +4146,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -4245,8 +4162,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Dash Core 개발자 - The Ion Core developers - Ion Core 개발자 + The ION Core developers + ION Core 개발자 [testnet] @@ -4262,10 +4179,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou TransactionDesc - - Open for %n more block(s) - %n 블럭 더 열기 - Open until %1 %1까지 열기 @@ -4327,10 +4240,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou , has not been successfully broadcast yet , 아직 성공적으로 브로드캐스트되지 않았습니다 - - , broadcast through %n node(s) - , %n 노드를 통한 브로드캐스트 - Date 날짜 @@ -4371,10 +4280,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Credit 크레딧 - - matures in %n more block(s) - %n 블록안에 생성됨 - not accepted 허용되지 않음 @@ -4473,10 +4378,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Address 주소 - - Open for %n more block(s) - %n 블럭 더 열기 - Open until %1 %1까지 열기 @@ -4666,7 +4567,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Received with - 수신 됨 + 수신됨 Sent to @@ -4746,7 +4647,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Confirmed - 확정 + 확정됨 Watch-only @@ -4879,11 +4780,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Select/Deselect All 전체 선택 / 해제 - - Is Spendable - 전송가능한 코인수 - - + ion-core @@ -4911,8 +4808,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou 계산된 누산기 체크포인트는 블록 인덱스에 의해 기록되는 것이 아닙니다. - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - <translation>잠겨진 데이터 디렉토리 %s 를 가져올 수 없습니다. Ion Core는 이미 실행 중입니다. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + <translation>잠겨진 데이터 디렉토리 %s 를 가져올 수 없습니다. ION Core는 이미 실행 중입니다. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -5087,20 +4984,20 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou 이 제품은 OpenSSL이 개발한 Open SSL 툴킷 <https://www.openssl.org/> 에서 사용하기 위한 프로젝트 소프트웨어, Eric Young이 개발한 암호화 소프트웨어, Thomas Bernard가 개발한 UPnP 소프트웨어가 포함되어 있습니다. - Unable to bind to %s on this computer. Ion Core is probably already running. - 이 컴퓨터를 %s 로 지정하는것은 불가능합니다. Ion Core는 이미 실행 중입니다. + Unable to bind to %s on this computer. ION Core is probably already running. + 이 컴퓨터를 %s 로 지정하는것은 불가능합니다. ION Core는 이미 실행 중입니다. Unable to locate enough Obfuscation denominated funds for this transaction. 이 트랜잭션를 위해 난독화 표기된 충분한 금액을 찾을 수 없습니다. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - 이 트랜잭션를 위해 난독화 표기가 안된 충분한 금액을 찾을 수 없습니다. 10000 ION과 일치하지 않음. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + 이 트랜잭션를 위해 난독화 표기가 안된 충분한 금액을 찾을 수 없습니다. 20000 ION과 일치하지 않음. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - 트랜잭션에 대한 충분한 금액을 찾을 수 없습니다. 10000 ION와 같지 않음 + Unable to locate enough funds for this transaction that are not equal 20000 ION. + 트랜잭션에 대한 충분한 금액을 찾을 수 없습니다. 20000 ION와 같지 않음 Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5115,7 +5012,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou 경고 : -paytxfee가 매우 높게 설정되었습니다! 이것은 전송할 경우 지불 할 트랜잭션 수수료입니다. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. 경고: 컴퓨터의 날짜와 시간이 올바르게 설정되어 있는지 확인해 주세요! 만일 시계가 잘못되어 있다면 ION 코어는 정상적으로 작동하지 않을 수 있습니다. @@ -5271,8 +5168,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Copyright (C) 2015-%i The PIVX Core 개발자 - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i The Ion Core 개발자 + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core 개발자 Corrupted block database detected @@ -5359,7 +5256,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou wallet.dat을 불러오는 중 오류가 발생했습니다: 지갑 손상됨 - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core wallet.dat를 로드하는 중 오류가 발생했습니다. 지갑에 최신 버전의 ION 코어가 필요합니다. @@ -5374,6 +5271,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Error recovering public key. 공개 키를 복구하는 중 오류가 발생했습니다. + + Error writing zerocoinDB to disk + 디스크에 zerocoinDB 쓰기 오류 + Error 에러 @@ -5410,6 +5311,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Failed to listen on any port. Use -listen=0 if you want this. 어떠한 포트에서도 수신하는 것에 실패했습니다. 원하신다면 -listen=0 을 사용하십시오. + + Failed to parse host:port string + 호스트 : 포트 문자열을 구문 분석하지 못했습니다. + Failed to read block 블록을 받아오는데 실패했습니다. @@ -5475,8 +5380,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou 정보 - Initialization sanity check failed. Ion Core is shutting down. - 초기화 정확성 검사에 실패 했습니다. Ion Core가 종료됩니다. + Initialization sanity check failed. ION Core is shutting down. + 초기화 정확성 검사에 실패 했습니다. ION Core가 종료됩니다. Input is not valid. @@ -5686,10 +5591,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Failed to create mint 생성 실패 - - Failed to deserialize - 디시리얼 실패 - Failed to find Zerocoins in wallet.dat wallet.dat 에서 제로코인을 인식 실패 @@ -5759,8 +5660,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou sporks 로딩중... - Loading wallet... (%3.1f %%) - 지갑을 불러오는 중… (%3.1f %%) + Loading wallet... (%3.2f %%) + 지갑을 불러오는 중… (%3.2f %%) Loading wallet... @@ -6130,14 +6031,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou The coin spend has been used 전송이 이미 되었습니다. - - The new spend coin transaction did not verify - 신규로 전송된 거래가 확인되지 않았습니다. - - - The selected mint coin is an invalid coin - 선택한 생성 코인은 유효하지 않은 동전입니다. - The transaction did not verify 거래가 확인되지 않았습니다. @@ -6286,10 +6179,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Verifying wallet... 지갑 인증 중... - - Version 1 xION require a security level of 100 to successfully spend. - xION 버전 1은 성공적으로 보내기 위해서 100 시큐리티 레벨이 필요합니다. - Wallet %s resides outside data directory %s 지갑 %s 가 데이터 디렉토리 외부에 존재합니다 %s @@ -6299,7 +6188,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou 지갑이 잠겼습니다. - Wallet needed to be rewritten: restart Ion Core to complete + Wallet needed to be rewritten: restart ION Core to complete 지갑을 다시 작성해야 합니다: 완료하려면 ION 코어를 재시작해야 합니다 diff --git a/src/qt/locale/ion_lt_LT.ts b/src/qt/locale/ion_lt_LT.ts index 7702712298d4b..5efbea4816ddc 100644 --- a/src/qt/locale/ion_lt_LT.ts +++ b/src/qt/locale/ion_lt_LT.ts @@ -608,10 +608,6 @@ &Command-line options &Komandinės eilutės parinktys - - Processed %n blocks of transaction history. - Apdorota %n operacijų istorijos blokų.Apdorota %n operacijų istorijos blokų.Apdorota %n operacijų istorijos blokų.Apdorota %n operacijų istorijos blokų. - Synchronizing additional data: %p% Sinchronizuojami papildomi duomenys: %p% @@ -645,8 +641,8 @@ Skirtukų įrankių juosta - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +665,12 @@ Naršyti masternod'us - &About Ion Core - &Apie Ion Core + &About ION Core + &Apie ION Core - Show information about Ion Core - Rodyti informaciją apie Ion Core + Show information about ION Core + Rodyti informaciją apie ION Core Modify configuration options for ION @@ -729,16 +725,12 @@ Blokų naršyklės langas - Show the Ion Core help message to get a list with possible ION command-line options - Rodyti Ion Core žinyną, kad gautumėte sąrašą su galimomis ION komandinės eilutės parinktimis + Show the ION Core help message to get a list with possible ION command-line options + Rodyti ION Core žinyną, kad gautumėte sąrašą su galimomis ION komandinės eilutės parinktimis - Ion Core client - Ion Core piniginė - - - %n active connection(s) to ION network - %n aktyvių prisijungimų ION tinkle ()%n aktyvių prisijungimų ION tinkle ()%n aktyvių prisijungimų ION tinkle ()%n aktyvių prisijungimų ION tinkle () + ION Core client + ION Core piniginė Synchronizing with network... @@ -760,26 +752,10 @@ Up to date Atnaujinta - - %n hour(s) - %n valanda%n valandų%n valandų%n valandų - - - %n day(s) - %n diena%n dienų%n dienų%n dienų - - - %n week(s) - %n savaitė%n savaičių%n savaičių%n savaičių - %1 and %2 %1 ir %2 - - %n year(s) - %n metai%n metų%n metų%n metų - Catching up... Atnaujinama... @@ -864,7 +840,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Piniginė yra <b>užšifruota</b> ir šiuo metu <b>užrakinta</b> - + BlockExplorer @@ -1216,6 +1192,17 @@ MultiSend: %1 Sukurti duomenų katalogo čia negalima . + + GovernancePage + + Form + Forma + + + 0 + 0 + + HelpMessageDialog @@ -1223,16 +1210,16 @@ MultiSend: %1 versija - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bitai) - About Ion Core - Apie Ion Core + About ION Core + Apie ION Core Command-line options @@ -1278,16 +1265,16 @@ MultiSend: %1 Sveiki - Welcome to Ion Core. - Sveiki atvykę į Ion Core + Welcome to ION Core. + Sveiki atvykę į ION Core - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Kadangi programa paleista pirmą kartą, galite pasirinkti kur Ion Core saugos savo duomenis. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Kadangi programa paleista pirmą kartą, galite pasirinkti kur ION Core saugos savo duomenis. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core atsisiųs ir saugos ION blockchain'o kopiją. Šiame kataloge bus saugomas ne mažesnis kaip %1GB duomenų kiekis, kuris laikui bėgant augs. Piniginė taip pat bus saugoma šiame kataloge. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core atsisiųs ir saugos ION blockchain'o kopiją. Šiame kataloge bus saugomas ne mažesnis kaip %1GB duomenų kiekis, kuris laikui bėgant augs. Piniginė taip pat bus saugoma šiame kataloge. Use the default data directory @@ -1298,8 +1285,8 @@ MultiSend: %1 Naudoti pasirinktą duomenų katalogą: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1533,44 +1520,10 @@ MultiSend nebus aktyvuotas, nebent paspausite "Įjungti" (no label) (nėra etiketės) - - The entered address: - - Įvestas adresas: - - - - is invalid. -Please check the address and try again. - yra netinkamas. -Patikrinkite adresą ir bandykite dar kartą. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - Bendra MultiSend sąrašo suma yra didesnė nei 100% jūsų stake'inimo atlygio - - Please Enter 1 - 100 for percent. Įveskite 1-100 procentų - - MultiSend Vector - - MultiSend Sąrašas - - - - Removed - Pašalintas - - - Could not locate address - - Nepavyko rasti adreso - - MultisigDialog @@ -1750,11 +1703,11 @@ Patikrinkite adresą ir bandykite dar kartą. Pasirinkite privatumo lygmenį. - Use 2 separate masternodes to mix funds up to 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION Naudokite 2 atskirus masternod'us, kad sumaišytumėte lėšas iki 10 000 ION - Use 8 separate masternodes to mix funds up to 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION Naudokite 8 atskirus masternod'us, kad sumaišytumėte lėšas iki 10 000 ION @@ -1762,19 +1715,19 @@ Patikrinkite adresą ir bandykite dar kartą. Naudokite 16 atskirų masternod'ų - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Ši parinktis yra greičiausia ir kainuos apie ~0.025 ION, kad anonimizuotų 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Ši parinktis yra greičiausia ir kainuos apie ~0.025 ION, kad anonimizuotų 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Ši parinktis yra vidutiniškai greita ir kainuoja apie 0,05 ION, kad anonimizuotų 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Ši parinktis yra vidutiniškai greita ir kainuoja apie 0,05 ION, kad anonimizuotų 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Tai yra lėčiausias ir saugiausias variantas. Maksimalus anonimiškumas kainuos. - 0.1 ION per 10000 ION you anonymize. + 0.1 ION per 20000 ION you anonymize. 0.1 ION kas 1000 ION kuriuos anonimizuosite. @@ -2293,14 +2246,6 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos to pačio nominalo 0 xION 0 xION - - Security Level: - Saugumo Lygmuo: - - - Security Level 1 - 100 (default: 42) - Saugumo Lygmuo 1 - 100 (numatytas: 42) - Pay &To: &Mokėti: @@ -2357,7 +2302,7 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos to pačio nominalo Unconfirmed: less than 20 confirmations Immature: confirmed, but less than 1 mint of the same denomination after it was minted Nepatvirtinta: mažiau nei 20 patvirtinimų -Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominalo po to, kai buvo konvertuota. +Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos to pačio nominalo po to, kai buvo konvertuotas. Denom. 1: @@ -2501,7 +2446,7 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal out of sync - ne sinchronizuotas + nesinchronizuotas Mint Status: Okay @@ -2623,14 +2568,6 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal to address į adresą - - with Security Level - su Saugumo Lygmeniu - - - Failed to spend xION - Nepavyko išleisti xION - serial: serija: @@ -2644,6 +2581,9 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal mokestis: + + ProposalFrame + QObject @@ -2686,6 +2626,10 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal N/A N/A + + ION Core + ION Core + QRImageWidget @@ -2840,12 +2784,12 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal ReceiveCoinsDialog - &Label: - &Etiketė: + A&mount: + S&uma: - &Amount: - &Suma: + &Label: + &Etiketė: &Request payment @@ -2883,6 +2827,10 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal Copy amount Kopijuoti sumą + + Copy address + Kopijuoti adresą + ReceiveRequestDialog @@ -2929,6 +2877,10 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal Message Žinutė + + Address + Adresas + Amount Suma @@ -3229,8 +3181,8 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal SplashScreen - Ion Core - Ion Core + ION Core + ION Core @@ -3494,8 +3446,8 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal Klaida kraunant wallet.dat: Piniginė yra sugadinta - Error loading wallet.dat: Wallet requires newer version of Ion Core - Klaida kraunant wallet.dat: Piniginė reikalauja naujesnės Ion Core versijos + Error loading wallet.dat: Wallet requires newer version of ION Core + Klaida kraunant wallet.dat: Piniginė reikalauja naujesnės ION Core versijos Error opening block database @@ -3569,10 +3521,6 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal SwiftX options: SwiftX nustatymai: - - Failed to deserialize - Nepavyko deserializuoti - Failed to select a zerocoin Nepavyko pasirinkti zerocoin @@ -3602,8 +3550,8 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal Kraunami sporkai... - Loading wallet... (%3.1f %%) - Kraunama piniginė... (%3.1f %%) + Loading wallet... (%3.2f %%) + Kraunama piniginė... (%3.2f %%) Loading wallet... @@ -3726,8 +3674,8 @@ Nesubrendusios: patvirtintos, bet mažiau nei 1 konvertacijos tos pačio nominal Piniginė užrakinta. - Wallet needed to be rewritten: restart Ion Core to complete - Piniginę reikia perrašyti: paleiskite Ion Core iš naujo + Wallet needed to be rewritten: restart ION Core to complete + Piniginę reikia perrašyti: paleiskite ION Core iš naujo Wallet options: diff --git a/src/qt/locale/ion_nl.ts b/src/qt/locale/ion_nl.ts index 086d7c03d772b..ea150e1f96beb 100644 --- a/src/qt/locale/ion_nl.ts +++ b/src/qt/locale/ion_nl.ts @@ -610,7 +610,7 @@ Processed %n blocks of transaction history. - %n blokken aan transactiegeschiedenis verwerkt.%n blokken aan transactiegeschiedenis verwerkt. + %n blokken verwerkt van de transactiegeschiedenis%n blokken verwerkt van de transactiegeschiedenis Synchronizing additional data: %p% @@ -624,6 +624,10 @@ Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymization and staking only Portemonnee is <b>versleuteld</b> en momenteel <b>geopend</b>enkel voor anonimisering en staking + + Tor is <b>enabled</b>: %1 + Tor is <b>enabled</b>: %1 + &File &Bestand @@ -645,8 +649,8 @@ Tabblad werkbalk - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,11 +673,11 @@ Bekijk masternodes - &About Ion Core - &Over Ion Core + &About ION Core + &Over ION Core - Show information about Ion Core + Show information about ION Core Toon informatie over ION Kern @@ -729,16 +733,16 @@ Block verkenner venster - Show the Ion Core help message to get a list with possible ION command-line options - Toon het Ion Core help bericht om een ​​lijst te krijgen met mogelijke ION command line opties + Show the ION Core help message to get a list with possible ION command-line options + Toon het ION Core help bericht om een ​​lijst te krijgen met mogelijke ION command line opties - Ion Core client - Ion Core client + ION Core client + ION Core client %n active connection(s) to ION network - %n actieve verbindingen met het ION netwerk%n actieve connectie(s) naar ION netwerk + %n actieve verbinding(en) naar het ION netwerk%n actieve verbinding(en) naar het ION netwerk Synchronizing with network... @@ -760,13 +764,9 @@ Up to date Bijgewerkt - - %n hour(s) - %n uren%n uren - %n day(s) - %n day%n dagen + %n dagen%n dagen %n week(s) @@ -778,7 +778,7 @@ %n year(s) - %n year%n jaren + %n jaren%n jaren Catching up... @@ -864,7 +864,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Portemonnee is versleuteld </b>en momenteel <b> vergrendeld</b> - + BlockExplorer @@ -1224,6 +1224,17 @@ MultiSend: %1 Kan de data directory hier niet aanmaken. + + GovernancePage + + Form + Formulier + + + 0 + 0 + + HelpMessageDialog @@ -1231,16 +1242,16 @@ MultiSend: %1 versie - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - Over Ion Core + About ION Core + Over ION Core Command-line options @@ -1286,16 +1297,16 @@ MultiSend: %1 Welkom - Welcome to Ion Core. - Welkom bij Ion Core. + Welcome to ION Core. + Welkom bij ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Aangezien dit de eerste keer is dat het programma is gestart, kun je kiezen waar Ion Core zijn data opslaat. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Aangezien dit de eerste keer is dat het programma is gestart, kun je kiezen waar ION Core zijn data opslaat. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core zal een kopie van de ION blockchain downloaden en opslaan. Tenminste %1GB aan data zal worden opgeslagen in deze map en het zal over de tijd groeien. De portemonnee zal ook in deze map worden opgeslagen. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core zal een kopie van de ION blockchain downloaden en opslaan. Tenminste %1GB aan data zal worden opgeslagen in deze map en het zal over de tijd groeien. De portemonnee zal ook in deze map worden opgeslagen. Use the default data directory @@ -1306,8 +1317,8 @@ MultiSend: %1 Gebruik een aangepaste data directory: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1542,48 +1553,74 @@ MultiSend zal niet worden geactiveerd tenzij je op Activeer hebt geklikt(geen label) - The entered address: - - Het ingevoerde adres: - + MultiSend Active for Stakes and Masternode Rewards + MultiSend Actief voor Stakes en Masternodebeloningen + + + MultiSend Active for Stakes + MultiSend Actief voor Stakes + + + MultiSend Active for Masternode Rewards + MultiSend Actief voor Masternodebeloningen + + + MultiSend Not Active + MultiSend Niet Actief - is invalid. + The entered address: %1 is invalid. Please check the address and try again. - is ongeldig. -Controleer het adres alsjeblieft en probeer het opnieuw. + Het ingevoerde adres: %1 is ongeldig. +Controleer het adres en probeer opnieuw. - The total amount of your MultiSend vector is over 100% of your stake reward - - De totale hoeveelheid van je MultiSend vector is meer dan 100% van je stake beloning - + The total amount of your MultiSend vector is over 100% of your stake reward + De totale hoeveelheid van je MultiSend vector is meer dan 100% van je inzet beloning - Please Enter 1 - 100 for percent. - Vul alsjeblieft 1 - 100 voor procent in. + Saved the MultiSend to memory, but failed saving properties to the database. + De MultiSend in het geheugen opgeslagen, maar mislukt om de eigenschappen op te slaan in de database. - Saved the MultiSend to memory, but failed saving properties to the database. - - De MultiSend in het geheugen opgeslagen, maar mislukt om de eigenschappen op te slaan in de database. - + MultiSend Vector + MultiSend Vector - MultiSend Vector - - MultiSend Vector - + Removed %1 + Verwijderd %1 - Removed - Verwijderd + Could not locate address + Kan het adres niet lokaliseren - Could not locate address - - Kan het adres niet lokaliseren - + Unable to activate MultiSend, check MultiSend vector + Onmogelijk om MultiSend te activeren, controleer MultiSend vector + + + MultiSend activated but writing settings to DB failed + MultiSend geactiveerd maar instellingen naar DB wegschrijven mislukt + + + MultiSend activated + MultiSend geactiveerd + + + First Address Not Valid + Eerste Adres Niet Gevalideerd + + + MultiSend deactivated but writing settings to DB failed + MultiSend gedeactiveerd maar instellingen naar DB wegschrijven mislukt + + + MultiSend deactivated + MultiSend gedeactiveerd + + + Please Enter 1 - 100 for percent. + Vul alsjeblieft 1 - 100 voor procent in. @@ -1780,32 +1817,32 @@ Waas alsjeblieft geduldig nadat u op importeren hebt geklikt. Selecteer de privacy level. - Use 2 separate masternodes to mix funds up to 10000 ION - Gebruik 2 aparte masternodes om fondsen te mixen tot 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Gebruik 2 aparte masternodes om fondsen te mixen tot 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Gebruik 8 aparte masternodes om fondsen te mixen tot 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Gebruik 8 aparte masternodes om fondsen te mixen tot 20000 ION Use 16 separate masternodes Gebruik 16 aparte masternodes - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Deze optie is het snelst en kost ongeveer ~0,025 ION om 10000 ION te anonimiseren + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Deze optie is het snelst en kost ongeveer ~0,025 ION om 20000 ION te anonimiseren - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Deze optie is gematigd snel en kost ongeveer 0,05 ION om 10000 ION te anonimiseren + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Deze optie is gematigd snel en kost ongeveer 0,05 ION om 20000 ION te anonimiseren This is the slowest and most secure option. Using maximum anonymity will cost Dit is de langzaamste en veiligste optie. Het gebruik van maximale anonimiteit kost - 0.1 ION per 10000 ION you anonymize. - je anonimiseert 0,1 ION per 10000 ION. + 0.1 ION per 20000 ION you anonymize. + je anonimiseert 0,1 ION per 20000 ION. Obfuscation Configuration @@ -2043,6 +2080,14 @@ https://www.transifex.com/ioncoincore/ioncore Hide empty balances Verberg lege saldi + + Hide orphan stakes in transaction lists + Verberg orphan stakes in transactielijsten + + + Hide orphan stakes + Verberg orphan stakes + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. URL's van derden (bijvoorbeeld een blok verkenner) die in het tabblad transacties verschijnen als contextmenu items. %s in de URL wordt vervangen door transactie hash. Meerdere URL's worden gescheiden door verticale balk |. @@ -2423,7 +2468,7 @@ Om AutoMint in te schakelend verander je 'enablezeromint=0' naar 'enablezeromint Amount: - Hoeveelheid: + Bedrag: Rescan the complete blockchain for Zerocoin mints and their meta-data. @@ -2485,18 +2530,6 @@ xIon zijn volwassen wanneer zij meer dan 20 bevestigingen hebben EN meer dan 2 m 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Beveiligingsniveau voor Zerocoin transacties. Meer is beter, maar heeft meer tijd en middelen nodig. - - - Security Level: - Beveiligings niveau: - - - Security Level 1 - 100 (default: 42) - Beveiligingsniveau 1 - 100 (standaard: 42) - Pay &To: Betaal &Naar: @@ -2640,6 +2673,14 @@ Om het percentage te wijzigen (geen herstart vereist): 0 x 0 x + + Show xION denominations list + Toon xION denominatielijst + + + Show Denominations + Toon Denominaties + Denominations with value 5: Denominaties met waarde 5: @@ -2696,6 +2737,10 @@ Om het percentage te wijzigen (geen herstart vereist): Denom. with value 5000: Denom. met waarde 5000: + + Hide Denominations + Verberg Denominaties + Priority: Prioriteit: @@ -2706,11 +2751,11 @@ Om het percentage te wijzigen (geen herstart vereist): Fee: - Kost: + Fee: Dust: - Stof: + Dust: no @@ -2750,7 +2795,7 @@ Om het percentage te wijzigen (geen herstart vereist): Change: - Wijzig: + Wisselgeld: out of sync @@ -2762,24 +2807,16 @@ Om het percentage te wijzigen (geen herstart vereist): Copy quantity - Kopieer kwanititeit + Kopieer kwantiteit Copy amount - Kopieer hoeveelheid + Kopieer bedrag Starting ResetMintZerocoin: rescanning complete blockchain, this will need up to 30 minutes depending on your hardware. Please be patient... Start ResetMintZerocoin: rescanning complete blockchain, dit zal tot 30 minuten nodig hebben, afhankelijk van uw hardware. -Wees alsjeblieft geduldig... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Zerocoin besteden. -Computationeel duur, zou mogelijk enkele minuten nodig hebben, afhankelijk van het geselecteerde beveiligingsniveau en je hardware. Wees alsjeblieft geduldig... @@ -2952,22 +2989,10 @@ Maximaal toegestaan: to a newly generated (unused and therefore anonymous) local address <br /> naar een nieuw gegenereerd (ongebruikt en dus anoniem) lokaal adres<br /> - - with Security Level - met beveiligingsniveau - Confirm send coins Bevestig verzending coins - - Version 1 xION require a security level of 100 to successfully spend. - Versie 1 xION vereist een beveiligingsniveau van 100 om succesvol te besteden. - - - Failed to spend xION - Mislukt om xION te besteden. - Failed to fetch mint associated with serial hash Mislukt om de mint op te halen geassocieerd met de seriële hash @@ -2989,7 +3014,7 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes PrivacyDialog Enter an amount of ION to convert to xION - PrivacyDialoogPrivacyDialog + PrivacyDialogPrivacyDialog denomination: @@ -3024,11 +3049,14 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes kosten: + + ProposalFrame + QObject Amount - Hoeveelheid + Bedrag Enter a ION address (e.g. %1) @@ -3074,7 +3102,11 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes %1 ms %1 ms - + + ION Core + ION Core + + QRImageWidget @@ -3436,10 +3468,6 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Confirm resync Blockchain Bevestig hersynchronisering van Blockchain - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Gebruik omhoog en omlaag pijlen om de geschiedenis te navigeren, en<b>Ctrl-L</b>om scherm te wissen. - Type <b>help</b> for an overview of available commands. Type <b>help </b>voor een overzicht van beschikbare commando's. @@ -3511,6 +3539,18 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes An optional label to associate with the new receiving address. Een optioneel label om te associëren met het nieuwe ontvangstadres. + + Your receiving address. You can copy and use it to receive coins on this wallet. A new one will be generated once it is used. + Je ontvangstadres. Je kan deze kopieren en gebruiken om munten te ontvangen in deze portemonnee. Een nieuwe zal gegenereerd worden van zodra het gebruikt is. + + + &Address: + &Adres: + + + A&mount: + &Hoeveelheid: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Een optioneel bericht dat aan het betalingsverzoek wordt gehecht, dat wordt weergegeven wanneer het verzoek wordt geopend. Opmerking: het bericht wordt niet verzonden met de betaling via het ION netwerk. @@ -3535,10 +3575,6 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes An optional amount to request. Leave this empty or zero to not request a specific amount. Een optioneel bedrag om te vragen. Laat dit leeg of vul een nul in om geen specifiek bedrag te vragen. - - &Amount: - &Hoeveelheid: - &Request payment &Verzoek betaling @@ -3551,6 +3587,10 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Clear Leegmaken + + Receiving Addresses + Ontvangstadressen + Requested payments history Betalingsverzoeken geschiedenis @@ -3581,7 +3621,11 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Copy amount - Kopieer hoeveelheid + Kopieer bedrag + + + Copy address + Kopieer adres @@ -3620,7 +3664,7 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Amount - Hoeveelheid + Bedrag Label @@ -3653,9 +3697,13 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Message Bericht + + Address + Adres + Amount - Hoeveelheid + Bedrag (no label) @@ -3698,7 +3746,7 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Amount: - Hoeveelheid: + Bedrag: Priority: @@ -3710,11 +3758,11 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Fee: - Kost: + Fee: Dust: - Stof: + Dust: no @@ -3722,11 +3770,11 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes After Fee: - Na de kost: + Na de fee: Change: - Wijzig: + Wisselgeld: If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. @@ -3870,19 +3918,19 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Copy quantity - Kopieer kwanititeit + Kopieer kwantiteit Copy amount - Kopieer hoeveelheid + Kopieer bedrag Copy fee - Kopiëer kost + Kopieer fee Copy after fee - Kopiëer na kost + Kopieer na fee Copy bytes @@ -4079,8 +4127,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes ShutdownWindow - Ion Core is shutting down... - Ion Core is aan het afsluiten... + ION Core is shutting down... + ION Core is aan het afsluiten... Do not shut down the computer until this window disappears. @@ -4191,11 +4239,11 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Wallet unlock was cancelled. - Portemonnee-ontsleuteling is geannuleerd. + Portemonnee ontsleuteling is geannuleerd. Private key for the entered address is not available. - Geheime sleutel voor het ingevoerde adres is niet beschikbaar. + Privé sleutel voor het ingevoerde adres is niet beschikbaar. Message signing failed. @@ -4229,8 +4277,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes SplashScreen - Ion Core - ION Kern + ION Core + ION Core Version %1 @@ -4245,7 +4293,7 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes De Dash Kernontwikkelaars - The Ion Core developers + The ION Core developers De ION Kernontwikkelaars @@ -4436,7 +4484,7 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Amount - Hoeveelheid + Bedrag true @@ -4721,11 +4769,11 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Copy amount - Kopieer hoeveelheid + Kopieer bedrag Copy transaction ID - Kopier transactie ID + Kopieer transactie ID Edit label @@ -4735,6 +4783,10 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Show transaction details Bekijk transactiedetails + + Hide orphan stakes + Verberg orphan stakes + Export Transaction History Exporteer Transactiegeschiedenis @@ -4878,11 +4930,7 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Select/Deselect All Selecteer/Deselecteer Alles - - Is Spendable - Is Uitgeefbaar - - + ion-core @@ -4910,8 +4958,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Het berekende accumulatie controlepunt is niet wat wordt geregistreerd door de blokindex - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - Kan geen vergrendeling op data directory %s verkrijgen. Ion Core loopt waarschijnlijk al. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Kan geen vergrendeling op data directory %s verkrijgen. ION Core loopt waarschijnlijk al. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -5086,20 +5134,20 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Dit product bevat software ontwikkeld door het OpenSSL Project voor gebruik in de OpenSSL Toolkit <https://www.openssl.org/> en cryptografische software geschreven door Eric Young en UPnP software geschreven door Thomas Bernard. - Unable to bind to %s on this computer. Ion Core is probably already running. - Niet mogelijk te binden aan %s op deze computer. Ion Core loopt waarschijnlijk al. + Unable to bind to %s on this computer. ION Core is probably already running. + Niet mogelijk te binden aan %s op deze computer. ION Core loopt waarschijnlijk al. Unable to locate enough Obfuscation denominated funds for this transaction. Kan niet genoeg verduistering gedenomineerde fondsen voor deze transactie vinden. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Kan niet genoeg verduistering niet gedenomineerde fondsen voor deze transactie vinden die niet gelijk zijn aan 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Kan niet genoeg verduistering niet gedenomineerde fondsen voor deze transactie vinden die niet gelijk zijn aan 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Kan niet genoeg fondsen voor deze transactie vinden die niet gelijk zijn aan 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Kan niet genoeg fondsen voor deze transactie vinden die niet gelijk zijn aan 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5114,8 +5162,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Waarschuwing: -paytxfee is zeer hoog ingesteld! Dit zijn de transactie kosten die je betaalt als je een transactie verstuurt. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - Waarschuwing: Controleer of de datum en tijd van je computer juist zijn! Als je klok verkeerd staat, werkt Ion Core niet goed. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Waarschuwing: Controleer of de datum en tijd van je computer juist zijn! Als je klok verkeerd staat, werkt ION Core niet goed. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -5189,6 +5237,10 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Always query for peer addresses via DNS lookup (default: %u) Vraag altijd naar peer adressen via DNS lookup (standaard: %u) + + Append comment to the user agent string + Voeg opmerking toe aan de user agent string + Attempt to recover private keys from a corrupt wallet.dat Poog om privé sleutels te herstellen van een corrupte wallet.dat @@ -5270,8 +5322,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Copyright (C) 2015-%i The PIVX Kernontwikkelaars - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i The Ion Kernontwikkelaars + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Kernontwikkelaars Corrupted block database detected @@ -5358,8 +5410,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Error tijdens het laden van wallet.dat: Portemonnee corrupt - Error loading wallet.dat: Wallet requires newer version of Ion Core - Fout bij het laden van wallet.dat: Portemonnee vereist een nieuwere versie van Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core + Fout bij het laden van wallet.dat: Portemonnee vereist een nieuwere versie van ION Core Error opening block database @@ -5373,6 +5425,10 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Error recovering public key. Fout bij het herstellen van de publieke sleutel. + + Error writing zerocoinDB to disk + Fout bij het schrijven van zerocoinDB naar schijf + Error Error @@ -5409,6 +5465,10 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Failed to listen on any port. Use -listen=0 if you want this. Niet gelukt om te luisteren op een poort. Gebruik -listen=0 als je dit wilt. + + Failed to parse host:port string + Kan host: poortreeks niet parseren + Failed to read block Mislukt om block te lezen @@ -5474,8 +5534,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Informatie - Initialization sanity check failed. Ion Core is shutting down. - Initialisatie saniteitscontrole mislukt. Ion Core wordt afgesloten. + Initialization sanity check failed. ION Core is shutting down. + Initialisatie saniteitscontrole mislukt. ION Core wordt afgesloten. Input is not valid. @@ -5685,10 +5745,6 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Failed to create mint Het is niet gelukt om mint te maken - - Failed to deserialize - Kan deserialiseren niet - Failed to find Zerocoins in wallet.dat Niet gelukt om Zerocoins in wallet.dat te vinden. @@ -5758,8 +5814,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Sporks laden... - Loading wallet... (%3.1f %%) - Portemonnee laden... (%3.1f %%) + Loading wallet... (%3.2f %%) + Portemonnee laden... (%3.2f %%) Loading wallet... @@ -6129,14 +6185,6 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes The coin spend has been used De muntuitgaven zijn gebruikt - - The new spend coin transaction did not verify - De nieuwe uitgave voor uitgavengeld heeft niet geverifieerd - - - The selected mint coin is an invalid coin - De geselecteerde muntmunt is een ongeldige munt - The transaction did not verify De transactie heeft niet geverifieerd @@ -6265,6 +6313,10 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Use the test network Gebruik het test netwerk + + User Agent comment (%s) contains unsafe characters. + User Agent opmerking (%s) bevat onveilige karakters. + Username for JSON-RPC connections Gebruikersnaam voor JSON-RPC verbindingen @@ -6285,10 +6337,6 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Verifying wallet... Portemonnee verifiëren... - - Version 1 xION require a security level of 100 to successfully spend. - Versie 1 xION vereist een beveiligingsniveau van 100 om succesvol uit te geven. - Wallet %s resides outside data directory %s Portemonnee %s verblijft buiten de data directory %s @@ -6298,8 +6346,8 @@ Ofwel het munten van hogere denominaties (dus minder invoer nodig) of het te bes Portemonnee is vergrendeld. - Wallet needed to be rewritten: restart Ion Core to complete - Wallet moest worden herschreven: start Ion Core opnieuw om te voltooien + Wallet needed to be rewritten: restart ION Core to complete + Wallet moest worden herschreven: start ION Core opnieuw om te voltooien Wallet options: diff --git a/src/qt/locale/ion_pl.ts b/src/qt/locale/ion_pl.ts index 7a945f2221e68..e441f6247523b 100644 --- a/src/qt/locale/ion_pl.ts +++ b/src/qt/locale/ion_pl.ts @@ -11,11 +11,15 @@ &New - Nowy + &Nowy + + + Copy the currently selected address to the system clipboard + Skopiuj aktualnie wybrany adres do schowka systemowego &Copy - Kopiuj + &Kopiuj Delete the currently selected address from the list @@ -23,15 +27,19 @@ &Delete - Usuń + &Usuń + + + Export the data in the current tab to a file + Wyeksportuj dane z bieżącej karty do pliku &Export - Eksportuj + &Eksportuj C&lose - Zamknij + &Zamknij Choose the address to send coins to @@ -43,7 +51,7 @@ C&hoose - Wybierz + &Wybierz Sending addresses @@ -53,13 +61,21 @@ Receiving addresses Adres odbiorczy + + These are your ION addresses for sending payments. Always check the amount and the receiving address before sending coins. + To są twoje adresy ION do wysyłania płatności. Zawsze sprawdzaj kwotę i adres odbiorcy przed wysłaniem monet. + + + These are your ION addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + To są twoje adresy ION do otrzymywania płatności. Zaleca się użycie nowego adresu odbiorczego dla każdej transakcji. + &Copy Address &Kopiuj adres Copy &Label - Kopiuj &Zakładkę + Skopiuj &etykietę &Edit @@ -69,6 +85,10 @@ Export Address List Eksportuj listę adresów + + Comma separated file (*.csv) + Plik rozdzielony przecinkami (* .csv) + Exporting Failed Eksport nieudany @@ -82,7 +102,7 @@ AddressTableModel Label - Zakładka + Etykieta Address @@ -90,11 +110,15 @@ (no label) - (brak zakładki) + (brak etykiety) AskPassphraseDialog + + Passphrase Dialog + Okno dialogowe "Passphrase" + Enter passphrase Wpisz hasło @@ -107,9 +131,22 @@ Repeat new passphrase Powtórz nowe hasło + + Serves to disable the trivial sendmoney when OS account compromised. Provides no real security. + Służy do wyłączania trivial sendmoney po złamaniu konta OS. Nie zapewnia prawdziwego bezpieczeństwa. + + + For anonymization, automint, and staking only + tylko do anonimizacji, automint i staking + + + Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>. + Wprowadź nowe hasło do portfela. +Użyj hasła składającego się z dziesięciu lub więcej losowych znaków lub ośmiu lub więcej słów. + Encrypt wallet - Zakoduj portfel + Zaszyfruj portfel This operation needs your wallet passphrase to unlock the wallet. @@ -125,7 +162,7 @@ Decrypt wallet - Zakoduj portfel + Odszyfruj portfel Change passphrase @@ -137,27 +174,35 @@ Confirm wallet encryption - Potwierdź zakodowanie portfela + Potwierdź szyfrowanie portfela + + + ION will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your IONs from being stolen by malware infecting your computer. + ION zamknie się teraz, aby zakończyć proces szyfrowania. Pamiętaj, że zaszyfrowanie portfela nie chroni w pełni Twoich ION przed kradzieżą przez złośliwe oprogramowanie infekujące Twój komputer. Are you sure you wish to encrypt your wallet? - Czy na pewno chcesz zakodować portfel? + Czy na pewno chcesz zaszyfrować swój portfel? Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR ION</b>! - Ostrzeżenie: Jeżeli zakodujesz portfel i stracisz do niego hasło , UTRACISZ WSZYSTKIE ION! + Ostrzeżenie: Jeżeli zaszyfrujesz portfel i stracisz do niego hasło , <b>UTRACISZ WSZYSTKIE ION</b>! Wallet encrypted - Portfel zakodowany + Portfel zaszyfrowany + + + IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet. + WAŻNE: Wszystkie poprzednie kopie zapasowe plików portfela należy zastąpić nowo wygenerowanym, zaszyfrowanym plikiem portfela. Ze względów bezpieczeństwa poprzednie kopie niezaszyfrowanego pliku portfela staną się bezużyteczne, gdy tylko zaczniesz korzystać z nowego, zaszyfrowanego portfela. Wallet encryption failed - Kodowanie portfela nieudane + Szyfrowanie portfela nieudane Wallet encryption failed due to an internal error. Your wallet was not encrypted. - Kodowanie portfela nieudane z powodu wewnętrznego błędu. Twój portfel nie został zakodowany + Szyfrowanie portfela nieudane z powodu wewnętrznego błędu. Twój portfel nie został zaszyfrowany The supplied passphrases do not match. @@ -169,11 +214,11 @@ The passphrase entered for the wallet decryption was incorrect. - Podane hasło do zakodowania portfela jest błędne + Podane hasło do odszyfrowania portfela jest błędne Wallet decryption failed - Kodowanie portfela nieudane + Odszyfrowywanie portfela nie powiodło się Wallet passphrase was successfully changed. @@ -186,7 +231,15 @@ BanTableModel - + + IP/Netmask + Numer IP / Netmask + + + Banned Until + Zakazany do + + Bip38ToolDialog @@ -195,12 +248,20 @@ &BIP 38 Encrypt - Zakoduj BIP 38 + &Zaszyfruj BIP 38 Address: Adres: + + Enter a ION Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key. + Wprowadź adres ION, który chcesz zaszyfrować za pomocą BIP 38. Wprowadź hasło w środkowym polu. Naciśnij przycisk szyfrowania, aby obliczyć zaszyfrowany klucz prywatny. + + + The ION address to encrypt + Adres ION do zaszyfrowania + Choose previously used address Wybierz poprzednio używany adres @@ -223,11 +284,31 @@ Encrypted Key: - Zakodowany klucz: + Zaszyfrowany klucz: + + + Copy the current signature to the system clipboard + Skopiuj bieżący podpis do schowka systemowego + + + Encrypt the private key for this ION address + Zaszyfruj klucz prywatny dla tego adresu ION + + + Reset all fields + Zresetuj wszystkie pola + + + The encrypted private key + Zaszyfrowany klucz prywatny + + + Decrypt the entered key using the passphrase + Odszyfruj wprowadzony klucz za pomocą hasła Encrypt &Key - Kodowanie &klucz + Zaszyfruj &klucz Clear &All @@ -235,16 +316,28 @@ &BIP 38 Decrypt - &BIP 38 Zakoduj + &BIP 38 odszyfruj + + + Enter the BIP 38 encrypted private key. Enter the passphrase in the middle box. Click Decrypt Key to compute the private key. After the key is decrypted, clicking 'Import Address' will add this private key to the wallet. + Wprowadź zaszyfrowany klucz prywatny BIP 38. Wprowadź hasło w środkowym polu. Kliknij przycisk Odszyfruj klucz, aby obliczyć klucz prywatny. Po odszyfrowaniu klucza kliknięcie "Importuj adres" spowoduje dodanie tego klucza prywatnego do portfela. + + + Decrypt &Key + Odszyfruj &klucz Decrypted Key: - Zakodowany klucz: + Odszyfrowany klucz: Import Address Adres importu + + Click "Decrypt Key" to compute key + Kliknij "Odszyfruj Klucz", aby obliczyć klucz + The entered passphrase is invalid. Podane hasło jest nieprawidłowe @@ -275,7 +368,7 @@ Failed to decrypt. - Błąd kodowania + Nie udało się odszyfrować. Please check the key and passphrase and try again. @@ -283,7 +376,7 @@ Data Not Valid. - Dane nieprawdziwe + Dane są nieprawidłowe. Please try again. @@ -314,7 +407,7 @@ Node - Node + Węzeł &Overview @@ -340,9 +433,21 @@ Browse transaction history Przeglądaj historię transakcji + + Privacy Actions for xION + Prywatne Akcje xION + + + &Governance + &Zarządzanie + + + Show Proposals + Pokaż propozycje + E&xit - Wyjdź + &Wyjdź Quit application @@ -358,7 +463,7 @@ &Options... - &Opcje + &Opcje... &Show / Hide @@ -370,7 +475,7 @@ &Encrypt Wallet... - &Zakoduj portfel + &Zaszyfruj portfel ... Encrypt the private keys that belong to your wallet @@ -378,15 +483,15 @@ &Backup Wallet... - &Kopia zapasowa portfela + &zapis kopii zapasowa portfela... Backup wallet to another location - &Kopia zapasowa portfela z innej lokacji + Kopia zapasowa portfela z innej lokacji &Change Passphrase... - &Zmień hasło + &Zmiana hasła... Change the passphrase used for wallet encryption @@ -394,7 +499,7 @@ &Unlock Wallet... - &Odblokuj portfel + &Odblokowanie portfela Unlock wallet @@ -406,11 +511,11 @@ Sign &message... - &Zatwierdź wiadomość + Zatwierdźanie &wiadomości... &Verify message... - &Zweryfikuj wiadomość + &Zweryfikuje wiadomość... &Information @@ -430,7 +535,7 @@ &Network Monitor - Monitor sieci + &Monitor sieci Show network monitor @@ -446,7 +551,7 @@ Wallet &Repair - Portfel &Napraw + Napraw &Portfel Show wallet repair options @@ -466,7 +571,7 @@ &Sending addresses... - &Adres wysyłki + &Adres wysyłki... Show the list of used sending addresses and labels @@ -474,12 +579,36 @@ &Receiving addresses... - &Adres odbiorczy + &Adresy odbiorcze Show the list of used receiving addresses and labels Pokaż listę używanych adresów odbiorczych i zakładek + + &Multisignature creation... + &Tworzenie multisygnatur... + + + Create a new multisignature address and add it to this wallet + Utwórz nowy adres multisignature i dodaj go do tego portfela + + + &Multisignature spending... + &Wydawanie multisignature ... + + + Spend from a multisignature address + Wydaj z adresu multisignature + + + &Multisignature signing... + &Zatwierdzanie multisygnatur + + + Sign with a multisignature address + Zatwierdź używając adresu multisignature + Open &URI... Otwórz &URL @@ -488,10 +617,27 @@ &Command-line options &Opcje Command-line + + Processed %n blocks of transaction history. + Przetworzono %n blok historii transakcji.Przetworzono %n bloków historii transakcji.Przetworzono %n bloków historii transakcji.Przetworzono %n bloków historii transakcji. + Synchronizing additional data: %p% Synchronizacja dodatkowych danych %p% + + %1 behind. Scanning block %2 + %1 za. Skanowanie bloku %2f + + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymization and staking only + Portfel jest +odszyfrowany i aktualnie odblokowany tylko do anonimizacji i stakingu + + + Tor is <b>enabled</b>: %1 + Tor włączony %1 + &File &Plik @@ -509,8 +655,12 @@ &Pomoc - Ion Core - &Rdzeń ION + Tabs toolbar + Pasek narzędzi + + + ION Core + Rdzeń ION Send coins to a ION address @@ -520,6 +670,10 @@ Request payments (generates QR codes and ion: URIs) Zarządaj płatności (generuje kod QR i ion:URI) + + &Privacy + &Prywatność + &Masternodes &Masternodes @@ -529,12 +683,12 @@ Przeglądaj masternodes - &About Ion Core - &O rdzeniu bitcoina + &About ION Core + &O ION Core - Show information about Ion Core - Pokaż informacje o rdzeniu bitcoina + Show information about ION Core + Pokaż informacje o ION Core Modify configuration options for ION @@ -570,7 +724,11 @@ Open &Masternode Configuration File - Otwórz &Plik konfiguracji Masternode + Otwórz Plik konfiguracji &Masternode + + + Open Masternode configuration file + Otwórz plik konfiguracyjny Masternode Open a ION: URI or payment request @@ -585,12 +743,16 @@ Okno eksplorera bloków - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options Pokaż wiadomość pomocy rdzenia ION, aby dostać listę możliwych opcji ION command-line - Ion Core client - Rdzeń ION klient + ION Core client + ION Core klient + + + %n active connection(s) to ION network + %n aktywne połączenie z siecią ION()%n aktywnych połączeń z siecią ION()%n aktywnych połączeń z siecią ION()%n aktywnych połączeń z siecią ION() Synchronizing with network... @@ -612,13 +774,37 @@ Up to date Zaktualizowany + + %n hour(s) + %n godzinę%n godzin%n godzin%n godzin + + + %n day(s) + %n dzień%n dni%n dni%n dni + + + %n week(s) + %n tydzień%n tygodni%n tygodni%n tygodni + + + %1 and %2 + %1 i %2 + + + %n year(s) + %n rok%n lat%n lat%n lat + + + Catching up... + Nadrabiam... + Last received block was generated %1 ago. - Ostatni wygenerowany blok %1 wcześniej + Ostatni otrzymany blok został wygenerowany %1 temu. Transactions after this will not yet be visible. - Transakcji po nim nie będą jeszcze widoczne + Transakcje późniejsze nie będą jeszcze widoczne Error @@ -676,13 +862,25 @@ MultiWysyłka: %1 Staking nieaktywny MultiWysyłlka: %1 + + AutoMint is currently enabled and set to + AutoMint jest obecnie włączony i ustawiony na + + + AutoMint is disabled + AutoMint jest wyłączony + Wallet is <b>encrypted</b> and currently <b>unlocked</b> - Portfel jest 1Zakodowany1 i obecnie 2Odblokowany2 + Portfel jest zaszyfrowany i obecnie odblokowany Wallet is <b>encrypted</b> and currently <b>locked</b> - Portfel jest 1Zakodowany1 i obecnie 2Zablokowany2 + Portfel jest zaszyfrowany i obecnie zablokowany + + + A fatal error occurred. ION can no longer continue safely and will quit. + Wystąpił błąd krytyczny. ION nie może już działać bezpiecznie i zakończy działanie. @@ -691,6 +889,14 @@ MultiWysyłlka: %1 Blockchain Explorer Eksplorer blockchain + + Back + Do tyłu + + + Forward + Do przodu + Address / Block / Transaction Adres / Blok / Transakcja @@ -703,15 +909,35 @@ MultiWysyłlka: %1 TextLabel TekstZakładka - + + Not all transactions will be shown. To view all transactions you need to set txindex=1 in the configuration file (ioncoin.conf). + Nie wszystkie transakcje zostaną pokazane. Aby wyświetlić wszystkie transakcje, musisz ustawić txindex=1 w pliku konfiguracyjnym (ioncoin.conf). + + ClientModel - + + Total: %1 (IPv4: %2 / IPv6: %3 / Tor: %4 / Unknown: %5) + Razem: %1 (IPv4: %2 / IPv6: %3 / Tor: %4 / Nieznane: %5) + + + Network Alert + Alert sieciowy + + CoinControlDialog + + Quantity: + Ilość: + + + Bytes: + Bajty: + Amount: - Liczba: + Ilość: Priority: @@ -725,17 +951,25 @@ MultiWysyłlka: %1 Coin Selection Wybór monet + + Dust: + Pył: + After Fee: Po opłacie: Change: - Zmiana: + Reszta: (un)select all - (Od)znacz wszystkie + (od)/zaznacz wszystkie + + + toggle lock state + przełączać stan blokady Tree mode @@ -751,7 +985,7 @@ MultiWysyłlka: %1 Amount - Liczba + Ilość Received with label @@ -761,6 +995,10 @@ MultiWysyłlka: %1 Received with address Otrzymano z adresem + + Type + Typ + Date Data @@ -793,6 +1031,14 @@ MultiWysyłlka: %1 Copy transaction ID Kopiuj ID transakcji + + Lock unspent + Zablokuj niewydane + + + Unlock unspent + Odblokuj niewydane + Copy quantity Kopiuj ilość @@ -805,17 +1051,25 @@ MultiWysyłlka: %1 Copy after fee Kopiuj po opłacie + + Copy bytes + Skopiuj bajty + Copy priority Kopiuj priorytet + + Copy dust + Kopiuj Pył + Copy change - Kopiuj zmianę + Kopiuj resztę Please switch to "List mode" to use this function. - Proszę przełączyć na :Tryb listy" by użyć tej funkcji + Proszę przełączyć na "Tryb listy" by użyć tej funkcji highest @@ -877,6 +1131,10 @@ MultiWysyłlka: %1 This means a fee of at least %1 per kB is required. To znaczy, że opłata co najmniej %1 za kB jest wymagana + + Can vary +/- 1 byte per input. + Zmienia się +/- 1 byte + Transactions with higher priority are more likely to get included into a block. Transakcje o wyższym priorytecie ma większe prawdopodobieństwo wdrożenia do bloku @@ -885,26 +1143,221 @@ MultiWysyłlka: %1 This label turns red, if the priority is smaller than "medium". Ta zakładka staje się czerwona, jeżeli priorytet jest mniejszy niż "średni" + + This label turns red, if any recipient receives an amount smaller than %1. + Ta etykieta zmienia kolor na czerwony, jeśli odbiorca otrzymuje mniej niż %1. + + + Can vary +/- %1 uion per input. + Zmienia się +/- %1 uion + (no label) - (brak zakładki) + (brak etykiety) + + + change from %1 (%2) + Reszta z %1 (%2) + + + (change) + (reszta) - + EditAddressDialog - + + Edit Address + Edytuj adres + + + &Label + &Etykieta + + + The label associated with this address list entry + Etykieta powiązana z tą pozycją listy adresowej + + + &Address + &Adres + + + The address associated with this address list entry. This can only be modified for sending addresses. + Adres powiązany z tą pozycją listy adresowej. To można zmodyfikować tylko dla adresu docelowego. + + + New receiving address + Nowy adres odbiorczy + + + New sending address + Nowy adres wysyłania + + + Edit receiving address + Nowy adres wysyłania + + + Edit sending address + Edytuj adres wysyłania + + + The entered address "%1" is not a valid ION address. + Wprowadzony adres "%1" nie jest prawidłowym adresem ION. + + + The entered address "%1" is already in the address book. + Wprowadzony adres "%1" jest już w książce adresowej. + + + Could not unlock wallet. + Nie można odblokować portfela. + + + New key generation failed. + Nie udało się wygenerować nowego klucza. + + FreespaceChecker - + + A new data directory will be created. + Zostanie utworzony nowy katalog danych. + + + name + Nazwa + + + Directory already exists. Add %1 if you intend to create a new directory here. + Katalog już istnieje. Dodaj %1, jeśli zamierzasz utworzyć tutaj nowy katalog. + + + Path already exists, and is not a directory. + Ścieżka już istnieje i nie jest katalogiem. + + + Cannot create data directory here. + Nie można tutaj utworzyć katalogu danych. + + + + GovernancePage + + Form + Forma + + + GOVERNANCE + ZARZĄDZANIE + + + Update Proposals + Aktualizuj propozycje + + + Next super block: + Następny super blok: + + + 0 + 0 + + + Blocks to next super block: + Bloków to następnego super bloku: + + + Days to budget payout (estimate): + Dni do wypłaty (szacunkowe): + + + Allotted budget: + Budżet przydzielony: + + + Budget left: + Pozostały budżet: + + + Masternodes count: + Liczniki masternodes: + + HelpMessageDialog - Ion Core - &Rdzeń ION + version + Wersja + + + ION Core + Rdzeń ION + + + (%1-bit) + (%1-bit) + + + About ION Core + O ION Core + + + Command-line options + Opcje wiersza poleceń + + + Usage: + użycie + + + command-line options + Opcje wiersza poleceń + + + UI Options: + UI opcje + + + Choose data directory on startup (default: %u) + Wybierz katalog danych podczas uruchamiania (domyślnie: %u ) + + + Show splash screen on startup (default: %u) + Pokaż ekran powitalny podczas uruchamiania (domyślnie: %u ) + + + Set language, for example "de_DE" (default: system locale) + Ustaw język, na przykład "pl_PL" (domyślnie: ustawienia regionalne) + + + Start minimized + Start zminimalizowany - + + Set SSL root certificates for payment request (default: -system-) + Ustaw certyfikaty SSL dla żądania zapłaty (domyślnie: -system-) + + Intro + + Welcome + Zapraszamy + + + Welcome to ION Core. + Zapraszamy do ION Core + + + As this is the first time the program is launched, you can choose where ION Core will store its data. + Ponieważ program jest uruchamiany po raz pierwszy, możesz wybrać miejsce, w którym ION Core będzie przechowywać swoje dane. + + + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core pobierze i zapisze kopię łańcucha bloków ION. Przynajmniej %1 GB danych zostanie zapisanych w tym katalogu, a jego liczba będzie rosnąć z czasem. Portfel zostanie również zapisany w tym katalogu. + Use the default data directory Użyj domyślnej ścieżki danych @@ -914,8 +1367,12 @@ MultiWysyłlka: %1 Użyj niestandardowej ścieżki danych - Ion Core - &Rdzeń ION + ION Core + Rdzeń ION + + + Error: Specified data directory "%1" cannot be created. + Błąd: nie można utworzyć określonego katalogu danych "%1". Error @@ -923,15 +1380,31 @@ MultiWysyłlka: %1 %1 GB of free space available - %1GB dostępnej pamięci + %1 GB dostępnej pamięci + + + (of %1 GB needed) + ( %1 GB potrzebne) - + MasternodeList Form Forma + + MASTERNODES + MASTERNODES + + + Note: Status of your masternodes in local wallet can potentially be slightly incorrect.<br />Always wait for wallet to sync additional data and then double check from another node<br />if your node should be running but you still see "MISSING" in "Status" field. + Uwaga: Stan twoich masternodów w lokalnym portfelu może być nieco niepoprawny. Zawsze czekaj, aż portfel zsynchronizuje dodatkowe dane, a następnie sprawdź ponownie od innego węzła, w którym powinien działać twój węzeł, ale nadal widzisz komunikat "BRAK" w polu "Stan". + + + Alias + Alias + Address Adres @@ -950,7 +1423,7 @@ MultiWysyłlka: %1 Last Seen (UTC) - Ustatnio widziano (UTC) + Ostatnio widziano (UTC) Pubkey @@ -958,7 +1431,7 @@ MultiWysyłlka: %1 S&tart alias - Start alias + S&tart alias Start &all @@ -970,11 +1443,11 @@ MultiWysyłlka: %1 &Update status - &Status aktualizacji + &Stan aktualizacji Status will be updated automatically in (sec): - Status będzie uaktualniany automatycznie (w sekundach) + Stan będzie uaktualniany automatycznie (w sekundach) 0 @@ -986,7 +1459,7 @@ MultiWysyłlka: %1 Confirm masternode start - Potwierdź rozpoczęcie Masternode + Potwierdź start Masternode Are you sure you want to start masternode %1? @@ -1014,7 +1487,7 @@ MultiWysyłlka: %1 Are you sure you want to start MISSING masternodes? - Czy jesteś pewien, że chcesz rozpocząć BRAKUJĄCE masternode? + Czy jesteś pewien, że chcesz wystartować BRAKUJĄCE masternode? @@ -1035,6 +1508,17 @@ MultiWysyłlka: %1 Enter Address to Send to Wprowadź adres do wysłania + + MultiSend allows you to automatically send up to 100% of your stake or masternode reward to a list of other ION addresses after it matures. +To Add: enter percentage to give and ION address to add to the MultiSend vector. +To Delete: Enter address to delete and press delete. +MultiSend will not be activated unless you have clicked Activate + MultiSend pozwala na automatyczne przesłanie do 100% swojej nagrody za staking lub masternoda na listę innych adresów ION po osiągnięciu dojrzałości. Aby dodać: wpisz procent i adres ION, żeby dodać do wektora MultiSend. Aby usunąć: Enter adres do usunięcia i naciśnij Usuń. MultiSend nie zostanie aktywowany, dopóki nie klikniesz Aktywuj + + + Add to MultiSend Vector + Dodaj do MultiSend Vector + Add Dodaj @@ -1061,64 +1545,206 @@ MultiWysyłlka: %1 Percentage: - Procent + Procent: + + + Address to send portion of stake to + Adres do wysłania stake. Address: Adres: - Delete - Usuń + Label: + Etykieta: - Activate MultiSend + Enter a label for this address to add it to your address book + Wpisz etykietę dla tego adresu, aby dodać ją do swojej książki adresowej + + + Delete Address From MultiSend Vector + Usuń adres z MultiSend Vector + + + Delete + Usuń + + + Activate MultiSend Aktywuj MultiWysyłkę Activate Aktywuj + + View MultiSend Vector + Zobacz wektor MultiSend + View MultiSend Podgląd MultiWysyłki + + Send For Stakes + Wyślij do Stakes + + + Send For Masternode Rewards + Wyślij do Masternode Rewards + (no label) - (brak zakładki) + (brak etykiety) - The entered address: - - Wprowadzony adres: - + MultiSend Active for Stakes and Masternode Rewards + MultiSend Aktywny dla Stakes i Masternode + + + MultiSend Active for Stakes + MultiSend Aktywny dla Stakes + + + MultiSend Active for Masternode Rewards + MultiSend Aktywny dla Masternode + + + MultiSend Not Active + MultiSend nieaktywny - is invalid. + The entered address: %1 is invalid. Please check the address and try again. - jest nieprawidłowy -Proszę sprawdzić adres i spróbować ponownie + Wprowadzony adres: %1 jest nieprawidłowy. +Sprawdź adres i spróbuj ponownie. - Please Enter 1 - 100 for percent. - Proszę wprowadzić 1-100 procent + The total amount of your MultiSend vector is over 100% of your stake reward + Łączna kwota Twojego wektora MultiSend to ponad 100% nagrody za stake - Removed - Usunięto + Saved the MultiSend to memory, but failed saving properties to the database. + Zapisano MultiSend w pamięci, ale nie powiodło się zapisywanie właściwości w bazie danych. - Could not locate address - - Nie można zlokalizować adresu - + MultiSend Vector + MultiSend Vector + + + Removed %1 + Usunięto %1 + + + Could not locate address + Nie można znaleźć adresu + + + Unable to activate MultiSend, check MultiSend vector + Nie można aktywować MultiSend, sprawdź wektor MultiSend + + + Need to select to send on stake and/or masternode rewards + Musisz wybrać, aby wysłać nagrody za stake i / lub masternode + + + MultiSend activated but writing settings to DB failed + Aktywowano funkcję MultiSend, ale zapisanie ustawień do bazy danych nie powiodło się + + + MultiSend activated + Aktywowano funkcję MultiSend + + + First Address Not Valid + Pierwszy adres nie jest prawidłowy + + + MultiSend deactivated but writing settings to DB failed + Funkcja MultiSend została wyłączona, ale zapisywanie ustawień do bazy danych nie powiodło się + + + MultiSend deactivated + Funkcja MultiSend została wyłączona + + + Please Enter 1 - 100 for percent. + Proszę wprowadzić 1-100 procent MultisigDialog + + Multisignature Address Interactions + Interakcje między adresami Multisignature + + + Create MultiSignature &Address + Utwórz adres MultiSignature + + + How many people must sign to verify a transaction + Ile osób musi podpisać, aby zweryfikować transakcję + + + Enter the minimum number of signatures required to sign transactions + Wprowadź minimalną liczbę podpisów wymaganych do podpisywania transakcji + + + Address Label: + Etykieta adresu: + + + Add another address that could sign to verify a transaction from the multisig address. + Dodaj kolejny adres, który może podpisać, aby zweryfikować transakcję z adresu multisig. + + + &Add Address / Key + &Dodaj adres / klucz + + + Local addresses or public keys that can sign: + Adres lokalny lub klucz publiczny, który może podpisać: + + + Create a new multisig address + Utwórz nowy adres multisig + + + C&reate + U&twórz + Status: - Status: + Stan: + + + Use below to quickly import an address by its redeem. Don't forget to add a label before clicking import! +Keep in mind, the wallet will rescan the blockchain to find transactions containing the new address. +Please be patient after clicking import. + Użyj, aby szybko zaimportować adres przez jego redeem. Nie zapomnij dodać etykiety przed kliknięciem przycisku importuj! Pamiętaj, że portfel przeszuka blockchain, aby znaleźć transakcje zawierające nowy adres. Po kliknięciu importu należy zachować cierpliwość. + + + &Import Redeem + &Importuj Redeem + + + &Create MultiSignature Tx + &Utwórz MultiSignature Tx + + + Inputs: + Wejścia: + + + Coin Control + Kontrola monet + + + Quantity Selected: + Wybrana ilość: 0 @@ -1126,11 +1752,103 @@ Proszę sprawdzić adres i spróbować ponownie Amount: - Liczba: + Ilość: + + + Add an input to fund the outputs + Dodaj dane wejściowe żeby znaleźć wyniki + + + Add a Raw Input + Dodaj Raw Input + + + Address / Amount: + Adres / kwota: + + + Add destinations to send ION to + Dodaj miejsca docelowe, żeby wysłać ION do + + + Add &Destination + &Dodaj cel + + + Create a transaction object using the given inputs to the given outputs + Utwórz obiekt transakcji, dopasowując dane wejściowe do danych wyników + + + Cr&eate + U&twórz + + + &Sign MultiSignature Tx + &Zarejestruj MultiSignature Tx + + + Transaction Hex: + Transakcja Hex: + + + Sign the transaction from this wallet or from provided private keys + Podpisuj transakcję z tego portfela lub z dostarczonych kluczy prywatnych + + + S&ign + &Podpis + + + <html><head/><body><p>DISABLED until transaction has been signed enough times.</p></body></html> + <html><head/><body><p>Nieaktywny, dopóki transakcja nie zostanie podpisana wystarczająco dużo razy.</p></body></html> + + + Co&mmit + &angażować + + + Add private keys to sign the transaction with + Dodaj klucze prywatne, aby podpisać transakcję + + + Add Private &Key + &Dodaj klucze prywatne + + + Sign with only private keys (Not Recommened) + Zaloguj się, używając tylko kluczy prywatnych (Niezalecane) + + + Invalid Tx Hash. + Nieprawidłowy Tx Hash + + + Vout position must be positive. + Pozycja Vout musi być dodatnia. + + + Maximum possible addresses reached. (15) + Osiągnięto maksymalne możliwą liczbę adresów. (15) + + + Vout Position: + Pozycja Vout + + + Amount: + Ilość: + + + Maximum (15) + Maximum (15) - + ObfuscationConfig + + Configure Obfuscation + Skonfiguruj Obfuskację + Basic Privacy Podstawowa prywatność @@ -1147,18 +1865,74 @@ Proszę sprawdzić adres i spróbować ponownie Please select a privacy level. Proszę wybrać poziom prywatności - + + Use 2 separate masternodes to mix funds up to 20000 ION + Użyj 2 oddzielnych masternodów, aby wymieszać fundusze od 20000 ION + + + Use 8 separate masternodes to mix funds up to 20000 ION + Użyj 8 oddzielnych masternodów, aby wymieszać fundusze od 20000 ION + + + Use 16 separate masternodes + Użyj 16 oddzielnych masternode + + + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Ta opcja jest najszybsza, najmniej bezpieczna i kosztuje około 0,025 ION, aby anonimizować 20000 ION + + + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Ta opcja jest wolniejsza, bezpieczniejsza i kosztuje około 0,05 ION, aby anonimizować 20000 ION + + + This is the slowest and most secure option. Using maximum anonymity will cost + Jest to najwolniejsza i najbezpieczniejsza opcja. Korzystanie z maksymalnej anonimowości będzie kosztować + + + 0.1 ION per 20000 ION you anonymize. + anonimizujesz 20000 ION za 0,1 ION + + + Obfuscation Configuration + Skonfiguruj Zaciemnianie + + + Obfuscation was successfully set to basic (%1 and 2 rounds). You can change this at any time by opening ION's configuration screen. + Zaciemnianie zostało z powodzeniem ustawione na podstawową wartość (%1 i 2 rundy). Możesz to zmienić w dowolnym momencie, otwierając ekran konfiguracji ION. + + + Obfuscation was successfully set to high (%1 and 8 rounds). You can change this at any time by opening ION's configuration screen. + Zaciemnianie zostało z powodzeniem ustawiona na wysoką wartość (%1 i 8 rund). Możesz to zmienić w dowolnym momencie, otwierając ekran konfiguracji ION. + + + Obfuscation was successfully set to maximum (%1 and 16 rounds). You can change this at any time by opening ION's configuration screen. + Zaciemnianie zostało z powodzeniem ustawione na makszmalną wartość (%1 i 16 rund). Możesz to zmienić w dowolnym momencie, otwierając ekran konfiguracji ION. + + OpenURIDialog Open URI Otwórz URI + + Open payment request from URI or file + Otwórz prośbę o płatność z URI lub pliku + URI: URI: - + + Select payment request file + Wybierz plik żądania płatności + + + Select payment request file to open + Wybierz plik żądania płatności, aby otworzyć + + OptionsDialog @@ -1171,15 +1945,31 @@ Proszę sprawdzić adres i spróbować ponownie Size of &database cache - Rozmiar &bazy danych cache + &Rozmiar bazy danych cache MB MB + + Number of script &verification threads + Liczba wątków skryptowych i weryfikacyjnych + + + (0 = auto, <0 = leave that many cores free) + (0 = auto, <0 = zostaw za darmo) + W&allet - Portfel + &Portfel + + + If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed. + Jeśli wyłączysz wydawanie niepotwierdzonych reszt, reszta z transakcji nie może być użyta, dopóki transakcja nie uzyska co najmniej jednego potwierdzenia. Ma to również wpływ na sposób obliczania salda. + + + Automatically open the ION client port on the router. This only works when your router supports UPnP and it is enabled. + Automatycznie otwórz port klienta ION na routerze. Działa to tylko wtedy, gdy twój router obsługuje UPnP i jest włączony. Accept connections from outside @@ -1189,6 +1979,14 @@ Proszę sprawdzić adres i spróbować ponownie Allow incoming connections Zezwól na przychodzące połączenia + + &Connect through SOCKS5 proxy (default proxy): + &Połącz przez serwer proxy SOCKS5 (domyślne proxy): + + + Expert + Ekspert + Automatically start ION after logging in to the system. Automatycznie uruchom ION po zalogowaniu do systemu @@ -1205,10 +2003,18 @@ Proszę sprawdzić adres i spróbować ponownie Enable coin &control features Włącz cechy kontroli monety + + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. + Pokaż dodatkową tabelę wszystkich twoich masternodów w pierwszej szpalcie<br/> i wszystkich masternodów w sieci w drugiej + Show Masternodes Tab Pokaż Masternode Tab + + &Spend unconfirmed change + &Wydaj niepotwierdzoną resztę + &Network &Sieć @@ -1223,6 +2029,46 @@ https://www.transifex.com/ioncoincore/ioncore Brakuje języka bądź nieukończona pełnego tłumaczenia? Pomóż w tłumaczeniu tutaj: https://www.transifex.com/ioncoincore/ioncore + + Map port using &UPnP + Mapuj port za pomocą &UPnP + + + Enable automatic minting of ION units to xION + Włącz automatyczny minting ION do xION + + + Enable xION Automint + Włącz xION Automint + + + Enable automatic xION minting from specific addresses + Włącz automatyczne wybijanie xION-ów z określonych adresów + + + Enable Automint Addresses + Włącz adresy Automint + + + Percentage of incoming ION which get automatically converted to xION via Zerocoin Protocol (min: 10%) + Procent ION, które są automatycznie konwertowane na xION za pomocą protokołu Zerocoin (min: 10%) + + + Percentage of autominted xION + Procent automint xION + + + Wait with automatic conversion to Zerocoin until enough ION for this denomination is available + Zaczekaj z automatyczną konwersją na Zerocoin, aż będzie dostępna wystarczająca wartość ION dla tego nominału + + + Preferred Automint xION Denomination + Preferowane nominały Automint xION + + + Stake split threshold: + Próg podziału stawki -stake- : + Connect to the ION network through a SOCKS5 proxy. Połącz z siecią ION poprzez SOCKS5 proxy. @@ -1247,9 +2093,25 @@ https://www.transifex.com/ioncoincore/ioncore &Window &Okno + + Show only a tray icon after minimizing the window. + Pokaż tylko ikonkę po zminimalizowaniu okna. + + + &Minimize to the tray instead of the taskbar + &Zminimalizuj do tray zamiast do paska zadań + + + Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu. + Zminimalizuj zamiast wychodzić z aplikacji, gdy okno jest zamknięte. Po włączeniu tej opcji aplikacja zostanie zamknięta dopiero po wybraniu opcji Zakończ w menu. + + + M&inimize on close + &Zminimalizuj przy zamknięciu + &Display - &Pokaz + &Pokaż User Interface &language: @@ -1271,6 +2133,30 @@ https://www.transifex.com/ioncoincore/ioncore Decimal digits Liczby dziesiętne + + Hide empty balances + Ukryj puste saldo + + + Hide orphan stakes in transaction lists + Ukryj osierocone stawki w liście tranzakcji + + + Hide orphan stakes + Ukryj osierocone stakes + + + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. + Zewnętrzne adresy URL (np. Eksplorator bloków), które pojawiają się na karcie transakcji jako elementy menu kontekstowego. %s w adresie URL jest zastąpione hashem transakcji. Wielokrotne URL są oddzielone pionową linią |. + + + Third party transaction URLs + Adresy URL transakcji stron trzecich + + + Active command-line options that override above options: + Aktywne opcje wiersza polecenia, które zastępują powyższe opcje: + Reset all client options to default. Zresetuj wszystkie ustawienia by przywrócić ustawienia domyślne @@ -1287,6 +2173,10 @@ https://www.transifex.com/ioncoincore/ioncore &Cancel &Anuluj + + Any + jakikolwiek + default domyślny @@ -1315,7 +2205,15 @@ https://www.transifex.com/ioncoincore/ioncore The supplied proxy address is invalid. Podany adres proxy jest nieprawidłowy - + + The supplied proxy port is invalid. + Podany port proxy jest nieprawidłowy. + + + The supplied proxy settings are invalid. + Podane ustawienia proxy są nieprawidłowe. + + OverviewPage @@ -1330,78 +2228,372 @@ https://www.transifex.com/ioncoincore/ioncore Your current spendable balance Twój aktualny balans do wysłania + + Total Balance, including all unavailable coins. + Saldo całkowite, w tym wszystkie niedostępne monety. + + + ION Balance + ION Saldo + Pending: W trakcie realizacji: + + Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance + Łącznie transakcji, które jeszcze nie zostały potwierdzone, i jeszcze nie wliczają się do salda do wydania + Immature: Niedojrzały - Total: - Całość: + Staked or masternode rewards that has not yet matured + Nagrody za Stake lub masternode, które nie zostały jeszcze potwierdzone - Current total balance in watch-only addresses - Obecny całkowity bilans w adresach tylko do obejrzenia + Current locked balance in watch-only addresses + Aktualne zablokowane saldo na testowych adresach - Watch-only: - Tylko do obejrzenia + Your current ION balance, unconfirmed and immature transactions included + Twoje bieżące saldo ION, niepotwierdzone transakcje zostały uwzględnione - Spendable: - Możliwy do wysłania: + xION Balance + xION Saldo - Recent transactions - Ostatnie transakcje + Mature: more than 20 confirmation and more than 1 mint of the same denomination after it was minted. +These xION are spendable. + Dojrzałe: ponad 20 potwierdzeń i więcej niż 1 mint o tym samym nominale po jej wybiciu. +Te xION można wydać - out of sync - Brak synchronizacji + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + Niepotwierdzone: mniej niż 20 potwierdzeń +Niedojrzały: potwierdzony, ale mniej niż 1 mint o tym samym nominale po wybiciu - - - PaymentServer - Payment request error - BŁĄD żądania płatności + The displayed information may be out of date. Your wallet automatically synchronizes with the ION network after a connection is established, but this process has not completed yet. + Wyświetlane informacje mogą być nieaktualne. Twój portfel automatycznie synchronizuje się z siecią ION po nawiązaniu połączenia, ale ten proces jeszcze się nie zakończył. - Payment request has expired. - Żadanie płatności straciło ważność + OVERVIEW + PRZEGLĄD - Payment request is not initialized. - Żądanie płatności nie zainicjowane + Combined Balance (including unconfirmed and immature coins) + Saldo połączone (w tym niepotwierdzone i niedojrzałe monety) - - - PeerTableModel - Version - Wersja + Combined Balance + Połączone saldo - Ping Time - Czas PinguCzas pingu + Unconfirmed transactions to watch-only addresses + Niepotwierdzone transakcje na adresy testowe - - - PrivacyDialog - 0 + Staked or masternode rewards in watch-only addresses that has not yet matured + Nagrody za Stake lub masternode w adresach testowych, które jeszcze nie zostały dojrzałe + + + Total: + Całość: + + + Current total balance in watch-only addresses + Obecny całkowity bilans w adresach tylko do obejrzenia + + + Watch-only: + Watch-only: + + + Your current balance in watch-only addresses + Twoje bieżące saldo na adresach testowych + + + Spendable: + Możliwy do wysłania: + + + Locked ION or Masternode collaterals. These are excluded from xION minting. + Zablokowane ION lub Masternode. Są one wyłączone xION minting + + + Locked: + Zablokowany: + + + Unconfirmed: + Niepotwierdzone: + + + Your current xION balance, unconfirmed and immature xION included. + Twoje obecne saldo xION, niepotwierdzone i niedojrzałe xION włącznie. + + + Recent transactions + Ostatnie transakcje + + + out of sync + Brak synchronizacji + + + Current percentage of xION. +If AutoMint is enabled this percentage will settle around the configured AutoMint percentage (default = 10%). + + Aktualny procent xION. +Jeśli włączona jest funkcja AutoMint, procent ten ustabilizuje się wokół skonfigurowanej wartości AutoMint (domyślnie = 10%). + + + + AutoMint is currently enabled and set to + AutoMint jest obecnie włączony i ustawiony na + + + To disable AutoMint add 'enablezeromint=0' in ioncoin.conf. + Aby wyłączyć AutoMint, dodaj "enablezeromint = 0" w pliku ioncoin.conf. + + + AutoMint is currently disabled. +To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1' in ioncoin.conf + Funkcja AutoMint jest obecnie wyłączona. +Aby włączyć AutoMint zmień "enablezeromint = 0" na "enablezeromint = 1" w pliku ioncoin.conf + + + + PaymentServer + + Payment request error + BŁĄD żądania płatności + + + URI handling + Obsługa URI + + + Payment request fetch URL is invalid: %1 + Adres URL żądania zapłaty jest nieprawidłowy: %1 + + + Payment request file handling + Obsługa plików żądań płatności + + + Invalid payment address %1 + Nieprawidłowy adres płatności %1 + + + Cannot start ion: click-to-pay handler + Nie można uruchomić ion: click-to-pay handler + + + URI cannot be parsed! This can be caused by an invalid ION address or malformed URI parameters. + Nie można przeanalizować identyfikatora URI! Może to być spowodowane nieprawidłowym adresem ION lub nieprawidłowymi parametrami URI. + + + Payment request file cannot be read! This can be caused by an invalid payment request file. + Plik żądania płatności nie może zostać odczytany! Przyczyną może być niepoprawny plik żądania płatności. + + + Payment request rejected + Żądanie płatności odrzucone + + + Payment request network doesn't match client network. + Sieć żądań płatności nie jest zgodna z siecią klienta. + + + Payment request has expired. + Żadanie płatności straciło ważność + + + Payment request is not initialized. + Żądanie płatności nie zainicjowane + + + Unverified payment requests to custom payment scripts are unsupported. + Niezweryfikowane żądania płatności dotyczące niestandardowych skryptów płatności są nieobsługiwane. + + + Requested payment amount of %1 is too small (considered dust). + Żądana kwota płatności %1 jest za mała (za pył). + + + Refund from %1 + Zwrot %1 + + + Payment request %1 is too large (%2 bytes, allowed %3 bytes). + Żądanie płatności %1 jest za duże ( %2 bajty, dozwolone %3 bajty). + + + Payment request DoS protection + Wniosek o płatność Ochrona DoS + + + Error communicating with %1: %2 + Błąd komunikacji z %1: %2 + + + Payment request cannot be parsed! + Żądania płatności nie można przeanalizować! + + + Bad response from server %1 + Zła odpowiedź z serwera %1 + + + Network request error + Błąd żądania sieci + + + Payment acknowledged + Płatność potwierdzona + + + + PeerTableModel + + Address/Hostname + adres / nazwa hosta + + + Version + Wersja + + + Ping Time + Czas Pingu + + + + PrivacyDialog + + Zerocoin Actions: + Działania Zerocoin: + + + The displayed information may be out of date. Your wallet automatically synchronizes with the ION network after a connection is established, but this process has not completed yet. + Wyświetlane informacje mogą być nieaktualne. Twój portfel automatycznie synchronizuje się z siecią ION po nawiązaniu połączenia, ale ten proces jeszcze się nie zakończył. + + + Mint Zerocoin + Mint Zerocoin + + + 0 0 + + xION + xION + + + Available for minting are coins which are confirmed and not locked or Masternode collaterals. + Do minting dostępne są monety, które są potwierdzone i niezablokowane dla Masternode. + + + Available for Minting: + Dostępne dla Minting: + + + 0.000 000 00 ION + 0.000 000 00 ION + + + Reset Zerocoin Wallet DB. Deletes transactions that did not make it into the blockchain. + Zresetuj DB portfela Zerocoin. Usuwa transakcje, które nie zostały wprowadzone do łańcucha blokowego. + Reset Resetuj + + Coin Control... + Kontrola monet ... + + + Quantity: + Ilość: + Amount: - Liczba: + Ilość: + + + Rescan the complete blockchain for Zerocoin mints and their meta-data. + Ponownie przeszukaj cały blockchain dla Zerocoin, mint i ich meta-danych. + + + ReScan + skanuje ponownie + + + Status and/or Mesages from the last Mint Action. + Status i / lub wiadomości z ostatniej akcji mint. + + + PRIVACY + PRYWATNOŚĆ + + + Enter an amount of Ion to convert to xION + Wprowadź ilość Ion, aby przekonwertować na xION + + + xION Control + Kontrola xION + + + xION Selected: + Wybrano xION: + + + Quantity Selected: + Wybrana ilość: + + + Spend Zerocoin. Without 'Pay To:' address creates payments to yourself. + Wydaj Zerocoin. Bez "Płać do:" tworzy płatności dla siebie. + + + Spend Zerocoin + Wydaj Zerocoin + + + Available (mature and spendable) xION for spending + Dostępne (starsze i dostępne) xION do wydania + + + Available Balance: + Dostępne saldo: + + + Available (mature and spendable) xION for spending + +xION are mature when they have more than 20 confirmations AND more than 2 mints of the same denomination after them were minted + Dostępne (starsze i dostępne) xION do wydania + +xION są dojrzałe, gdy mają więcej niż 20 potwierdzeń I więcej niż 2 mints tego samego nominału które po nich zostały wybite + + + 0 xION + 0 xION + + + Pay &To: + &Zapłać + + + The ION address to send the payment to. Creates local payment to yourself when empty. + Adres ION do wysłania płatności do. Tworzy lokalną płatność dla siebie, gdy jest pusta. Choose previously used address @@ -1420,626 +2612,3306 @@ https://www.transifex.com/ioncoincore/ioncore Alt+P - Priority: - Priorytet: + &Label: + &Etykieta - TextLabel - TekstZakładka + Enter a label for this address to add it to the list of used addresses + Wprowadź etykietę dla tego adresu, aby dodać ją do listy używanych adresów - Fee: - Opłata: + A&mount: + &Ilość: - no - nie + Convert Change to Zerocoin (might cost additional fees) + Konwertuj resztę na Zerocoin (może to kosztować dodatkowe opłaty) - medium - średni + If checked, the wallet tries to minimize the returning change instead of minimizing the number of spent denominations. + Jeśli jest zaznaczone, portfel próbuje zminimalizować powracającą resztę, zamiast minimalizować liczbę zużytych nominałów. - Change: - Zmiana: + Minimize Change + Minimalizuj resztę - out of sync - Brak synchronizacji + Information about the available Zerocoin funds. + Informacje o dostępnych funduszach Zerocoin. - Copy quantity - Kopiuj ilość + Zerocoin Stats: + Zerocoin Stats: - Copy amount - Kopiuj liczbę + Total Balance including unconfirmed and immature xION + Łączne saldo razem z niepotwierdzonym i niedojrzałym xION - - - QObject - Amount - Liczba + Total Zerocoin Balance: + Total Balans Zerocoin: - Enter a ION address (e.g. %1) - Wprowadź adres ION (np. %1) + Denominations with value 1: + Nominały o wartości 1: - %1 d - %1 d + Denom. with value 1: + Nominały o wartości 1: - %1 h - %1 g + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + Niepotwierdzone: mniej niż 20 potwierdzeń +Niedojrzały: potwierdzony, ale mniej niż 1 mint o tym samym nominale po wybiciu - %1 m - %1 m + Show the current status of automatic xION minting. + +To change the status (restart required): +- enable: add 'enablezeromint=1' to ioncoin.conf +- disable: add 'enablezeromint=0' to ioncoin.conf + +To change the percentage (no restart required): +- menu Settings->Options->Percentage of autominted xION + + + Pokaż aktualny status automatycznego mint xION. + +Aby zmienić status (wymagany restart): +- włącz: dodaj "enablezeromint = 1" do pliku ioncoin.conf +- wyłącz: dodaj "enablezeromint = 0" do pliku ioncoin.conf + +Aby zmienić procent (bez ponownego uruchamiania): +- menu Ustawienia-> Opcje-> Procent autominted xION + + - %1 s - %1 s + AutoMint Status + AutoMint Stan - NETWORK - Sieć + Global Supply: + Globalny zapas: - UNKNOWN - NIEZNANY + Denom. 1: + Nominały 1: - None - Brak + Denom. 5: + Nominały 5: - N/A - N/A + Denom. 10: + Nominały 10: - %1 ms - %1 ms + Denom. 50: + Nominały 50: - - - QRImageWidget - &Save Image... - &Zapisz obrazek + Denom. 100: + Nominały 100: - &Copy Image - &Kopiuj obrazek + Denom. 500: + Nominały 500: - Save QR Code - Zapisz kod QR + Denom. 1000: + Nominały 1000: - PNG Image (*.png) - Obrazek PNG (*.png) + Denom. 5000: + Nominały 5000: - - - RPCConsole - Tools window - Okno narzędzi + 0 x + 0 x - &Information - &Informacje + Show xION denominations list + Pokaż listę jednostek xION - General - Generalne + Show Denominations + Pokaż jednostki - Name - Nazwa + Denominations with value 5: + Nominały o wartości 5: + + + Denom. with value 5: + Nominały o wartości 5: + + + Denominations with value 10: + Nominały o wartości 10: + + + Denom. with value 10: + Nominały o wartości 10: + + + Denominations with value 50: + Nominały o wartości 50: + + + Denom. with value 50: + Nominały o wartości 50: + + + Denominations with value 100: + Nominały o wartości 100: + + + Denom. with value 100: + Nominały o wartości 100: + + + Denominations with value 500: + Nominały o wartości 500: + + + Denom. with value 500: + Nominały o wartości 500: + + + Denominations with value 1000: + Nominały o wartości 1000: + + + Denom. with value 1000: + Nominały o wartości 1000: + + + Denominations with value 5000: + Nominały o wartości 5000: + + + Denom. with value 5000: + Nominały o wartości 5000: + + + Hide Denominations + Ukryj jednostki + + + Priority: + Priorytet: + + + TextLabel + TekstZakładka + + + Fee: + Opłata: + + + Dust: + Pył: + + + no + nie + + + Bytes: + Bajty: + + + Insufficient funds! + Niewystarczające środki! + + + Coins automatically selected + Monety automatycznie wybrane + + + medium + średni + + + Coin Control Features + Funkcje kontroli monet + + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + Jeśli jest aktywowany, ale adres reszty jest pusty lub nieprawidłowy, reszta zostanie wysłana na nowo wygenerowany adres. + + + Custom change address + Standardowy adres reszty + + + Amount After Fee: + Kwota po opłacie: + + + Change: + Reszta: + + + out of sync + Brak synchronizacji + + + Mint Status: Okay + Mint Stan: Ok + + + Copy quantity + Kopiuj ilość + + + Copy amount + Kopiuj liczbę + + + Starting ResetMintZerocoin: rescanning complete blockchain, this will need up to 30 minutes depending on your hardware. +Please be patient... + Uruchamianie ResetMintZerocoin: ponowne skanowanie kompletnego blockchaina, to będzie wymagać do 30 minut w zależności od sprzętu. +Proszę być cierpliwym... + + + ) needed. +Maximum allowed: + ) potrzebne. +Maksymalna dozwolona: + + + xION Spend #: + Wydaj xION #: + + + xION Mint + xION Mint + + + <b>enabled</b>. + <b>włączony</b>. + + + <b>disabled</b>. + <b>wyłączony</b>. + + + Configured target percentage: <b> + Skonfigurowana wartość procentowa:<b> + + + xION is currently disabled due to maintenance. + xION jest obecnie wyłączony z powodu konserwacji. + + + xION is currently undergoing maintenance. + xION jest obecnie w trakcie konserwacji. + + + Denom. with value <b>1</b>: + Nominały o wartości <b> 1 </b> : + + + Denom. with value <b>5</b>: + Nominały o wartości<b> 5 </b> : + + + Denom. with value <b>10</b>: + Nominały o wartości<b> 10</b> : + + + Denom. with value <b>50</b>: + Nominały o wartości<b> 50</b> : + + + Denom. with value <b>100</b>: + Nominały o wartości<b> 100</b> : + + + Denom. with value <b>500</b>: + Nominały o wartości <b>500</b> : + + + Denom. with value <b>1000</b>: + Nominały o wartości <b>1000</b> : + + + Denom. with value <b>5000</b>: + Nominały o wartości <b>5000</b> : + + + AutoMint Status: + AutoMint Stan: + + + Denom. <b>1</b>: + Nominały <b>1</b> : + + + Denom. <b>5</b>: + Nominały 1 :<b>5</b> : + + + Denom. <b>10</b>: + Nominały <b>10</b> : + + + Denom. <b>50</b>: + Nominały <b>50</b> : + + + Denom. <b>100</b>: + Nominały <b>100</b> : + + + Denom. <b>500</b>: + Nominały <b>500</b> : + + + Denom. <b>1000</b>: + Nominały <b>1000</b> : + + + Denom. <b>5000</b>: + Nominały <b>5000</b> : + + + Error: Your wallet is locked. Please enter the wallet passphrase first. + Błąd: Twój portfel jest zablokowany. Najpierw wpisz hasło do portfela. + + + Message: Enter an amount > 0. + Wiadomość: wprowadź kwotę > 0. + + + Minting + Minting + + + Successfully minted + Pomyślnie minted -wybite- + + + xION in + xION w + + + sec. Used denominations: + + sec. Używane nominały: + + + + Duration: + Trwanie: + + + sec. + + sec. + + + + Starting ResetSpentZerocoin: + Uruchamianie ResetSpentZerocoin: + + + No 'Pay To' address provided, creating local payment + Nie podano adresu "Zapłać do", tworząc płatność lokalną + + + Invalid Ion Address + Nieprawidłowy adres Ion + + + Invalid Send Amount + Nieprawidłowa kwota wysyłania + + + Confirm additional Fees + Potwierdź dodatkowe opłaty + + + Are you sure you want to send?<br /><br /> + Czy na pewno chcesz wysłać?<br /><br /> + + + to address + na adres + + + to a newly generated (unused and therefore anonymous) local address <br /> + do nowo wygenerowanego (nieużywanego, a tym samym anonimowego) adresu lokalnego<br /> + + + Confirm send coins + Potwierdź wysyłanie monet + + + Failed to fetch mint associated with serial hash + Nie udało się pobrać mint powiązanej z hashem szeregowym + + + Too much inputs ( + Za dużo wejść ( + + + +Either mint higher denominations (so fewer inputs are needed) or reduce the amount to spend. + +Albo wybierz wyższe nominały (potrzeba mniej wejść) albo zmniejsz kwotę do wydania. + + + Spend Zerocoin failed with status = + Wydawanie Zerocoin nie powiodło się ze stanem = + + + PrivacyDialog + Enter an amount of ION to convert to xION + PrivacyDialogPrivacyDialogPrivacyDialogPrivacyDialog + + + denomination: + Nominały + + + Spending Zerocoin. +Computationally expensive, might need several minutes depending on your hardware. +Please be patient... + Wydawanie Zerocoinów. +Kosztowne obliczeniowo może wymagać kilku minut w zależności od sprzętu. +Proszę być cierpliwym... + + + serial: + serial: + + + Spend is 1 of : + Wydane 1 z : + + + value out: + wartość wyjśćowa: + + + address: + adres + + + Sending successful, return code: + Wysyłanie pomyślne, kod powrotu: + + + txid: + txid: + + + fee: + opłata: + + + + ProposalFrame + + Open proposal page in browser + Otwórz stronę propozycji w przeglądarce + + + remaining payment(s). + pozostałe płatności.() + + + Yes: + Tak: + + + Abstain: + Wstrzymać się: + + + No: + Nie: + + + A proposal URL can be used for phishing, scams and computer viruses. Open this link only if you trust the following URL. + + Adres URL propozycji może być używany do phishingu, oszustw i wirusów komputerowych. Otwórz ten link tylko wtedy, gdy ufasz poniższemu adresowi URL. + + + + Open link + Otwórz link + + + Copy link + Kopiuj link + + + Wallet Locked + Portfel zablokowany + + + You must unlock your wallet to vote. + Aby głosować, musisz odblokować portfel. + + + Do you want to vote %1 on + Czy chcesz głosować na %1 + + + using all your masternodes? + używać wszystkich swoich masternodów? + + + Proposal Hash: + Hash propozycji: + + + Proposal URL: + URL propozycji: + + + Confirm Vote + Potwierdź głosowanie + + + Vote Results + Wyniki głosowania + + + + QObject + + Amount + Ilość + + + Enter a ION address (e.g. %1) + Wprowadź adres ION (np. %1) + + + %1 d + %1 d + + + %1 h + %1 g + + + %1 m + %1 m + + + %1 s + %1 s + + + NETWORK + Sieć + + + BLOOM + KWIAT + + + ZK_BLOOM + ZK_BLOOM + + + UNKNOWN + NIEZNANY + + + None + Brak + + + N/A + N/A + + + %1 ms + %1 ms + + + ION Core + ION Core + + + Error: Specified data directory "%1" does not exist. + Błąd: Określony katalog danych „%1” nie istnieje. + + + Error: Cannot parse configuration file: %1. Only use key=value syntax. + Błąd: Nie można przeanalizować pliku konfiguracyjnego: %1. Używaj tylko składni klucz=wartość. + + + Error: Invalid combination of -regtest and -testnet. + Błąd: nieprawidłowa kombinacja -regtest i -testnet. + + + Error reading masternode configuration file: %1 + Błąd odczytu pliku konfiguracyjnego masternode: %1 + + + ION Core didn't yet exit safely... + ION Core nie zamkną się jeszcze bezpiecznie ... + + + + QRImageWidget + + &Save Image... + &Zapisz obrazek + + + &Copy Image + &Kopiuj obrazek + + + Save QR Code + Zapisz kod QR + + + PNG Image (*.png) + Obrazek PNG (*.png) + + + + RPCConsole + + Tools window + Okno narzędzi + + + &Information + &Informacje + + + General + Generalne + + + Name + Nazwa + + + Client name + Nazwa klienta + + + N/A + N/A + + + Number of connections + Liczba połączeń + + + &Open + &Otwórz + + + Startup time + Czas startupu + + + Network + Sieć + + + Last block time + Czas ostatniego bloku + + + Debug log file + Debuguj plik log + + + Using OpenSSL version + Używanie wersji OpenSSL + + + Build date + Data zbudowania + + + Current number of blocks + Bieżąca liczba bloków + + + Client version + Wersja clienta + + + Using BerkeleyDB version + Używanie wersji BerkeleyDB + + + Block chain + Łańcuch bloków + + + Open the ION debug log file from the current data directory. This can take a few seconds for large log files. + Otwórz plik dziennika debugowania ION z bieżącego katalogu danych. Może to potrwać kilka sekund w przypadku dużych plików dziennika. + + + Number of Masternodes + Liczba Masternode + + + &Console + &Konsola + + + Clear console + Wyczyść konsolę + + + &Network Traffic + &Ruch sieci + + + &Clear + &Wyczyść + + + Totals + Razem + + + Received + Otrzymano + + + Sent + Wysłano + + + &Peers + &Peers + + + Banned peers + Zbanowani rówieśnicy -peers- + + + Select a peer to view detailed information. + Wybierz peer by zobaczyć szczegółowe informacje + + + Whitelisted + Dodane do białej listy + + + Direction + Kierunek + + + Protocol + Protokół + + + Version + Wersja + + + Services + Usługi + + + Ban Score + Wynik Ban + + + Connection Time + Czas połączenia + + + Last Send + OStatnio wysłano + + + Last Receive + Ostatnio otrzymano + + + Bytes Sent + Bajty wysłane + + + Bytes Received + Bajty otrzymane + + + Ping Time + Czas Pingu + + + &Wallet Repair + &Napraw portfel + + + Delete local Blockchain Folders + Usuń lokalne foldery Blockchain + + + Wallet In Use: + Portfel w użyciu: + + + Starting Block + Startuje Blok + + + Synced Headers + Zsynchronizowane nagłówki + + + Synced Blocks + Zsynchronizowane Bloki + + + The duration of a currently outstanding ping. + Aktualny czas polecenia ping. + + + Ping Wait + Ping czeka + + + Time Offset + Przesuniecie Czasu + + + Custom Backup Path: + Standardowa ścieżka kopii zapasowej: + + + Custom xION Backup Path: + standardowa ścieżka kopii zapasowej xION: + + + Custom Backups Threshold: + Próg standardowych kopii zapasowych: + + + Salvage wallet + Odzyskaj portfel + + + Attempt to recover private keys from a corrupt wallet.dat. + Próba odzyskania kluczy prywatnych z uszkodzonego pliku wallet.dat. + + + Rescan blockchain files + Reskanuj pliki łańcucha bloków + + + Rescan the block chain for missing wallet transactions. + Ponownie przeskanuj łańcuch blokujący w poszukiwaniu brakujących transakcji w portfelu. + + + Recover transactions 1 + Odzyskaj transakcji 1 + + + Recover transactions from blockchain (keep meta-data, e.g. account owner). + Odzyskaj transakcje z blockchain (zachowaj metadane, np. Właściciela konta). + + + Recover transactions 2 + Odzyskaj transakcje 2 + + + Recover transactions from blockchain (drop meta-data). + Odzyskaj transakcje z blockchain (niezachowuj metadanych). + + + Upgrade wallet format + Ulepsz format portfela + + + Rebuild block chain index from current blk000??.dat files. + Przebuduj indeks łańcucha bloków z bieżących plików blk000??.dat + + + -resync: + -resync: + + + Deletes all local blockchain folders so the wallet synchronizes from scratch. + Usuwa wszystkie lokalne foldery blockchain, aby portfel synchronizował się od początku. + + + The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions. + Poniższe przyciski uruchomią ponownie portfel z opcjami wiersza poleceń, aby naprawić portfel, naprawić problemy z uszkodzonymi plikami blockhain lub brakującymi / przestarzałymi transakcjami. + + + Wallet repair options. + Opcje naprawy portfela. + + + Upgrade wallet to latest format on startup. (Note: this is NOT an update of the wallet itself!) + Uaktualnij portfel do najnowszego formatu podczas uruchamiania. (Uwaga: NIE jest to aktualizacja samego portfela!) + + + Rebuild index + Przebuduj indeks + + + In: + W + + + Out: + Z + + + Welcome to the ION RPC console. + Witamy w konsoli ION RPC. + + + &Disconnect Node + Odłącz węzeł + + + Ban Node for + Zbanuj węzeł na + + + 1 &hour + 1 &godzinę + + + 1 &day + 1 &dzień + + + 1 &week + 1 &tydzień + + + 1 &year + 1 &rok + + + &Unban Node + &Usuń bana na węzeł + + + This will delete your local blockchain folders and the wallet will synchronize the complete Blockchain from scratch.<br /><br /> + Spowoduje to usunięcie lokalnych folderów blockchain, a portfel zsynchronizuje kompletny Blockchain od zera.<br /><br /> + + + This needs quite some time and downloads a lot of data.<br /><br /> + To zajmuje sporo czasu i pobiera dużo danych.<br /><br /> + + + Your transactions and funds will be visible again after the download has completed.<br /><br /> + Twoje transakcje i środki będą widoczne ponownie po zakończeniu pobierania.<br /><br /> + + + Do you want to continue?.<br /> + Czy chcesz kontynuować?.<br /> + + + Confirm resync Blockchain + Potwierdź resynchronizacje Blockchain + + + Use up and down arrows to navigate history, and %1 to clear screen. + Użyj strzałek w górę iw dół, aby poruszać się po historii, a %1, aby wyczyścić ekran. + + + Type <b>help</b> for an overview of available commands. + Wpisz <b>help</b>, aby uzyskać przegląd dostępnych poleceń. + + + WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command. + OSTRZEŻENIE: Scamery były aktywne, mówiąc użytkownikom, aby wpisywali tutaj polecenia, kradnąc ich zawartość portfela. Nie używaj tej konsoli bez pełnego zrozumienia konsekwencji polecenia. + + + %1 B + %1 B + + + %1 KB + %1 KB + + + %1 MB + %1 MB + + + %1 GB + %1 GB + + + (node id: %1) + (identyfikator węzła: %1) + + + via %1 + przez %1 + + + never + nigdy + + + Inbound + Przychodzące + + + Outbound + Wychodzące + + + Yes + Tak + + + No + Nie + + + Unknown + Nieznane + + + + ReceiveCoinsDialog + + Reuse one of the previously used receiving addresses.<br>Reusing addresses has security and privacy issues.<br>Do not use this unless re-generating a payment request made before. + Ponownie użyj jednego z wcześniej używanych adresów odbiorczych.<br>Ponowne używanie adresów powoduje problemy z bezpieczeństwem i prywatnością.<br>Nie używaj tego, chyba że ponownie wygenerujesz prośbę o płatność. + + + R&euse an existing receiving address (not recommended) + Ponownie użyj istniejącego adresu odbiorczego (niezalecane) + + + &Message: + &Wiadomość: + + + An optional label to associate with the new receiving address. + Opcjonalna etykieta powiązana z nowym adresem odbiorczym. + + + Your receiving address. You can copy and use it to receive coins on this wallet. A new one will be generated once it is used. + Twój adres odbiorczy. Możesz go kopiować i używać do odbierania monet w tym portfelu. Nowy zostanie wygenerowany, gdy ten zostanie użyty. + + + &Address: + &Adres: + + + A&mount: + &Ilość: + + + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. + Opcjonalna wiadomość dołączana do żądania zapłaty, która zostanie wyświetlona przy otwarciu żądania. Uwaga: Wiadomość nie będzie wysłana przez sieć ION. + + + RECEIVE + OTRZYMASZ + + + An optional message to attach to the payment request, which will be displayed when the request is opened.<br>Note: The message will not be sent with the payment over the ION network. + Opcjonalna wiadomość dołączana do żądania zapłaty, która zostanie wyświetlona po otwarciu żądania.<br>Uwaga: Wiadomość nie będzie wysłana przez sieć ION. + + + Use this form to request payments. All fields are <b>optional</b>. + Użyj tego formularza do żądania płatności. Wszystkie pola są<b>opcionalne</b>. + + + &Label: + &Etykieta + + + An optional amount to request. Leave this empty or zero to not request a specific amount. + Na opcjonalną kwotę do żądania. Pozostaw to pole puste lub zero, aby nie żądać określonej kwoty. + + + &Request payment + &Poproś o zapłatę + + + Clear all fields of the form. + Wyczyść wszystkie pola formularza. + + + Clear + Wyczyść + + + Receiving Addresses + Adresy odbiorcze + + + Requested payments history + Żądanie Historii płatności + + + Show the selected request (does the same as double clicking an entry) + Pokaż wybrane (robi to samo, co podwójne kliknięcie na wpis) + + + Show + Pokaż + + + Remove the selected entries from the list + Usuń wybrane pozycje z listy + + + Remove + Usuń + + + Copy label + Kopiuj zakładkę + + + Copy message + Skopiuj wiadomość + + + Copy amount + Kopiuj liczbę + + + Copy address + Kopiuj adres + + + + ReceiveRequestDialog + + QR Code + Kod QR + + + Copy &URI + Kopiuj &URI + + + Copy &Address + Kopiuj &Address + + + &Save Image... + &Zapisz obrazek + + + Request payment to %1 + Poproś o płatność do %1 + + + Payment information + Informacje dotyczące płatności + + + URI + URI + + + Address + Adres + + + Amount + Ilość + + + Label + Etykieta + + + Message + Wiadomość + + + Resulting URI too long, try to reduce the text for label / message. + Identyfikator URI jest zbyt długi, spróbuj skrucić tekst etykiety / wiadomości. + + + Error encoding URI into QR Code. + Błąd podczas kodowania URI do kodu QR. + + + + RecentRequestsTableModel + + Date + Data + + + Label + Etykieta + + + Message + Wiadomość + + + Address + Adres + + + Amount + Ilość + + + (no label) + (brak etykiety) + + + (no message) + (brak wiadomości) + + + (no amount) + (bez kwoty) + + + + SendCoinsDialog + + Send Coins + Wyślij monety + + + SEND + Wyślij + + + Coin Control Features + Funkcje kontroli monet + + + Insufficient funds! + Niewystarczające środki! + + + Quantity: + Ilość: + + + Bytes: + Bajty: + + + Amount: + Ilość: + + + Priority: + Priorytet: + + + medium + średni + + + Fee: + Opłata: + + + Dust: + Pył: + + + no + nie + + + After Fee: + Po opłacie: + + + Change: + Reszta: + + + If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. + Jeśli jest aktywowany, ale adres reszty jest pusty lub nieprawidłowy, reszta zostanie wysłana na nowo wygenerowany adres. + + + Custom change address + Standardowy adres reszty + + + Split UTXO + Podziel UTXO + + + # of outputs + # wyjść + + + UTXO Size: + Rozmiar UTXO: + + + 0 ION + 0 ION + + + SwiftX technology allows for near instant transactions - A flat fee of 0.01 ION applies + Technologia SwiftX umożliwia dokonywanie transakcji zbliżonych do błyskawicznych - obowiązuje opłata ryczałtowa w wysokości 0,01 ION + + + Transaction Fee: + Opłata transakcyjna: + + + Choose... + Wybierz ... + + + collapse fee-settings + zawalone ustawienia opłat + + + Minimize + Zminimalizuj + + + per kilobyte + za kilobajt + + + total at least + w sumie na końcu + + + (read the tooltip) + (przeczytaj wskazówkę) + + + Custom: + Zwyczaj: + + + (Smart fee not initialized yet. This usually takes a few blocks...) + (Opłata inteligentna nie została jeszcze zainicjowana, zazwyczaj zajmuje to kilka bloków ...) + + + SwiftX + SwiftX + + + Confirmation time: + Czas potwierdzenia: + + + Open Coin Control... + Otwórz kontrolę monet ... + + + Coins automatically selected + Monety automatycznie wybrane + + + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + Jeśli opłata trasakcyjna jest ustawiona na 1000 uION i transakcja ma tylko 250 bajtów, to płaci się tylko 250 uION,<br /> W przypadku transakcji większych niż kilobajt płacisz za kilobajta. + + + If the custom fee is set to 1000 uIONs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 uIONs in fee,<br />while "total at least" pays 1000 uIONs. For transactions bigger than a kilobyte both pay by kilobyte. + Jeśli opłata trasakcyjna jest ustawiona na 1000 uION i transakcja ma tylko 250 bajtów, to płaci się tylko 250 uION, <br /> W przypadku transakcji większych niż kilobajt płacisz za kilobajta. + + + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for ION transactions than the network can process. + Płacenie tylko minimalnej opłaty jest w porządku, o ile w blokach jest mniejsza ilość transakcji niż miejsca<br />Ale pamiętaj, że może to skończyć się niepotwierdzoną transakcją, gdy pojawi się większe ruch niż sieć może przetworzyć. + + + normal + normalnie + + + fast + szybko + + + Recommended + Zalecane + + + Send as zero-fee transaction if possible + Wyślij jako transakcję bez opłat, jeśli to możliwe + + + (confirmation may take longer) + (potwierdzenie może trwać dłużej) + + + Confirm the send action + Potwierdź akcję wysyłania + + + S&end + &Wyślij + + + Clear all fields of the form. + Wyczyść wszystkie pola formularza. + + + Clear &All + Wyczyść &Wszystko + + + Send to multiple recipients at once + Wysyłaj do wielu odbiorców naraz + + + Add &Recipient + Dodaj odbiorcę + + + Anonymized ION + Anonimowy ION + + + Balance: + Saldo + + + Copy quantity + Kopiuj ilość + + + Copy amount + Kopiuj liczbę + + + Copy fee + Kopiuj opłatę + + + Copy after fee + Kopiuj po opłacie + + + Copy bytes + Skopiuj bajty + + + Copy priority + Kopiuj priorytet + + + Copy dust + Kopiuj Pył + + + Copy change + Kopiuj resztę + + + The split block tool does not work when sending to outside addresses. Try again. + Narzędzie podzielonego bloku nie działa podczas wysyłania na adresy zewnętrzne. Spróbuj ponownie. + + + The split block tool does not work with multiple addresses. Try again. + Narzędzie podzielonego bloku nie działa z wieloma adresami. Spróbuj ponownie. + + + Warning: Invalid ION address + Ostrzeżenie: Nieprawidłowy adres ION + + + %1 to %2 + %1 do %2 + + + Are you sure you want to send? + Czy na pewno chcesz wysłać? + + + are added as transaction fee + są dodawane jako opłata transakcyjna + + + Total Amount = <b>%1</b><br />= %2 + Suma ogółem = <b>%1</b><br />= %2 + + + Confirm send coins + Potwierdź wysyłanie monet + + + A fee %1 times higher than %2 per kB is considered an insanely high fee. + Opłata %1 razy wyższa niż %2 za kB jest uważana za niesamowicie wysoką opłatę. + + + Estimated to begin confirmation within %n block(s). + Szacowany początek potwierdzenia za %n blok.Szacowany początek potwierdzenia za %n bloków.Szacowany początek potwierdzenia za %n bloków.Szacowany początek potwierdzenia za %n bloków. + + + The recipient address is not valid, please recheck. + Adres odbiorcy jest nieprawidłowy, proszę ponownie sprawdzić. + + + using SwiftX + użyj SwiftX + + + split into %1 outputs using the UTXO splitter. + podzielić na %1 wyjścia za pomocą rozdzielacza UTXO. + + + <b>(%1 of %2 entries displayed)</b> + <b>(Wyświetlono %1 z %2 wpisów)</b> + + + The amount to pay must be larger than 0. + Kwota do zapłaty musi być większa niż 0. + + + The amount exceeds your balance. + Kwota przekracza saldo. + + + The total exceeds your balance when the %1 transaction fee is included. + Suma przekracza saldo po uwzględnieniu opłaty transakcyjnej %1. + + + Duplicate address found, can only send to each address once per send operation. + Znaleziono zduplikowany adres, można wysłać tylko do każdego adresu raz na operację wysyłania. + + + Transaction creation failed! + Tworzenie transakcji nie powiodło się! + + + The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here. + Transakcja została odrzucona! Może się tak zdarzyć, jeśli część monet w portfelu już została wydana, na przykład jeśli użyto kopii pliku wallet.dat, a monety zostały wydane w kopii, ale nie zostały oznaczone jako wydane. + + + Error: The wallet was unlocked only to anonymize coins. + Błąd: portfel został odblokowany tylko w celu anonimizacji monet. + + + Error: The wallet was unlocked only to anonymize coins. Unlock canceled. + Błąd: portfel został odblokowany tylko w celu anonimizacji monet. Odblokownie anulowanie. + + + Pay only the minimum fee of %1 + Płać tylko minimalną opłatę w wysokości %1 + + + Estimated to get 6 confirmations near instantly with <b>SwiftX</b>! + Szacuje się, że od razu otrzymasz 6 potwierdzeń<b>SwiftX</b>! + + + Warning: Unknown change address + Ostrzeżenie: nieznany adres reszty + + + (no label) + (brak etykiety) + + + + SendCoinsEntry + + This is a normal payment. + To jest normalna płatność. + + + Pay &To: + &Zapłać + + + The ION address to send the payment to + Adres ION do wysłania płatności do + + + Choose previously used address + Wybierz poprzednio używany adres + + + Alt+A + Alt+A + + + Paste address from clipboard + Wklej adres ze schowka + + + Alt+P + Alt+P + + + Remove this entry + Usuń ten wpis + + + &Label: + &Etykieta + + + Enter a label for this address to add it to the list of used addresses + Wprowadź etykietę dla tego adresu, aby dodać ją do listy używanych adresów + + + A&mount: + &Ilość: + + + Message: + Wiadomość: + + + A message that was attached to the ION: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the ION network. + Komunikat dołączony do identyfikatora ION: URI, który będzie przechowywany wraz z transakcją w celach informacyjnych. Uwaga: ten komunikat nie zostanie wysłany przez sieć ION. + + + This is an unverified payment request. + Jest to niezweryfikowane żądanie zapłaty. + + + Pay To: + Zapłć: + + + Memo: + Notatka: + + + This is a verified payment request. + Jest to zweryfikowane żądanie zapłaty. + + + Enter a label for this address to add it to your address book + Wpisz etykietę dla tego adresu, aby dodać ją do swojej książki adresowej + + + + ShutdownWindow + + ION Core is shutting down... + ION Core się wyłącza ... + + + Do not shut down the computer until this window disappears. + Nie wyłączaj komputera, dopóki to okno nie zniknie. + + + + SignVerifyMessageDialog + + Signatures - Sign / Verify a Message + Podpisy - Podpisz / Zweryfikuj wiadomość + + + &Sign Message + &Podpisz wiadomość + + + You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Możesz podpisywać wiadomości ze swoimi adresami, aby udowodnić, że je posiadasz. Uważaj, aby nie podpisać niczego niejasnego, ponieważ ataki phishingowe mogą skłonić Cię do podpisania Twojej tożsamości. Podawaj tylko w pełni szczegółowe oświadczenia, na które wyrażasz zgodę. + + + The ION address to sign the message with + Adres ION do podpisania wiadomości za pomocą + + + Choose previously used address + Wybierz poprzednio używany adres + + + Alt+A + Alt+A + + + Paste address from clipboard + Wklej adres ze schowka + + + Alt+P + Alt+P + + + Enter the message you want to sign here + Wpisz wiadomość, którą chcesz podpisać tutaj + + + Signature + Podpis + + + Copy the current signature to the system clipboard + Skopiuj bieżący podpis do schowka systemowego + + + Sign the message to prove you own this ION address + Zatwierdź wiadomość, aby udowodnić, że podany adres ION jest w twoim posiadaniu + + + The ION address the message was signed with + Adres ION, z którym została podpisana wiadomość + + + Verify the message to ensure it was signed with the specified ION address + Sprawdź komunikat, aby upewnić się, że został podpisany podanym adresem ION + + + Sign &Message + Podpisz wiadomość + + + Reset all sign message fields + Zresetuj wszystkie znaki z pola wiadomości + + + Clear &All + Wyczyść &Wszystko + + + &Verify Message + &Zweryfikuj wiadomość + + + Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. + Wprowadź adres podpisu, wiadomość (upewnij się, że dokładnie kopiujesz wiersze, spacje, tabulatory itp.) i podpisz poniżej, aby zweryfikować wiadomość. Uważaj, aby nie wprowadzić więcej w podpis niż w podpisanej wiadomości, aby uniknąć oszustwa przez atak typu "man-in-the-middle". + + + Verify &Message + &Zweryfikuj wiadomość + + + Reset all verify message fields + Resetuj wszystkie zweryfikowane pola tekstowe + + + Click "Sign Message" to generate signature + Kliknij "Podpisz wiadomość", aby wygenerować podpis + + + The entered address is invalid. + Podany adres jest nieprawidłowy + + + Please check the address and try again. + Proszę sprawdzić adres i spróbować ponownie + + + The entered address does not refer to a key. + Podany adres nie odnosi się do klucza + + + Wallet unlock was cancelled. + Odblokowywanie anulowanie + + + Private key for the entered address is not available. + Prywatny klucz do podanego adresu nie jest dostępny + + + Message signing failed. + Podpisywanie wiadomości nie powiodło się. + + + Message signed. + Wiadomość została podpisana. + + + The signature could not be decoded. + Podpis nie mógł zostać zdekodowany. + + + Please check the signature and try again. + Sprawdź podpis i spróbuj ponownie. + + + The signature did not match the message digest. + Podpis nie pasuje do skrótu wiadomości. + + + Message verification failed. + Weryfikacja wiadomości nieudana. + + + Message verified. + Wiadomość zweryfikowana. + + + + SplashScreen + + ION Core + ION Core + + + Version %1 + Wersja %1 + + + The Bitcoin Core developers + Twórcy Bitcoin Core + + + The Dash Core developers + Twórcy Dash Core + + + The ION Core developers + Twórcy ION Core + + + [testnet] + [testnet] + + + + TrafficGraphWidget + + KB/s + KB/s + + + + TransactionDesc + + Open for %n more block(s) + Otwórz dla %n kolejnego blokuOtwórz dla %n kolejnych blokówOtwórz dla %n kolejnych blokówOtwórz dla %n kolejnych bloków + + + Open until %1 + Otwórz od %1 + + + conflicted + sprzeczne + + + %1/offline + %1/offline + + + %1/unconfirmed + %1/ niepotwierdzone + + + %1 confirmations + %1 potwierdzeń + + + %1/offline (verified via SwiftX) + %1/offline (zweryfikowany przez SwiftX) + + + %1/confirmed (verified via SwiftX) + %1/potwierdzony (zweryfikowany przez SwiftX) + + + %1 confirmations (verified via SwiftX) + %1 potwierdzeń (zweryfikowane przez SwiftX) + + + %1/offline (SwiftX verification in progress - %2 of %3 signatures) + %1/offline (weryfikacja SwiftX w toku -%2 z %3 podpisów) + + + %1/confirmed (SwiftX verification in progress - %2 of %3 signatures ) + %1/potwierdzony (weryfikacja SwiftX w toku -%2 z %3 podpisów) + + + %1 confirmations (SwiftX verification in progress - %2 of %3 signatures) + %1 potwierdzeń (weryfikacja SwiftX w toku -%2 z %3 podpisów) + + + %1/offline (SwiftX verification failed) + %1/offline (Weryfikacja SwiftX nie powiodła się) + + + %1/confirmed (SwiftX verification failed) + %1/potwierdzony (Weryfikacja SwiftX nie powiodła się) + + + Status + Status + + + , has not been successfully broadcast yet + , nie udało się jeszcze nadać + + + , broadcast through %n node(s) + , rozgłaszane przez %n węzeł, rozgłaszane przez %n węzłów, rozgłaszane przez %n węzłów, rozgłaszane przez %n węzłów + + + Date + Data + + + Source + Źródło + + + Generated + Wygenerowano + + + From + Z + + + unknown + nieznany + + + To + Do + + + own address + własny adres + + + watch-only + watch-only + + + label + etykieta + + + Credit + Kredyt + + + matures in %n more block(s) + dojrzewa po %n blokudojrzewa po %n blokachdojrzewa po %n blokachdojrzewa po %n blokach + + + not accepted + nie zaakceptowany + + + Debit + Debet + + + Total debit + Debet razem + + + Total credit + Całkowity kredyt + + + Transaction fee + Opłata transakcyjna + + + Net amount + Kwota netto + + + Message + Wiadomość + + + Comment + Komentarz + + + Transaction ID + Identyfikator transakcji + + + Output index + Indeks wyjściowy + + + Merchant + Kupiec + + + Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours. + Wygenerowane monety muszą dojrzeć %1 bloków, zanim mogą zostać wydane. Gdy wygenerowałeś ten blok, został on wysłany do sieci, żaby dodać go do łańcucha bloków. Jeśli nie uda się dodanie do łańcucha, jego stan zmieni się na "nie zaakceptowany" i nie będzie można go wydać. Może się to zdarzyć, gdy inny węzeł wygeneruje blok w tym samym czasie co ty. + + + Debug information + Debug informacje + + + Transaction + Transakcja + + + Inputs + Wejścia + + + Amount + Ilość + + + true + prawdziwe + + + false + fałszywe + + + + TransactionDescDialog + + Transaction details + Szczegóły transakcji + + + This pane shows a detailed description of the transaction + Ten panel pokazuje szczegółowy opis transakcji + + + + TransactionTableModel + + Date + Data + + + Type + Typ + + + Address + Adres + + + Open for %n more block(s) + Otwórz dla %n kolejnego blokuOtwórz dla %n kolejnych blokówOtwórz dla %n kolejnych blokówOtwórz dla %n kolejnych bloków + + + Open until %1 + Otwórz od %1 + + + Offline + Offline + + + Unconfirmed + Niepotwierdzone + + + Confirming (%1 of %2 recommended confirmations) + Potwierdzanie (%1 z %2 zalecanych potwierdzeń) + + + Confirmed (%1 confirmations) + Potwierdzone (%1 potwierdzeń) + + + Conflicted + kolidujące + + + Immature (%1 confirmations, will be available after %2) + Niedojrzałe (potwierdzenia %1, będą dostępne po %2) + + + This block was not received by any other nodes and will probably not be accepted! + Ten blok nie został odebrany przez żadne inne węzły i prawdopodobnie nie zostanie zaakceptowany! + + + Received with + Otrzymano z + + + Masternode Reward + Nagroda Masternode + + + Received from + Otrzymane od + + + Received via Obfuscation + Otrzymane przez Zamaskowanie + + + ION Stake + ION Stake + + + xION Stake + xION Stake + + + Obfuscation Denominate + Zamaskowanie Denominacja + + + Obfuscation Collateral Payment + Zamaskowanie Zabezpieczenie płatności + + + Obfuscation Make Collateral Inputs + Wprowadź zabezpieczenia Zaciemniania + + + Obfuscation Create Denominations + Zamaskowanie Utwórz denominacje + + + Converted ION to xION + przekonwertowany ION to xION + + + Spent xION + Wydaj xION + + + Received ION from xION + Otrzymano ION z xION + + + Minted Change as xION from xION Spend + Reszta Minted jako xION z Wysyłki xION + + + Converted xION to ION + przekonwertowany xION to ION + + + Anonymous (xION Transaction) + Anonimowa (transakcja xION) + + + Anonymous (xION Stake) + Anonimowy (xION Stake) + + + Sent to + Wyślij do + + + Orphan Block - Generated but not accepted. This does not impact your holdings. + Orphan Block - wygenerowany, ale nie akceptowany. To nie ma wpływu na twoje saldo. + + + Payment to yourself + Zapłata dla siebie + + + Mined + wydobyty + + + Obfuscated + Zamaskowane + + + watch-only + watch-only + + + (n/a) + (nie dotyczy) + + + Transaction status. Hover over this field to show number of confirmations. + Status transakcji. Najedź kursorem na to pole, aby wyświetlić liczbę potwierdzeń. + + + Date and time that the transaction was received. + Data i godzina otrzymania transakcji. + + + Type of transaction. + Rodzaj transakcji. + + + Whether or not a watch-only address is involved in this transaction. + Niezależnie od tego, czy w transakcji bierze udział adres typu watch-only. + + + Destination address of transaction. + Adres docelowy transakcji. + + + Amount removed from or added to balance. + Kwota usunięta z salda lub dodana do salda. + + + + TransactionView + + All + Wszystko + + + Today + Dzisiaj + + + This week + W tym tygodniu + + + This month + W tym miesiącu + + + Last month + W poprzednim miesiącu + + + This year + W tym roku + + + Range... + Zasięg... + + + Most Common + Najbardziej powszechne + + + Received with + Otrzymano z + + + Sent to + Wyślij do + + + To yourself + Dla siebie + + + Mined + wydobyty + + + Minted + Wybite + + + Masternode Reward + Nagroda Masternode + + + Zerocoin Mint + Zerocoin Mint + + + Zerocoin Spend + Wydawanie Zerocoin + + + Zerocoin Spend to Self + Wydawanie Zerocoin na swój adres + + + Other + Inny + + + Enter address or label to search + Wprowadź adres lub etykietę do wyszukiwania + + + Min amount + Kwota minimum + + + Copy address + Kopiuj adres + + + Copy label + Kopiuj zakładkę + + + Copy amount + Kopiuj liczbę + + + Copy transaction ID + Kopiuj ID transakcji + + + Edit label + Edytuj etykietę + + + Show transaction details + Pokaż szczegóły transakcji + + + Hide orphan stakes + Ukryj osierocone stakes + + + Export Transaction History + Eksportuj historię transakcji + + + Comma separated file (*.csv) + Plik rozdzielony przecinkami (* .csv) + + + Confirmed + Potwierdzone + + + Watch-only + Watch-only + + + Date + Data + + + Type + Typ + + + Label + Etykieta + + + Address + Adres + + + ID + ID + + + Exporting Failed + Eksport nieudany + + + There was an error trying to save the transaction history to %1. + Wystąpił błąd podczas próby zapisania historii transakcji w %1. + + + Exporting Successful + Eksportowanie zakończyło się pomyślnie + + + Received ION from xION + Otrzymano ION z xION + + + Zerocoin Spend, Change in xION + Wydawanie Zerocoin, Zmień z xION + + + The transaction history was successfully saved to %1. + Historia transakcji została pomyślnie zapisana w %1. + + + Range: + Zasięg: + + + to + do + + + + UnitDisplayStatusBarControl + + Unit to show amounts in. Click to select another unit. + Jednostka do przedstawienia kwot. Kliknij, aby wybrać inną jednostkę. + + + + WalletFrame + + No wallet has been loaded. + Żaden portfel nie został załadowany. + + + + WalletModel + + Send Coins + Wyślij monety + + + SwiftX doesn't support sending values that high yet. Transactions are currently limited to %1 ION. + SwiftX nie obsługuje wysyłania wysokich wartości. Transakcje są obecnie ograniczone do %1 ION. + + + + WalletView + + HISTORY + HISTORIA + + + &Export + &Eksportuj + + + Export the data in the current tab to a file + Wyeksportuj dane z bieżącej karty do pliku + + + Selected amount: + Wybrana kwota : + + + Backup Wallet + Kopia zapasowa portfela + + + Wallet Data (*.dat) + Wallet Data (*.dat) + + + + XIonControlDialog + + Select xION to Spend + Wybierz xION do wydania + + + Quantity + Ilość + + + 0 + 0 + + + xION + xION + + + Select/Deselect All + Wybierz / Odznacz wszystko + + + Spendable? + Do wydania? + + + + ion-core + + (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) + (1 = zachowaj tx meta dane np. Właściciel konta i informacje o żądaniu płatności, 2 = porzuć tx meta dane) + + + Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times + Zezwalaj na połączenia JSON-RPC z określonego źródła. Ważny dla <ip> są pojedynczym IP (na przykład 1.2.3.4), siecią / maską sieci (np. 1.2.3.4/255.255.255.0) lub siecią / CIDR (na przykład 1.2.3.4/24). Ta opcja może być określona wiele razy + + + Bind to given address and always listen on it. Use [host]:port notation for IPv6 + Zwiąż się z podanym adresem i zawsze go słuchaj. Użyj [host]:port dla IPv6 + + + Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 + Powiąż z podanym adresem i połączeniami whitelist. Użyj [host]:port dla IPv6 + + + Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) + Powiąż z podanym adresem, aby odsłuchać połączenia JSON-RPC. Użyj [host]:port dla IPv6. Ta opcja może być określona wiele razy (domyślnie: powiązanie ze wszystkimi interfejsami) + + + Calculated accumulator checkpoint is not what is recorded by block index + Obliczony punkt kontrolny akumulatora nie jest tym, co jest rejestrowane przez indeks bloku + + + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Nie można uzyskać dostępu do katalogu danych %s. ION Core prawdopodobnie już działa. + + + Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) + Zmień zachowanie automatycznego głosowania w budżecie finalizowanym. mode=auto: Głosuj tylko na dokładne sfinalizowane dopasowanie budżetu do mojego wygenerowanego budżetu. (ciąg, domyślny: auto) + + + Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u) + Limit bezpłatnych transakcji do <n>* 1000 bajtów na minutę (domyślnie:%u) + + + Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) + Twórz nowe pliki z domyślnymi uprawnieniami systemowymi zamiast umask 077 (skuteczne tylko przy wyłączonej funkcji portfela) + + + Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup + Usuń wszystkie transakcje portfela i odzyskaj tylko część łańcucha blokowego -reskan przy uruchomieniu + + + Delete all zerocoin spends and mints that have been recorded to the blockchain database and reindex them (0-1, default: %u) + Usuń wszystkie wydane zerocoin i mint, które zostały zapisane w bazie danych blockchain i ponownie je zindeksuj (0-1, domyślnie: %u) + + + Distributed under the MIT software license, see the accompanying file COPYING or <http://www.opensource.org/licenses/mit-license.php>. + Dystrybuowane w ramach licencji oprogramowania MIT, patrz plik towarzyszący COPYING lub <http://www.opensource.org/licenses/mit-license.php>. + + + Enable automatic Zerocoin minting from specific addresses (0-1, default: %u) + Włącz automatyczne wybijanie Zerocoin z określonych adresów (0-1, domyślnie:%u) + + + Enable automatic wallet backups triggered after each xION minting (0-1, default: %u) + Włącz automatyczne kopie zapasowe portfela uruchamiane po każdym mintingu xION (0-1, domyślnie: %u) + + + Enable or disable staking functionality for ION inputs (0-1, default: %u) + Włączanie lub wyłączanie funkcji stake dla przychodzących ION (0-1, domyślnie:%u) + + + Enable or disable staking functionality for xION inputs (0-1, default: %u) + Włączanie lub wyłączanie funkcji staking dla nowych xION (0-1, domyślnie: %u) + + + Enable spork administration functionality with the appropriate private key. + Włącz funkcję zarządzania sporkami za pomocą odpowiedniego klucza prywatnego. + + + Enter regression test mode, which uses a special chain in which blocks can be solved instantly. + Wejdź w tryb testu regresyjnego, który wykorzystuje specjalny łańcuch, w którym bloki można natychmiast rozwiązać. + + + Error: Listening for incoming connections failed (listen returned error %s) + Błąd: Odsłuchiwanie przychodzących połączeń nie powiodło się (zwrócony błąd %s) + + + Error: The transaction is larger than the maximum allowed transaction size! + Błąd: transakcja jest większa niż maksymalny dozwolony rozmiar transakcji! + + + Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported. + Błąd: Znaleziono nieobsługiwany argument -socks. Ustawienie wersji SOCKS nie jest już możliwe, obsługiwane są tylko serwery proxy SOCKS5. + + + Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) + Wykonaj polecenie, gdy otrzymasz odpowiednie powiadomienie lub zobaczysz naprawdę długi fork ( %s w cmd zostanie zastąpiony przez komunikat) + + + Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) + Wykonaj polecenie, gdy zmieni się transakcja ( %s w cmd jest zastąpione przez TxID) + + + Execute command when the best block changes (%s in cmd is replaced by block hash) + Wykonaj polecenie, gdy najlepszy blok zostanie zmieniony ( %s w cmd zostanie zastąpione hash blokiem) + + + Fees (in ION/Kb) smaller than this are considered zero fee for relaying (default: %s) + Opłaty za przekazywanie (w ION/Kb) mniejsze od tej są uznawane za opłaty zerowe (domyślnie: %s) + + + Fees (in ION/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Opłaty za tworzenie transakcji (w ION/Kb) mniejsze od tej są uznawane za opłaty zerowe (domyślnie: %s) + + + Flush database activity from memory pool to disk log every <n> megabytes (default: %u) + Opróżniaj dziennik z pamięci dysku co <n> megabajtów (domyślnie:%u) + + + Found unconfirmed denominated outputs, will wait till they confirm to continue. + Znaleziono niepotwierdzone wyniki, czekam na potwierdzenie żeby kontynuować. + + + If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u) + Jeśli paytxfee nie jest ustawiony, należy ustawić odpowiednią opłatę, aby transakcje zaczęły potwierdzać średnio w n blokach (domyślnie:%u) + + + In this mode -genproclimit controls how many blocks are generated immediately. + W tym trybie -genproclimit kontroluje, ile bloków jest generowanych natychmiast. + + + Insufficient or insufficient confirmed funds, you might need to wait a few minutes and try again. + Niewystarczające lub niewystarczająco potwierdzone fundusze, może trzeba poczekać kilka minut i spróbować ponownie. + + + Keep the specified amount available for spending at all times (default: 0) + Zawsze utrzymuj określoną kwotę przeznaczoną na wydatki (domyślnie: 0) + + + Log transaction priority and fee per kB when mining blocks (default: %u) + Loguj priorytet transakcji i opłatę za kB, gdy kopiesz bloki (domyślnie:%u) + + + Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u) + Utrzymuj pełny indeks transakcji, używany przez wywołanie getrawtransaction rpc (domyślnie:%u) + + + Unable to bind to %s on this computer. ION Core is probably already running. + Nie można podłączyć %s na tym komputerze. ION Core prawdopodobnie już działa. + + + Unable to locate enough Obfuscation denominated funds for this transaction. + Nie można znaleźć wystarczającej liczby funduszy ukrytych dla tej transakcji. + + + (12700 could be used only on mainnet) + (12700 może być używany tylko w sieci mainnet) + + + (default: %s) + (domyślnie: %s) + + + (default: 1) + (domyślnie: 1) + + + (must be 12700 for mainnet) + (musi być 12700 dla mainnetu) + + + Accept command line and JSON-RPC commands + Zaakceptuj polecenia linii poleceń i JSON-RPC + + + Already have that input. + Masz już to wejście. + + + Block creation options: + Opcje tworzenia bloku: + + + Calculating missing accumulators... + Obliczanie brakujących akumulatorów ... + + + Can't find random Masternode. + Nie można znaleźć losowego masternodu. + + + Can't mix while sync in progress. + Nie można mieszać w trakcie synchronizacji. + + + Cannot downgrade wallet + Nie można cofnąć wersji portfela + + + Cannot write default address + Nie można zapisać adresu domyślnego + + + Collateral not valid. + Zabezpieczenie jest nie ważne. + + + Connect only to the specified node(s) + Połącz tylko z określonym węzłem (węzłami) + + + Connect through SOCKS5 proxy + Połącz przez serwer proxy SOCKS5 + + + Connection options: + Opcje połączenia: + + + Copyright (C) 2009-%i The Bitcoin Core Developers + Copyright (C) 2009-%i The Bitcoin Core Developers + + + Copyright (C) 2014-%i The Dash Core Developers + Copyright (C) 2014-%i The Dash Core Developers + + + Copyright (C) 2015-%i The PIVX Core Developers + Copyright (C) 2015-%i The PIVX Core Developers + + + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core Developers + + + Corrupted block database detected + Wykryto uszkodzoną bazę danych bloków + + + Could not parse masternode.conf + Nie można przetworzyć pliku masternode.conf + + + Debugging/Testing options: + Opcje debugowania/testowania: + + + Delete blockchain folders and resync from scratch + Usuń foldery blockchain i zsynchronizuj ponownie od podstaw + + + Do you want to rebuild the block database now? + Czy chcesz teraz odbudować block database danych? + + + Done loading + Ładowanie ukończone + + + Enable automatic Zerocoin minting (0-1, default: %u) + Włącz automatyczne Zerocoin minting (0-100, domyślnie: %u) + + + Entries are full. + Wpisy są pełne. + + + Error connecting to Masternode. + Błąd połączenia z Masternode. + + + Error initializing block database + Błąd podczas inicjowania block database + + + Error initializing wallet database environment %s! + Błąd podczas inicjowania środowiska bazy danych portfela %s! + + + Error loading block database + Błąd podczas ładowania block database + + + Error loading wallet.dat + Wystąpił błąd podczas ładowania pliku wallet.dat + + + Error loading wallet.dat: Wallet corrupted + Wystąpił błąd podczas ładowania pliku wallet.dat: Portfel uszkodzony + + + Error loading wallet.dat: Wallet requires newer version of ION Core + Błąd ładowania pliku wallet.dat: Portfel wymaga nowszej wersji ION Core + + + Error opening block database + Błąd podczas otwierania block database + + + Error reading from database, shutting down. + Błąd odczytu z bazy danych, wyłączenie. + + + Error recovering public key. + Podczas odzyskiwania klucza publicznego wystąpił błąd. + + + Error writing zerocoinDB to disk + Błąd podczas zapisywania zerocoinDB na dysku + + + Error + Błąd + + + Error: Can't select current denominated inputs + Błąd: nie można wybrać takich jednostek + + + Error: Disk space is low! + Błąd: Mało miejsca na dysku! + + + Error: Wallet locked, unable to create transaction! + Błąd: Portfel zablokowany, nie można utworzyć transakcji! + + + Failed to calculate accumulator checkpoint + Nie można obliczyć punktu kontrolnego akumulatora + + + Failed to parse host:port string + Nie można przeanalizować host:port string + + + Failed to read block + Nie można odczytać bloku + + + Fee (in ION/kB) to add to transactions you send (default: %s) + Opłata (w ION/kB) dodawana do wysyłanych transakcji (domyślnie: %s) + + + Finalizing transaction. + Finalizowanie transakcji. + + + Force safe mode (default: %u) + Wymuś tryb bezpieczny (domyślnie: %u) + + + Found enough users, signing ( waiting %s ) + Znaleziono wystarczającą liczbę użytkowników, podpisanie (czekanie %s) + + + Found enough users, signing ... + Znaleziono wystarczającą liczbę użytkowników, podpisywanie ... + + + Generate coins (default: %u) + Wygeneruj monety (domyślnie: %u) - N/A - N/A + Importing... + Importuję ... - Number of connections - Liczba połączeń + Incompatible mode. + Tryb niezgodny. - &Open - &Otwórz + Incompatible version. + Niezgodna wersja. - Startup time - Czas startupu + Information + Informacje - Network - Sieć + Input is not valid. + Dane wejściowe nie są prawidłowe. - Last block time - Czas ostatniego bloku + Insufficient funds + Niewystarczające środki - Debug log file - Debuguj plik log + Insufficient funds. + Niewystarczające środki. - Using OpenSSL version - Używanie wersji OpenSSL + Invalid amount + nieprawidłowa kwota - Build date - Data zbudowania + Invalid private key. + Nieprawidłowy klucz prywatny. - Current number of blocks - Bieżąca liczba bloków + Invalid script detected. + Wykryto niepoprawny skrypt. - Client version - Wersja clienta + Percentage of automatically minted Zerocoin (1-100, default: %u) + Odsetek automatycznych minted Zerocoin (1-100, domyślnie: %u) - Using BerkeleyDB version - Używanie wersji BerkeleyDB + Reindexing zerocoin database... + Ponowne indeksowanie bazy danych zerocoin ... - Block chain - Łańcuch bloków + Reindexing zerocoin failed + Ponowne indeksowanie zerocoin nie powiodło się - Number of Masternodes - Liczba Masternode + SwiftX options: + Opcje SwiftX: - &Console - &Konsola + mints deleted + + mints usunięte + - Clear console - Wyczyść konsolę + mints updated, + zaktualizowano mints, - &Network Traffic - &Ruch sieci + unconfirmed transactions removed + + niepotwierdzone transakcje zostały usunięte + - &Clear - &Wyczyść& + Disable all ION specific functionality (Masternodes, Zerocoin, SwiftX, Budgeting) (0-1, default: %u) + Wyłącz wszystkie funkcje specyficzne dla ION (Masternodes, Zerocoin, SwiftX, Budgeting) (0-1, domyślnie: %u) - Totals - Razem + Enable SwiftX, show confirmations for locked transactions (bool, default: %s) + Włącz SwiftX, pokaż potwierdzenia zablokowanych transakcji (bool, domyślnie: %s) - Received - Otrzymano + Specify custom backup path to add a copy of any automatic xION backup. If set as dir, every backup generates a timestamped file. If set as file, will rewrite to that file every backup. If backuppath is set as well, 4 backups will happen + Określ standardową ścieżkę kopii zapasowej, aby dodać kopię automatycznej kopii zapasowej xION. Jeśli ustawione jako katalog, każda kopia zapasowa generuje plik z sygnaturą czasową. Jeśli ustawione jako plik, będzie przepisywać do tego pliku każdą kopię zapasową. Jeśli ustawiona jest również ścieżka tworzenia kopii zapasowych, zostaną utworzone 4 kopie zapasowe - Sent - Wysłano + <category> can be: + <category>może być: - &Peers - &Peers + Display the stake modifier calculations in the debug.log file. + Wyświetl obliczenia modyfikatora stake w pliku debug.log. - Select a peer to view detailed information. - Wybierz peer by zobaczyć szczegółowe informacje + Display verbose coin stake messages in the debug.log file. + Wyświetlaj szczegółowe komunikaty o staking w pliku debug.log. - Direction - Kierunek + Enable publish hash block in <address> + Włącz publiczny hash block w <address> - Protocol - Protokół + Enable publish hash transaction in <address> + Włącz publish hash transaction w <address> - Version - Wersja + Enable publish raw block in <address> + Włącz publish raw block w <address> - Services - Usługi + Enable publish raw transaction in <address> + Włącz publish raw transaction w <address> - Connection Time - Czas połączenia + Error: No valid utxo! + Błąd: brak prawidłowego utxo! - Last Send - OStatnio wysłano + Failed to create mint + Nie udało się utworzyć mint - Last Receive - Ostatnio otrzymano + Failed to find Zerocoins in wallet.dat + Nie można znaleźć Zerocoins w pliku wallet.dat - Bytes Sent - Bajty wysłane + Failed to select a zerocoin + Nie udało się wybrać zerocoin - Bytes Received - Bajty otrzymane + Line: %d + Linia: %d - Ping Time - Czas PinguCzas pingu + Loading addresses... + Ładowanie adresów ... - &Wallet Repair - &Napraw portfel + Loading block index... + Ładowanie indeksu bloków ... - Salvage wallet - Odzyskaj portfel + Loading budget cache... + Ładowanie cache budżetu ... - Rescan blockchain files - Reskanuj pliki łańcucha bloków + Loading sporks... + Ładowanie sporks ... - Recover transactions 1 - Odzyskaj transakcji 1 + Loading wallet... (%3.2f %%) + Ładowanie portfela ... (%3,2f %%) - Recover transactions 2 - Odzyskaj transakcje 2 + Loading wallet... + Ładowanie portfela ... - Upgrade wallet format - Ulepsz format portfela + Lock is already in place. + Blokada jest już na miejscu. - Wallet repair options. - Opcje naprawy portfela + Masternode options: + Opcje Masternode: - %1 B - %1 B + Masternode queue is full. + Kolejka Masternode jest pełna. - %1 KB - %1 KB + Masternode: + Masternode: - %1 MB - %1 MB + Mixing in progress... + Trwa miksowanie ... - %1 GB - %1 GB + No Masternodes detected. + Nie wykryto żadnych Masternodes. - via %1 - przez %1 + Number of automatic wallet backups (default: 10) + Liczba automatycznych kopii zapasowych portfela (domyślnie: 10) - never - nigdy + Obfuscation is idle. + Obfuscation jest bezczynne - Inbound - Przychodzące + Obfuscation request complete: + Obfuscation żądanie kompletne: - Outbound - Wychodzące + Obfuscation request incomplete: + Obfuscation żądanie niekompletne: - Unknown - Nieznane + Options: + Opcje: - - - ReceiveCoinsDialog - &Message: - &Wiadomość: + Password for JSON-RPC connections + Hasło dla połączeń JSON-RPC - Copy label - Kopiuj zakładkę + Preparing for resync... + Przygotowanie do ponownej synchronizacji ... - Copy amount - Kopiuj liczbę + Print version and exit + Wydrukuj wersję i zakończ - - - ReceiveRequestDialog - &Save Image... - &Zapisz obrazek + RPC server options: + Opcje serwera RPC: - Address - Adres + Rescanning... + Ponowne skanowanie ... - Amount - Liczba + Session not complete! + Sesja nie została ukończona! - Label - Zakładka + Session timed out. + Sesja skończyła się. - - - RecentRequestsTableModel - Date - Data + Signing failed. + Logowanie nie powiodło się. - Label - Zakładka + Signing timed out. + Upłynął limit czasu logowania - Amount - Liczba + Signing transaction failed + Podpisanie transakcji nie powiodło się - (no label) - (brak zakładki) + Specify configuration file (default: %s) + Określ plik konfiguracyjny (domyślnie: %s) - - - SendCoinsDialog - Amount: - Liczba: + Specify data directory + Określ katalog danych - Priority: - Priorytet: + Specify pid file (default: %s) + Określ plik pid (domyślnie: %s) - medium - średni + Specify wallet file (within data directory) + Określ plik portfela (w katalogu danych) - Fee: - Opłata: + Specify your own public address + Podaj swój własny adres publiczny - no - nie + Spend Valid + Spend Valid - After Fee: - Po opłacie: + Staking options: + Staking opcje: - Change: - Zmiana: + Synchronization failed + Synchronizacja nie powiodła się - Clear &All - Wyczyść &Wszystko + Synchronization finished + Synchronizacja zakończona - Copy quantity - Kopiuj ilość + Synchronization pending... + Trwa synchronizacja ... - Copy amount - Kopiuj liczbę + Synchronizing budgets... + Synchronizowanie budżetów ... - Copy fee - Kopiuj opłatę + Synchronizing masternode winners... + Synchronizowanie masternode winners... - Copy after fee - Kopiuj po opłacie + Synchronizing masternodes... + Synchronizowanie masternode... - Copy priority - Kopiuj priorytet + Synchronizing sporks... + Synchronizowanie sporks... - Copy change - Kopiuj zmianę + Syncing xION wallet... + Synchronizuję portfel xION ... - (no label) - (brak zakładki) + The coin spend has been used + Wykorzystano już monety - - - SendCoinsEntry - Choose previously used address - Wybierz poprzednio używany adres + The transaction did not verify + Transakcja nie została zweryfikowana - Alt+A - Alt+A + This help message + Ten komunikat pomocy - Paste address from clipboard - Wklej adres ze schowka + This is experimental software. + To jest oprogramowanie eksperymentalne. - Alt+P - Alt+P + This is not a Masternode. + To nie jest Masternode. - - - ShutdownWindow - - - SignVerifyMessageDialog - Choose previously used address - Wybierz poprzednio używany adres + Too many spends needed + Zbyt wiele potrzebnych środków - Alt+A - Alt+A + Tor control port password (default: empty) + Hasło portu kontrolnego Tora (domyślnie: puste) - Paste address from clipboard - Wklej adres ze schowka + Transaction Created + Utworzono transakcję - Alt+P - Alt+P + Transaction Mint Started + Rozpoczęto transakcję Mint - Sign the message to prove you own this ION address - Zatwierdź wiadomość, aby udowodnić, że podany adres ION jest w twoim posiadaniu + Transaction amount too small + Kwota transakcji jest za mała - Clear &All - Wyczyść &Wszystko + Transaction amounts must be positive + Kwoty transakcji muszą być dodatnie - Reset all verify message fields - Resetuj wszystkie zweryfikowane pola tekstowe + Transaction created successfully. + Transakcja została pomyślnie utworzona. - The entered address is invalid. - Podany adres jest nieprawidłowy + Transaction fees are too high. + Opłaty za transakcje są zbyt wysokie. - Please check the address and try again. - Proszę sprawdzić adres i spróbować ponownie + Transaction not valid. + Transakcja nie jest ważna. - The entered address does not refer to a key. - Podany adres nie odnosi się do klucza + Transaction too large for fee policy + Transakcja zbyt duża dla zasad płatności - Wallet unlock was cancelled. - Odblokowywanie anulowanie + Transaction too large + Transakcja zbyt duża - Private key for the entered address is not available. - Prywatny klucz do podanego adresu nie jest dostępny + Transmitting final transaction. + Przesyłanie ostatecznej transakcji. - - - SplashScreen - Ion Core - &Rdzeń ION + Upgrade wallet to latest format + Uaktualnij portfel do najnowszego formatu - - - TrafficGraphWidget - - - TransactionDesc - Status - Status + Use the test network + Użyj sieci testowej - Date - Data + Username for JSON-RPC connections + Nazwa użytkownika dla połączeń JSON-RPC - Amount - Liczba + Value is below the smallest available denomination (= 1) of xION + Wartość jest mniejsza od najmniejszej dostępnej (= 1) xION - - - TransactionDescDialog - - - TransactionTableModel - Date - Data + Verifying blocks... + Weryfikuję bloki ... - Address - Adres + Verifying wallet... + Weryfikuję portfel ... - - - TransactionView - Copy address - Kopiuj adres + Wallet is locked. + Portfel jest zablokowany. - Copy label - Kopiuj zakładkę + Wallet needed to be rewritten: restart ION Core to complete + Portfel musiał zostać przepisany: zrestartuj ION Core, aby zakończyć - Copy amount - Kopiuj liczbę + Wallet options: + Opcje portfela: - Copy transaction ID - Kopiuj ID transakcji + Wallet window title + Tytuł okna portfela - Confirmed - Potwierdzone + Warning + Ostrzeżenie - Date - Data + Warning: This version is obsolete, upgrade required! + Ostrzeżenie: ta wersja jest przestarzała, wymagana jest aktualizacja! - Label - Zakładka + Will retry... + Spróbuję ponownie ... - Address - Adres + You don't have enough Zerocoins in your wallet + Nie masz wystarczającej liczby Zerocoins w swoim portfelu - Exporting Failed - Eksport nieudany + You need to rebuild the database using -reindex to change -txindex + Musisz przebudować bazę danych za pomocą -reindex, aby zmienić -txindeks - - - UnitDisplayStatusBarControl - - - WalletFrame - - - WalletModel - - - WalletView - &Export - Eksportuj + Your entries added successfully. + Twoje wpisy zostały dodane pomyślnie. - - - XIonControlDialog - 0 - 0 + Your transaction was accepted into the pool! + Twoja transakcja została przyjęta do puli! - - - ion-core - Error - Błąd + Zerocoin options: + Opcje Zerocoin: - Information - Informacje + on startup + na starcie - Warning - Ostrzeżenie + wallet.dat corrupt, salvage failed + wallet.dat uszkodzony, odzyskiwanie nie powiodło się - + \ No newline at end of file diff --git a/src/qt/locale/ion_pt.ts b/src/qt/locale/ion_pt.ts index c1000b2a309f6..acf1003c07b41 100644 --- a/src/qt/locale/ion_pt.ts +++ b/src/qt/locale/ion_pt.ts @@ -396,6 +396,9 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog @@ -484,6 +487,9 @@ não + + ProposalFrame + QObject @@ -545,6 +551,10 @@ Label Descrição + + Address + Endereço + Amount Quantidade @@ -1250,8 +1260,8 @@ Carteira esta bloqueada. - Wallet needed to be rewritten: restart Ion Core to complete - Carteira precisa ser reescrita: reinicie o Ion Core para completar. + Wallet needed to be rewritten: restart ION Core to complete + Carteira precisa ser reescrita: reinicie o ION Core para completar. Wallet options: diff --git a/src/qt/locale/ion_pt_BR.ts b/src/qt/locale/ion_pt_BR.ts index 6262fb748532c..10ec5ecf54a0a 100644 --- a/src/qt/locale/ion_pt_BR.ts +++ b/src/qt/locale/ion_pt_BR.ts @@ -613,8 +613,8 @@ Ferramentas de abas - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -637,12 +637,12 @@ Procurar masternodes - &About Ion Core - &Sobre o Ion Core + &About ION Core + &Sobre o ION Core - Show information about Ion Core - Mostra informação sobre o Ion Core + Show information about ION Core + Mostra informação sobre o ION Core Modify configuration options for ION @@ -697,11 +697,11 @@ Janela de exploração de blocos - Show the Ion Core help message to get a list with possible ION command-line options - Mostra a ajuda da Ion Core para receber uma lista com possíveis opções de linha de comando ION + Show the ION Core help message to get a list with possible ION command-line options + Mostra a ajuda da ION Core para receber uma lista com possíveis opções de linha de comando ION - Ion Core client + ION Core client Cliente Core ION @@ -809,7 +809,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> A carteira está <b>criptografada</b> e atualmente <b>travada</b> - + BlockExplorer @@ -1157,6 +1157,17 @@ MultiSend: %1 Não é possível criar informação de diretório aqui. + + GovernancePage + + Form + Formulário + + + 0 + 0 + + HelpMessageDialog @@ -1164,16 +1175,16 @@ MultiSend: %1 versão - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core - Sobre o Ion Core + About ION Core + Sobre o ION Core Command-line options @@ -1215,16 +1226,16 @@ MultiSend: %1 Bem-vindo - Welcome to Ion Core. - Bem-vindo ao Ion Core. + Welcome to ION Core. + Bem-vindo ao ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Como essa é a primeira vez que o programa é utilizado, você pode escolher onde Ion Core vai armazenar os seus dados. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Como essa é a primeira vez que o programa é utilizado, você pode escolher onde ION Core vai armazenar os seus dados. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core vai baixar e armazenar uma cópia da blockchain ION. Pelo menos %1GB de informação será armazenado neste diretório e irá aumentar com o tempo. A carteira também será armazenada neste diretório. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core vai baixar e armazenar uma cópia da blockchain ION. Pelo menos %1GB de informação será armazenado neste diretório e irá aumentar com o tempo. A carteira também será armazenada neste diretório. Use the default data directory @@ -1235,8 +1246,8 @@ MultiSend: %1 Usar um diretório personalizado de dados: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1436,45 +1447,10 @@ MultiSend: %1 (no label) (sem rótulo) - - The entered address: - - O endereço informado: - - - - is invalid. -Please check the address and try again. - é inválido. - -Favor verificar o endereço e tente novamente. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - A quantia total de seu vetor MultiSend é superior a 100% da recompensa de seu stake - - Please Enter 1 - 100 for percent. Favor inserir 1 - 100 para porcentagem. - - MultiSend Vector - - Vetor MultiSend - - - - Removed - Removido - - - Could not locate address - - Não foi possível localizar o endereço - - MultisigDialog @@ -1574,32 +1550,32 @@ Favor verificar o endereço e tente novamente. Favor selecionar o nível de privacidade. - Use 2 separate masternodes to mix funds up to 10000 ION - Use 2 masternodes separados para embaralhar fundos até 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Use 2 masternodes separados para embaralhar fundos até 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Use 8 masternodes separados para embaralhar fundos até 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Use 8 masternodes separados para embaralhar fundos até 20000 ION Use 16 separate masternodes Use 16 masternodes separados - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Está opção é a mais rápida e vai custar em torno de ~0.025 ION para anonimizar 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Está opção é a mais rápida e vai custar em torno de ~0.025 ION para anonimizar 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Está opção moderamente rápida e vai custar em torno de ~0.05 ION para anonimizar 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Está opção moderamente rápida e vai custar em torno de ~0.05 ION para anonimizar 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Esta é a opção mais lenta e mais segura. Usando a anonimização máxima vai custar - 0.1 ION per 10000 ION you anonymize. - 0.1 ION por 10000 ION que deixar anônima. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION por 20000 ION que deixar anônima. Obfuscation Configuration @@ -1985,14 +1961,6 @@ https://www.transifex.com/ioncoincore/ioncore Available Balance: Saldo disponível: - - Security Level: - Nível de Segurança: - - - Security Level 1 - 100 (default: 42) - Nível de segurança 1 - 100 (padrão: 42) - Pay &To: Pagar &Para: @@ -2166,6 +2134,9 @@ https://www.transifex.com/ioncoincore/ioncore taxa: + + ProposalFrame + QObject @@ -2212,7 +2183,11 @@ https://www.transifex.com/ioncoincore/ioncore %1 ms %1 ms - + + ION Core + ION Core + + QRImageWidget @@ -2438,10 +2413,6 @@ https://www.transifex.com/ioncoincore/ioncore Do you want to continue?.<br /> Você deseja continuar?.<br /> - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Utilize as teclas para cima ou baixo para navegar no histórico e <b>Ctrl-L</b> para limpar a tela. - %1 B %1 B @@ -2486,12 +2457,12 @@ https://www.transifex.com/ioncoincore/ioncore Um rótulo opcional para associar a novos endereços de recebimento. - &Label: - &Rótulo: + A&mount: + Quantia: - &Amount: - &Quantidade: + &Label: + &Rótulo: &Request payment @@ -2537,6 +2508,10 @@ https://www.transifex.com/ioncoincore/ioncore Copy amount Copiar quantia + + Copy address + Copiar endereço + ReceiveRequestDialog @@ -2607,6 +2582,10 @@ https://www.transifex.com/ioncoincore/ioncore Message Mensagem + + Address + Endereço + Amount Quantidade @@ -2969,8 +2948,8 @@ https://www.transifex.com/ioncoincore/ioncore ShutdownWindow - Ion Core is shutting down... - Ion Core está desligando... + ION Core is shutting down... + ION Core está desligando... Do not shut down the computer until this window disappears. @@ -3111,8 +3090,8 @@ https://www.transifex.com/ioncoincore/ioncore SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -3127,8 +3106,8 @@ https://www.transifex.com/ioncoincore/ioncore Os desenvolvedores do Dash Core - The Ion Core developers - Os desenvolvedores do Ion Core + The ION Core developers + Os desenvolvedores do ION Core [testnet] @@ -3696,8 +3675,8 @@ https://www.transifex.com/ioncoincore/ioncore Define o tamanho máximo de transações de alta prioridade/taxa baixa em bytes (padrão: %d) - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Incapaz de localizar fundos para esta transação que não são iguais a 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Incapaz de localizar fundos para esta transação que não são iguais a 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3712,7 +3691,7 @@ https://www.transifex.com/ioncoincore/ioncore Aviso: -paytxfee está definido como muito alto! Está e a taxa de transação que você irá pagar se enviar uma transação. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. Aviso: Favor verificar se o horário e data de seu computador estão corretos! Se o seu relógio estiver errado o Core ION não vai funcionar corretamente. @@ -3796,8 +3775,8 @@ https://www.transifex.com/ioncoincore/ioncore Todos os direitos reservados (C) 2015-%i aos Desenvolvedores do PIVX Core - Copyright (C) 2018-%i The Ion Core Developers - Todos os direitos reservados (C) 2018-%i aos Desenvolvedores do Ion Core + Copyright (C) 2018-%i The ION Core Developers + Todos os direitos reservados (C) 2018-%i aos Desenvolvedores do ION Core Corrupted block database detected @@ -3856,8 +3835,8 @@ https://www.transifex.com/ioncoincore/ioncore Erro no carregamento da wallet.dat: Carteira corrompida - Error loading wallet.dat: Wallet requires newer version of Ion Core - Erro ao carregar wallet.dat: A Carteira requer uma nova versão da Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core + Erro ao carregar wallet.dat: A Carteira requer uma nova versão da ION Core Error opening block database @@ -4054,8 +4033,8 @@ https://www.transifex.com/ioncoincore/ioncore Carregando o cachê de pagamento do masternode... - Loading wallet... (%3.1f %%) - Carregando carteira... (%3.1f %%) + Loading wallet... (%3.2f %%) + Carregando carteira... (%3.2f %%) Loading wallet... @@ -4346,8 +4325,8 @@ https://www.transifex.com/ioncoincore/ioncore Carteira está travada. - Wallet needed to be rewritten: restart Ion Core to complete - A carteira precisa ser reescrita: reinicia o Ion Core para completar + Wallet needed to be rewritten: restart ION Core to complete + A carteira precisa ser reescrita: reinicia o ION Core para completar Wallet options: diff --git a/src/qt/locale/ion_ro_RO.ts b/src/qt/locale/ion_ro_RO.ts index 4e0cb47a1156d..a1b51cf2c5291 100644 --- a/src/qt/locale/ion_ro_RO.ts +++ b/src/qt/locale/ion_ro_RO.ts @@ -84,6 +84,9 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog @@ -120,6 +123,9 @@ PrivacyDialog + + ProposalFrame + QObject diff --git a/src/qt/locale/ion_ru.ts b/src/qt/locale/ion_ru.ts index 1100d840d2ad6..a4dd1a6dc2b75 100644 --- a/src/qt/locale/ion_ru.ts +++ b/src/qt/locale/ion_ru.ts @@ -608,10 +608,6 @@ &Command-line options &Параметры командной строки - - Processed %n blocks of transaction history. - Обработано %n блоков истории транзакцийОбработано %n блоков истории транзакцийОбработано %n блоков истории транзакцийОбработано %n блоков истории транзакций - Synchronizing additional data: %p% Синхронизация дополнительных данных: %p% @@ -645,8 +641,8 @@ Панель вкладок - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -669,12 +665,12 @@ Обзор мастернод - &About Ion Core - &О Ion Core + &About ION Core + &О ION Core - Show information about Ion Core - Показать информацию о Ion Core + Show information about ION Core + Показать информацию о ION Core Modify configuration options for ION @@ -729,16 +725,12 @@ Окно обзора блока - Show the Ion Core help message to get a list with possible ION command-line options + Show the ION Core help message to get a list with possible ION command-line options Смотрите помощь к программе, чтобы получить документацию ко всем возможным опциям комманды ION - Ion Core client - Клиент Ion Core - - - %n active connection(s) to ION network - %n активных подключений к сети ION%n активных подключений к сети ION%n активных подключений к сети ION%n активных подключений к сети ION + ION Core client + Клиент ION Core Synchronizing with network... @@ -760,26 +752,10 @@ Up to date Обновление не требуется - - %n hour(s) - %n часов%n часов%n часов%n часов - - - %n day(s) - %n дней%n дней%n дней%n дней - - - %n week(s) - %n недель%n недель%n недель%n недель - %1 and %2 %1 и %2 - - %n year(s) - %n лет%n лет%n лет%n лет - Catching up... ловлю... @@ -864,7 +840,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Кошелек <b>зашифрован</b> и в настоящее время <b>заблокирован</b> - + BlockExplorer @@ -1224,6 +1200,17 @@ MultiSend: %1 Здесь невозможно создать каталог данных. + + GovernancePage + + Form + Вид + + + 0 + 0 + + HelpMessageDialog @@ -1231,16 +1218,16 @@ MultiSend: %1 версия - Ion Core - Ion Core + ION Core + ION Core (%1-bit) (%1-бит) - About Ion Core - О Ion Core + About ION Core + О ION Core Command-line options @@ -1286,16 +1273,16 @@ MultiSend: %1 Добро пожаловать - Welcome to Ion Core. - Добро пожаловать в Ion Core. + Welcome to ION Core. + Добро пожаловать в ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Поскольку это первый запуск программы, вы можете выбрать, где будут храниться данные Ion Core. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Поскольку это первый запуск программы, вы можете выбрать, где будут храниться данные ION Core. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core загрузит и сохранит копию цепочки блоков ION. Каталог будет занимать около %1GB и со временем размер будет увеличиваться. Кроме того, в этом каталоге будет храниться кошелек. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core загрузит и сохранит копию цепочки блоков ION. Каталог будет занимать около %1GB и со временем размер будет увеличиваться. Кроме того, в этом каталоге будет храниться кошелек. Use the default data directory @@ -1306,8 +1293,8 @@ MultiSend: %1 Использовать другой каталог данных: - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1541,50 +1528,10 @@ MultiSend будет неактивен до тех пор, пока вы не (no label) (нет метки) - - The entered address: - - Введенный адрес: - - - - is invalid. -Please check the address and try again. - недопустим. -Пожалуйста, проверьте адрес и попробуйте снова. - - - The total amount of your MultiSend vector is over 100% of your stake reward - - Итоговое значение вектора MultiSend превышает 100% ваших вознаграждений - - Please Enter 1 - 100 for percent. Введите 1 - 100 для указания процентов. - - Saved the MultiSend to memory, but failed saving properties to the database. - - Сохранили МультиОтправку в памяти, но не удалось сохранить свойства в базе данных. - - - - MultiSend Vector - - Вектор MultiSend - - - - Removed - Удалено - - - Could not locate address - - Не удалось найти адрес - - MultisigDialog @@ -1780,32 +1727,32 @@ Please be patient after clicking import. Выберите уровень конфиденциальности. - Use 2 separate masternodes to mix funds up to 10000 ION - Используйте 2 разные мастерноды для смешивания средств до 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Используйте 2 разные мастерноды для смешивания средств до 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Используйте 8 разных мастернод для смешивания средств до 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Используйте 8 разных мастернод для смешивания средств до 20000 ION Use 16 separate masternodes Используйте 16 разных мастернод - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Этот вариант является самым быстрым и будет стоить порядка ~0.025 ION для анонимизации 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Этот вариант является самым быстрым и будет стоить порядка ~0.025 ION для анонимизации 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Это средний по скорости вариант и он будет стоить около 0.05 ION для анонимизации 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Это средний по скорости вариант и он будет стоить около 0.05 ION для анонимизации 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Это самый медленный и безопасный вариант. Максимальная анонимность стоит - 0.1 ION per 10000 ION you anonymize. - 0.1 ION за 10000 ION которые вы собираетесь анонимизировать. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION за 20000 ION которые вы собираетесь анонимизировать. Obfuscation Configuration @@ -2484,18 +2431,6 @@ xION are mature when they have more than 20 confirmations AND more than 2 mints 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Уровень безопасности для транзакций Zerocoin. Больше лучше, но требуется больше времени и ресурсов. - - - Security Level: - Уровень безопасности: - - - Security Level 1 - 100 (default: 42) - Уровень безопасности 1-100 ( по умолчанию: 42) - Pay &To: Оплатить &кому: @@ -2771,14 +2706,6 @@ To change the percentage (no restart required): Please be patient... Запуск ResetMintZerocoin: повторное сканирование полной блок-цепи, это потребует до 30 минут в зависимости от вашего оборудования. Будьте терпеливы ... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Расходы Zerocoin. -Вычислительно дорого, может потребоваться несколько минут в зависимости от выбранного уровня безопасности и вашего оборудования. -Пожалуйста, будьте терпеливы... ) needed. @@ -2950,22 +2877,10 @@ Maximum allowed: to a newly generated (unused and therefore anonymous) local address <br /> к вновь созданному (неиспользуемому и поэтому анонимному) локальному адресу <br /> - - with Security Level - с безопасным уровнем - Confirm send coins Подтвердить отправку монет - - Version 1 xION require a security level of 100 to successfully spend. - Для версии 1 xION требуется уровень безопасности 100, который можно успешно тратить. - - - Failed to spend xION - Не удалось провести xION - Failed to fetch mint associated with serial hash Не удалось получить чеканку, связанную с серийным хэшем @@ -2984,11 +2899,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Spend Zerocoin failed with status = Провести Zerocoin не удалось со статусом = - - PrivacyDialog - Enter an amount of ION to convert to xION - PrivacyDialogPrivacyDialogPrivacyDialogPrivacyDialog - denomination: наименование: @@ -3022,6 +2932,9 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Комиссия: + + ProposalFrame + QObject @@ -3072,7 +2985,11 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou %1 ms %1 мс - + + ION Core + ION Core + + QRImageWidget @@ -3435,10 +3352,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Confirm resync Blockchain Подтвердить повторную синхронизацию Blockchain - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Используйте стрелки вверх и вниз для навигации по истории, и <b>Ctrl-L</b> для очистки экрана. - Type <b>help</b> for an overview of available commands. Введите <b>help</b> для просмотра доступных команд. @@ -3510,6 +3423,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional label to associate with the new receiving address. Дополнительный ярлык для связи с новым адресом приема. + + A&mount: + С&умма: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Необязательное сообщение для присоединения к платежному запросу, которое будет отображаться при открытии запроса. Примечание. Сообщение не будет отправлено с оплатой через сеть ION. @@ -3534,10 +3451,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou An optional amount to request. Leave this empty or zero to not request a specific amount. Необязательная сумма для запроса. Оставьте это пустое или ноль, чтобы не запрашивать определенную сумму. - - &Amount: - &Количество: - &Request payment &Запрос платежа @@ -3582,6 +3495,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Copy amount Копировать сумму + + Copy address + Копировать адрес + ReceiveRequestDialog @@ -3652,6 +3569,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Message Сообщение + + Address + Адрес + Amount Сумма @@ -3935,10 +3856,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou A fee %1 times higher than %2 per kB is considered an insanely high fee. Плата в %1 раз выше, чем %2 за КБ, считается безумно высокой. - - Estimated to begin confirmation within %n block(s). - Предполагается начать подтверждение в пределах %n блоков.Предполагается начать подтверждение в пределах %n блоков.Предполагается начать подтверждение в пределах %n блоков.Предполагается начать подтверждение в пределах %n блоков. - The recipient address is not valid, please recheck. Адрес получателя недействителен, повторите проверку. @@ -4078,8 +3995,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou ShutdownWindow - Ion Core is shutting down... - Ion Core выключается... + ION Core is shutting down... + ION Core выключается... Do not shut down the computer until this window disappears. @@ -4228,8 +4145,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -4244,8 +4161,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Разработчики Dash Core - The Ion Core developers - Разработчики Ion Core + The ION Core developers + Разработчики ION Core [testnet] @@ -4261,10 +4178,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou TransactionDesc - - Open for %n more block(s) - Открыть для %n блоковОткрыть для %n блоковОткрыть для %n блоковОткрыть для %n блоков - Open until %1 Открыть до %1 @@ -4325,10 +4238,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou , has not been successfully broadcast yet , еще не была успешно передана - - , broadcast through %n node(s) - , передается через %n узлов, передается через %n узлов, передается через %n узлов, передается через %n узлов - Date Дата @@ -4369,10 +4278,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Credit Кредит - - matures in %n more block(s) - созревает в %n блоковсозревает в %n блоковсозревает в %n блоковсозревает в %n блоков - not accepted не принимаются @@ -4471,10 +4376,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Address Адрес - - Open for %n more block(s) - Открыть для %n блоковОткрыть для %n блоковОткрыть для %n блоковОткрыть для %n блоков - Open until %1 Открыть до %1 @@ -4877,11 +4778,7 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Select/Deselect All Выбрать / Отменить выбор - - Is Spendable - Расходы - - + ion-core @@ -4909,8 +4806,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Расчетная контрольная точка не является тем, что регистрируется блочным индексом - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - Не удается получить блокировку в каталоге данных %s. Ion Core, вероятно, уже запущен. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Не удается получить блокировку в каталоге данных %s. ION Core, вероятно, уже запущен. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -5085,20 +4982,20 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Этот продукт включает программное обеспечение, разработанное OpenSSL Project для использования в OpenSSL Toolkit <https://www.openssl.org/> и криптографическом программном обеспечении, написанном Эриком Яном и программным обеспечением UPnP, написанным Томасом Бернардом. - Unable to bind to %s on this computer. Ion Core is probably already running. - Не удалось привязать к %s на этом компьютере. Ion Core, вероятно, уже запущен. + Unable to bind to %s on this computer. ION Core is probably already running. + Не удалось привязать к %s на этом компьютере. ION Core, вероятно, уже запущен. Unable to locate enough Obfuscation denominated funds for this transaction. Не удалось найти достаточное количество средств, предназначенных для обфускации, для этой транзакции. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Невозможно найти достаточное количество средств, не предназначенных для обфускации, для этой транзакции, которые не равны 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Невозможно найти достаточное количество средств, не предназначенных для обфускации, для этой транзакции, которые не равны 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Не удалось найти достаточное количество средств для этой транзакции, которые не равны 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Не удалось найти достаточное количество средств для этой транзакции, которые не равны 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5113,8 +5010,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Предупреждение: -paytxfee установлен очень высоко! Это комиссия за транзакцию, которую вы заплатите, если вы отправляете транзакцию. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - Внимание: проверьте правильность даты и времени вашего компьютера! Если ваши часы ошибочны, Ion Core не будет работать должным образом. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Внимание: проверьте правильность даты и времени вашего компьютера! Если ваши часы ошибочны, ION Core не будет работать должным образом. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -5269,8 +5166,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Copyright (C) 2015-%i Разработчики PIVX Core - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i Разработчики Ion Core + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i Разработчики ION Core Corrupted block database detected @@ -5357,8 +5254,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Ошибка при загрузке wallet.dat: Кошелек поврежден - Error loading wallet.dat: Wallet requires newer version of Ion Core - Ошибка загрузки wallet.dat: Кошелек требует более новой версии Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core + Ошибка загрузки wallet.dat: Кошелек требует более новой версии ION Core Error opening block database @@ -5372,6 +5269,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Error recovering public key. Ошибка при восстановлении открытого ключа. + + Error writing zerocoinDB to disk + Ошибка записи zerocoinDB на диск + Error Ошибка @@ -5408,6 +5309,10 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Failed to listen on any port. Use -listen=0 if you want this. Не удалось прослушивать любой порт. Используйте -listen = 0, если вы этого хотите. + + Failed to parse host:port string + Не удалось проанализировать хост: строка порта + Failed to read block Не удалось прочитать блок @@ -5473,8 +5378,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Информация - Initialization sanity check failed. Ion Core is shutting down. - Инициализация проверки работоспособности не удалась. Ion Core отключается. + Initialization sanity check failed. ION Core is shutting down. + Инициализация проверки работоспособности не удалась. ION Core отключается. Input is not valid. @@ -5684,10 +5589,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Failed to create mint Не удалось создать монетный двор - - Failed to deserialize - Не удалось десериализовать - Failed to find Zerocoins in wallet.dat Не удалось найти Zerocoins в файле wallet.dat @@ -5757,8 +5658,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Загрузка ... - Loading wallet... (%3.1f %%) - Загрузка кошелька ... (%3.1f %%) + Loading wallet... (%3.2f %%) + Загрузка кошелька ... (%3.2f %%) Loading wallet... @@ -6128,14 +6029,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou The coin spend has been used Расходы на монеты использовались - - The new spend coin transaction did not verify - Новая транзакция с мошенничеством не подтвердила - - - The selected mint coin is an invalid coin - Выбранная монетка - недействительна - The transaction did not verify Транзакция не подтверждена @@ -6284,10 +6177,6 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Verifying wallet... Проверка кошелька ... - - Version 1 xION require a security level of 100 to successfully spend. - Для версии 1 xION требуется уровень безопасности 100, который можно успешно тратить. - Wallet %s resides outside data directory %s Кошелек %s находится за пределами каталога данных %s @@ -6297,8 +6186,8 @@ Either mint higher denominations (so fewer inputs are needed) or reduce the amou Кошелек заблокирован. - Wallet needed to be rewritten: restart Ion Core to complete - Кошелек необходимо переписать: перезапустите Ion Core, чтобы завершить + Wallet needed to be rewritten: restart ION Core to complete + Кошелек необходимо переписать: перезапустите ION Core, чтобы завершить Wallet options: diff --git a/src/qt/locale/ion_sk.ts b/src/qt/locale/ion_sk.ts index c4effdb2dcaa3..2788be960db17 100644 --- a/src/qt/locale/ion_sk.ts +++ b/src/qt/locale/ion_sk.ts @@ -569,8 +569,8 @@ Panel nástrojov Záložky - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -589,12 +589,12 @@ Prezrieť masternody - &About Ion Core - O Ion Core + &About ION Core + O ION Core - Show information about Ion Core - Zobraziť informácie o Ion Core + Show information about ION Core + Zobraziť informácie o ION Core Modify configuration options for ION @@ -649,12 +649,12 @@ Okno blockchain prehliadača - Show the Ion Core help message to get a list with possible ION command-line options - Zobraziť pomocnú správu programu Ion Core a získajte zoznam možností príkazového riadka ION + Show the ION Core help message to get a list with possible ION command-line options + Zobraziť pomocnú správu programu ION Core a získajte zoznam možností príkazového riadka ION - Ion Core client - Ion Core klient + ION Core client + ION Core klient Synchronizing with network... @@ -756,7 +756,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Peňaženka je <b>zašifrovaná</ b> a momentálne je <b>zamknutá</ b> - + BlockExplorer @@ -864,18 +864,21 @@ MultiSend: %1 FreespaceChecker + + GovernancePage + HelpMessageDialog - Ion Core - Ion Core + ION Core + ION Core Intro - Ion Core - Ion Core + ION Core + ION Core Error @@ -984,12 +987,19 @@ MultiSend: %1 Skopírovať sumu + + ProposalFrame + QObject Amount Suma + + ION Core + ION Core + QRImageWidget @@ -1011,6 +1021,10 @@ MultiSend: %1 Copy amount Skopírovať sumu + + Copy address + Skopírovať adresu + ReceiveRequestDialog @@ -1037,6 +1051,10 @@ MultiSend: %1 Label Štítok + + Address + Adresa + Amount Suma @@ -1185,8 +1203,8 @@ MultiSend: %1 SplashScreen - Ion Core - Ion Core + ION Core + ION Core diff --git a/src/qt/locale/ion_sv.ts b/src/qt/locale/ion_sv.ts index e0d549db78f5e..135af97cd46ea 100644 --- a/src/qt/locale/ion_sv.ts +++ b/src/qt/locale/ion_sv.ts @@ -271,7 +271,7 @@ Paste address from clipboard - Limma in adress från urklipp + Infoga adress från urklipp Alt+P @@ -610,7 +610,7 @@ Processed %n blocks of transaction history. - Bearbetar %n block av transaktionshistoriken.Bearbetar %n block av transaktionshistoriken. + Bearbetat %n block av transaktionshistoriken.Bearbetat %n block av transaktionshistoriken. Synchronizing additional data: %p% @@ -624,6 +624,10 @@ Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymization and staking only Plånboken är <b>krypterad</b> och för tillfället <b>olåst</b> för anonymisering och staking enbart + + Tor is <b>enabled</b>: %1 + Tor är <b>aktiverat</b>: %1 + &File Fil @@ -645,8 +649,8 @@ flik vertygsrad - Ion Core - ION Kärna + ION Core + ION Core Send coins to a ION address @@ -669,11 +673,11 @@ Utforska masternoder - &About Ion Core + &About ION Core Om ION Kärnan - Show information about Ion Core + Show information about ION Core Visa information om ION Kärnan @@ -729,16 +733,16 @@ Blockera utforskarfönstret - Show the Ion Core help message to get a list with possible ION command-line options - Visa Ion Core hjälp meddelande för att få en lista med möjliga ION kommandorad alternativ + Show the ION Core help message to get a list with possible ION command-line options + Visa ION Core hjälp meddelande för att få en lista med möjliga ION kommandorad alternativ - Ion Core client + ION Core client ION kärn klient %n active connection(s) to ION network - %n aktiv(a) annslutning(ar) till ION nätverket%n aktiv(a) annslutning(ar) till ION nätverket + %n aktiva anslutning(ar) till ION nätverket%n aktiva anslutning(ar) till ION nätverket Synchronizing with network... @@ -762,15 +766,15 @@ %n hour(s) - %n timme%n timmar + %n timmar%n timmar %n day(s) - %n dag%n dagar + %n dagar%n dagar %n week(s) - %n vecka%n veckor + %n veckor%n veckor %1 and %2 @@ -850,7 +854,7 @@ MultiSend: %1 AutoMint is currently enabled and set to - AutoMint är för tillfället aktiverat och inställd på + AutoMint är för tillfället aktiverat och inställt på AutoMint is disabled @@ -864,7 +868,7 @@ MultiSend: %1 Wallet is <b>encrypted</b> and currently <b>locked</b> Plånbok är <b>krypterad</b> och tillfälligt <b>låst</b> - + BlockExplorer @@ -1224,6 +1228,17 @@ MultiSend: %1 Kan inte skapa data katalog här. + + GovernancePage + + Form + Formulär + + + 0 + 0 + + HelpMessageDialog @@ -1231,15 +1246,15 @@ MultiSend: %1 version - Ion Core - ION Kärna + ION Core + ION Core (%1-bit) (%1-bit) - About Ion Core + About ION Core Om ION Kärna @@ -1286,15 +1301,15 @@ MultiSend: %1 Välkommen - Welcome to Ion Core. - Välkommen till Ion Core. + Welcome to ION Core. + Välkommen till ION Core. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Eftersom detta är första gången programmet körs så kan du välja var Ion Core ska spara sin data. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Eftersom detta är första gången programmet körs så kan du välja var ION Core ska spara sin data. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. ION Kärnan kommer ladda ner och spara en kopia av ION block chain. Minst %1GB data kommer sparas i denna katalog och den kommer växa med tiden. Plånboken kommer också sparas i denna katalog. @@ -1306,8 +1321,8 @@ MultiSend: %1 Använd en skräddarsydd data katalog - Ion Core - Ion Core + ION Core + ION Core Error: Specified data directory "%1" cannot be created. @@ -1542,47 +1557,78 @@ MultiSend kommer inte aktiveras om du inte tryckt på Aktivera (Ingen etikett) - The entered address: - - Den inmatade adressen: - + MultiSend Active for Stakes and Masternode Rewards + MultiSend Aktivt för Stakes och Huvudnods Belöningar + + + MultiSend Active for Stakes + MultiSend Aktiv för Stakes - is invalid. + MultiSend Active for Masternode Rewards + MultiSend Aktivt för Huvudnods Belöningar + + + MultiSend Not Active + MultiSend inte Aktivt + + + The entered address: %1 is invalid. Please check the address and try again. - är ogiltig. + Den angivna adressen: %1 är ej giltig. Var vänlig kontrollera adressen och försök igen. - The total amount of your MultiSend vector is over 100% of your stake reward - - Din totala MultiSend vektor mängd överstiger 100% av din staking belöning - + The total amount of your MultiSend vector is over 100% of your stake reward + Den totala mängden av din MultiSend vektor är över 100% av din stake belöning - Please Enter 1 - 100 for percent. - Var vänlig mata in 1 - 100 i procent. + Saved the MultiSend to memory, but failed saving properties to the database. + Sparade MultiSend till minne, men misslyckades spara egenskaperna till databasen. - Saved the MultiSend to memory, but failed saving properties to the database. - - Sparade MultiSend till minne, men misslyckades spara egenskaperna till databasen. - + MultiSend Vector + MultiSend Vektor - MultiSend Vector - - MultiSend Vektor + Removed %1 + Borttaget %1 - Removed - Borttagen + Could not locate address + Kunde inte lokalisera adress - Could not locate address - - Kunde inte lokalisera adress - + Unable to activate MultiSend, check MultiSend vector + Kan ej aktivera MultiSend, kontrollera MultiSend vektor + + + Need to select to send on stake and/or masternode rewards + Behöver välja att skicka på stake och/eller huvudnods belöningar + + + MultiSend activated but writing settings to DB failed + MultiSend aktiverat men misslyckades att skriva inställningar till DB + + + MultiSend activated + MultiSend aktiverat + + + First Address Not Valid + Första Adress Ej Giltig + + + MultiSend deactivated but writing settings to DB failed + MultiSend avaktiverat men misslyckades skriva inställningar till DB + + + MultiSend deactivated + MultiSend avaktiverat + + + Please Enter 1 - 100 for percent. + Var vänlig mata in 1 - 100 i procent. @@ -1657,7 +1703,7 @@ Var god vänta efter att du trycker på importera. Quantity Selected: - Kvantitet Vald: + Vald Kvantitet: 0 @@ -1779,32 +1825,32 @@ Var god vänta efter att du trycker på importera. Var vänlig och välj en sekretess nivå. - Use 2 separate masternodes to mix funds up to 10000 ION - Använd 2 separata huvudnoder för att blanda tillgångar upp till 10000 ION + Use 2 separate masternodes to mix funds up to 20000 ION + Använd 2 separata huvudnoder för att blanda tillgångar upp till 20000 ION - Use 8 separate masternodes to mix funds up to 10000 ION - Använd 8 separata huvudnoderför att blanda tillgångar upp till 10000 ION + Use 8 separate masternodes to mix funds up to 20000 ION + Använd 8 separata huvudnoderför att blanda tillgångar upp till 20000 ION Use 16 separate masternodes Använd 16 separata huvudnoder - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Det här alternativet är det snabbaste och kommer kostar ungefär ~0.025 ION för att anonymisera 10000 ION + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Det här alternativet är det snabbaste och kommer kostar ungefär ~0.025 ION för att anonymisera 20000 ION - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Det här alternativet är måttligt snabb och kommer kostar ungefär 0.05 ION för att anonymisera 10000 ION + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Det här alternativet är måttligt snabb och kommer kostar ungefär 0.05 ION för att anonymisera 20000 ION This is the slowest and most secure option. Using maximum anonymity will cost Det här är det långsammaste och säkraste alternativet. Använda maximal anonymitet kommer kosta - 0.1 ION per 10000 ION you anonymize. - 0.1 ION per 10000 ION du anonymiserar. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION per 20000 ION du anonymiserar. Obfuscation Configuration @@ -1864,6 +1910,10 @@ Var god vänta efter att du trycker på importera. MB MB + + Number of script &verification threads + Antal script &verifications trådar + (0 = auto, <0 = leave that many cores free) (0 = auto, <0 = lämna så många "kärnor" fria) @@ -1888,6 +1938,10 @@ Var god vänta efter att du trycker på importera. Allow incoming connections Tillåt inkommande anslutningar + + &Connect through SOCKS5 proxy (default proxy): + &Koppla upp genom SOCKS5 proxy (standard proxy): + Expert Expert @@ -1904,6 +1958,10 @@ Var god vänta efter att du trycker på importera. Whether to show coin control features or not. Huruvida mynt kontroll funktioner ska visas eller inte. + + Enable coin &control features + Tillåt mynt &kontroll funktioner + Show additional tab listing all your masternodes in first sub-tab<br/>and all masternodes on the network in second sub-tab. Visa ytterligare en flik som visar alla dina huvudnoder i sin första sub-flik<br/>och alla huvudnoder på nätverket i en andra sub-flik. @@ -2006,10 +2064,18 @@ https://www.transifex.com/ioncoincore/ioncore &Display &Display + + User Interface &language: + Användargränssnitt och &språk: + User Interface Theme: Användargränssnitts Tema: + + &Unit to show amounts in: + &Enhet att visa mängd i: + Choose the default subdivision unit to show in the interface and when sending coins. Välj standardindelningsenheten att visa i gränssnittet och när mynt skickas. @@ -2022,6 +2088,14 @@ https://www.transifex.com/ioncoincore/ioncore Hide empty balances Dölj tomma saldon + + Hide orphan stakes in transaction lists + Göm föräldralösa stakes i transaktionslistan + + + Hide orphan stakes + Göm föräldralösa stakes + Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |. Tredjeparts URLs (t.ex. en blockutforskare) som visar sig i transaktionsfliken som objekt i innehållsmeny. %s i URLen ersätts med transaktionshash. Flera URLs separeras med vertical stång |. @@ -2038,6 +2112,10 @@ https://www.transifex.com/ioncoincore/ioncore Reset all client options to default. Starta om alla klient alternativ till standard. + + &Reset Options + &Återställnings Inställningar + &OK &OK @@ -2151,7 +2229,7 @@ Omogna: bekräftade men under 1 myntning av samma valör efter den blev präglad The displayed information may be out of date. Your wallet automatically synchronizes with the ION network after a connection is established, but this process has not completed yet. - Informationen kan vara föråldrad. Din plånbok synkroniserar automatiskt med ION nätverket efter att en anslutning är etablerad, men denna process har inte blivit klar än. + nformationen kan vara föråldrad. Din plånbok synkroniserar automatiskt med ION nätverket efter att en anslutning är etablerad, men denna process har inte blivit klar än. OVERVIEW @@ -2460,18 +2538,6 @@ xION är mogna när de har över 20 bekräftelser OCH över 2 präglingar av sam 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Säkerhetsnivå på Zerocoin Transaktioner. Mer är bättre, men behöver mer tid och resurser. - - - Security Level: - Säkerhetsnivå: - - - Security Level 1 - 100 (default: 42) - Säkerhetsnivå 1- 100 (standard: 42) - Pay &To: Betala &Till: @@ -2498,7 +2564,7 @@ xION är mogna när de har över 20 bekräftelser OCH över 2 präglingar av sam &Label: - Etikett: + &Etikett: Enter a label for this address to add it to the list of used addresses @@ -2548,7 +2614,7 @@ xION är mogna när de har över 20 bekräftelser OCH över 2 präglingar av sam Unconfirmed: less than 20 confirmations Immature: confirmed, but less than 1 mint of the same denomination after it was minted Obekräftade: Under 20 bekräftelser -Omogna: bekräftade men under 1 mint av samma valör efter den blev mintad +Omogna: bekräftade men under 1 myntning av samma valör efter den blev präglad Show the current status of automatic xION minting. @@ -2616,6 +2682,14 @@ För att ändra procenten (ingen omstart krävs): 0 x 0 x + + Show xION denominations list + Visa xION valör lista + + + Show Denominations + Visa Valörer + Denominations with value 5: Valörer med värde 5: @@ -2672,6 +2746,10 @@ För att ändra procenten (ingen omstart krävs): Denom. with value 5000: Valörer med värde 5000: + + Hide Denominations + Göm Valörer + Priority: Prioritet: @@ -2749,14 +2827,6 @@ För att ändra procenten (ingen omstart krävs): Please be patient... Startar ResetMintZerocoin: skannar om hela blockchain, detta kan ta upp till 30 minuter beroende på din hårdvara. Ha lite tålamod... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Spendera Zerocoin. -Beräkningsmässigt krävande, kan behöva flera minuter beroende på den valda säkerhetsnivån och din hårdvara. -Var god dröj... ) needed. @@ -2928,22 +2998,10 @@ Högsta tillåtna: to a newly generated (unused and therefore anonymous) local address <br /> till en nygjord (oanvänd och därför anonym) lokal adress<br /> - - with Security Level - med Säkerhetsnivå - Confirm send coins Bekräfta att skicka mynt - - Version 1 xION require a security level of 100 to successfully spend. - Version 1 xION kräver en säkerhetsnivå på 100 för att kunna spenderas med framgång. - - - Failed to spend xION - Misslyckades med att spendera xION - Failed to fetch mint associated with serial hash Misslyckades med att hämta myntning associerat med serie hashen @@ -2965,7 +3023,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi PrivacyDialog Enter an amount of ION to convert to xION - SekretessRutaSekretessDialog + SekretessDialogSekretessDialog denomination: @@ -3000,6 +3058,9 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi avgift: + + ProposalFrame + QObject @@ -3050,13 +3111,21 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi %1 ms %1 ms - + + ION Core + ION Core + + QRImageWidget &Save Image... &Spara Bild... + + &Copy Image + &Kopiera Bild + Save QR Code Spara QR Kod @@ -3074,7 +3143,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi &Information - information + &Information General @@ -3096,6 +3165,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Number of connections Antal anslutningar + + &Open + &Öppna + Startup time Starttid @@ -3144,6 +3217,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Number of Masternodes Antal Huvudnoder "masternodes" + + &Console + &Konsoll + Clear console Rensa konsol @@ -3152,6 +3229,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi &Network Traffic &Nätverkstrafik + + &Clear + &Rensa + Totals Totalt @@ -3224,6 +3305,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Ping Time Ping Tid + + &Wallet Repair + &Plånboks Reparation + Delete local Blockchain Folders Radera lokala Blockchain Mappar @@ -3352,6 +3437,22 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Ban Node for förbjud Nod för att + + 1 &hour + 1 &timme + + + 1 &day + 1 &dag + + + 1 &week + 1 &vecka + + + 1 &year + 1 &år + This will delete your local blockchain folders and the wallet will synchronize the complete Blockchain from scratch.<br /><br /> Detta kommer radera dina lokala blockchain mappar och plånboken kommer synkronisera den kompletta Blockchainen från början.<br /><br /> @@ -3373,13 +3474,17 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Godkänn omsynkronisering av Blockchain - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Använd upp- och ner-pilarna för att navigera historiken, och <b>Ctrl-L</b> för att rensa skärm. + Use up and down arrows to navigate history, and %1 to clear screen. + Använd upp- och ner-pilarna för att navigera historiken, och %1 för att rensa skärm. Type <b>help</b> for an overview of available commands. Skriv <b>help</b> för en överblick av tillgängliga kommandon. + + WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramifications of a command. + VARNING: Bedrägare har varit aktiva, säger åt användare att skriva kommandon här, stjäl deras innehåll i plånboken. Använd inte denna konsoll utan att fullt förstå vad ett kommando kan leda till. + %1 B %1 B @@ -3447,6 +3552,18 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi An optional label to associate with the new receiving address. En valfri etikett att associera med den nya mottagaradressen. + + Your receiving address. You can copy and use it to receive coins on this wallet. A new one will be generated once it is used. + Din mottagaradress. Du kan kopiera och använda den för att ta emot mynt på denna plånbok. En ny kommer genereras när den har använts. + + + &Address: + &Adress + + + A&mount: + &Mängd: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Ett frivilligt meddelande att bifoga till betalningsförfrågan, som kommer visas när förfrågan öppnas. Observera: Medelandet kommer inte skickas med betalningen över ION nätverket. @@ -3471,6 +3588,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi An optional amount to request. Leave this empty or zero to not request a specific amount. En frivillig mängd att anhålla om. Lämna den tom eller på noll för att inte fråga efter en specifik mängd. + + &Request payment + &Förfråga betalning + Clear all fields of the form. Rensa alla fält i formuläret. @@ -3479,6 +3600,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Clear Rensa + + Receiving Addresses + Mottagar Adress + Requested payments history Förfrågade betalningshistorik @@ -3511,6 +3636,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Copy amount Kopiera antal + + Copy address + Kopiera Adress + ReceiveRequestDialog @@ -3579,7 +3708,11 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Message - Medelande + Meddelande + + + Address + Adress Amount @@ -3614,7 +3747,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Insufficient funds! - Otillräckliga pengar! + Otillräckliga medel ! Quantity: @@ -3658,7 +3791,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address. - Om detta är aktiverat, men växeladressen är tom eller ogiltig så kommer växel skickas till en nybildad adress. + Om detta är aktiverat, men växeladressen är tom eller ogiltig så kommer växeln att skickas till en nybildad adress. Custom change address @@ -3680,6 +3813,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi 0 ION 0 ION + + SwiftX technology allows for near instant transactions - A flat fee of 0.01 ION applies + SwiftX teknologi tillåter nästan omedelbara transaktioner - En fast avgift på 0.01ION tillkommer + Transaction Fee: Transaktionsavgift: @@ -3688,6 +3825,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Choose... Välj... + + collapse fee-settings + göm avgifts-inställningar + Minimize Minimera @@ -3764,6 +3905,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Confirm the send action Bekräfta skickandet + + S&end + S&icka + Clear all fields of the form. Rensa alla fält i formuläret. @@ -3776,6 +3921,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Send to multiple recipients at once Skicka till flera mottagare på en gång + + Add &Recipient + Lägg till &Mottagare + Anonymized ION Anonymiserade ION @@ -3854,7 +4003,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Estimated to begin confirmation within %n block(s). - Bekräftelse börjar om uppskattningsvis %n block.Bekräftelse börjar om uppskattningsvis %n block. + Uppskattat att starta konfirmation inom %n block.Uppskattat att starta konfirmation inom %n block. The recipient address is not valid, please recheck. @@ -3908,6 +4057,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Pay only the minimum fee of %1 Betala endast minsta avgift på %1 + + Estimated to get 6 confirmations near instantly with <b>SwiftX</b>! + Upskattar att få 6 konfirmationer nästan omedelbart med <b>SwiftX</b>! + Warning: Unknown change address Varning: Okänd växeladress @@ -3953,7 +4106,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi &Label: - Etikett: + &Etikett: Enter a label for this address to add it to the list of used addresses @@ -3961,7 +4114,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi A&mount: - &mängd: + &Mängd: Message: @@ -3995,8 +4148,8 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi ShutdownWindow - Ion Core is shutting down... - Ion Core stängs ner... + ION Core is shutting down... + ION Core stängs ner... Do not shut down the computer until this window disappears. @@ -4103,15 +4256,15 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi The entered address does not refer to a key. - Den angivna adressen refererar inte till en nyckel. + Den angivna adressen visar inte till en nyckel. Wallet unlock was cancelled. - Upplåsningen av plånboken var avbruten. + Upplåsningen av plånboken blev avbruten. Private key for the entered address is not available. - Den privata nyckel som angivits flr adressen är inte tillgänglig. + Den privata nyckel som angivits till adressen är inte tillgänglig. Message signing failed. @@ -4145,8 +4298,8 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi SplashScreen - Ion Core - Ion Core + ION Core + ION Core Version %1 @@ -4161,8 +4314,8 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Dash Core utvecklarna - The Ion Core developers - Ion Core utvecklarna + The ION Core developers + ION Core utvecklarna [testnet] @@ -4180,7 +4333,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi TransactionDesc Open for %n more block(s) - Öppen för %n fler blockÖppen för %n fler block + Öppna för %n fler blockÖppna för %n fler block Open until %1 @@ -4390,7 +4543,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Open for %n more block(s) - Öppen för %n fler blockÖppen för %n fler block + Öppna för %n fler blockÖppna för %n fler block Open until %1 @@ -4601,7 +4754,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Masternode Reward - Huvudnods Belöning + Masternode Belöning Zerocoin Mint @@ -4641,7 +4794,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Copy transaction ID - Kopiera transactions ID + Kopiera transaktions ID Edit label @@ -4651,6 +4804,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Show transaction details Visa Transaktionsdetaljer + + Hide orphan stakes + Göm föräldralösa stakes + Export Transaction History Exportera Transaktionshistorik @@ -4689,7 +4846,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Exporting Failed - Exportering Misslyckad + Exportering Misslyckades There was an error trying to save the transaction history to %1. @@ -4794,11 +4951,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Select/Deselect All Markera/Avmarkera alla - - Is Spendable - Är Spenderbar - - + ion-core @@ -4826,7 +4979,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Beräknade ackumulator kontrollstation är inte vad som sparats av block index - Cannot obtain a lock on data directory %s. Ion Core is probably already running. + Cannot obtain a lock on data directory %s. ION Core is probably already running. Kan ej låsa in på data katalog %s. ION Kärna körs förmodligen redan. @@ -5002,20 +5155,24 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Denna produkt inkluderar mjukvara utvecklad av OpenSSL Projektet för användning i OpenSSL Toolkit <https://www.openssl.org/> och kryptografisk mjukvara skriven av Eric Young och UPnP mjukvara skriven av Thomas Bernard. - Unable to bind to %s on this computer. Ion Core is probably already running. - Kan inte binda till %s på denna dator. Ion Core körs förmodligen redan. + Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments. + Totala längden av nätverks verisionens sträng (%i) överskrider maximala längd (%i). Minska mängden eller storleken av uakommentarer. + + + Unable to bind to %s on this computer. ION Core is probably already running. + Kan inte binda till %s på denna dator. ION Core körs förmodligen redan. Unable to locate enough Obfuscation denominated funds for this transaction. Kan ej lokalisera tillräckligt Fördunklingsdenominationerade pengar för denna transaktion. - Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 ION. - Kan ej lokalisera tillräckligt Fördunkling icke-denominationerade pengar för denna transaktion som inte är 10000 ION. + Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 20000 ION. + Kan ej lokalisera tillräckligt Fördunkling icke-denominationerade pengar för denna transaktion som inte är 20000 ION. - Unable to locate enough funds for this transaction that are not equal 10000 ION. - Kan inte hitta tillräckligt med pengar för denna transaktion som inte är 10000 ION. + Unable to locate enough funds for this transaction that are not equal 20000 ION. + Kan inte hitta tillräckligt med pengar för denna transaktion som inte är 20000 ION. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -5030,8 +5187,8 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Varning: -maxtxfee är sätt väldigt högt! Detta är transaktionsavgiften du kommer betala om du skickar en transaktion. - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - Varning: Var vänlig kontrollera att din dators tid och datum är korrekt! Om din klocka är fel så kommer Ion Core inte att fungera korrekt. + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + Varning: Var vänlig kontrollera att din dators tid och datum är korrekt! Om din klocka är fel så kommer ION Core inte att fungera korrekt. Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues. @@ -5105,6 +5262,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Always query for peer addresses via DNS lookup (default: %u) Fråga alltid efter peer adresser via DNS lookup (standard: %u) + + Append comment to the user agent string + Bifoga kommentar till användaragent strängen + Attempt to recover private keys from a corrupt wallet.dat Försök återfå privata nycklar från en korrupt wallet.dat @@ -5186,8 +5347,8 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Copyright (C) 2015-%i The PIVX Core Developers - Copyright (C) 2018-%i The Ion Core Developers - Copyright (C) 2018-%i The Ion Core Developers + Copyright (C) 2018-%i The ION Core Developers + Copyright (C) 2018-%i The ION Core Developers Corrupted block database detected @@ -5274,7 +5435,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Fel vid laddning av wallet.dat: Plånbok korrupterad - Error loading wallet.dat: Wallet requires newer version of Ion Core + Error loading wallet.dat: Wallet requires newer version of ION Core Fel vid laddning av wallet.dat: Plånbok kräver nyare ION Kärna version @@ -5289,6 +5450,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Error recovering public key. Fel vid återhämtning av offentlig nyckel. + + Error writing zerocoinDB to disk + Fel vid skrivning av zerocoinDB till disk + Error Fel @@ -5325,6 +5490,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Failed to listen on any port. Use -listen=0 if you want this. Misslyckades att lyssna på någon port. Använd -listen=0 om du vill detta. + + Failed to parse host:port string + Misslyckades ta ut satsdelarna i host:port sträng + Failed to read block Misslyckades läsa block @@ -5390,7 +5559,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Information - Initialization sanity check failed. Ion Core is shutting down. + Initialization sanity check failed. ION Core is shutting down. Initierings renlighetscheck misslyckades. ION Kärna stängs ner. @@ -5601,10 +5770,6 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Failed to create mint Misslyckades skapa mint - - Failed to deserialize - Misslyckades att deserialize - Failed to find Zerocoins in wallet.dat Misslyckades hitta Zerocoins i wallet.dat @@ -5674,8 +5839,8 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Laddar sporks... - Loading wallet... (%3.1f %%) - Laddar plånbok... (%3.1f%%) + Loading wallet... (%3.2f %%) + Laddar plånbok... (%3.2f%%) Loading wallet... @@ -6045,14 +6210,6 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi The coin spend has been used Mynt spenderingen har redan använts - - The new spend coin transaction did not verify - Den nya spendera mynt transaktionen kunde inte verifieras - - - The selected mint coin is an invalid coin - Den valda mint myntet är ett ogiltigt mynt - The transaction did not verify Transaktionen verifierades inte @@ -6181,6 +6338,10 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Use the test network Använd test nätverket + + User Agent comment (%s) contains unsafe characters. + Användaragent kommentar (%s) innehåller osäkra tecken. + Username for JSON-RPC connections Användarnamn för JSON-RPC anslutningar @@ -6201,10 +6362,6 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Verifying wallet... Verifierar plånbok - - Version 1 xION require a security level of 100 to successfully spend. - Version 1 xION kräver en säkerhetsnivå på 100 för att kunna spenderas med framgång. - Wallet %s resides outside data directory %s Plånbok %s finns utanför data katalog %s @@ -6214,7 +6371,7 @@ Minta antingen högre valörer (så att färre inputs behövs) eller spendera mi Plånboken är låst. - Wallet needed to be rewritten: restart Ion Core to complete + Wallet needed to be rewritten: restart ION Core to complete Plånbok behöver skrivas om: starta om ION Kärna för att göra klart diff --git a/src/qt/locale/ion_tr.ts b/src/qt/locale/ion_tr.ts index d3e18cc6e048d..bc51850d12c4e 100644 --- a/src/qt/locale/ion_tr.ts +++ b/src/qt/locale/ion_tr.ts @@ -616,6 +616,14 @@ %1 behind. Scanning block %2 %1 geride. blok tarıyor %2 + + Wallet is <b>encrypted</b> and currently <b>unlocked</b> for anonymization and staking only + Cüzdan şifrelenmiştirve şu anda sadece anonimleştirme ve staking yapılabilmesi amacıyla kilitsiz</b> hale getirilmiştir. + + + Tor is <b>enabled</b>: %1 + Tor <b>etkin</b> hale getirilmiştir: %1 + &File &Dosya @@ -637,7 +645,7 @@ Sekme tablosu - Ion Core + ION Core ION CORE @@ -661,12 +669,12 @@ Masternodları ara - &About Ion Core - Ion core Hakkında + &About ION Core + Pıvx core Hakkında - Show information about Ion Core - Ion Core hakkında bilgi göster + Show information about ION Core + Pıvx Core hakkında bilgi göster Modify configuration options for ION @@ -721,12 +729,12 @@ Kaşif penceresini engelle - Show the Ion Core help message to get a list with possible ION command-line options - Olası ION komut satırı seçeneklerine sahip bir liste almak için Ion Core yardım mesajını gösterin + Show the ION Core help message to get a list with possible ION command-line options + Olası ION komut satırı seçeneklerine sahip bir liste almak için ION Core yardım mesajını gösterin - Ion Core client - Ion Core istemci + ION Core client + ION Core istemci Synchronizing with network... @@ -786,7 +794,7 @@ Sent MultiSend transaction - MultiSend işlemi gönderildi + ÇokluGönderi işlemi gönderildi Date: %1 @@ -804,7 +812,7 @@ Adres: %4 Staking is active MultiSend: %1 Staking aktif - Multisend: %1 + ÇokluGönderi: %1 Active @@ -817,8 +825,8 @@ Adres: %4 Staking is not active MultiSend: %1 - staking inaktif - Multisend: %1 + Staking etkin değildir +ÇokluGönderi: %1 AutoMint is currently enabled and set to @@ -836,7 +844,7 @@ Adres: %4 Wallet is <b>encrypted</b> and currently <b>locked</b> Cüzdan<b>şifreli</b>ve şu anda<b>kilitli</b> - + BlockExplorer @@ -1193,6 +1201,17 @@ Adres: %4 Burada veri dizini oluşturulamıyor. + + GovernancePage + + Form + Form + + + 0 + 0 + + HelpMessageDialog @@ -1200,7 +1219,7 @@ Adres: %4 versiyon - Ion Core + ION Core ION CORE @@ -1208,8 +1227,8 @@ Adres: %4 (%1-bit) - About Ion Core - hakkında Ion Core + About ION Core + hakkında ION Core Command-line options @@ -1255,16 +1274,16 @@ Adres: %4 Hoşgeldiniz - Welcome to Ion Core. - Ion Core'a hoşgeldiniz. + Welcome to ION Core. + ION Core'a hoşgeldiniz. - As this is the first time the program is launched, you can choose where Ion Core will store its data. - Program ilk başlatıldığında Ion Core'un verilerini nerede saklayacağını seçebilirsiniz. + As this is the first time the program is launched, you can choose where ION Core will store its data. + Program ilk başlatıldığında ION Core'un verilerini nerede saklayacağını seçebilirsiniz. - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core, ION blok zincirinin bir kopyasını indirecek ve depolayacaktır. Bu dizinde en az %1GB veri saklanacak ve zamanla büyüyecek. Cüzdan ayrıca bu dizinde saklanır. + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core, ION blok zincirinin bir kopyasını indirecek ve depolayacaktır. Bu dizinde en az %1GB veri saklanacak ve zamanla büyüyecek. Cüzdan ayrıca bu dizinde saklanır. Use the default data directory @@ -1275,7 +1294,7 @@ Adres: %4 Özel bir veri dizini kullanın: - Ion Core + ION Core ION CORE @@ -1402,7 +1421,7 @@ Adres: %4 MultiSendDialog MultiSend - MultiSend + ÇokluGönderi Enter whole numbers 1 - 100 @@ -1416,19 +1435,9 @@ Adres: %4 Enter Address to Send to Gönderim adresi girin - - MultiSend allows you to automatically send up to 100% of your stake or masternode reward to a list of other ION addresses after it matures. -To Add: enter percentage to give and ION address to add to the MultiSend vector. -To Delete: Enter address to delete and press delete. -MultiSend will not be activated unless you have clicked Activate - MultiSend, olgunlaştıktan sonra diğer ION adreslerinin bir listesine otomatik olarak kazancınızın 100% 'ünü veya grup yazınızı ödüllendirmenize olanak tanır. -Eklemek için: Verilecek yüzdeyi ve MultiSend vektörüne eklemek için ION adresi girin. -Silme: Silinecek adresi girin ve silmek için basın. -MultiSend, Etkinleştir'i tıklamadığınız sürece etkinleştirilmeyecektir - Add to MultiSend Vector - Ekle MultiSend Vector + ÇokluGönderi Vektörüne Ekle Add @@ -1436,7 +1445,7 @@ MultiSend, Etkinleştir'i tıklamadığınız sürece etkinleştirilmeyecektir Deactivate MultiSend - Deaktif et MultiSend + ÇokluGönderi'yi Etkisiz hale getir Deactivate @@ -1476,7 +1485,7 @@ MultiSend, Etkinleştir'i tıklamadığınız sürece etkinleştirilmeyecektir Delete Address From MultiSend Vector - MultiSend Vector den adresi sil + ÇokluGönderi Vektöründen Adresi Sil Delete @@ -1484,7 +1493,7 @@ MultiSend, Etkinleştir'i tıklamadığınız sürece etkinleştirilmeyecektir Activate MultiSend - aktifle MultiSend + ÇokluGönderi'yi Etkinleştir Activate @@ -1492,11 +1501,11 @@ MultiSend, Etkinleştir'i tıklamadığınız sürece etkinleştirilmeyecektir View MultiSend Vector - GösterMultiSend Vector + ÇokluGönderi Vektörünü Görüntüle View MultiSend - Göster multisend + ÇokluGönderi'yi Görüntüle Send For Stakes @@ -1511,42 +1520,42 @@ MultiSend, Etkinleştir'i tıklamadığınız sürece etkinleştirilmeyecektir(etiket yok) - The entered address: - - Girilen adres: - + MultiSend Active for Stakes and Masternode Rewards + Masternode Ödülleri için ÇokluGönderi Etkinleştirilmiştir + + + MultiSend Active for Masternode Rewards + Masternode Ödülleri için ÇokluGönderi Etkinleştirilmiştir + + + MultiSend Not Active + ÇokluGönderi Etkin değildir - is invalid. + The entered address: %1 is invalid. Please check the address and try again. - geçersiz. -Lütfen adresi kontrol edin ve tekrar deneyin. + Girili adres: %1 geçersiz. +Lütfen adresi kontrol ediniz ve tekrar deneyiniz. - The total amount of your MultiSend vector is over 100% of your stake reward - - MultiSend vectorünüzün toplam miktarı stake ödülünün 100% ünden fazla - + Removed %1 + Kaldırıldı %1 - Please Enter 1 - 100 for percent. - Lütfen 1 - 100 arası yüzdelik miktarı girin + Could not locate address + Adres bulunamadı. - MultiSend Vector - - MultiSend Vector - + MultiSend activated + ÇokluGönderi geçerli hale getirildi - Removed - Silindi + First Address Not Valid + İlk Adres Geçersiz - Could not locate address - - Adres bulunamıyor - + Please Enter 1 - 100 for percent. + Lütfen 1 - 100 arası yüzdelik miktarı girin @@ -1743,32 +1752,32 @@ Unutmayın, cüzdan, yeni adresi içeren işlemleri bulmak için blok zinciri ye Lütfen bir gizlilik düzeyi seçin. - Use 2 separate masternodes to mix funds up to 10000 ION - 10000 ION'e kadar fonları karıştırmak için 2 ayrı matternod kullanın + Use 2 separate masternodes to mix funds up to 20000 ION + 20000 ION'e kadar fonları karıştırmak için 2 ayrı matternod kullanın - Use 8 separate masternodes to mix funds up to 10000 ION - 10000 ION'ye kadar olan fonları karıştırmak için 8 ayrı matternod kullanın + Use 8 separate masternodes to mix funds up to 20000 ION + 20000 ION'ye kadar olan fonları karıştırmak için 8 ayrı matternod kullanın Use 16 separate masternodes 16 ayrı matternod kullan - This option is the quickest and will cost about ~0.025 ION to anonymize 10000 ION - Bu seçenek en hızlıdır ve 10000 ION'yi anonimleştirmek için ~ 0.025 ION'lik bir maliyeti olacaktır + This option is the quickest and will cost about ~0.025 ION to anonymize 20000 ION + Bu seçenek en hızlıdır ve 20000 ION'yi anonimleştirmek için ~ 0.025 ION'lik bir maliyeti olacaktır - This option is moderately fast and will cost about 0.05 ION to anonymize 10000 ION - Bu seçenek orta derecede hızlıdır ve 10000 ION'yi anonimleştirmek için yaklaşık 0.05 ION'e mal olur + This option is moderately fast and will cost about 0.05 ION to anonymize 20000 ION + Bu seçenek orta derecede hızlıdır ve 20000 ION'yi anonimleştirmek için yaklaşık 0.05 ION'e mal olur This is the slowest and most secure option. Using maximum anonymity will cost Bu en yavaş ve en güvenli seçenektir. Maksimum anonimlik kullanmak maliyete gelecek - 0.1 ION per 10000 ION you anonymize. - 0.1 ION her 10000 ION anonimleştirmeye. + 0.1 ION per 20000 ION you anonymize. + 0.1 ION her 20000 ION anonimleştirmeye. Obfuscation Configuration @@ -1910,6 +1919,10 @@ https://www.transifex.com/ioncoincore/ioncore Map port using &UPnP Map port using &UPnP + + Enable automatic minting of ION units to xION + ION birimlerinin xION'e otomatik basımını ektinleştir + Enable xION Automint xION Otomatik basımı etkinleştir @@ -2058,7 +2071,15 @@ https://www.transifex.com/ioncoincore/ioncore The supplied proxy address is invalid. Verilen proxy adresi geçersiz. - + + The supplied proxy port is invalid. + Verilen proxy port adresi geçersiz. + + + The supplied proxy settings are invalid. + Verilen proxy seçenekleri geçersiz. + + OverviewPage @@ -2097,6 +2118,10 @@ https://www.transifex.com/ioncoincore/ioncore Staked or masternode rewards that has not yet matured Staklanmış veya masternod ödülleri henüz olgunlaşmamış + + Current locked balance in watch-only addresses + Mevcut kilitli bakiye sadece görüntülenebilir adreslerde. + Your current ION balance, unconfirmed and immature transactions included Güncel ION bakiyeniz, onaylanmamış ve olgunlaşmamış işlemler dahil @@ -2105,6 +2130,18 @@ https://www.transifex.com/ioncoincore/ioncore xION Balance xION Bakiyesi + + Mature: more than 20 confirmation and more than 1 mint of the same denomination after it was minted. +These xION are spendable. + Olgun: basılmış olduktan sonra 20'den fazla onay alınmış ve aynı ölçü biriminden 1 kereden fazla basılmış. +Bu xION ler harcanabilir. + + + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + Doğrulanmamış: 20'den az doğrulama +Olgunlaşmamış: onaylandı, ancak basıldıktan sonra aynı ölçü biriminden 1 taneden daha az basım bulunmakta. + The displayed information may be out of date. Your wallet automatically synchronizes with the ION network after a connection is established, but this process has not completed yet. Görüntülenen bilgiler güncelliğini yitirmiş olabilir. Bir bağlantı kurulduktan sonra M-cüzdanınız otomatik olarak ION şebekesiyle senkronize edilir, ancak bu işlem henüz tamamlanmadı. @@ -2372,6 +2409,18 @@ To enable AutoMint change 'enablezeromint=0' to 'enablezeromint=1' in ioncoin.co PRIVACY GİZLİLİK + + Enter an amount of Ion to convert to xION + XIon'e dönüştürmek için bir miktar Ion girin + + + xION Control + xION Kontrolü + + + xION Selected: + xIon Seçildi: + Quantity Selected: Seçilen miktar: @@ -2404,18 +2453,6 @@ xION, 20'den fazla teyit bulunduğunda olgunlaşır ve bundan sonra aynı mezhep 0 xION 0 xION - - Security Level for Zerocoin Transactions. More is better, but needs more time and resources. - Zerocoin İşlemleri için Güvenlik Seviyesi. Daha fazlası iyidir, ancak daha fazla zaman ve kaynak gerekmektedir. - - - Security Level: - Güvenlik seviyesi: - - - Security Level 1 - 100 (default: 42) - Güvenlik seviyesi 1 - 100 (varsayılan: 42) - Pay &To: şuna öde: @@ -2488,6 +2525,12 @@ xION, 20'den fazla teyit bulunduğunda olgunlaşır ve bundan sonra aynı mezhep Denom. with value 1: Denom. değer 1 ile: + + Unconfirmed: less than 20 confirmations +Immature: confirmed, but less than 1 mint of the same denomination after it was minted + Doğrulanmamış: 20'den az doğrulama +Olgunlaşmamış: onaylandı, ancak basıldıktan sonra aynı ölçü biriminden 1 basım daha az miktarda. + AutoMint Status Otomatik Basım Durumu @@ -2632,14 +2675,6 @@ xION, 20'den fazla teyit bulunduğunda olgunlaşır ve bundan sonra aynı mezhep Starting ResetMintZerocoin: rescanning complete blockchain, this will need up to 30 minutes depending on your hardware. Please be patient... ResetMintZerocoin: tam blok zinciri yeniden tarama, bu donanımınıza bağlı olarak 30 dakika kadar sürmelidir. -Lütfen sabırlı olun... - - - Spending Zerocoin. -Computationally expensive, might need several minutes depending on the selected Security Level and your hardware. -Please be patient... - Harcanıyor Zerocoin. -Hesaplaması pahalı, biraz fazla hardware. ve seçili güvenlik seviyesine bağlı olarak. Lütfen sabırlı olun... @@ -2728,10 +2763,6 @@ Maksimum bırakılan: to a newly generated (unused and therefore anonymous) local address <br /> yeni üretilen (kullanılmayan ve bu nedenle isimsiz) yerel adrese <br /> - - with Security Level - Güvenlik seviyesi ile - Confirm send coins Coin gönderimini onayla @@ -2783,6 +2814,9 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik ücret: + + ProposalFrame + QObject @@ -2833,7 +2867,11 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik %1 ms %1 ms - + + ION Core + ION CORE + + QRImageWidget @@ -3135,10 +3173,6 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik Confirm resync Blockchain Blockchaini resenkronize etmeyi onaylayın - - Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen. - Geçmişi görmek için ukarı ve aşağı okları kullanın, ve <b>Ctrl-L</b> ekranı silmek için. - Type <b>help</b> for an overview of available commands. Yazın<b>help</b> mevcut komutaları görmek için @@ -3198,6 +3232,10 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik An optional label to associate with the new receiving address. Yeni alma adresi ile ilişkilendirilebilecek isteğe bağlı bir etiket. + + A&mount: + Miktar: + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. Talep açıldığında görüntülenecek ödeme isteğine eklemek için isteğe bağlı bir mesaj. Not: Mesaj, ödemenin ION şebekesi üzerinden gönderilmeyecektir. @@ -3218,10 +3256,6 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik An optional amount to request. Leave this empty or zero to not request a specific amount. İsteğe bağlı olarak isteğe bağlı bir miktar. Belirli bir miktar talep etmemek için bu boş bırakın veya sıfırlayın. - - &Amount: - miktar: - &Request payment Ödeme talep et @@ -3266,6 +3300,10 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik Copy amount Miktarı kopyala + + Copy address + Adresi Kopyala + ReceiveRequestDialog @@ -3336,6 +3374,10 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik Message Mesaj + + Address + adres + Amount Miktar @@ -3750,8 +3792,8 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik ShutdownWindow - Ion Core is shutting down... - Ion Core kapanıyor ... + ION Core is shutting down... + ION Core kapanıyor ... Do not shut down the computer until this window disappears. @@ -3900,7 +3942,7 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik SplashScreen - Ion Core + ION Core ION CORE @@ -3916,8 +3958,8 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik The Dash Core developers - The Ion Core developers - The Ion Core developers + The ION Core developers + The ION Core developers [testnet] @@ -4481,11 +4523,7 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik Select/Deselect All Seç/Çıkar Hepsini - - Is Spendable - Harcanabilir - - + ion-core @@ -4513,8 +4551,8 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik Hesaplanan akümülatör kontrol noktası, blok indeksiyle kaydedilen kontrol noktası değildir. - Cannot obtain a lock on data directory %s. Ion Core is probably already running. - Veri dizini %s üzerinde bir kilit elde edemiyor. Ion Core muhtemelen zaten çalışıyor. + Cannot obtain a lock on data directory %s. ION Core is probably already running. + Veri dizini %s üzerinde bir kilit elde edemiyor. ION Core muhtemelen zaten çalışıyor. Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto) @@ -4763,4 +4801,4 @@ Ya daha yüksek mezhepleri daraltın (daha az girdi gereklidir) veya harcama mik Başlangıçta - \ No newline at end of file + diff --git a/src/qt/locale/ion_uk.ts b/src/qt/locale/ion_uk.ts index 153397067b459..76e324e9df7f8 100644 --- a/src/qt/locale/ion_uk.ts +++ b/src/qt/locale/ion_uk.ts @@ -220,6 +220,9 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog @@ -264,6 +267,9 @@ PrivacyDialog + + ProposalFrame + QObject @@ -293,6 +299,10 @@ Label Мітка + + Address + Адреса + (no label) (без міток) diff --git a/src/qt/locale/ion_vi.ts b/src/qt/locale/ion_vi.ts index 3a0f547e807e3..6b7523bf1b804 100644 --- a/src/qt/locale/ion_vi.ts +++ b/src/qt/locale/ion_vi.ts @@ -104,6 +104,9 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog @@ -140,6 +143,9 @@ PrivacyDialog + + ProposalFrame + QObject diff --git a/src/qt/locale/ion_zh_CN.ts b/src/qt/locale/ion_zh_CN.ts index 34f85864cbcd0..ca0180119bc7c 100644 --- a/src/qt/locale/ion_zh_CN.ts +++ b/src/qt/locale/ion_zh_CN.ts @@ -569,8 +569,8 @@ 标签工具栏 - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -593,11 +593,11 @@ 浏览主节点 - &About Ion Core - &A关于Ion Core + &About ION Core + &A关于ION Core - Show information about Ion Core + Show information about ION Core 显示ION Core的相关信息 @@ -653,12 +653,12 @@ 区块浏览窗口 - Show the Ion Core help message to get a list with possible ION command-line options - 显示Ion Core帮助信息并获取ION命令行选项列表 + Show the ION Core help message to get a list with possible ION command-line options + 显示ION Core帮助信息并获取ION命令行选项列表 - Ion Core client - Ion Core 客户端 + ION Core client + ION Core 客户端 Synchronizing with network... @@ -800,34 +800,41 @@ Address: %4 FreespaceChecker + + GovernancePage + + Form + 来自 + + HelpMessageDialog - Ion Core - Ion Core + ION Core + ION Core - About Ion Core - 关于Ion Core + About ION Core + 关于ION Core Intro - Welcome to Ion Core. - 欢迎使用 Ion Core + Welcome to ION Core. + 欢迎使用 ION Core - As this is the first time the program is launched, you can choose where Ion Core will store its data. - 由于这是该程序第一次启动,您可以选择存储Ion Core 数据的位置。 + As this is the first time the program is launched, you can choose where ION Core will store its data. + 由于这是该程序第一次启动,您可以选择存储ION Core 数据的位置。 - Ion Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - Ion Core将下载并存储ION区块链副本。 至少 %1 GB的数据将存储在此目录中,并且会随着时间的推移而增长。 钱包也将存储在此目录中。 + ION Core will download and store a copy of the ION block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + ION Core将下载并存储ION区块链副本。 至少 %1 GB的数据将存储在此目录中,并且会随着时间的推移而增长。 钱包也将存储在此目录中。 - Ion Core - Ion Core + ION Core + ION Core Error @@ -1116,8 +1123,15 @@ Address: %4 A&总计 + + ProposalFrame + QObject + + ION Core + ION Core + QRImageWidget @@ -1171,6 +1185,10 @@ Address: %4 &Message: &消息: + + A&mount: + A&总计 + An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the ION network. 附加到付款请求的可选消息,将在请求打开时显示。 注意:消息不会在付款时通过ION网络发送。 @@ -1183,10 +1201,6 @@ Address: %4 &Label: &标签 - - &Amount: - &总计 - &Request payment &请求支付 @@ -1195,7 +1209,11 @@ Address: %4 Copy message 复制消息 - + + Copy address + 复制地址 + + ReceiveRequestDialog @@ -1237,6 +1255,10 @@ Address: %4 Message 消息 + + Address + 地址 + (no label) 未设置标签 @@ -1453,8 +1475,8 @@ Address: %4 SplashScreen - Ion Core - Ion Core + ION Core + ION Core @@ -1542,8 +1564,8 @@ Address: %4 在收到相关警报时执行命令,或者看到一个很长的分叉(cmd中的%s被消息替换) - Warning: Please check that your computer's date and time are correct! If your clock is wrong Ion Core will not work properly. - 注意:请检查您的电脑的日期和时间是否正确! 如果您的时间设置不正确,Ion Core将无法正常工作。 + Warning: Please check that your computer's date and time are correct! If your clock is wrong ION Core will not work properly. + 注意:请检查您的电脑的日期和时间是否正确! 如果您的时间设置不正确,ION Core将无法正常工作。 Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect you should restore from a backup. diff --git a/src/qt/locale/ion_zh_TW.ts b/src/qt/locale/ion_zh_TW.ts index 31c3db9770e60..0fabb119c0f3a 100644 --- a/src/qt/locale/ion_zh_TW.ts +++ b/src/qt/locale/ion_zh_TW.ts @@ -557,8 +557,8 @@ Tabs 工具列 - Ion Core - Ion Core + ION Core + ION Core Send coins to a ION address @@ -577,12 +577,12 @@ 瀏覽 Masternodes - &About Ion Core - &關於 Ion Core + &About ION Core + &關於 ION Core - Show information about Ion Core - 顯示 Ion Core 相關資訊 + Show information about ION Core + 顯示 ION Core 相關資訊 Modify configuration options for ION @@ -637,12 +637,12 @@ 區塊鏈瀏覽視窗 - Show the Ion Core help message to get a list with possible ION command-line options - 顯示 Ion Core 幫助訊息以取得 ION 命令列表選項 + Show the ION Core help message to get a list with possible ION command-line options + 顯示 ION Core 幫助訊息以取得 ION 命令列表選項 - Ion Core client - Ion Core 客戶端 + ION Core client + ION Core 客戶端 @@ -668,18 +668,21 @@ FreespaceChecker + + GovernancePage + HelpMessageDialog - Ion Core - Ion Core + ION Core + ION Core Intro - Ion Core - Ion Core + ION Core + ION Core @@ -748,8 +751,15 @@ 文字標籤 + + ProposalFrame + QObject + + ION Core + ION Core + QRImageWidget @@ -781,6 +791,10 @@ Label 標記 + + Address + 位址 + (no label) (沒有標記) @@ -893,8 +907,8 @@ SplashScreen - Ion Core - Ion Core + ION Core + ION Core diff --git a/src/qt/macnotificationhandler.h b/src/qt/macnotificationhandler.h index 6e5052952922a..9aeeef8455391 100644 --- a/src/qt/macnotificationhandler.h +++ b/src/qt/macnotificationhandler.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/macnotificationhandler.mm b/src/qt/macnotificationhandler.mm index 477975e0b50db..27b947d408b47 100644 --- a/src/qt/macnotificationhandler.mm +++ b/src/qt/macnotificationhandler.mm @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin Core developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/masternodelist.cpp b/src/qt/masternodelist.cpp index 3a357c8967857..c870d5608274b 100644 --- a/src/qt/masternodelist.cpp +++ b/src/qt/masternodelist.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2016 The Dash Developers // Copyright (c) 2016-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -15,7 +14,7 @@ #include "masternodeconfig.h" #include "masternodeman.h" #include "sync.h" -#include "wallet.h" +#include "wallet/wallet.h" #include "walletmodel.h" #include "askpassphrasedialog.h" @@ -187,7 +186,7 @@ void MasternodeList::updateMyMasternodeInfo(QString strAlias, QString strAddr, C QTableWidgetItem* statusItem = new QTableWidgetItem(QString::fromStdString(pmn ? pmn->GetStatus() : "MISSING")); GUIUtil::DHMSTableWidgetItem* activeSecondsItem = new GUIUtil::DHMSTableWidgetItem(pmn ? (pmn->lastPing.sigTime - pmn->sigTime) : 0); QTableWidgetItem* lastSeenItem = new QTableWidgetItem(QString::fromStdString(DateTimeStrFormat("%Y-%m-%d %H:%M", pmn ? pmn->lastPing.sigTime : 0))); - QTableWidgetItem* pubkeyItem = new QTableWidgetItem(QString::fromStdString(pmn ? EncodeDestination(CTxDestination(pmn->pubKeyCollateralAddress.GetID())) : "")); + QTableWidgetItem* pubkeyItem = new QTableWidgetItem(QString::fromStdString(pmn ? CBitcoinAddress(pmn->pubKeyCollateralAddress.GetID()).ToString() : "")); ui->tableWidgetMyMasternodes->setItem(nNewRow, 0, aliasItem); ui->tableWidgetMyMasternodes->setItem(nNewRow, 1, addrItem); diff --git a/src/qt/masternodelist.h b/src/qt/masternodelist.h index 4518b3d07ecb7..2196f29d3d777 100644 --- a/src/qt/masternodelist.h +++ b/src/qt/masternodelist.h @@ -1,6 +1,5 @@ // Copyright (c) 2014-2016 The Dash Developers // Copyright (c) 2016-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/multisenddialog.cpp b/src/qt/multisenddialog.cpp index 2df83955a4d5b..245e631816c60 100644 --- a/src/qt/multisenddialog.cpp +++ b/src/qt/multisenddialog.cpp @@ -1,5 +1,4 @@ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -103,7 +102,7 @@ void MultiSendDialog::on_addButton_clicked() { bool fValidConversion = false; std::string strAddress = ui->multiSendAddressEdit->text().toStdString(); - if (!IsValidDestinationString(strAddress)) { + if (!CBitcoinAddress(strAddress).IsValid()) { ui->message->setProperty("status", "error"); ui->message->style()->polish(ui->message); ui->message->setText(tr("The entered address: %1 is invalid.\nPlease check the address and try again.").arg(ui->multiSendAddressEdit->text())); @@ -145,12 +144,12 @@ void MultiSendDialog::on_addButton_clicked() if (model && model->getAddressTableModel()) { // update the address book with the label given or no label if none was given. - CTxDestination dest = DecodeDestination(strAddress); + CBitcoinAddress address(strAddress); std::string userInputLabel = ui->labelAddressLabelEdit->text().toStdString(); if (!userInputLabel.empty()) - model->updateAddressBookLabels(dest, userInputLabel, "send"); + model->updateAddressBookLabels(address.Get(), userInputLabel, "send"); else - model->updateAddressBookLabels(dest, "(no label)", "send"); + model->updateAddressBookLabels(address.Get(), "(no label)", "send"); } CWalletDB walletdb(pwalletMain->strWalletFile); @@ -196,7 +195,7 @@ void MultiSendDialog::on_activateButton_clicked() strRet = tr("Unable to activate MultiSend, check MultiSend vector"); else if (!(ui->multiSendStakeCheckBox->isChecked() || ui->multiSendMasternodeCheckBox->isChecked())) { strRet = tr("Need to select to send on stake and/or masternode rewards"); - } else if (IsValidDestinationString(pwalletMain->vMultiSend[0].first)) { + } else if (CBitcoinAddress(pwalletMain->vMultiSend[0].first).IsValid()) { pwalletMain->fMultiSendStake = ui->multiSendStakeCheckBox->isChecked(); pwalletMain->fMultiSendMasternodeReward = ui->multiSendMasternodeCheckBox->isChecked(); diff --git a/src/qt/multisenddialog.h b/src/qt/multisenddialog.h index 4295a8e8e147f..80cd26d021110 100644 --- a/src/qt/multisenddialog.h +++ b/src/qt/multisenddialog.h @@ -1,5 +1,4 @@ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/multisigdialog.cpp b/src/qt/multisigdialog.cpp index 4b4ed6758cecc..b1145ffa1be8e 100644 --- a/src/qt/multisigdialog.cpp +++ b/src/qt/multisigdialog.cpp @@ -1,5 +1,4 @@ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -16,7 +15,7 @@ #include "coins.h" #include "keystore.h" #include "init.h" -#include "wallet.h" +#include "wallet/wallet.h" #include "script/sign.h" #include "script/interpreter.h" #include "utilmoneystr.h" @@ -264,7 +263,7 @@ bool MultisigDialog::addMultisig(int m, vector keys){ ui->addMultisigStatus->setStyleSheet("QLabel { color: black; }"); ui->addMultisigStatus->setText("Multisignature address " + - QString::fromStdString(EncodeDestination(innerID)) + + QString::fromStdString(CBitcoinAddress(innerID).ToString()) + " has been added to the wallet.\nSend the redeem below for other owners to import:\n" + QString::fromStdString(redeem.ToString())); }catch(const runtime_error& e) { @@ -321,7 +320,7 @@ void MultisigDialog::on_createButton_clicked() QWidget* dest = qobject_cast(ui->destinationsList->itemAt(i)->widget()); QValidatedLineEdit* addr = dest->findChild("destinationAddress"); BitcoinAmountField* amt = dest->findChild("destinationAmount"); - CTxDestination address; + CBitcoinAddress address; bool validDest = true; @@ -329,7 +328,7 @@ void MultisigDialog::on_createButton_clicked() addr->setValid(false); validDest = false; }else{ - address = DecodeDestination(addr->text().toStdString()); + address = CBitcoinAddress(addr->text().toStdString()); } if(!amt->validate()){ @@ -342,7 +341,7 @@ void MultisigDialog::on_createButton_clicked() continue; } - CScript scriptPubKey = GetScriptForDestination(address); + CScript scriptPubKey = GetScriptForDestination(address.Get()); CTxOut out(amt->value(), scriptPubKey); vUserOut.push_back(out); } @@ -782,15 +781,15 @@ bool MultisigDialog::createRedeemScript(int m, vector vKeys, CScript& re string keyString = *it; #ifdef ENABLE_WALLET // Case 1: ION address and we have full public key: - if (pwalletMain && IsValidDestinationString(keyString)) { - CTxDestination address = DecodeDestination(keyString); - const CKeyID *keyID = boost::get(&address); - if (!keyID) { + CBitcoinAddress address(keyString); + if (pwalletMain && address.IsValid()) { + CKeyID keyID; + if (!address.GetKeyID(keyID)) { throw runtime_error( strprintf("%s does not refer to a key", keyString)); } CPubKey vchPubKey; - if (!pwalletMain->GetPubKey(*keyID, vchPubKey)) + if (!pwalletMain->GetPubKey(keyID, vchPubKey)) throw runtime_error( strprintf("no full public key for address %s", keyString)); if (!vchPubKey.IsFullyValid()){ diff --git a/src/qt/multisigdialog.h b/src/qt/multisigdialog.h index ddd32b265ff02..152f2c2752b94 100644 --- a/src/qt/multisigdialog.h +++ b/src/qt/multisigdialog.h @@ -1,5 +1,4 @@ // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/networkstyle.cpp b/src/qt/networkstyle.cpp index 742c494eb0064..1db5794681dee 100644 --- a/src/qt/networkstyle.cpp +++ b/src/qt/networkstyle.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/notificator.cpp b/src/qt/notificator.cpp index 73a9155cdfd24..727d5c02caf0d 100644 --- a/src/qt/notificator.cpp +++ b/src/qt/notificator.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/notificator.h b/src/qt/notificator.h index 0202a116906c3..209234104d48e 100644 --- a/src/qt/notificator.h +++ b/src/qt/notificator.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/obfuscationconfig.cpp b/src/qt/obfuscationconfig.cpp index e1101932969ff..6c6d023b2ce3f 100644 --- a/src/qt/obfuscationconfig.cpp +++ b/src/qt/obfuscationconfig.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2014-2016 The Dash Developers // Copyright (c) 2016-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/obfuscationconfig.h b/src/qt/obfuscationconfig.h index 65f6ad58aebb9..598bb8ddfdbeb 100644 --- a/src/qt/obfuscationconfig.h +++ b/src/qt/obfuscationconfig.h @@ -1,6 +1,5 @@ // Copyright (c) 2014-2016 The Dash Developers // Copyright (c) 2016-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp index 3bcc16e007651..08e69f8545982 100644 --- a/src/qt/openuridialog.cpp +++ b/src/qt/openuridialog.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/openuridialog.h b/src/qt/openuridialog.h index e7eff07aca59c..d674eadd56678 100644 --- a/src/qt/openuridialog.h +++ b/src/qt/openuridialog.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index f7f4e2bcbc31c..c4ffec8ccfe88 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -21,7 +20,7 @@ #include "txdb.h" // for -dbcache defaults #ifdef ENABLE_WALLET -#include "wallet.h" // for CWallet::GetRequiredFee() +#include "wallet/wallet.h" // for CWallet::minTxFee #endif #include diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h index ef39989ea6dd4..0536bdfc457a6 100644 --- a/src/qt/optionsdialog.h +++ b/src/qt/optionsdialog.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index d8582d602bb50..5883fe2f1a8f3 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -23,8 +22,8 @@ #ifdef ENABLE_WALLET #include "masternodeconfig.h" -#include "wallet.h" -#include "walletdb.h" +#include "wallet/wallet.h" +#include "wallet/walletdb.h" #endif #include diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h index 4b49466932cea..b1b98079ed58a 100644 --- a/src/qt/optionsmodel.h +++ b/src/qt/optionsmodel.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index 3f5b46dc77878..a7f7b6b925c77 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h index 5ff56766fd4d6..108030039a100 100644 --- a/src/qt/overviewpage.h +++ b/src/qt/overviewpage.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/paymentrequestplus.cpp b/src/qt/paymentrequestplus.cpp index 4933fc538d757..5aede5bcedb25 100644 --- a/src/qt/paymentrequestplus.cpp +++ b/src/qt/paymentrequestplus.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/paymentrequestplus.h b/src/qt/paymentrequestplus.h index 122ad46a8aace..73763c66e4179 100644 --- a/src/qt/paymentrequestplus.h +++ b/src/qt/paymentrequestplus.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp index 4eb8769e39075..4c796ec0f3331 100644 --- a/src/qt/paymentserver.cpp +++ b/src/qt/paymentserver.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers // Copyright (c) 2015-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -15,7 +14,7 @@ #include "chainparams.h" #include "ui_interface.h" #include "util.h" -#include "wallet.h" +#include "wallet/wallet.h" #include @@ -198,9 +197,11 @@ void PaymentServer::ipcParseCommandLine(int argc, char* argv[]) SendCoinsRecipient r; if (GUIUtil::parseBitcoinURI(arg, &r) && !r.address.isEmpty()) { - if (IsValidDestinationString(r.address.toStdString(), Params(CBaseChainParams::MAIN))) { + CBitcoinAddress address(r.address.toStdString()); + + if (address.IsValid(Params(CBaseChainParams::MAIN))) { SelectParams(CBaseChainParams::MAIN); - } else if (IsValidDestinationString(r.address.toStdString(), Params(CBaseChainParams::TESTNET))) { + } else if (address.IsValid(Params(CBaseChainParams::TESTNET))) { SelectParams(CBaseChainParams::TESTNET); } } @@ -390,7 +391,8 @@ void PaymentServer::handleURIOrFile(const QString& s) { SendCoinsRecipient recipient; if (GUIUtil::parseBitcoinURI(s, &recipient)) { - if (!IsValidDestinationString(recipient.address.toStdString())) { + CBitcoinAddress address(recipient.address.toStdString()); + if (!address.IsValid()) { emit message(tr("URI handling"), tr("Invalid payment address %1").arg(recipient.address), CClientUIInterface::MSG_ERROR); } else @@ -510,7 +512,7 @@ bool PaymentServer::processPaymentRequest(PaymentRequestPlus& request, SendCoins CTxDestination dest; if (ExtractDestination(sendingTo.first, dest)) { // Append destination address - addresses.append(QString::fromStdString(EncodeDestination(dest))); + addresses.append(QString::fromStdString(CBitcoinAddress(dest).ToString())); } else if (!recipient.authenticatedMerchant.isEmpty()) { // Insecure payments to custom ion addresses are not supported // (there is no good way to tell the user where they are paying in a way diff --git a/src/qt/peertablemodel.cpp b/src/qt/peertablemodel.cpp index f5c415d0c13a8..0a6f38b93f85f 100644 --- a/src/qt/peertablemodel.cpp +++ b/src/qt/peertablemodel.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/peertablemodel.h b/src/qt/peertablemodel.h index 8483ed628c02e..34853d378e6c5 100644 --- a/src/qt/peertablemodel.h +++ b/src/qt/peertablemodel.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/platformstyle.cpp b/src/qt/platformstyle.cpp index dfd290a3fb870..19d16131ececf 100644 --- a/src/qt/platformstyle.cpp +++ b/src/qt/platformstyle.cpp @@ -1,6 +1,5 @@ -// Copyright (c) 2015-2019 The Bitcoin Core developers +// Copyright (c) 2015 The Bitcoin Core developers // Copyright (c) 2016-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/platformstyle.h b/src/qt/platformstyle.h index 0be70b789982f..ce099ccaacd76 100644 --- a/src/qt/platformstyle.h +++ b/src/qt/platformstyle.h @@ -1,6 +1,5 @@ -// Copyright (c) 2015-2019 The Bitcoin Core developers +// Copyright (c) 2015 The Bitcoin Core developers // Copyright (c) 2016-2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/privacydialog.cpp b/src/qt/privacydialog.cpp index a043bd9af83af..fd18c40f9a4f1 100644 --- a/src/qt/privacydialog.cpp +++ b/src/qt/privacydialog.cpp @@ -1,5 +1,4 @@ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -23,8 +22,8 @@ #include #include #include -#include -#include +#include +#include PrivacyDialog::PrivacyDialog(QWidget* parent) : QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::WindowCloseButtonHint), ui(new Ui::PrivacyDialog), @@ -36,7 +35,7 @@ PrivacyDialog::PrivacyDialog(QWidget* parent) : QDialog(parent, Qt::WindowSystem ui->setupUi(this); // "Spending 999999 xION ought to be enough for anybody." - Bill Gates, 2017 - ui->xIONpayAmount->setValidator( new QDoubleValidator(0.0, 38600000.0, 20, this) ); + ui->xIONpayAmount->setValidator( new QDoubleValidator(0.0, 21000000.0, 20, this) ); ui->labelMintAmountValue->setValidator( new QIntValidator(0, 999999, this) ); // Default texts for (mini-) coincontrol @@ -86,14 +85,6 @@ PrivacyDialog::PrivacyDialog(QWidget* parent) : QDialog(parent, Qt::WindowSystem // ION settings QSettings settings; - if (!settings.contains("nSecurityLevel")){ - nSecurityLevel = 42; - settings.setValue("nSecurityLevel", nSecurityLevel); - } - else{ - nSecurityLevel = settings.value("nSecurityLevel").toInt(); - } - if (!settings.contains("fMinimizeChange")){ fMinimizeChange = false; settings.setValue("fMinimizeChange", fMinimizeChange); @@ -141,7 +132,6 @@ void PrivacyDialog::setModel(WalletModel* walletModel) SLOT(setBalance(CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount, CAmount))); connect(walletModel->getOptionsModel(), SIGNAL(zeromintEnableChanged(bool)), this, SLOT(updateAutomintStatus())); connect(walletModel->getOptionsModel(), SIGNAL(zeromintPercentageChanged(int)), this, SLOT(updateAutomintStatus())); - ui->securityLevel->setValue(nSecurityLevel); } } @@ -329,19 +319,18 @@ void PrivacyDialog::sendxION() QSettings settings; // Handle 'Pay To' address options + CBitcoinAddress address(ui->payTo->text().toStdString()); if(ui->payTo->text().isEmpty()){ QMessageBox::information(this, tr("Spend Zerocoin"), tr("No 'Pay To' address provided, creating local payment"), QMessageBox::Ok, QMessageBox::Ok); } else{ - if (!IsValidDestinationString(ui->payTo->text().toStdString())) { + if (!address.IsValid()) { QMessageBox::warning(this, tr("Spend Zerocoin"), tr("Invalid Ion Address"), QMessageBox::Ok, QMessageBox::Ok); ui->payTo->setFocus(); return; } } - CTxDestination dest = DecodeDestination(ui->payTo->text().toStdString()); - // Double is allowed now double dAmount = ui->xIONpayAmount->text().toDouble(); CAmount nAmount = roundint64(dAmount* COIN); @@ -382,10 +371,6 @@ void PrivacyDialog::sendxION() } } - // Persist Security Level for next start - nSecurityLevel = ui->securityLevel->value(); - settings.setValue("nSecurityLevel", nSecurityLevel); - // Spend confirmation message box // Add address info if available @@ -397,15 +382,14 @@ void PrivacyDialog::sendxION() // General info QString strQuestionString = tr("Are you sure you want to send?

"); QString strAmount = "" + QString::number(dAmount, 'f', 8) + " xION"; - QString strAddress = tr(" to address ") + QString::fromStdString(EncodeDestination(dest)) + strAddressLabel + "
"; + QString strAddress = tr(" to address ") + QString::fromStdString(address.ToString()) + strAddressLabel + "
"; if(ui->payTo->text().isEmpty()){ // No address provided => send to local address strAddress = tr(" to a newly generated (unused and therefore anonymous) local address
"); } - QString strSecurityLevel = tr("with Security Level ") + ui->securityLevel->text() + " ?"; - strQuestionString += strAmount + strAddress + strSecurityLevel; + strQuestionString += strAmount + strAddress; // Display message box QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm send coins"), @@ -419,7 +403,7 @@ void PrivacyDialog::sendxION() } int64_t nTime = GetTimeMillis(); - ui->TEMintStatus->setPlainText(tr("Spending Zerocoin.\nComputationally expensive, might need several minutes depending on the selected Security Level and your hardware.\nPlease be patient...")); + ui->TEMintStatus->setPlainText(tr("Spending Zerocoin.\nComputationally expensive, might need several minutes depending on your hardware.\nPlease be patient...")); ui->TEMintStatus->repaint(); // use mints from xION selector if applicable @@ -429,15 +413,6 @@ void PrivacyDialog::sendxION() vMintsToFetch = XIonControlDialog::GetSelectedMints(); for (auto& meta : vMintsToFetch) { - if (meta.nVersion < libzerocoin::PrivateCoin::PUBKEY_VERSION) { - //version 1 coins have to use full security level to successfully spend. - if (nSecurityLevel < 100) { - QMessageBox::warning(this, tr("Spend Zerocoin"), tr("Version 1 xION require a security level of 100 to successfully spend."), QMessageBox::Ok, QMessageBox::Ok); - ui->TEMintStatus->setPlainText(tr("Failed to spend xION")); - ui->TEMintStatus->repaint(); - return; - } - } CZerocoinMint mint; if (!pwalletMain->GetMint(meta.hashSerial, mint)) { ui->TEMintStatus->setPlainText(tr("Failed to fetch mint associated with serial hash")); @@ -454,22 +429,15 @@ void PrivacyDialog::sendxION() bool fSuccess = false; if(ui->payTo->text().isEmpty()){ // Spend to newly generated local address - fSuccess = pwalletMain->SpendZerocoin(nAmount, nSecurityLevel, wtxNew, receipt, vMintsSelected, fMintChange, fMinimizeChange); + fSuccess = pwalletMain->SpendZerocoin(nAmount, wtxNew, receipt, vMintsSelected, fMintChange, fMinimizeChange); } else { // Spend to supplied destination address - fSuccess = pwalletMain->SpendZerocoin(nAmount, nSecurityLevel, wtxNew, receipt, vMintsSelected, fMintChange, fMinimizeChange, &dest); + fSuccess = pwalletMain->SpendZerocoin(nAmount, wtxNew, receipt, vMintsSelected, fMintChange, fMinimizeChange, &address); } // Display errors during spend if (!fSuccess) { - if (receipt.GetStatus() == XION_SPEND_V1_SEC_LEVEL) { - QMessageBox::warning(this, tr("Spend Zerocoin"), tr("Version 1 xION require a security level of 100 to successfully spend."), QMessageBox::Ok, QMessageBox::Ok); - ui->TEMintStatus->setPlainText(tr("Failed to spend xION")); - ui->TEMintStatus->repaint(); - return; - } - int nNeededSpends = receipt.GetNeededSpends(); // Number of spends we would need for this transaction const int nMaxSpends = Params().Zerocoin_MaxSpendsPerTransaction(); // Maximum possible spends for one xION transaction if (nNeededSpends > nMaxSpends) { @@ -492,9 +460,9 @@ void PrivacyDialog::sendxION() // If xION was spent successfully update the addressbook with the label std::string labelText = ui->addAsLabel->text().toStdString(); if (!labelText.empty()) - walletModel->updateAddressBookLabels(dest, labelText, "send"); + walletModel->updateAddressBookLabels(address.Get(), labelText, "send"); else - walletModel->updateAddressBookLabels(dest, "(no label)", "send"); + walletModel->updateAddressBookLabels(address.Get(), "(no label)", "send"); } // Clear xion selector in case it was used @@ -525,7 +493,7 @@ void PrivacyDialog::sendxION() if(txout.scriptPubKey.IsZerocoinMint()) strStats += tr("xION Mint"); else if(ExtractDestination(txout.scriptPubKey, dest)) - strStats += tr(EncodeDestination(dest).c_str()); + strStats += tr(CBitcoinAddress(dest).ToString().c_str()); strStats += "\n"; } double fDuration = (double)(GetTimeMillis() - nTime)/1000.0; diff --git a/src/qt/privacydialog.h b/src/qt/privacydialog.h index 67a2e1efc1102..32b01cf7bb1c8 100644 --- a/src/qt/privacydialog.h +++ b/src/qt/privacydialog.h @@ -1,5 +1,4 @@ // Copyright (c) 2017-2018 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -50,7 +49,7 @@ class PrivacyDialog : public QDialog void setXIonControlLabels(int64_t nAmount, int nQuantity); public slots: - void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, + void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& zerocoinBalance, const CAmount& unconfirmedZerocoinBalance, const CAmount& immatureZerocoinBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance); protected: @@ -71,8 +70,7 @@ public slots: CAmount currentWatchOnlyBalance; CAmount currentWatchUnconfBalance; CAmount currentWatchImmatureBalance; - - int nSecurityLevel = 0; + bool fMinimizeChange = false; bool fDenomsMinimized; diff --git a/src/qt/qvalidatedlineedit.cpp b/src/qt/qvalidatedlineedit.cpp index 3b76b0fddacc0..e85d884af5d98 100644 --- a/src/qt/qvalidatedlineedit.cpp +++ b/src/qt/qvalidatedlineedit.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/qvaluecombobox.cpp b/src/qt/qvaluecombobox.cpp index 73b5a31903f38..3b1e8f2846a7d 100644 --- a/src/qt/qvaluecombobox.cpp +++ b/src/qt/qvaluecombobox.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp index 1b518cfb13aa6..d49d018ca68b7 100644 --- a/src/qt/receivecoinsdialog.cpp +++ b/src/qt/receivecoinsdialog.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -296,7 +295,7 @@ void ReceiveCoinsDialog::copyAddress() void ReceiveCoinsDialog::receiveAddressUsed() { - if ((!ui->reuseAddress->isChecked()) && model && model->isUsed(DecodeDestination(address.toStdString()))) { + if ((!ui->reuseAddress->isChecked()) && model && model->isUsed(CBitcoinAddress(address.toStdString()))) { address = getAddress(); clear(); } diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h index c683bb6091245..34187cf02f5e8 100644 --- a/src/qt/receivecoinsdialog.h +++ b/src/qt/receivecoinsdialog.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/receiverequestdialog.cpp b/src/qt/receiverequestdialog.cpp index ca403d874d20f..9776fa84bc006 100644 --- a/src/qt/receiverequestdialog.cpp +++ b/src/qt/receiverequestdialog.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/receiverequestdialog.h b/src/qt/receiverequestdialog.h index 89d87f54992b8..8c12026730e8f 100644 --- a/src/qt/receiverequestdialog.h +++ b/src/qt/receiverequestdialog.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/recentrequeststablemodel.cpp b/src/qt/recentrequeststablemodel.cpp index 609a85d64b890..881e5b335f285 100644 --- a/src/qt/recentrequeststablemodel.cpp +++ b/src/qt/recentrequeststablemodel.cpp @@ -1,6 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/recentrequeststablemodel.h b/src/qt/recentrequeststablemodel.h index 01a7f40bde022..2d5222b747cca 100644 --- a/src/qt/recentrequeststablemodel.h +++ b/src/qt/recentrequeststablemodel.h @@ -1,6 +1,5 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2017 The PIVX developers -// Copyright (c) 2018-2019 The Ion developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/res/css/default.css b/src/qt/res/css/default.css index ba14ba7acafa2..840aa62f42de2 100755 --- a/src/qt/res/css/default.css +++ b/src/qt/res/css/default.css @@ -22,7 +22,7 @@ /****************************************************************************************/ WalletFrame { -border-image: url(':/images/walletFrame_bg') 0 0 0 0 stretch stretch; +background-color:#ffffff; border-top:0px solid #000; margin:0; padding:0; @@ -1715,8 +1715,8 @@ QWidget#GovernancePage .ProposalFrame { } QWidget#GovernancePage .ProposalFrame#proposalFrame { - background-color:qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #9179c7, stop: 1 #b396f6); - border:1px solid #b396f6; + background-color:qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #adb0d8, stop: 1 #17b7f7); + border:1px solid #17b7f7; } QWidget#GovernancePage .ProposalFrame#proposalFramePassing { @@ -1739,4 +1739,4 @@ QWidget#GovernancePage .QScrollArea, .QWidget#scrollAreaWidgetContents { QWidget#GovernancePage .QGridLayout#proposalGrid { margin-right:35px!important; padding-right:35px!important; -} \ No newline at end of file +} diff --git a/src/qt/res/icons/abstainvote.png b/src/qt/res/icons/abstainvote.png index 780b97ea4f5b1..2a3562c98f224 100644 Binary files a/src/qt/res/icons/abstainvote.png and b/src/qt/res/icons/abstainvote.png differ diff --git a/src/qt/res/icons/add.png b/src/qt/res/icons/add.png index 263ba7424a82e..b158099b18e88 100644 Binary files a/src/qt/res/icons/add.png and b/src/qt/res/icons/add.png differ diff --git a/src/qt/res/icons/address-book.png b/src/qt/res/icons/address-book.png index 5db54fddfc7c6..e273eec3e9a76 100644 Binary files a/src/qt/res/icons/address-book.png and b/src/qt/res/icons/address-book.png differ diff --git a/src/qt/res/icons/automint_active.png b/src/qt/res/icons/automint_active.png index 113e9fc20df36..fa41b9f92d127 100644 Binary files a/src/qt/res/icons/automint_active.png and b/src/qt/res/icons/automint_active.png differ diff --git a/src/qt/res/icons/automint_inactive.png b/src/qt/res/icons/automint_inactive.png index fb282ef8e7462..2c1ae35fabe63 100644 Binary files a/src/qt/res/icons/automint_inactive.png and b/src/qt/res/icons/automint_inactive.png differ diff --git a/src/qt/res/icons/bittrex.png b/src/qt/res/icons/bittrex.png deleted file mode 100644 index 55ac9a8e440f3..0000000000000 Binary files a/src/qt/res/icons/bittrex.png and /dev/null differ diff --git a/src/qt/res/icons/browse.png b/src/qt/res/icons/browse.png index 243819ffaf9ff..2ef164bfa04d5 100644 Binary files a/src/qt/res/icons/browse.png and b/src/qt/res/icons/browse.png differ diff --git a/src/qt/res/icons/clock1.png b/src/qt/res/icons/clock1.png index 214ac9b9f04a5..968df5de96584 100644 Binary files a/src/qt/res/icons/clock1.png and b/src/qt/res/icons/clock1.png differ diff --git a/src/qt/res/icons/clock2.png b/src/qt/res/icons/clock2.png index 5b0dd7afe391b..081cb8871282b 100644 Binary files a/src/qt/res/icons/clock2.png and b/src/qt/res/icons/clock2.png differ diff --git a/src/qt/res/icons/clock3.png b/src/qt/res/icons/clock3.png index 523139f8fc11e..31b2c0d428939 100644 Binary files a/src/qt/res/icons/clock3.png and b/src/qt/res/icons/clock3.png differ diff --git a/src/qt/res/icons/clock4.png b/src/qt/res/icons/clock4.png index c007f501fdd21..6099f63a5859c 100644 Binary files a/src/qt/res/icons/clock4.png and b/src/qt/res/icons/clock4.png differ diff --git a/src/qt/res/icons/configure.png b/src/qt/res/icons/configure.png index abbbbc27cf402..fc4a548d256f4 100644 Binary files a/src/qt/res/icons/configure.png and b/src/qt/res/icons/configure.png differ diff --git a/src/qt/res/icons/connect0_16.png b/src/qt/res/icons/connect0_16.png index ad72f1bbfb1e5..caa7f0abaf08b 100644 Binary files a/src/qt/res/icons/connect0_16.png and b/src/qt/res/icons/connect0_16.png differ diff --git a/src/qt/res/icons/connect1_16.png b/src/qt/res/icons/connect1_16.png index e5c0e1ff10e8b..c2f5bd155de8f 100644 Binary files a/src/qt/res/icons/connect1_16.png and b/src/qt/res/icons/connect1_16.png differ diff --git a/src/qt/res/icons/connect2_16.png b/src/qt/res/icons/connect2_16.png index c07a7f80cdb3f..abc6d0f2bb40a 100644 Binary files a/src/qt/res/icons/connect2_16.png and b/src/qt/res/icons/connect2_16.png differ diff --git a/src/qt/res/icons/connect3_16.png b/src/qt/res/icons/connect3_16.png index 71f174a43d783..2559330fdc382 100644 Binary files a/src/qt/res/icons/connect3_16.png and b/src/qt/res/icons/connect3_16.png differ diff --git a/src/qt/res/icons/connect4_16.png b/src/qt/res/icons/connect4_16.png index 89b9bd9d804be..746e515597308 100644 Binary files a/src/qt/res/icons/connect4_16.png and b/src/qt/res/icons/connect4_16.png differ diff --git a/src/qt/res/icons/edit.png b/src/qt/res/icons/edit.png index 3be65327d58eb..1273d3e048a42 100644 Binary files a/src/qt/res/icons/edit.png and b/src/qt/res/icons/edit.png differ diff --git a/src/qt/res/icons/editcopy.png b/src/qt/res/icons/editcopy.png index 1dd4bf8f30e65..628280d164abf 100644 Binary files a/src/qt/res/icons/editcopy.png and b/src/qt/res/icons/editcopy.png differ diff --git a/src/qt/res/icons/editpaste.png b/src/qt/res/icons/editpaste.png index 215c1aa462397..528347d18491d 100644 Binary files a/src/qt/res/icons/editpaste.png and b/src/qt/res/icons/editpaste.png differ diff --git a/src/qt/res/icons/explorer.png b/src/qt/res/icons/explorer.png index 0417ca092dea0..250aed99490fd 100644 Binary files a/src/qt/res/icons/explorer.png and b/src/qt/res/icons/explorer.png differ diff --git a/src/qt/res/icons/export.png b/src/qt/res/icons/export.png index 437c4f073ae3c..5e3e69b492030 100644 Binary files a/src/qt/res/icons/export.png and b/src/qt/res/icons/export.png differ diff --git a/src/qt/res/icons/eye.png b/src/qt/res/icons/eye.png index 28d8f8a8ff571..86dd858064505 100644 Binary files a/src/qt/res/icons/eye.png and b/src/qt/res/icons/eye.png differ diff --git a/src/qt/res/icons/eye_minus.png b/src/qt/res/icons/eye_minus.png index 1b9555dc6678e..40ee0065cd432 100644 Binary files a/src/qt/res/icons/eye_minus.png and b/src/qt/res/icons/eye_minus.png differ diff --git a/src/qt/res/icons/eye_plus.png b/src/qt/res/icons/eye_plus.png index f3d862ea9e6cc..2dbdffcb36adf 100644 Binary files a/src/qt/res/icons/eye_plus.png and b/src/qt/res/icons/eye_plus.png differ diff --git a/src/qt/res/icons/filesave.png b/src/qt/res/icons/filesave.png index 243819ffaf9ff..d8480383c0178 100644 Binary files a/src/qt/res/icons/filesave.png and b/src/qt/res/icons/filesave.png differ diff --git a/src/qt/res/icons/governance.png b/src/qt/res/icons/governance.png index 4e63ccef1e629..2727b7acbcc71 100644 Binary files a/src/qt/res/icons/governance.png and b/src/qt/res/icons/governance.png differ diff --git a/src/qt/res/icons/governance_dark.png b/src/qt/res/icons/governance_dark.png index 57e5e1f98bdb1..d4c09e48ad72d 100644 Binary files a/src/qt/res/icons/governance_dark.png and b/src/qt/res/icons/governance_dark.png differ diff --git a/src/qt/res/icons/governance_dark_regtest.png b/src/qt/res/icons/governance_dark_regtest.png new file mode 100644 index 0000000000000..fe33bdcf4e921 Binary files /dev/null and b/src/qt/res/icons/governance_dark_regtest.png differ diff --git a/src/qt/res/icons/governance_dark_testnet.png b/src/qt/res/icons/governance_dark_testnet.png new file mode 100644 index 0000000000000..dfa248ceb7cb6 Binary files /dev/null and b/src/qt/res/icons/governance_dark_testnet.png differ diff --git a/src/qt/res/icons/governance_regtest.png b/src/qt/res/icons/governance_regtest.png new file mode 100644 index 0000000000000..4b2b2b1950223 Binary files /dev/null and b/src/qt/res/icons/governance_regtest.png differ diff --git a/src/qt/res/icons/governance_testnet.png b/src/qt/res/icons/governance_testnet.png new file mode 100644 index 0000000000000..f112b8227f49e Binary files /dev/null and b/src/qt/res/icons/governance_testnet.png differ diff --git a/src/qt/res/icons/history.png b/src/qt/res/icons/history.png index 8b132d6d96591..1596fbabe6201 100644 Binary files a/src/qt/res/icons/history.png and b/src/qt/res/icons/history.png differ diff --git a/src/qt/res/icons/history_regtest.png b/src/qt/res/icons/history_regtest.png new file mode 100644 index 0000000000000..642731eb534c1 Binary files /dev/null and b/src/qt/res/icons/history_regtest.png differ diff --git a/src/qt/res/icons/history_testnet.png b/src/qt/res/icons/history_testnet.png new file mode 100644 index 0000000000000..4b5cbad664803 Binary files /dev/null and b/src/qt/res/icons/history_testnet.png differ diff --git a/src/qt/res/icons/import.png b/src/qt/res/icons/import.png index 4bbb395054ae7..a737a01aa8b3f 100644 Binary files a/src/qt/res/icons/import.png and b/src/qt/res/icons/import.png differ diff --git a/src/qt/res/icons/ion.icns b/src/qt/res/icons/ion.icns index c4d892de40ad9..3475f37803e5d 100644 Binary files a/src/qt/res/icons/ion.icns and b/src/qt/res/icons/ion.icns differ diff --git a/src/qt/res/icons/ion.ico b/src/qt/res/icons/ion.ico index 19a4081c21524..fad179e3de145 100644 Binary files a/src/qt/res/icons/ion.ico and b/src/qt/res/icons/ion.ico differ diff --git a/src/qt/res/icons/ion.png b/src/qt/res/icons/ion.png index 8a1f6072f02ea..f1d3d2e85685d 100644 Binary files a/src/qt/res/icons/ion.png and b/src/qt/res/icons/ion.png differ diff --git a/src/qt/res/icons/ion_regtest.icns b/src/qt/res/icons/ion_regtest.icns new file mode 100644 index 0000000000000..275afaed6a07a Binary files /dev/null and b/src/qt/res/icons/ion_regtest.icns differ diff --git a/src/qt/res/icons/ion_regtest.ico b/src/qt/res/icons/ion_regtest.ico index 88a5e0894712c..99a8e962648dd 100644 Binary files a/src/qt/res/icons/ion_regtest.ico and b/src/qt/res/icons/ion_regtest.ico differ diff --git a/src/qt/res/icons/ion_regtest.png b/src/qt/res/icons/ion_regtest.png index 9fa5f9c62b8c7..039d8fcdcd2b2 100644 Binary files a/src/qt/res/icons/ion_regtest.png and b/src/qt/res/icons/ion_regtest.png differ diff --git a/src/qt/res/icons/ion_testnet.icns b/src/qt/res/icons/ion_testnet.icns new file mode 100644 index 0000000000000..b40219e277e97 Binary files /dev/null and b/src/qt/res/icons/ion_testnet.icns differ diff --git a/src/qt/res/icons/ion_testnet.ico b/src/qt/res/icons/ion_testnet.ico index 2f615459b7d50..6ba31815faaa5 100644 Binary files a/src/qt/res/icons/ion_testnet.ico and b/src/qt/res/icons/ion_testnet.ico differ diff --git a/src/qt/res/icons/ion_testnet.png b/src/qt/res/icons/ion_testnet.png index 5f152f6f22072..fae922e6597f1 100644 Binary files a/src/qt/res/icons/ion_testnet.png and b/src/qt/res/icons/ion_testnet.png differ diff --git a/src/qt/res/icons/key.png b/src/qt/res/icons/key.png index d9381c6498189..0ccbf166bbe48 100644 Binary files a/src/qt/res/icons/key.png and b/src/qt/res/icons/key.png differ diff --git a/src/qt/res/icons/lock_closed.png b/src/qt/res/icons/lock_closed.png index b1a5ec9c61a8a..aa77f22cce117 100644 Binary files a/src/qt/res/icons/lock_closed.png and b/src/qt/res/icons/lock_closed.png differ diff --git a/src/qt/res/icons/lock_open.png b/src/qt/res/icons/lock_open.png index 30919b5adb45c..89d4c6c73defa 100644 Binary files a/src/qt/res/icons/lock_open.png and b/src/qt/res/icons/lock_open.png differ diff --git a/src/qt/res/icons/masternodes.png b/src/qt/res/icons/masternodes.png index 229af1f5e3228..a3019bb0890c6 100644 Binary files a/src/qt/res/icons/masternodes.png and b/src/qt/res/icons/masternodes.png differ diff --git a/src/qt/res/icons/notsynced.png b/src/qt/res/icons/notsynced.png index 415a782224195..3754fa9c1218b 100644 Binary files a/src/qt/res/icons/notsynced.png and b/src/qt/res/icons/notsynced.png differ diff --git a/src/qt/res/icons/novote.png b/src/qt/res/icons/novote.png index 34c78277e22ce..dc595da01f567 100644 Binary files a/src/qt/res/icons/novote.png and b/src/qt/res/icons/novote.png differ diff --git a/src/qt/res/icons/onion.png b/src/qt/res/icons/onion.png index bc7edfcc76388..df235ad43248b 100644 Binary files a/src/qt/res/icons/onion.png and b/src/qt/res/icons/onion.png differ diff --git a/src/qt/res/icons/overview.png b/src/qt/res/icons/overview.png index 32c10cebb6897..fac415e9f14d1 100644 Binary files a/src/qt/res/icons/overview.png and b/src/qt/res/icons/overview.png differ diff --git a/src/qt/res/icons/overview_regtest.png b/src/qt/res/icons/overview_regtest.png new file mode 100644 index 0000000000000..a612bd34807c0 Binary files /dev/null and b/src/qt/res/icons/overview_regtest.png differ diff --git a/src/qt/res/icons/overview_testnet.png b/src/qt/res/icons/overview_testnet.png new file mode 100644 index 0000000000000..2415c62ed86c1 Binary files /dev/null and b/src/qt/res/icons/overview_testnet.png differ diff --git a/src/qt/res/icons/privacy.png b/src/qt/res/icons/privacy.png index 9da22252148d4..92abd86bcdaea 100644 Binary files a/src/qt/res/icons/privacy.png and b/src/qt/res/icons/privacy.png differ diff --git a/src/qt/res/icons/qrcode.png b/src/qt/res/icons/qrcode.png index f082e0fbf46de..e25e23189b8d5 100644 Binary files a/src/qt/res/icons/qrcode.png and b/src/qt/res/icons/qrcode.png differ diff --git a/src/qt/res/icons/qrcode_testnet.png b/src/qt/res/icons/qrcode_testnet.png new file mode 100644 index 0000000000000..2eec14dae6589 Binary files /dev/null and b/src/qt/res/icons/qrcode_testnet.png differ diff --git a/src/qt/res/icons/quit.png b/src/qt/res/icons/quit.png index b9ed64e07dd2e..d665592c3eae8 100644 Binary files a/src/qt/res/icons/quit.png and b/src/qt/res/icons/quit.png differ diff --git a/src/qt/res/icons/receive.png b/src/qt/res/icons/receive.png index ee996172d91c6..fa304021620f2 100644 Binary files a/src/qt/res/icons/receive.png and b/src/qt/res/icons/receive.png differ diff --git a/src/qt/res/icons/receive_dark.png b/src/qt/res/icons/receive_dark.png index 5630d18b330bc..4ec465cb26190 100644 Binary files a/src/qt/res/icons/receive_dark.png and b/src/qt/res/icons/receive_dark.png differ diff --git a/src/qt/res/icons/remove.png b/src/qt/res/icons/remove.png index 8e472cf9073c3..f977769dd007c 100644 Binary files a/src/qt/res/icons/remove.png and b/src/qt/res/icons/remove.png differ diff --git a/src/qt/res/icons/send.png b/src/qt/res/icons/send.png index 1b14cb2bbef64..3d84cdd5307e9 100644 Binary files a/src/qt/res/icons/send.png and b/src/qt/res/icons/send.png differ diff --git a/src/qt/res/icons/send_dark.png b/src/qt/res/icons/send_dark.png index 29e1312a8da97..4b98c9efbaec9 100644 Binary files a/src/qt/res/icons/send_dark.png and b/src/qt/res/icons/send_dark.png differ diff --git a/src/qt/res/icons/staking_active.png b/src/qt/res/icons/staking_active.png index 9908ba8241f0b..56bed1034a77e 100644 Binary files a/src/qt/res/icons/staking_active.png and b/src/qt/res/icons/staking_active.png differ diff --git a/src/qt/res/icons/staking_inactive.png b/src/qt/res/icons/staking_inactive.png index abdfd0d4b44e9..2d002a27d024a 100644 Binary files a/src/qt/res/icons/staking_inactive.png and b/src/qt/res/icons/staking_inactive.png differ diff --git a/src/qt/res/icons/synced.png b/src/qt/res/icons/synced.png index 8403da7555e16..63e1c8a574ca0 100644 Binary files a/src/qt/res/icons/synced.png and b/src/qt/res/icons/synced.png differ diff --git a/src/qt/res/icons/trade.png b/src/qt/res/icons/trade.png deleted file mode 100644 index 91ced8488291f..0000000000000 Binary files a/src/qt/res/icons/trade.png and /dev/null differ diff --git a/src/qt/res/icons/transaction0.png b/src/qt/res/icons/transaction0.png index 4d0c9a43eabcf..42aff71d80e40 100644 Binary files a/src/qt/res/icons/transaction0.png and b/src/qt/res/icons/transaction0.png differ diff --git a/src/qt/res/icons/transaction0_dark.png b/src/qt/res/icons/transaction0_dark.png index f5eac8f027da1..22b1c60ccd838 100644 Binary files a/src/qt/res/icons/transaction0_dark.png and b/src/qt/res/icons/transaction0_dark.png differ diff --git a/src/qt/res/icons/transaction2.png b/src/qt/res/icons/transaction2.png index 8e619420ef860..b7dbae89fff28 100644 Binary files a/src/qt/res/icons/transaction2.png and b/src/qt/res/icons/transaction2.png differ diff --git a/src/qt/res/icons/transaction_conflicted.png b/src/qt/res/icons/transaction_conflicted.png index 6bd7ca6321a5c..621d83c865688 100644 Binary files a/src/qt/res/icons/transaction_conflicted.png and b/src/qt/res/icons/transaction_conflicted.png differ diff --git a/src/qt/res/icons/tx_inout.png b/src/qt/res/icons/tx_inout.png index 3402c228abee5..d962cb0ed5de2 100644 Binary files a/src/qt/res/icons/tx_inout.png and b/src/qt/res/icons/tx_inout.png differ diff --git a/src/qt/res/icons/tx_input.png b/src/qt/res/icons/tx_input.png index 8021125bd1035..bb6689b522d33 100644 Binary files a/src/qt/res/icons/tx_input.png and b/src/qt/res/icons/tx_input.png differ diff --git a/src/qt/res/icons/tx_mined.png b/src/qt/res/icons/tx_mined.png index 63913abde3d52..5385ae087721b 100644 Binary files a/src/qt/res/icons/tx_mined.png and b/src/qt/res/icons/tx_mined.png differ diff --git a/src/qt/res/icons/tx_output.png b/src/qt/res/icons/tx_output.png index 08740a6a177f1..35187ea777bd4 100644 Binary files a/src/qt/res/icons/tx_output.png and b/src/qt/res/icons/tx_output.png differ diff --git a/src/qt/res/icons/unit_ion.png b/src/qt/res/icons/unit_ion.png index eeaf9e3e59ba7..5d049798cb041 100644 Binary files a/src/qt/res/icons/unit_ion.png and b/src/qt/res/icons/unit_ion.png differ diff --git a/src/qt/res/icons/unit_mion.png b/src/qt/res/icons/unit_mion.png index 917c42bc5e76a..12ed050e2f8f0 100644 Binary files a/src/qt/res/icons/unit_mion.png and b/src/qt/res/icons/unit_mion.png differ diff --git a/src/qt/res/icons/unit_rion.png b/src/qt/res/icons/unit_rion.png index 8a3a73412a1ad..68214f32e88f9 100644 Binary files a/src/qt/res/icons/unit_rion.png and b/src/qt/res/icons/unit_rion.png differ diff --git a/src/qt/res/icons/unit_rmion.png b/src/qt/res/icons/unit_rmion.png index 3c006ca32e8f8..4611a0857ddcf 100644 Binary files a/src/qt/res/icons/unit_rmion.png and b/src/qt/res/icons/unit_rmion.png differ diff --git a/src/qt/res/icons/unit_ruion.png b/src/qt/res/icons/unit_ruion.png index 2875191ac0d9c..86de9b72fe7e9 100644 Binary files a/src/qt/res/icons/unit_ruion.png and b/src/qt/res/icons/unit_ruion.png differ diff --git a/src/qt/res/icons/unit_tion.png b/src/qt/res/icons/unit_tion.png index e5f4425538016..94f039bce2c2d 100644 Binary files a/src/qt/res/icons/unit_tion.png and b/src/qt/res/icons/unit_tion.png differ diff --git a/src/qt/res/icons/unit_tmion.png b/src/qt/res/icons/unit_tmion.png index 4bdb4c400cbbd..94746f734bd2a 100644 Binary files a/src/qt/res/icons/unit_tmion.png and b/src/qt/res/icons/unit_tmion.png differ diff --git a/src/qt/res/icons/unit_tuion.png b/src/qt/res/icons/unit_tuion.png index 4efc7ab9d01ba..7989f91e39494 100644 Binary files a/src/qt/res/icons/unit_tuion.png and b/src/qt/res/icons/unit_tuion.png differ diff --git a/src/qt/res/icons/unit_uion.png b/src/qt/res/icons/unit_uion.png index f1c48869895a5..587c35da0e300 100644 Binary files a/src/qt/res/icons/unit_uion.png and b/src/qt/res/icons/unit_uion.png differ diff --git a/src/qt/res/icons/yesvote.png b/src/qt/res/icons/yesvote.png index 0883bf9e29387..be52c60c109fa 100644 Binary files a/src/qt/res/icons/yesvote.png and b/src/qt/res/icons/yesvote.png differ diff --git a/src/qt/res/images/ion_logo_horizontal.png b/src/qt/res/images/ion_logo_horizontal.png index d2d1a06c88d16..3321676adef1e 100644 Binary files a/src/qt/res/images/ion_logo_horizontal.png and b/src/qt/res/images/ion_logo_horizontal.png differ diff --git a/src/qt/res/images/ion_logo_horizontal_regtest.png b/src/qt/res/images/ion_logo_horizontal_regtest.png index 76f87e33efa24..877517a5e58f2 100644 Binary files a/src/qt/res/images/ion_logo_horizontal_regtest.png and b/src/qt/res/images/ion_logo_horizontal_regtest.png differ diff --git a/src/qt/res/images/ion_logo_horizontal_testnet.png b/src/qt/res/images/ion_logo_horizontal_testnet.png index 2a78432965640..dbd3813c7399b 100644 Binary files a/src/qt/res/images/ion_logo_horizontal_testnet.png and b/src/qt/res/images/ion_logo_horizontal_testnet.png differ diff --git a/src/qt/res/images/splash.png b/src/qt/res/images/splash.png index 58f6a4f09dc4e..2a40364106971 100644 Binary files a/src/qt/res/images/splash.png and b/src/qt/res/images/splash.png differ diff --git a/src/qt/res/images/splash_regtest.png b/src/qt/res/images/splash_regtest.png index 382ec3e9f80b6..cb9d7a0a29dc1 100644 Binary files a/src/qt/res/images/splash_regtest.png and b/src/qt/res/images/splash_regtest.png differ diff --git a/src/qt/res/images/splash_testnet.png b/src/qt/res/images/splash_testnet.png index 6e91fd87b76c5..a4e9fe9199fe5 100644 Binary files a/src/qt/res/images/splash_testnet.png and b/src/qt/res/images/splash_testnet.png differ diff --git a/src/qt/res/images/walletFrame.png b/src/qt/res/images/walletFrame.png deleted file mode 100644 index bf3a6e4891f33..0000000000000 Binary files a/src/qt/res/images/walletFrame.png and /dev/null differ diff --git a/src/qt/res/images/walletFrame_bg.png b/src/qt/res/images/walletFrame_bg.png deleted file mode 100644 index 0ebe8a6d276d4..0000000000000 Binary files a/src/qt/res/images/walletFrame_bg.png and /dev/null differ diff --git a/src/qt/res/ion-qt-res.rc b/src/qt/res/ion-qt-res.rc index c66fe017deb2a..08189fcdd2127 100644 --- a/src/qt/res/ion-qt-res.rc +++ b/src/qt/res/ion-qt-res.rc @@ -20,13 +20,13 @@ BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN VALUE "CompanyName", "ION" - VALUE "FileDescription", "Ion Core (OSS GUI client for ION)" + VALUE "FileDescription", "ION Core (OSS GUI client for ION)" VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", "ion-qt" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "ion-qt.exe" - VALUE "ProductName", "Ion Core" + VALUE "ProductName", "ION Core" VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END diff --git a/src/qt/res/src/LICENSE.md b/src/qt/res/src/LICENSE.md new file mode 100644 index 0000000000000..2fea486a905c0 --- /dev/null +++ b/src/qt/res/src/LICENSE.md @@ -0,0 +1,208 @@ +The Ion Core logo is licensed under CC BY-ND 2.0 UK, +a registered trademark of Canonical Limited, 2019. + +Creative Commons Attribution-NoDerivs 2.0 CREATIVE COMMONS CORPORATION IS +NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE +DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES +THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES +REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING +FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS +PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR +OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS +LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO +BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + + 1. Definitions + +a. "Collective Work" means a work, such as a periodical issue, anthology or +encyclopedia, in which the Work in its entirety in unmodified form, along +with a number of other contributions, constituting separate and independent +works in themselves, are assembled into a collective whole. A work that constitutes +a Collective Work will not be considered a Derivative Work (as defined below) +for the purposes of this License. + +b. "Derivative Work" means a work based upon the Work or upon the Work and +other pre-existing works, such as a translation, musical arrangement, dramatization, +fictionalization, motion picture version, sound recording, art reproduction, +abridgment, condensation, or any other form in which the Work may be recast, +transformed, or adapted, except that a work that constitutes a Collective +Work will not be considered a Derivative Work for the purpose of this License. +For the avoidance of doubt, where the Work is a musical composition or sound +recording, the synchronization of the Work in timed-relation with a moving +image ("synching") will be considered a Derivative Work for the purpose of +this License. + +c. "Licensor" means the individual or entity that offers the Work under the +terms of this License. + + d. "Original Author" means the individual or entity who created the Work. + +e. "Work" means the copyrightable work of authorship offered under the terms +of this License. + +f. "You" means an individual or entity exercising rights under this License +who has not previously violated the terms of this License with respect to +the Work, or who has received express permission from the Licensor to exercise +rights under this License despite a previous violation. + +2. Fair Use Rights. Nothing in this license is intended to reduce, limit, +or restrict any rights arising from fair use, first sale or other limitations +on the exclusive rights of the copyright owner under copyright law or other +applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor +hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for +the duration of the applicable copyright) license to exercise the rights in +the Work as stated below: + +a. to reproduce the Work, to incorporate the Work into one or more Collective +Works, and to reproduce the Work as incorporated in the Collective Works; + +b. to distribute copies or phonorecords of, display publicly, perform publicly, +and perform publicly by means of a digital audio transmission the Work including +as incorporated in Collective Works. + + c. For the avoidance of doubt, where the work is a musical composition: + +i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive +right to collect, whether individually or via a performance rights society +(e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital +performance (e.g. webcast) of the Work. + +ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive +right to collect, whether individually or via a music rights society or designated +agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from +the Work ("cover version") and distribute, subject to the compulsory license +created by 17 USC Section 115 of the US Copyright Act (or the equivalent in +other jurisdictions). + +d. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, +where the Work is a sound recording, Licensor waives the exclusive right to +collect, whether individually or via a performance-rights society (e.g. SoundExchange), +royalties for the public digital performance (e.g. webcast) of the Work, subject +to the compulsory license created by 17 USC Section 114 of the US Copyright +Act (or the equivalent in other jurisdictions). + + + +The above rights may be exercised in all media and formats whether now known +or hereafter devised. The above rights include the right to make such modifications +as are technically necessary to exercise the rights in other media and formats, +but otherwise you have no rights to make Derivative Works. All rights not +expressly granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + +a. You may distribute, publicly display, publicly perform, or publicly digitally +perform the Work only under the terms of this License, and You must include +a copy of, or the Uniform Resource Identifier for, this License with every +copy or phonorecord of the Work You distribute, publicly display, publicly +perform, or publicly digitally perform. You may not offer or impose any terms +on the Work that alter or restrict the terms of this License or the recipients' +exercise of the rights granted hereunder. You may not sublicense the Work. +You must keep intact all notices that refer to this License and to the disclaimer +of warranties. You may not distribute, publicly display, publicly perform, +or publicly digitally perform the Work with any technological measures that +control access or use of the Work in a manner inconsistent with the terms +of this License Agreement. The above applies to the Work as incorporated in +a Collective Work, but this does not require the Collective Work apart from +the Work itself to be made subject to the terms of this License. If You create +a Collective Work, upon notice from any Licensor You must, to the extent practicable, +remove from the Collective Work any reference to such Licensor or the Original +Author, as requested. + +b. If you distribute, publicly display, publicly perform, or publicly digitally +perform the Work or Collective Works, You must keep intact all copyright notices +for the Work and give the Original Author credit reasonable to the medium +or means You are utilizing by conveying the name (or pseudonym if applicable) +of the Original Author if supplied; the title of the Work if supplied; and +to the extent reasonably practicable, the Uniform Resource Identifier, if +any, that Licensor specifies to be associated with the Work, unless such URI +does not refer to the copyright notice or licensing information for the Work. +Such credit may be implemented in any reasonable manner; provided, however, +that in the case of a Collective Work, at a minimum such credit will appear +where any other comparable authorship credit appears and in a manner at least +as prominent as such other comparable authorship credit. + + 5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS +THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING +THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT +LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR +PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, +OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS +DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT +APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, +IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, +INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS +LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY +OF SUCH DAMAGES. + + 7. Termination + +a. This License and the rights granted hereunder will terminate automatically +upon any breach by You of the terms of this License. Individuals or entities +who have received Collective Works from You under this License, however, will +not have their licenses terminated provided such individuals or entities remain +in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will +survive any termination of this License. + +b. Subject to the above terms and conditions, the license granted here is +perpetual (for the duration of the applicable copyright in the Work). Notwithstanding +the above, Licensor reserves the right to release the Work under different +license terms or to stop distributing the Work at any time; provided, however +that any such election will not serve to withdraw this License (or any other +license that has been, or is required to be, granted under the terms of this +License), and this License will continue in full force and effect unless terminated +as stated above. + + 8. Miscellaneous + +a. Each time You distribute or publicly digitally perform the Work, the Licensor +offers to the recipient a license to the Work on the same terms and conditions +as the license granted to You under this License. + +b. If any provision of this License is invalid or unenforceable under applicable +law, it shall not affect the validity or enforceability of the remainder of +the terms of this License, and without further action by the parties to this +agreement, such provision shall be reformed to the minimum extent necessary +to make such provision valid and enforceable. + +c. No term or provision of this License shall be deemed waived and no breach +consented to unless such waiver or consent shall be in writing and signed +by the party to be charged with such waiver or consent. + +d. This License constitutes the entire agreement between the parties with +respect to the Work licensed here. There are no understandings, agreements +or representations with respect to the Work not specified here. Licensor shall +not be bound by any additional provisions that may appear in any communication +from You. This License may not be modified without the mutual written agreement +of the Licensor and You. + +Creative Commons is not a party to this License, and makes no warranty whatsoever +in connection with the Work. Creative Commons will not be liable to You or +any party on any legal theory for any damages whatsoever, including without +limitation any general, special, incidental or consequential damages arising +in connection to this license. Notwithstanding the foregoing two (2) sentences, +if Creative Commons has expressly identified itself as the Licensor hereunder, +it shall have all rights and obligations of Licensor. + +Except for the limited purpose of indicating to the public that the Work is +licensed under the CCPL, neither party will use the trademark "Creative Commons" +or any related trademark or logo of Creative Commons without the prior written +consent of Creative Commons. Any permitted use will be in compliance with +Creative Commons' then-current trademark usage guidelines, as may be published +on its website or otherwise made available upon request from time to time. + +Creative Commons may be contacted at http s ://creativecommons.org/. diff --git a/src/qt/res/src/README.md b/src/qt/res/src/README.md index 5c86b63e82f69..b32d3ce1bae94 100644 --- a/src/qt/res/src/README.md +++ b/src/qt/res/src/README.md @@ -1,80 +1 @@ -[ion.svg] ---------- -Original source, ionomy copyrights. - -[ion_daemon.svg] ---------------- -Created from [ion.svg]. Create with inkscape using electrize filter. To recreate, run this filter with following settings: - -Filter: - - - Filters => Image paint and draw => Electrize... - -Electrize: - - - Simplyfy: `1,5` - - Effect type: `Table` - - Levels: `1` - - [] inverted - -Metadata: - - - Title: 'Ion Coin core daemon vector graphic' - - Date: 'GMT: Monday, March 19, 2018 9:54:40 PM' - - Creator: 'CEVAP' - - Rights: 'https://raw.githubusercontent.com/cevap/ion/master/COPYING' - - Publisher: 'CEVAP' - - Identifier: 'IonMainDaemon' - - Source: 'https://raw.githubusercontent.com/cevap/ion/master/src/qt/res/src/ion.svg' - - Relation: 'https://raw.githubusercontent.com/cevap/ion/master/src/qt/res/src/ion.svg' - - Language: 'English' - - Keywords: 'Ionomy, ion, core, daemon' - - Coverage: 'Ion main network, daemon' - - Description: '🗺️Ion Digital Currency ©️ 👯👯 👛 (by 🐼CEVAP🐼) CE source code (Community Edition)' - - Contributors: 'CEVAP' - -[ion_testnet.svg] ----------------------- -Created from [ion.svg]. Create with inkscape using electrize filter. To recreate, run this filter with following settings: - -Filter: - - - Filters => Image paint and draw => Electrize... - -Electrize: - - - Simplyfy: `1,5` - - Effect type: `Table` - - Levels: `2` - - [] inverted - -Optimize PNG (I used gimp): - - - Weichzeichnen => Bewegungsschärfe - - - Wichzeichnungsart: `Radial` - - Unschärfezentrum: - - - X: `64` - - Y: `64` - - - Länge: `5` - - Winkel: `10` - -[ion_testnet_daemon.svg] ----------------------- -Created from [ion.svg]. Create with inkscape using electrize filter. To recreate, run this filter with following settings: - -Filter: - - - Filters => Image paint and draw => Electrize... - -Electrize: - - - Simplyfy: `1,5` - - Effect type: `Table` - - Levels: `3` - - [] inverted - - - +will be edited soon diff --git a/src/qt/res/src/about.xcf b/src/qt/res/src/about.xcf deleted file mode 100644 index 92921d9b06f99..0000000000000 Binary files a/src/qt/res/src/about.xcf and /dev/null differ diff --git a/src/qt/res/src/automint_active.xcf b/src/qt/res/src/automint_active.xcf deleted file mode 100644 index 10b8cd006ac60..0000000000000 Binary files a/src/qt/res/src/automint_active.xcf and /dev/null differ diff --git a/src/qt/res/src/automint_inactive.xcf b/src/qt/res/src/automint_inactive.xcf deleted file mode 100644 index 8c763dcaff083..0000000000000 Binary files a/src/qt/res/src/automint_inactive.xcf and /dev/null differ diff --git a/src/qt/res/src/bittrex.svg b/src/qt/res/src/bittrex.svg deleted file mode 100644 index f7a45ad344a41..0000000000000 --- a/src/qt/res/src/bittrex.svg +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - diff --git a/src/qt/res/src/clock.svg b/src/qt/res/src/clock.svg new file mode 100755 index 0000000000000..9f2ec47d05f82 --- /dev/null +++ b/src/qt/res/src/clock.svg @@ -0,0 +1,1161 @@ + + + + + Ion Core QT clock icons for all networks (bitcoin's sources) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Ion Core QT clock icons for all networks (bitcoin's sources) + GMT: Monday, 15. April 2019 18:47:35 + + + PIVX-Project + + + + + https://raw.githubusercontent.com/ioncoincore/ion/master/src/qt/res/src/LICENSE.md + + + + + Ionomy limited + + + clock + https://raw.githubusercontent.com/PIVX-Project/PIVX/master/src/qt/res/src/clock1.svg + https://raw.githubusercontent.com/ioncoincore/ion/master/src/qt/res/src/clock.svg + English + + + ion + core + clock + icons + main + testnet + regtest + network + + + Ion Core QT clock icons for all networks + Ion Core Digital Currency (by Ionomy limited) - https://ionomy.com + + + CEVAP PIVX + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/qt/res/src/clock1.svg b/src/qt/res/src/clock1.svg deleted file mode 100755 index 793dc7f91ccb9..0000000000000 --- a/src/qt/res/src/clock1.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/qt/res/src/clock2.svg b/src/qt/res/src/clock2.svg deleted file mode 100755 index 6a78adf7004e7..0000000000000 --- a/src/qt/res/src/clock2.svg +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/qt/res/src/clock3.svg b/src/qt/res/src/clock3.svg deleted file mode 100755 index 09ccc2549f2f8..0000000000000 --- a/src/qt/res/src/clock3.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/qt/res/src/clock4.svg b/src/qt/res/src/clock4.svg deleted file mode 100755 index 7d9dc37acb919..0000000000000 --- a/src/qt/res/src/clock4.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/qt/res/src/clock5.svg b/src/qt/res/src/clock5.svg deleted file mode 100755 index 9fd58d9d97311..0000000000000 --- a/src/qt/res/src/clock5.svg +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/qt/res/src/clock_green.svg b/src/qt/res/src/clock_green.svg deleted file mode 100755 index e31f0e7995aad..0000000000000 --- a/src/qt/res/src/clock_green.svg +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/qt/res/src/dart-board.svg b/src/qt/res/src/dart-board.svg deleted file mode 100644 index 1708584fb66a4..0000000000000 --- a/src/qt/res/src/dart-board.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - diff --git a/src/qt/res/src/icons16.svg b/src/qt/res/src/icons16.svg index 45c83a82d53b3..7951bb01134ab 100644 --- a/src/qt/res/src/icons16.svg +++ b/src/qt/res/src/icons16.svg @@ -196,7 +196,7 @@ clip-path="url(#clipPath3861-7-7)" transform="matrix(0,-1.142857,-1.142857,0,438.56501,447.79078)" id="path3809-7-2" - style="color:#000000;display:none;overflow:visible;visibility:visible;fill:none;stroke:#808080;stroke-width:5.25000048;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-ionarray:none;stroke-ionoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + style="color:#000000;display:none;overflow:visible;visibility:visible;fill:none;stroke:#808080;stroke-width:5.25000048;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" cx="45" cy="45.000015" r="21" /> @@ -217,7 +217,7 @@ clip-path="url(#clipPath3839-5-6)" id="rect3829-5-9" d="m 39.999998,50.000019 10.000004,0 C 53.878001,50.000019 57,53.122018 57,57.000017 l 0,15.000002 c 0,5.999998 -2,5.999998 -8.999998,5.999998 l -6.000004,0 C 35,78.000017 33,78.000017 33,72.000019 l 0,-15.000002 c 0,-3.877999 3.121999,-6.999998 6.999998,-6.999998 z" - style="color:#000000;display:none;overflow:visible;visibility:visible;fill:none;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-ionoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + style="color:#000000;display:none;overflow:visible;visibility:visible;fill:none;stroke:#808080;stroke-width:6;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />