From 97545ab7544c91cea26946748369a3f1afa6680d Mon Sep 17 00:00:00 2001 From: cryptoBLAST Date: Mon, 1 Apr 2019 14:31:33 -0700 Subject: [PATCH] Branding: BLAST --- .gitignore | 30 +- .travis.yml | 32 +- .tx/config | 6 +- Makefile.am | 95 +- assets/asset_metadata_spec.md | 6 +- assets/tools/ipfs_pinner.py | 8 +- assets/tools/signed_promises.py | 6 +- assets/tools/txfacts.py | 4 +- ...en_find_bdb48.m4 => bitcoin_find_bdb48.m4} | 6 +- build-aux/m4/{raven_qt.m4 => bitcoin_qt.m4} | 248 +- ...nclude.m4 => bitcoin_subdir_to_include.m4} | 4 +- configure.ac | 142 +- ...completion => bitcoin-cli.bash-completion} | 36 +- ...-completion => bitcoin-tx.bash-completion} | 19 +- ...sh-completion => bitcoind.bash-completion} | 0 contrib/{raven-qt.pro => blast-qt.pro} | 0 contrib/debian/README.md | 16 +- .../{raven-qt.desktop => bitcoin-qt.desktop} | 4 +- .../{raven-qt.install => bitcoin-qt.install} | 0 ...overrides => bitcoin-qt.lintian-overrides} | 0 ...{raven-qt.manpages => bitcoin-qt.manpages} | 0 ...{raven-qt.protocol => bitcoin-qt.protocol} | 0 ...-completion => bitcoin-tx.bash-completion} | 0 .../{raven-tx.install => bitcoin-tx.install} | 0 ...{raven-tx.manpages => bitcoin-tx.manpages} | 0 ...sh-completion => bitcoind.bash-completion} | 0 .../{ravend.examples => bitcoind.examples} | 0 .../{ravend.install => bitcoind.install} | 0 ...n-overrides => bitcoind.lintian-overrides} | 0 contrib/debian/bitcoind.manpages | 2 + contrib/debian/changelog | 178 +- .../examples/{raven.conf => blast.conf} | 0 contrib/debian/ravend.manpages | 2 - contrib/debian/rules | 6 +- contrib/devtools/README.md | 8 +- contrib/devtools/copyright_header.py | 44 +- contrib/devtools/gen-manpages.sh | 24 +- contrib/devtools/update-translations.py | 2 +- contrib/init/{ravend.init => bitcoind.init} | 0 contrib/init/bitcoind.openrc | 92 + ...{ravend.openrcconf => bitcoind.openrcconf} | 0 .../init/{ravend.service => bitcoind.service} | 0 ...avend.plist => org.bitcoin.bitcoind.plist} | 0 contrib/init/ravend.openrc | 92 - contrib/macdeploy/custom_dsstore.py | 8 +- contrib/rpm/blast.fc | 8 + contrib/rpm/{raven.if => blast.if} | 70 +- contrib/rpm/{raven.spec => blast.spec} | 250 +- contrib/rpm/blast.te | 81 + contrib/rpm/raven.fc | 8 - contrib/rpm/raven.te | 81 - contrib/seeds/generate-seeds.py | 8 +- contrib/verify-commits/gpg.sh | 7 +- contrib/verify-commits/verify-commits.sh | 9 +- contrib/zmq/zmq_test.py | 12 +- depends/README.md | 6 +- doc/REST-interface.md | 2 +- doc/build-openbsd.md | 32 +- doc/build-rasberrypi.md | 8 +- doc/build-unix.md | 48 +- doc/fuzzing.md | 12 +- doc/man/Makefile.am | 14 +- doc/man/raven-cli.1 | 104 - doc/man/raven-qt.1 | 558 -- doc/man/raven-tx.1 | 128 - doc/man/ravend.1 | 537 -- doc/release-notes/release-notes-0.15.0.md | 130 +- doc/shared-libraries.md | 40 +- doc/translation_process.md | 36 +- doc/translation_strings_policy.md | 10 +- ...nsensus.pc.in => libbitcoinconsensus.pc.in | 4 +- roadmap/compatibility-mode/README.md | 22 +- roadmap/mnemonic-seed/README.md | 6 +- share/genbuild.sh | 3 +- share/qt/extract_strings_qt.py | 13 +- share/setup.nsi.in | 28 +- src/Makefile.am | 244 +- src/Makefile.bench.include | 48 +- src/Makefile.qt.include | 310 +- src/Makefile.qttest.include | 49 +- src/Makefile.test.include | 107 +- src/addrdb.h | 7 +- src/addressindex.h | 16 +- src/addrman.h | 7 +- src/amount.h | 13 +- src/arith_uint256.h | 7 +- src/assets/assetdb.h | 6 +- src/assets/assets.cpp | 75 +- src/assets/assets.h | 12 +- src/auxpow/auxpow.h | 6 +- src/auxpow/check.h | 6 +- src/auxpow/serialize.h | 6 +- src/base58.cpp | 42 +- src/base58.h | 36 +- src/bench/bench.h | 6 +- .../{bench_raven.cpp => bench_bitcoin.cpp} | 0 src/bench/bench_blast | 210 + src/bench/verify_script.cpp | 4 +- src/{raven-cli-res.rc => bitcoin-cli-res.rc} | 0 src/{raven-cli.cpp => bitcoin-cli.cpp} | 21 +- src/{raven-tx-res.rc => bitcoin-tx-res.rc} | 0 src/{raven-tx.cpp => bitcoin-tx.cpp} | 4 +- src/{ravend-res.rc => bitcoind-res.rc} | 0 src/{ravend.cpp => bitcoind.cpp} | 23 +- src/blockencodings.h | 4 +- src/bloom.h | 6 +- src/chain.h | 6 +- src/chainparams.cpp | 24 +- src/chainparams.h | 16 +- src/chainparamsbase.h | 10 +- src/chainparamsseeds.h | 8 +- src/checkpoints.h | 6 +- src/checkqueue.h | 6 +- src/clientversion.h | 10 +- src/coins.cpp | 16 +- src/coins.h | 8 +- src/compat.h | 8 +- src/compat/byteswap.h | 8 +- src/compat/endian.h | 8 +- src/compat/glibc_compat.cpp | 2 +- src/compat/glibc_sanity.cpp | 2 +- src/compat/sanity.h | 6 +- src/compat/strnlen.cpp | 2 +- src/compressor.h | 6 +- src/consensus/consensus.h | 7 +- src/consensus/merkle.h | 4 +- src/consensus/params.h | 9 +- src/consensus/tx_verify.cpp | 14 +- src/consensus/tx_verify.h | 10 +- src/consensus/validation.h | 10 +- src/core_io.h | 6 +- src/core_memusage.h | 6 +- src/core_write.cpp | 4 +- src/crypto/aes.h | 6 +- src/crypto/chacha20.h | 6 +- src/crypto/common.h | 8 +- src/crypto/hmac_sha256.h | 6 +- src/crypto/hmac_sha512.h | 6 +- src/crypto/ripemd160.h | 6 +- src/crypto/sha1.h | 6 +- src/crypto/sha256.h | 6 +- src/crypto/sha512.h | 6 +- src/cuckoocache.h | 6 +- src/dbwrapper.cpp | 4 +- src/dbwrapper.h | 6 +- src/fs.h | 6 +- src/hash.h | 10 +- src/httprpc.h | 4 +- src/httpserver.h | 6 +- src/indirectmap.h | 6 +- src/init.cpp | 30 +- src/init.h | 16 +- src/key.h | 6 +- src/keystore.h | 8 +- src/limitedmap.h | 6 +- src/memusage.h | 7 +- src/merkleblock.h | 7 +- src/miner.cpp | 2 +- src/miner.h | 9 +- src/net.cpp | 2 +- src/net.h | 7 +- src/net_processing.h | 7 +- src/netaddress.cpp | 2 +- src/netaddress.h | 9 +- src/netbase.cpp | 2 +- src/netbase.h | 9 +- src/netmessagemaker.h | 7 +- src/noui.h | 7 +- src/policy/feerate.cpp | 2 +- src/policy/feerate.h | 7 +- src/policy/fees.cpp | 4 +- src/policy/fees.h | 7 +- src/policy/policy.h | 7 +- src/policy/rbf.h | 7 +- src/pow.h | 7 +- src/prevector.h | 7 +- src/primitives/block.h | 7 +- src/primitives/blockheader.h | 6 +- src/primitives/transaction.h | 11 +- src/protocol.h | 59 +- src/pubkey.h | 7 +- src/qt/addressbookpage.cpp | 8 +- src/qt/addressbookpage.h | 7 +- src/qt/addresstablemodel.h | 9 +- src/qt/askpassphrasedialog.cpp | 4 +- src/qt/askpassphrasedialog.h | 7 +- src/qt/assetcontroldialog.cpp | 22 +- src/qt/assetcontroldialog.h | 7 +- src/qt/assetcontroltreewidget.h | 7 +- src/qt/assetrecord.h | 7 +- src/qt/assetsdialog.cpp | 24 +- src/qt/assetsdialog.h | 13 +- src/qt/assettablemodel.h | 9 +- src/qt/bantablemodel.h | 7 +- src/qt/{raven-qt.config => bitcoin-qt.config} | 0 .../{raven-qt.creator => bitcoin-qt.creator} | 0 ...t.creator.user => bitcoin-qt.creator.user} | 0 src/qt/{raven-qt.files => bitcoin-qt.files} | 20 +- ...{raven-qt.includes => bitcoin-qt.includes} | 0 src/qt/{raven.cpp => bitcoin.cpp} | 103 +- src/qt/{raven.qrc => bitcoin.qrc} | 16 +- src/qt/bitcoin_locale.qrc | 90 + ...idator.cpp => bitcoinaddressvalidator.cpp} | 10 +- ...svalidator.h => bitcoinaddressvalidator.h} | 17 +- ...amountfield.cpp => bitcoinamountfield.cpp} | 56 +- ...avenamountfield.h => bitcoinamountfield.h} | 17 +- src/qt/{ravengui.cpp => bitcoingui.cpp} | 272 +- src/qt/{ravengui.h => bitcoingui.h} | 27 +- src/qt/bitcoinstrings.cpp | 421 ++ src/qt/{ravenunits.cpp => bitcoinunits.cpp} | 83 +- src/qt/{ravenunits.h => bitcoinunits.h} | 27 +- src/qt/callback.h | 6 +- src/qt/clientmodel.h | 9 +- src/qt/coincontroldialog.cpp | 22 +- src/qt/coincontroldialog.h | 7 +- src/qt/coincontroltreewidget.h | 7 +- src/qt/createassetdialog.cpp | 32 +- src/qt/createassetdialog.h | 7 +- src/qt/csvmodelwriter.h | 7 +- src/qt/darkstyle.h | 6 +- src/qt/editaddressdialog.cpp | 2 +- src/qt/editaddressdialog.h | 7 +- src/qt/forms/addressbookpage.ui | 10 +- src/qt/forms/assetcontroldialog.ui | 8 +- src/qt/forms/assetsdialog.ui | 28 +- src/qt/forms/coincontroldialog.ui | 8 +- src/qt/forms/createassetdialog.ui | 24 +- src/qt/forms/debugwindow.ui | 10 +- src/qt/forms/helpmessagedialog.ui | 4 +- src/qt/forms/modaloverlay.ui | 4 +- src/qt/forms/optionsdialog.ui | 10 +- src/qt/forms/overviewpage.ui | 26 +- src/qt/forms/receivecoinsdialog.ui | 20 +- src/qt/forms/reissueassetdialog.ui | 22 +- src/qt/forms/sendassetsentry.ui | 24 +- src/qt/forms/sendcoinsdialog.ui | 28 +- src/qt/forms/sendcoinsentry.ui | 28 +- src/qt/forms/signverifymessagedialog.ui | 28 +- src/qt/guiconstants.h | 51 +- src/qt/guiutil.cpp | 83 +- src/qt/guiutil.h | 19 +- src/qt/intro.cpp | 12 +- src/qt/intro.h | 7 +- src/qt/locale/{raven_af.ts => bitcoin_af.ts} | 40 +- .../{raven_af_ZA.ts => bitcoin_af_ZA.ts} | 0 src/qt/locale/{raven_ar.ts => bitcoin_ar.ts} | 38 +- .../{raven_be_BY.ts => bitcoin_be_BY.ts} | 24 +- src/qt/locale/{raven_bg.ts => bitcoin_bg.ts} | 44 +- .../{raven_bg_BG.ts => bitcoin_bg_BG.ts} | 10 +- src/qt/locale/{raven_ca.ts => bitcoin_ca.ts} | 136 +- ..._ca@valencia.ts => bitcoin_ca@valencia.ts} | 112 +- .../{raven_ca_ES.ts => bitcoin_ca_ES.ts} | 136 +- src/qt/locale/{raven_cs.ts => bitcoin_cs.ts} | 140 +- src/qt/locale/{raven_cy.ts => bitcoin_cy.ts} | 12 +- src/qt/locale/{raven_da.ts => bitcoin_da.ts} | 140 +- src/qt/locale/{raven_de.ts => bitcoin_de.ts} | 154 +- src/qt/locale/{raven_el.ts => bitcoin_el.ts} | 4 +- .../{raven_el_GR.ts => bitcoin_el_GR.ts} | 66 +- src/qt/locale/{raven_en.ts => bitcoin_en.ts} | 112 +- .../{raven_en_GB.ts => bitcoin_en_GB.ts} | 104 +- src/qt/locale/{raven_eo.ts => bitcoin_eo.ts} | 34 +- src/qt/locale/{raven_es.ts => bitcoin_es.ts} | 146 +- .../{raven_es_AR.ts => bitcoin_es_AR.ts} | 4 +- .../{raven_es_CL.ts => bitcoin_es_CL.ts} | 28 +- .../{raven_es_CO.ts => bitcoin_es_CO.ts} | 16 +- .../{raven_es_DO.ts => bitcoin_es_DO.ts} | 48 +- .../{raven_es_ES.ts => bitcoin_es_ES.ts} | 142 +- .../{raven_es_MX.ts => bitcoin_es_MX.ts} | 20 +- .../{raven_es_UY.ts => bitcoin_es_UY.ts} | 12 +- .../{raven_es_VE.ts => bitcoin_es_VE.ts} | 24 +- src/qt/locale/{raven_et.ts => bitcoin_et.ts} | 78 +- .../{raven_et_EE.ts => bitcoin_et_EE.ts} | 12 +- .../{raven_eu_ES.ts => bitcoin_eu_ES.ts} | 18 +- src/qt/locale/{raven_fa.ts => bitcoin_fa.ts} | 42 +- .../{raven_fa_IR.ts => bitcoin_fa_IR.ts} | 16 +- src/qt/locale/{raven_fi.ts => bitcoin_fi.ts} | 128 +- src/qt/locale/{raven_fr.ts => bitcoin_fr.ts} | 146 +- .../{raven_fr_CA.ts => bitcoin_fr_CA.ts} | 4 +- .../{raven_fr_FR.ts => bitcoin_fr_FR.ts} | 48 +- src/qt/locale/{raven_gl.ts => bitcoin_gl.ts} | 48 +- src/qt/locale/{raven_he.ts => bitcoin_he.ts} | 64 +- .../{raven_hi_IN.ts => bitcoin_hi_IN.ts} | 6 +- src/qt/locale/{raven_hr.ts => bitcoin_hr.ts} | 54 +- src/qt/locale/{raven_hu.ts => bitcoin_hu.ts} | 56 +- .../{raven_id_ID.ts => bitcoin_id_ID.ts} | 82 +- src/qt/locale/{raven_it.ts => bitcoin_it.ts} | 144 +- .../{raven_it_IT.ts => bitcoin_it_IT.ts} | 4 +- src/qt/locale/{raven_ja.ts => bitcoin_ja.ts} | 134 +- src/qt/locale/{raven_ka.ts => bitcoin_ka.ts} | 50 +- .../{raven_kk_KZ.ts => bitcoin_kk_KZ.ts} | 6 +- .../{raven_ko_KR.ts => bitcoin_ko_KR.ts} | 80 +- .../{raven_ku_IQ.ts => bitcoin_ku_IQ.ts} | 4 +- src/qt/locale/{raven_ky.ts => bitcoin_ky.ts} | 8 +- src/qt/locale/{raven_la.ts => bitcoin_la.ts} | 40 +- src/qt/locale/{raven_lt.ts => bitcoin_lt.ts} | 26 +- .../{raven_lv_LV.ts => bitcoin_lv_LV.ts} | 50 +- .../{raven_mk_MK.ts => bitcoin_mk_MK.ts} | 10 +- src/qt/locale/{raven_mn.ts => bitcoin_mn.ts} | 6 +- .../{raven_ms_MY.ts => bitcoin_ms_MY.ts} | 24 +- src/qt/locale/{raven_nb.ts => bitcoin_nb.ts} | 120 +- src/qt/locale/{raven_ne.ts => bitcoin_ne.ts} | 18 +- src/qt/locale/{raven_nl.ts => bitcoin_nl.ts} | 148 +- .../locale/{raven_pam.ts => bitcoin_pam.ts} | 32 +- src/qt/locale/{raven_pl.ts => bitcoin_pl.ts} | 132 +- .../{raven_pt_BR.ts => bitcoin_pt_BR.ts} | 128 +- .../{raven_pt_PT.ts => bitcoin_pt_PT.ts} | 138 +- src/qt/locale/{raven_ro.ts => bitcoin_ro.ts} | 32 +- .../{raven_ro_RO.ts => bitcoin_ro_RO.ts} | 82 +- src/qt/locale/{raven_ru.ts => bitcoin_ru.ts} | 142 +- .../{raven_ru_RU.ts => bitcoin_ru_RU.ts} | 22 +- src/qt/locale/{raven_sk.ts => bitcoin_sk.ts} | 140 +- .../{raven_sl_SI.ts => bitcoin_sl_SI.ts} | 82 +- src/qt/locale/{raven_sq.ts => bitcoin_sq.ts} | 20 +- src/qt/locale/{raven_sr.ts => bitcoin_sr.ts} | 8 +- ...{raven_sr@latin.ts => bitcoin_sr@latin.ts} | 18 +- src/qt/locale/{raven_sv.ts => bitcoin_sv.ts} | 144 +- src/qt/locale/{raven_ta.ts => bitcoin_ta.ts} | 12 +- .../{raven_th_TH.ts => bitcoin_th_TH.ts} | 60 +- src/qt/locale/{raven_tr.ts => bitcoin_tr.ts} | 164 +- .../{raven_tr_TR.ts => bitcoin_tr_TR.ts} | 0 src/qt/locale/{raven_uk.ts => bitcoin_uk.ts} | 110 +- .../{raven_ur_PK.ts => bitcoin_ur_PK.ts} | 4 +- .../{raven_uz@Cyrl.ts => bitcoin_uz@Cyrl.ts} | 44 +- src/qt/locale/{raven_vi.ts => bitcoin_vi.ts} | 4 +- .../{raven_vi_VN.ts => bitcoin_vi_VN.ts} | 36 +- src/qt/locale/{raven_zh.ts => bitcoin_zh.ts} | 6 +- .../{raven_zh_CN.ts => bitcoin_zh_CN.ts} | 86 +- .../{raven_zh_HK.ts => bitcoin_zh_HK.ts} | 28 +- .../{raven_zh_TW.ts => bitcoin_zh_TW.ts} | 140 +- src/qt/macdockiconhandler.h | 7 +- src/qt/macnotificationhandler.h | 7 +- src/qt/macnotificationhandler.mm | 2 +- src/qt/modaloverlay.h | 7 +- src/qt/networkstyle.cpp | 2 +- src/qt/networkstyle.h | 7 +- src/qt/notificator.h | 9 +- src/qt/openuridialog.cpp | 6 +- src/qt/openuridialog.h | 7 +- src/qt/optionsdialog.cpp | 18 +- src/qt/optionsdialog.h | 9 +- src/qt/optionsmodel.cpp | 8 +- src/qt/optionsmodel.h | 15 +- src/qt/overviewpage.cpp | 36 +- src/qt/overviewpage.h | 7 +- src/qt/paymentrequest.proto | 8 +- src/qt/paymentrequestplus.h | 7 +- src/qt/paymentserver.cpp | 45 +- src/qt/paymentserver.h | 9 +- src/qt/peertablemodel.h | 7 +- src/qt/platformstyle.cpp | 15 + src/qt/platformstyle.h | 9 +- src/qt/qvalidatedlineedit.cpp | 2 +- src/qt/qvalidatedlineedit.h | 7 +- src/qt/qvaluecombobox.h | 7 +- src/qt/raven_locale.qrc | 90 - src/qt/ravenstrings.cpp | 421 -- src/qt/receivecoinsdialog.cpp | 4 +- src/qt/receivecoinsdialog.h | 9 +- src/qt/receiverequestdialog.cpp | 10 +- src/qt/receiverequestdialog.h | 7 +- src/qt/recentrequeststablemodel.cpp | 8 +- src/qt/recentrequeststablemodel.h | 9 +- src/qt/reissueassetdialog.cpp | 24 +- src/qt/reissueassetdialog.h | 7 +- .../{raven-qt-res.rc => bitcoin-qt-res.rc} | 12 +- src/qt/res/fonts/Exo2-Black.otf | Bin 0 -> 121236 bytes src/qt/res/fonts/Exo2-BlackItalic.otf | Bin 0 -> 121556 bytes src/qt/res/fonts/Exo2-Bold.otf | Bin 0 -> 125452 bytes src/qt/res/fonts/Exo2-BoldItalic.otf | Bin 0 -> 126400 bytes src/qt/res/fonts/Exo2-ExtraBold.otf | Bin 0 -> 125340 bytes src/qt/res/fonts/Exo2-ExtraBoldItalic.otf | Bin 0 -> 126116 bytes src/qt/res/fonts/Exo2-ExtraLight.otf | Bin 0 -> 115784 bytes src/qt/res/fonts/Exo2-ExtraLightItalic.otf | Bin 0 -> 118792 bytes src/qt/res/fonts/Exo2-Italic.otf | Bin 0 -> 119976 bytes src/qt/res/fonts/Exo2-Light.otf | Bin 0 -> 115720 bytes src/qt/res/fonts/Exo2-LightItalic.otf | Bin 0 -> 119540 bytes src/qt/res/fonts/Exo2-Medium.otf | Bin 0 -> 117528 bytes src/qt/res/fonts/Exo2-MediumItalic.otf | Bin 0 -> 121032 bytes src/qt/res/fonts/Exo2-Regular.otf | Bin 0 -> 117296 bytes src/qt/res/fonts/Exo2-SemiBold.otf | Bin 0 -> 124144 bytes src/qt/res/fonts/Exo2-SemiBoldItalic.otf | Bin 0 -> 126292 bytes src/qt/res/fonts/Exo2-Thin.otf | Bin 0 -> 109016 bytes src/qt/res/fonts/Exo2-ThinItalic.otf | Bin 0 -> 113264 bytes src/qt/res/icons/about.png | Bin 2849 -> 6522 bytes src/qt/res/icons/bitcoin.hqx | 5725 +++++++++++++++++ src/qt/res/icons/bitcoin.icns | Bin 0 -> 272712 bytes src/qt/res/icons/bitcoin.ico | Bin 0 -> 134381 bytes src/qt/res/icons/bitcoin.png | Bin 0 -> 217956 bytes src/qt/res/icons/bitcoin_testnet.ico | Bin 0 -> 135952 bytes src/qt/res/icons/blasttext.png | Bin 0 -> 5079 bytes src/qt/res/icons/overview.png | Bin 806 -> 706 bytes src/qt/res/icons/overview_selected.png | Bin 12938 -> 4461 bytes src/qt/res/icons/raven.icns | Bin 132277 -> 0 bytes src/qt/res/icons/raven.ico | Bin 31710 -> 0 bytes src/qt/res/icons/raven.png | Bin 63873 -> 0 bytes src/qt/res/icons/raven_testnet.ico | Bin 31710 -> 0 bytes src/qt/res/src/bitcoin.svg | 3876 +++++++++++ src/qt/res/src/raven.svg | 58 - src/qt/rpcconsole.cpp | 2 +- src/qt/rpcconsole.h | 9 +- src/qt/sendassetsentry.cpp | 4 +- src/qt/sendassetsentry.h | 9 +- src/qt/sendcoinsdialog.cpp | 26 +- src/qt/sendcoinsdialog.h | 9 +- src/qt/sendcoinsentry.cpp | 6 +- src/qt/sendcoinsentry.h | 9 +- src/qt/signverifymessagedialog.h | 7 +- src/qt/splashscreen.cpp | 16 +- src/qt/splashscreen.h | 9 +- src/qt/test/compattests.cpp | 2 +- src/qt/test/compattests.h | 7 +- src/qt/test/paymentrequestdata.h | 2 +- src/qt/test/paymentservertests.cpp | 2 +- src/qt/test/paymentservertests.h | 7 +- src/qt/test/rpcnestedtests.cpp | 2 +- src/qt/test/rpcnestedtests.h | 7 +- src/qt/test/test_main.cpp | 6 +- src/qt/test/uritests.cpp | 42 +- src/qt/test/uritests.h | 7 +- src/qt/test/wallettests.cpp | 18 +- src/qt/test/wallettests.h | 6 +- src/qt/trafficgraphwidget.h | 7 +- src/qt/transactiondesc.cpp | 44 +- src/qt/transactiondesc.h | 7 +- src/qt/transactiondescdialog.h | 7 +- src/qt/transactionfilterproxy.h | 7 +- src/qt/transactionrecord.cpp | 20 +- src/qt/transactionrecord.h | 13 +- src/qt/transactiontablemodel.cpp | 14 +- src/qt/transactiontablemodel.h | 13 +- src/qt/transactionview.cpp | 6 +- src/qt/transactionview.h | 7 +- src/qt/utilitydialog.cpp | 13 +- src/qt/utilitydialog.h | 11 +- src/qt/walletframe.cpp | 8 +- src/qt/walletframe.h | 21 +- src/qt/walletmodel.cpp | 14 +- src/qt/walletmodel.h | 13 +- src/qt/walletmodeltransaction.h | 7 +- src/qt/walletview.cpp | 20 +- src/qt/walletview.h | 21 +- src/qt/winshutdownmonitor.h | 7 +- src/random.h | 7 +- src/reverse_iterator.h | 6 +- src/reverselock.h | 7 +- src/rpc/assets.cpp | 6 +- src/rpc/blockchain.cpp | 8 +- src/rpc/blockchain.h | 5 +- src/rpc/client.h | 7 +- src/rpc/mining.cpp | 33 +- src/rpc/mining.h | 5 +- src/rpc/misc.cpp | 57 +- src/rpc/protocol.h | 13 +- src/rpc/rawtransaction.cpp | 20 +- src/rpc/register.h | 5 +- src/rpc/safemode.h | 7 +- src/rpc/server.h | 9 +- src/scheduler.h | 5 +- ...avenconsensus.cpp => bitcoinconsensus.cpp} | 34 +- src/script/bitcoinconsensus.h | 85 + src/script/interpreter.cpp | 6 +- src/script/interpreter.h | 7 +- src/script/ismine.cpp | 4 +- src/script/ismine.h | 7 +- src/script/ravenconsensus.h | 84 - src/script/script.cpp | 32 +- src/script/script.h | 19 +- src/script/script_error.h | 7 +- src/script/sigcache.h | 7 +- src/script/sign.cpp | 4 +- src/script/sign.h | 7 +- src/script/standard.cpp | 12 +- src/script/standard.h | 15 +- src/secp256k1/Makefile.am | 8 +- .../m4/{raven_secp.m4 => bitcoin_secp.m4} | 0 .../org/{raven => blast}/NativeSecp256k1.java | 0 .../{raven => blast}/NativeSecp256k1Test.java | 0 .../{raven => blast}/NativeSecp256k1Util.java | 0 .../{raven => blast}/Secp256k1Context.java | 0 ...p256k1.c => org_bitcoin_NativeSecp256k1.c} | 28 +- .../src/java/org_bitcoin_NativeSecp256k1.h | 119 + ...ntext.c => org_bitcoin_Secp256k1Context.c} | 4 +- .../src/java/org_bitcoin_Secp256k1Context.h | 22 + .../src/java/org_raven_NativeSecp256k1.h | 119 - .../src/java/org_raven_Secp256k1Context.h | 22 - src/serialize.h | 7 +- src/spentindex.h | 6 +- src/streams.h | 7 +- src/support/allocators/secure.h | 7 +- src/support/allocators/zeroafterfree.h | 7 +- src/support/cleanse.h | 7 +- src/support/events.h | 7 +- src/support/lockedpool.cpp | 2 +- src/support/lockedpool.h | 7 +- src/sync.h | 7 +- src/test/DoS_tests.cpp | 2 +- src/test/README.md | 18 +- src/test/addrman_tests.cpp | 2 +- src/test/allocator_tests.cpp | 2 +- src/test/amount_tests.cpp | 6 +- src/test/arith_uint256_tests.cpp | 2 +- src/test/assets/asset_reissue_tests.cpp | 44 +- src/test/assets/asset_tests.cpp | 33 +- src/test/assets/asset_tx_tests.cpp | 2 +- src/test/assets/cache_tests.cpp | 2 +- src/test/assets/serialization_tests.cpp | 2 +- src/test/base32_tests.cpp | 2 +- src/test/base58_tests.cpp | 8 +- src/test/base64_tests.cpp | 2 +- src/test/bech32_tests.cpp | 2 +- src/test/bip32_tests.cpp | 10 +- src/test/blockencodings_tests.cpp | 2 +- src/test/bloom_tests.cpp | 6 +- src/test/bswap_tests.cpp | 2 +- src/test/checkqueue_tests.cpp | 2 +- src/test/coins_tests.cpp | 2 +- src/test/compress_tests.cpp | 10 +- src/test/crypto_tests.cpp | 2 +- src/test/cuckoocache_tests.cpp | 2 +- src/test/dbwrapper_tests.cpp | 2 +- src/test/getarg_tests.cpp | 2 +- src/test/hash_tests.cpp | 2 +- src/test/key_tests.cpp | 4 +- src/test/limitedmap_tests.cpp | 2 +- src/test/main_tests.cpp | 2 +- src/test/mempool_tests.cpp | 2 +- src/test/merkle_tests.cpp | 2 +- src/test/merkleblock_tests.cpp | 2 +- src/test/miner_tests.cpp | 4 +- src/test/multisig_tests.cpp | 2 +- src/test/net_tests.cpp | 2 +- src/test/netbase_tests.cpp | 2 +- src/test/pmt_tests.cpp | 2 +- src/test/policyestimator_tests.cpp | 2 +- src/test/pow_tests.cpp | 2 +- src/test/prevector_tests.cpp | 2 +- src/test/raii_event_tests.cpp | 2 +- src/test/random_tests.cpp | 2 +- src/test/reverselock_tests.cpp | 2 +- src/test/rpc_tests.cpp | 15 +- src/test/sanity_tests.cpp | 2 +- src/test/scheduler_tests.cpp | 2 +- src/test/script_P2PKH_tests.cpp | 2 +- src/test/script_P2PK_tests.cpp | 2 +- src/test/script_P2SH_tests.cpp | 2 +- src/test/script_standard_tests.cpp | 2 +- src/test/script_tests.cpp | 14 +- src/test/scriptnum10.h | 9 +- src/test/scriptnum_tests.cpp | 2 +- src/test/serialize_tests.cpp | 2 +- src/test/sighash_tests.cpp | 2 +- src/test/sigopcount_tests.cpp | 2 +- src/test/skiplist_tests.cpp | 2 +- src/test/streams_tests.cpp | 2 +- src/test/{test_raven.cpp => test_bitcoin.cpp} | 5 +- src/test/{test_raven.h => test_bitcoin.h} | 5 +- ...raven_fuzzy.cpp => test_bitcoin_fuzzy.cpp} | 2 +- ...t_raven_hash.cpp => test_bitcoin_hash.cpp} | 3 +- ...t_raven_main.cpp => test_bitcoin_main.cpp} | 0 src/test/timedata_tests.cpp | 2 +- src/test/torcontrol_tests.cpp | 2 +- src/test/transaction_tests.cpp | 2 +- src/test/txvalidationcache_tests.cpp | 2 +- src/test/uint256_tests.cpp | 2 +- src/test/univalue_tests.cpp | 2 +- src/test/util_tests.cpp | 2 +- src/test/versionbits_tests.cpp | 2 +- src/threadinterrupt.h | 7 +- src/threadsafety.h | 7 +- src/timedata.cpp | 9 +- src/timedata.h | 7 +- src/timestampindex.h | 6 +- src/torcontrol.h | 7 +- src/txdb.cpp | 9 +- src/txdb.h | 9 +- src/txmempool.cpp | 36 +- src/txmempool.h | 7 +- src/ui_interface.h | 7 +- src/uint256.h | 7 +- src/undo.h | 11 +- src/univalue/gen/gen.cpp | 7 +- src/univalue/lib/univalue_escapes.h | 6 +- src/util.cpp | 35 +- src/util.h | 15 +- src/utilmoneystr.h | 7 +- src/utilstrencodings.h | 7 +- src/utiltime.cpp | 2 +- src/utiltime.h | 7 +- src/validation.cpp | 104 +- src/validation.h | 19 +- src/validationinterface.h | 7 +- src/version.h | 7 +- src/versionbits.h | 5 +- src/wallet/coincontrol.h | 11 +- src/wallet/crypter.h | 7 +- src/wallet/db.h | 7 +- src/wallet/feebumper.h | 7 +- src/wallet/fees.h | 7 +- src/wallet/init.h | 7 +- src/wallet/rpcdump.cpp | 14 +- src/wallet/rpcwallet.cpp | 6 +- src/wallet/rpcwallet.h | 7 +- src/wallet/test/crypto_tests.cpp | 2 +- src/wallet/test/wallet_test_fixture.h | 7 +- src/wallet/test/wallet_tests.cpp | 6 +- src/wallet/wallet.cpp | 64 +- src/wallet/wallet.h | 27 +- src/wallet/walletdb.h | 7 +- src/warnings.h | 7 +- src/zmq/zmqabstractnotifier.h | 7 +- src/zmq/zmqconfig.h | 9 +- src/zmq/zmqnotificationinterface.h | 7 +- src/zmq/zmqpublishnotifier.h | 7 +- test/config.ini.in | 7 +- test/functional/README.md | 2 +- test/functional/feature_assets.py | 23 +- test/functional/feature_assets_reorg.py | 2 +- test/functional/feature_bip68_sequence.py | 2 +- .../feature_rawassettransactions.py | 108 +- test/functional/feature_rbf.py | 6 +- test/functional/feature_unique_assets.py | 2 +- ..._raven_cli.py => interface_bitcoin_cli.py} | 0 test/functional/rpc_decodescript.py | 4 +- test/functional/rpc_fundrawtransaction.py | 2 +- test/functional/rpc_rawtransaction.py | 2 +- test/functional/test_framework/mininode.py | 21 +- test/functional/test_framework/script.py | 4 +- test/functional/test_framework/util.py | 15 +- test/functional/test_runner.py | 27 +- test/functional/wallet_abandonconflict.py | 4 +- test/functional/wallet_basic.py | 10 +- test/functional/wallet_import_rescan.py | 4 +- test/functional/wallet_listsinceblock.py | 4 +- test/functional/wallet_txn_clone.py | 8 +- test/functional/wallet_txn_doublespend.py | 10 +- ...{raven-util-test.py => blast-util-test.py} | 0 636 files changed, 17062 insertions(+), 8389 deletions(-) rename build-aux/m4/{raven_find_bdb48.m4 => bitcoin_find_bdb48.m4} (94%) rename build-aux/m4/{raven_qt.m4 => bitcoin_qt.m4} (62%) rename build-aux/m4/{raven_subdir_to_include.m4 => bitcoin_subdir_to_include.m4} (84%) rename contrib/{raven-cli.bash-completion => bitcoin-cli.bash-completion} (85%) rename contrib/{raven-tx.bash-completion => bitcoin-tx.bash-completion} (76%) rename contrib/{ravend.bash-completion => bitcoind.bash-completion} (100%) rename contrib/{raven-qt.pro => blast-qt.pro} (100%) rename contrib/debian/{raven-qt.desktop => bitcoin-qt.desktop} (53%) rename contrib/debian/{raven-qt.install => bitcoin-qt.install} (100%) rename contrib/debian/{raven-qt.lintian-overrides => bitcoin-qt.lintian-overrides} (100%) rename contrib/debian/{raven-qt.manpages => bitcoin-qt.manpages} (100%) rename contrib/debian/{raven-qt.protocol => bitcoin-qt.protocol} (100%) rename contrib/debian/{raven-tx.bash-completion => bitcoin-tx.bash-completion} (100%) rename contrib/debian/{raven-tx.install => bitcoin-tx.install} (100%) rename contrib/debian/{raven-tx.manpages => bitcoin-tx.manpages} (100%) rename contrib/debian/{ravend.bash-completion => bitcoind.bash-completion} (100%) rename contrib/debian/{ravend.examples => bitcoind.examples} (100%) rename contrib/debian/{ravend.install => bitcoind.install} (100%) rename contrib/debian/{ravend.lintian-overrides => bitcoind.lintian-overrides} (100%) create mode 100644 contrib/debian/bitcoind.manpages rename contrib/debian/examples/{raven.conf => blast.conf} (100%) delete mode 100644 contrib/debian/ravend.manpages rename contrib/init/{ravend.init => bitcoind.init} (100%) create mode 100644 contrib/init/bitcoind.openrc rename contrib/init/{ravend.openrcconf => bitcoind.openrcconf} (100%) rename contrib/init/{ravend.service => bitcoind.service} (100%) rename contrib/init/{org.raven.ravend.plist => org.bitcoin.bitcoind.plist} (100%) delete mode 100644 contrib/init/ravend.openrc create mode 100644 contrib/rpm/blast.fc rename contrib/rpm/{raven.if => blast.if} (57%) rename contrib/rpm/{raven.spec => blast.spec} (57%) create mode 100644 contrib/rpm/blast.te delete mode 100644 contrib/rpm/raven.fc delete mode 100644 contrib/rpm/raven.te delete mode 100644 doc/man/raven-cli.1 delete mode 100644 doc/man/raven-qt.1 delete mode 100644 doc/man/raven-tx.1 delete mode 100644 doc/man/ravend.1 rename libravenconsensus.pc.in => libbitcoinconsensus.pc.in (68%) rename src/bench/{bench_raven.cpp => bench_bitcoin.cpp} (100%) create mode 100755 src/bench/bench_blast rename src/{raven-cli-res.rc => bitcoin-cli-res.rc} (100%) rename src/{raven-cli.cpp => bitcoin-cli.cpp} (96%) rename src/{raven-tx-res.rc => bitcoin-tx-res.rc} (100%) rename src/{raven-tx.cpp => bitcoin-tx.cpp} (99%) rename src/{ravend-res.rc => bitcoind-res.rc} (100%) rename src/{ravend.cpp => bitcoind.cpp} (88%) rename src/qt/{raven-qt.config => bitcoin-qt.config} (100%) rename src/qt/{raven-qt.creator => bitcoin-qt.creator} (100%) rename src/qt/{raven-qt.creator.user => bitcoin-qt.creator.user} (100%) rename src/qt/{raven-qt.files => bitcoin-qt.files} (91%) rename src/qt/{raven-qt.includes => bitcoin-qt.includes} (100%) rename src/qt/{raven.cpp => bitcoin.cpp} (88%) rename src/qt/{raven.qrc => bitcoin.qrc} (91%) create mode 100644 src/qt/bitcoin_locale.qrc rename src/qt/{ravenaddressvalidator.cpp => bitcoinaddressvalidator.cpp} (85%) rename src/qt/{ravenaddressvalidator.h => bitcoinaddressvalidator.h} (51%) rename src/qt/{ravenamountfield.cpp => bitcoinamountfield.cpp} (84%) rename src/qt/{ravenamountfield.h => bitcoinamountfield.h} (87%) rename src/qt/{ravengui.cpp => bitcoingui.cpp} (88%) rename src/qt/{ravengui.h => bitcoingui.h} (93%) create mode 100644 src/qt/bitcoinstrings.cpp rename src/qt/{ravenunits.cpp => bitcoinunits.cpp} (70%) rename src/qt/{ravenunits.h => bitcoinunits.h} (88%) rename src/qt/locale/{raven_af.ts => bitcoin_af.ts} (96%) rename src/qt/locale/{raven_af_ZA.ts => bitcoin_af_ZA.ts} (100%) rename src/qt/locale/{raven_ar.ts => bitcoin_ar.ts} (98%) rename src/qt/locale/{raven_be_BY.ts => bitcoin_be_BY.ts} (98%) rename src/qt/locale/{raven_bg.ts => bitcoin_bg.ts} (98%) rename src/qt/locale/{raven_bg_BG.ts => bitcoin_bg_BG.ts} (98%) rename src/qt/locale/{raven_ca.ts => bitcoin_ca.ts} (96%) rename src/qt/locale/{raven_ca@valencia.ts => bitcoin_ca@valencia.ts} (96%) rename src/qt/locale/{raven_ca_ES.ts => bitcoin_ca_ES.ts} (96%) rename src/qt/locale/{raven_cs.ts => bitcoin_cs.ts} (97%) rename src/qt/locale/{raven_cy.ts => bitcoin_cy.ts} (98%) rename src/qt/locale/{raven_da.ts => bitcoin_da.ts} (96%) rename src/qt/locale/{raven_de.ts => bitcoin_de.ts} (96%) rename src/qt/locale/{raven_el.ts => bitcoin_el.ts} (98%) rename src/qt/locale/{raven_el_GR.ts => bitcoin_el_GR.ts} (97%) rename src/qt/locale/{raven_en.ts => bitcoin_en.ts} (98%) rename src/qt/locale/{raven_en_GB.ts => bitcoin_en_GB.ts} (96%) rename src/qt/locale/{raven_eo.ts => bitcoin_eo.ts} (98%) rename src/qt/locale/{raven_es.ts => bitcoin_es.ts} (96%) rename src/qt/locale/{raven_es_AR.ts => bitcoin_es_AR.ts} (98%) rename src/qt/locale/{raven_es_CL.ts => bitcoin_es_CL.ts} (97%) rename src/qt/locale/{raven_es_CO.ts => bitcoin_es_CO.ts} (96%) rename src/qt/locale/{raven_es_DO.ts => bitcoin_es_DO.ts} (97%) rename src/qt/locale/{raven_es_ES.ts => bitcoin_es_ES.ts} (96%) rename src/qt/locale/{raven_es_MX.ts => bitcoin_es_MX.ts} (97%) rename src/qt/locale/{raven_es_UY.ts => bitcoin_es_UY.ts} (98%) rename src/qt/locale/{raven_es_VE.ts => bitcoin_es_VE.ts} (97%) rename src/qt/locale/{raven_et.ts => bitcoin_et.ts} (96%) rename src/qt/locale/{raven_et_EE.ts => bitcoin_et_EE.ts} (99%) rename src/qt/locale/{raven_eu_ES.ts => bitcoin_eu_ES.ts} (98%) rename src/qt/locale/{raven_fa.ts => bitcoin_fa.ts} (98%) rename src/qt/locale/{raven_fa_IR.ts => bitcoin_fa_IR.ts} (98%) rename src/qt/locale/{raven_fi.ts => bitcoin_fi.ts} (96%) rename src/qt/locale/{raven_fr.ts => bitcoin_fr.ts} (96%) rename src/qt/locale/{raven_fr_CA.ts => bitcoin_fr_CA.ts} (98%) rename src/qt/locale/{raven_fr_FR.ts => bitcoin_fr_FR.ts} (97%) rename src/qt/locale/{raven_gl.ts => bitcoin_gl.ts} (96%) rename src/qt/locale/{raven_he.ts => bitcoin_he.ts} (98%) rename src/qt/locale/{raven_hi_IN.ts => bitcoin_hi_IN.ts} (99%) rename src/qt/locale/{raven_hr.ts => bitcoin_hr.ts} (95%) rename src/qt/locale/{raven_hu.ts => bitcoin_hu.ts} (96%) rename src/qt/locale/{raven_id_ID.ts => bitcoin_id_ID.ts} (96%) rename src/qt/locale/{raven_it.ts => bitcoin_it.ts} (96%) rename src/qt/locale/{raven_it_IT.ts => bitcoin_it_IT.ts} (98%) rename src/qt/locale/{raven_ja.ts => bitcoin_ja.ts} (97%) rename src/qt/locale/{raven_ka.ts => bitcoin_ka.ts} (97%) rename src/qt/locale/{raven_kk_KZ.ts => bitcoin_kk_KZ.ts} (98%) rename src/qt/locale/{raven_ko_KR.ts => bitcoin_ko_KR.ts} (98%) rename src/qt/locale/{raven_ku_IQ.ts => bitcoin_ku_IQ.ts} (99%) rename src/qt/locale/{raven_ky.ts => bitcoin_ky.ts} (98%) rename src/qt/locale/{raven_la.ts => bitcoin_la.ts} (96%) rename src/qt/locale/{raven_lt.ts => bitcoin_lt.ts} (98%) rename src/qt/locale/{raven_lv_LV.ts => bitcoin_lv_LV.ts} (96%) rename src/qt/locale/{raven_mk_MK.ts => bitcoin_mk_MK.ts} (98%) rename src/qt/locale/{raven_mn.ts => bitcoin_mn.ts} (99%) rename src/qt/locale/{raven_ms_MY.ts => bitcoin_ms_MY.ts} (95%) rename src/qt/locale/{raven_nb.ts => bitcoin_nb.ts} (96%) rename src/qt/locale/{raven_ne.ts => bitcoin_ne.ts} (97%) rename src/qt/locale/{raven_nl.ts => bitcoin_nl.ts} (96%) rename src/qt/locale/{raven_pam.ts => bitcoin_pam.ts} (97%) rename src/qt/locale/{raven_pl.ts => bitcoin_pl.ts} (96%) rename src/qt/locale/{raven_pt_BR.ts => bitcoin_pt_BR.ts} (97%) rename src/qt/locale/{raven_pt_PT.ts => bitcoin_pt_PT.ts} (96%) rename src/qt/locale/{raven_ro.ts => bitcoin_ro.ts} (96%) rename src/qt/locale/{raven_ro_RO.ts => bitcoin_ro_RO.ts} (96%) rename src/qt/locale/{raven_ru.ts => bitcoin_ru.ts} (97%) rename src/qt/locale/{raven_ru_RU.ts => bitcoin_ru_RU.ts} (98%) rename src/qt/locale/{raven_sk.ts => bitcoin_sk.ts} (96%) rename src/qt/locale/{raven_sl_SI.ts => bitcoin_sl_SI.ts} (96%) rename src/qt/locale/{raven_sq.ts => bitcoin_sq.ts} (98%) rename src/qt/locale/{raven_sr.ts => bitcoin_sr.ts} (98%) rename src/qt/locale/{raven_sr@latin.ts => bitcoin_sr@latin.ts} (96%) rename src/qt/locale/{raven_sv.ts => bitcoin_sv.ts} (96%) rename src/qt/locale/{raven_ta.ts => bitcoin_ta.ts} (98%) rename src/qt/locale/{raven_th_TH.ts => bitcoin_th_TH.ts} (95%) rename src/qt/locale/{raven_tr.ts => bitcoin_tr.ts} (96%) rename src/qt/locale/{raven_tr_TR.ts => bitcoin_tr_TR.ts} (100%) rename src/qt/locale/{raven_uk.ts => bitcoin_uk.ts} (97%) rename src/qt/locale/{raven_ur_PK.ts => bitcoin_ur_PK.ts} (99%) rename src/qt/locale/{raven_uz@Cyrl.ts => bitcoin_uz@Cyrl.ts} (97%) rename src/qt/locale/{raven_vi.ts => bitcoin_vi.ts} (98%) rename src/qt/locale/{raven_vi_VN.ts => bitcoin_vi_VN.ts} (97%) rename src/qt/locale/{raven_zh.ts => bitcoin_zh.ts} (97%) rename src/qt/locale/{raven_zh_CN.ts => bitcoin_zh_CN.ts} (97%) rename src/qt/locale/{raven_zh_HK.ts => bitcoin_zh_HK.ts} (96%) rename src/qt/locale/{raven_zh_TW.ts => bitcoin_zh_TW.ts} (97%) delete mode 100644 src/qt/raven_locale.qrc delete mode 100644 src/qt/ravenstrings.cpp rename src/qt/res/{raven-qt-res.rc => bitcoin-qt-res.rc} (84%) create mode 100644 src/qt/res/fonts/Exo2-Black.otf create mode 100644 src/qt/res/fonts/Exo2-BlackItalic.otf create mode 100644 src/qt/res/fonts/Exo2-Bold.otf create mode 100644 src/qt/res/fonts/Exo2-BoldItalic.otf create mode 100644 src/qt/res/fonts/Exo2-ExtraBold.otf create mode 100644 src/qt/res/fonts/Exo2-ExtraBoldItalic.otf create mode 100644 src/qt/res/fonts/Exo2-ExtraLight.otf create mode 100644 src/qt/res/fonts/Exo2-ExtraLightItalic.otf create mode 100644 src/qt/res/fonts/Exo2-Italic.otf create mode 100644 src/qt/res/fonts/Exo2-Light.otf create mode 100644 src/qt/res/fonts/Exo2-LightItalic.otf create mode 100644 src/qt/res/fonts/Exo2-Medium.otf create mode 100644 src/qt/res/fonts/Exo2-MediumItalic.otf create mode 100644 src/qt/res/fonts/Exo2-Regular.otf create mode 100644 src/qt/res/fonts/Exo2-SemiBold.otf create mode 100644 src/qt/res/fonts/Exo2-SemiBoldItalic.otf create mode 100644 src/qt/res/fonts/Exo2-Thin.otf create mode 100644 src/qt/res/fonts/Exo2-ThinItalic.otf create mode 100644 src/qt/res/icons/bitcoin.hqx create mode 100644 src/qt/res/icons/bitcoin.icns create mode 100644 src/qt/res/icons/bitcoin.ico create mode 100644 src/qt/res/icons/bitcoin.png create mode 100644 src/qt/res/icons/bitcoin_testnet.ico create mode 100644 src/qt/res/icons/blasttext.png delete mode 100644 src/qt/res/icons/raven.icns delete mode 100644 src/qt/res/icons/raven.ico delete mode 100644 src/qt/res/icons/raven.png delete mode 100644 src/qt/res/icons/raven_testnet.ico create mode 100644 src/qt/res/src/bitcoin.svg delete mode 100644 src/qt/res/src/raven.svg rename src/script/{ravenconsensus.cpp => bitcoinconsensus.cpp} (75%) create mode 100644 src/script/bitcoinconsensus.h delete mode 100644 src/script/ravenconsensus.h rename src/secp256k1/build-aux/m4/{raven_secp.m4 => bitcoin_secp.m4} (100%) rename src/secp256k1/src/java/org/{raven => blast}/NativeSecp256k1.java (100%) rename src/secp256k1/src/java/org/{raven => blast}/NativeSecp256k1Test.java (100%) rename src/secp256k1/src/java/org/{raven => blast}/NativeSecp256k1Util.java (100%) rename src/secp256k1/src/java/org/{raven => blast}/Secp256k1Context.java (100%) rename src/secp256k1/src/java/{org_raven_NativeSecp256k1.c => org_bitcoin_NativeSecp256k1.c} (89%) create mode 100644 src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h rename src/secp256k1/src/java/{org_raven_Secp256k1Context.c => org_bitcoin_Secp256k1Context.c} (68%) create mode 100644 src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h delete mode 100644 src/secp256k1/src/java/org_raven_NativeSecp256k1.h delete mode 100644 src/secp256k1/src/java/org_raven_Secp256k1Context.h rename src/test/{test_raven.cpp => test_bitcoin.cpp} (98%) rename src/test/{test_raven.h => test_bitcoin.h} (96%) rename src/test/{test_raven_fuzzy.cpp => test_bitcoin_fuzzy.cpp} (99%) rename src/test/{test_raven_hash.cpp => test_bitcoin_hash.cpp} (87%) rename src/test/{test_raven_main.cpp => test_bitcoin_main.cpp} (100%) rename test/functional/{interface_raven_cli.py => interface_bitcoin_cli.py} (100%) rename test/util/{raven-util-test.py => blast-util-test.py} (100%) diff --git a/.gitignore b/.gitignore index d891fa9b59..c87aa4e8ca 100644 --- a/.gitignore +++ b/.gitignore @@ -3,14 +3,14 @@ Jenkinsfile *.tar.gz *.exe -src/raven -src/ravend -src/raven-cli -src/raven-tx -src/test/test_raven -src/test/test_raven_fuzzy -src/test/test_raven_hash -src/qt/test/test_raven-qt +src/blast +src/blastd +src/blast-cli +src/blast-tx +src/test/test_blast +src/test/test_blast_fuzzy +src/test/test_blast_hash +src/qt/test/test_blast-qt .vscode output.txt @@ -35,8 +35,8 @@ config.log config.status configure libtool -src/config/raven-config.h -src/config/raven-config.h.in +src/config/blast-config.h +src/config/blast-config.h.in src/config/stamp-h1 share/setup.nsi share/qt/Info.plist @@ -84,12 +84,12 @@ src/qt/test/moc*.cpp # Compilation and Qt preprocessor part *.qm Makefile -raven-qt -Raven-Qt.app +blast-qt +Blast-Qt.app # Unit-tests Makefile.test -raven-qt_test +blast-qt_test # Resources cpp qrc_*.cpp @@ -102,7 +102,7 @@ build *.gcno *.gcda /*.info -test_raven.coverage/ +test_blast.coverage/ total.coverage/ coverage_percent.txt @@ -117,7 +117,7 @@ test/cache/* /doc/doxygen/ -libravenconsensus.pc +libbitcoinconsensus.pc contrib/devtools/split-debug.sh .idea cmake-build-debug diff --git a/.travis.yml b/.travis.yml index df437e7c32..cc7f869ae2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,25 +17,25 @@ env: - CCACHE_TEMPDIR=/tmp/.ccache-temp - CCACHE_COMPRESS=1 - BASE_OUTDIR=$TRAVIS_BUILD_DIR/out - - SDK_URL=https://ravencoin.org/depends-sources/sdks + - SDK_URL=https://blastblastblast.com/depends-sources/sdks - WINEDEBUG=fixme-all matrix: # ARM - - HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" RAVEN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" + - HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" BLAST_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" # Win32 - - HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6" RUN_TESTS=true GOAL="install" RAVEN_CONFIG="--enable-reduce-exports" + - HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6" RUN_TESTS=true GOAL="install" BLAST_CONFIG="--enable-reduce-exports" # Qt4 & system libs - - HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq qt4-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev xvfb" NO_DEPENDS=1 NEED_XVFB=1 RUN_TESTS=true GOAL="install" RAVEN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt4 CPPFLAGS=-DDEBUG_LOCKORDER" + - HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq qt4-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev xvfb" NO_DEPENDS=1 NEED_XVFB=1 RUN_TESTS=true GOAL="install" BLAST_CONFIG="--enable-zmq --with-incompatible-bdb --enable-glibc-back-compat --enable-reduce-exports --with-gui=qt4 CPPFLAGS=-DDEBUG_LOCKORDER" # 32-bit + dash - - HOST=i686-pc-linux-gnu PACKAGES="g++-multilib python3-zmq" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" RAVEN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" + - HOST=i686-pc-linux-gnu PACKAGES="g++-multilib python3-zmq" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BLAST_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" # Win64 - - HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.6" RUN_TESTS=true GOAL="install" RAVEN_CONFIG="--enable-reduce-exports" + - HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.6" RUN_TESTS=true GOAL="install" BLAST_CONFIG="--enable-reduce-exports" # x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout) - - HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1" RUN_TESTS=true GOAL="install" RAVEN_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER" + - HOST=x86_64-unknown-linux-gnu PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools protobuf-compiler libdbus-1-dev libharfbuzz-dev" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1 ALLOW_HOST_PACKAGES=1" RUN_TESTS=true GOAL="install" BLAST_CONFIG="--enable-zmq --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER" # x86_64 Linux, No wallet - - HOST=x86_64-unknown-linux-gnu PACKAGES="python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" RAVEN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" + - HOST=x86_64-unknown-linux-gnu PACKAGES="python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BLAST_CONFIG="--enable-glibc-back-compat --enable-reduce-exports" # Cross-Mac - - HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" RAVEN_CONFIG="--enable-gui --enable-reduce-exports --enable-werror" OSX_SDK=10.11 GOAL="deploy" + - HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" BLAST_CONFIG="--enable-gui --enable-reduce-exports --enable-werror" OSX_SDK=10.11 GOAL="deploy" before_install: - export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g") @@ -56,20 +56,20 @@ before_script: # Start xvfb if needed, as documented at https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-xvfb-to-Run-Tests-That-Require-a-GUI - if [ "$NEED_XVFB" = 1 ]; then export DISPLAY=:99.0; /sbin/start-stop-daemon --start --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac; fi script: - - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "raven/raven" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi - - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "raven/raven" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then git fetch --unshallow; fi - - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "raven/raven" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then contrib/verify-commits/verify-commits.sh; fi + - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "blast/blast" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then while read LINE; do travis_retry gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys $LINE; done < contrib/verify-commits/trusted-keys; fi + - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "blast/blast" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then git fetch --unshallow; fi + - if [ "$CHECK_DOC" = 1 -a "$TRAVIS_REPO_SLUG" = "blast/blast" -a "$TRAVIS_PULL_REQUEST" = "false" ]; then contrib/verify-commits/verify-commits.sh; fi - export TRAVIS_COMMIT_LOG=`git log --format=fuller -1` - if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi - OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST - - RAVEN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib" + - BLAST_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib" - if [ -z "$NO_DEPENDS" ]; then depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE; fi - test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh - mkdir build && cd build - - ../configure --cache-file=config.cache $RAVEN_CONFIG_ALL $RAVEN_CONFIG || ( cat config.log && false) + - ../configure --cache-file=config.cache $BLAST_CONFIG_ALL $BLAST_CONFIG || ( cat config.log && false) - make distdir VERSION=$HOST - - cd raven-$HOST - - ./configure --cache-file=../config.cache $RAVEN_CONFIG_ALL $RAVEN_CONFIG || ( cat config.log && false) + - cd blast-$HOST + - ./configure --cache-file=../config.cache $BLAST_CONFIG_ALL $BLAST_CONFIG || ( cat config.log && false) - make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false ) - export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib - if [ "$RUN_TESTS" = "true" ]; then travis_wait 30 make $MAKEJOBS check VERBOSE=1; fi diff --git a/.tx/config b/.tx/config index 53365b7f21..7270cc41e9 100644 --- a/.tx/config +++ b/.tx/config @@ -1,7 +1,7 @@ [main] host = https://www.transifex.com -[raven.qt-translation-014x] -file_filter = src/qt/locale/raven_.ts -source_file = src/qt/locale/raven_en.ts +[blast.qt-translation-014x] +file_filter = src/qt/locale/bitcoin_.ts +source_file = src/qt/locale/bitcoin_en.ts source_lang = en diff --git a/Makefile.am b/Makefile.am index d405e7480c..037de9bdec 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,6 @@ # Copyright (c) 2013-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -13,21 +14,21 @@ endif override GZIP_ENV = "-9n" export PYTHONPATH -if BUILD_RAVEN_LIBS +if BUILD_BITCOIN_LIBS pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libravenconsensus.pc +pkgconfig_DATA = libbitcoinconsensus.pc endif -RAVEND_BIN=$(top_builddir)/src/$(RAVEN_DAEMON_NAME)$(EXEEXT) -RAVEN_QT_BIN=$(top_builddir)/src/qt/$(RAVEN_GUI_NAME)$(EXEEXT) -RAVEN_CLI_BIN=$(top_builddir)/src/$(RAVEN_CLI_NAME)$(EXEEXT) -RAVEN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) -RAVEN_CLI_INSTALL=$(top_builddir)/contrib/install_cli.sh +BITCOIND_BIN=$(top_builddir)/src/$(BITCOIN_DAEMON_NAME)$(EXEEXT) +BITCOIN_QT_BIN=$(top_builddir)/src/qt/$(BITCOIN_GUI_NAME)$(EXEEXT) +BITCOIN_CLI_BIN=$(top_builddir)/src/$(BITCOIN_CLI_NAME)$(EXEEXT) +BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) +BITCOIN_CLI_INSTALL=$(top_builddir)/contrib/install_cli.sh empty := space := $(empty) $(empty) -OSX_APP=Raven-Qt.app +OSX_APP=Blast-Qt.app OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME)) OSX_DMG = $(OSX_VOLNAME).dmg OSX_BACKGROUND_SVG=background.svg @@ -36,14 +37,14 @@ OSX_BACKGROUND_IMAGE_DPIS=36 72 OSX_DSSTORE_GEN=$(top_srcdir)/contrib/macdeploy/custom_dsstore.py OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist -OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/raven.icns +OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) -DIST_CONTRIB = $(top_srcdir)/contrib/raven-cli.bash-completion \ - $(top_srcdir)/contrib/raven-tx.bash-completion \ - $(top_srcdir)/contrib/ravend.bash-completion \ +DIST_CONTRIB = $(top_srcdir)/contrib/bitcoin-cli.bash-completion \ + $(top_srcdir)/contrib/bitcoin-tx.bash-completion \ + $(top_srcdir)/contrib/bitcoind.bash-completion \ $(top_srcdir)/contrib/init \ $(top_srcdir)/contrib/rpm DIST_SHARE = \ @@ -53,7 +54,7 @@ DIST_SHARE = \ BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \ $(top_srcdir)/contrib/devtools/security-check.py -WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/raven.ico \ +WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ $(top_srcdir)/share/pixmaps/nsis-header.bmp \ $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ $(top_srcdir)/doc/README_windows.txt @@ -65,18 +66,18 @@ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh COVERAGE_INFO = baseline.info \ - test_raven_filtered.info total_coverage.info \ + test_bitcoin_filtered.info total_coverage.info \ baseline_filtered.info functional_test.info functional_test_filtered.info \ - test_raven_coverage.info test_raven.info + test_bitcoin_coverage.info test_bitcoin.info dist-hook: -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - -$(RAVEN_WIN_INSTALLER): all-recursive +$(BITCOIN_WIN_INSTALLER): all-recursive $(MKDIR_P) $(top_builddir)/release - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(RAVEND_BIN) $(top_builddir)/release - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(RAVEN_QT_BIN) $(top_builddir)/release - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(RAVEN_CLI_BIN) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release @test -f $(MAKENSIS) && $(MAKENSIS) -V2 $(top_builddir)/share/setup.nsi || \ echo error: could not build $@ @echo built $@ @@ -93,23 +94,23 @@ $(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) $(MKDIR_P) $(@D) $(INSTALL_DATA) $< $@ -$(OSX_APP)/Contents/Resources/raven.icns: $(OSX_INSTALLER_ICONS) +$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) $(MKDIR_P) $(@D) $(INSTALL_DATA) $< $@ -$(OSX_APP)/Contents/MacOS/install_cli.sh: $(RAVEN_CLI_INSTALL) +$(OSX_APP)/Contents/MacOS/install_cli.sh: $(BITCOIN_CLI_INSTALL) $(MKDIR_P) $(@D) $(INSTALL_DATA) $< $@ -$(OSX_APP)/Contents/MacOS/Raven-Qt: $(RAVEN_QT_BIN) +$(OSX_APP)/Contents/MacOS/Blast-Qt: $(BITCOIN_QT_BIN) $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ -$(OSX_APP)/Contents/MacOS/ravend: $(RAVEND_BIN) +$(OSX_APP)/Contents/MacOS/blastd: $(BITCOIND_BIN) $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ -$(OSX_APP)/Contents/MacOS/raven-cli: $(RAVEN_CLI_BIN) +$(OSX_APP)/Contents/MacOS/blast-cli: $(BITCOIN_CLI_BIN) $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ @@ -118,9 +119,9 @@ $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings: echo '{ CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; }' > $@ OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ - $(OSX_APP)/Contents/Resources/raven.icns $(OSX_APP)/Contents/Info.plist \ - $(OSX_APP)/Contents/MacOS/Raven-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings \ - $(OSX_APP)/Contents/MacOS/ravend $(OSX_APP)/Contents/MacOS/raven-cli $(OSX_APP)/Contents/MacOS/install_cli.sh + $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ + $(OSX_APP)/Contents/MacOS/Blast-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings \ + $(OSX_APP)/Contents/MacOS/blastd $(OSX_APP)/Contents/MacOS/blast-cli $(OSX_APP)/Contents/MacOS/install_cli.sh osx_volname: echo $(OSX_VOLNAME) >$@ @@ -145,7 +146,7 @@ $(APP_DIST_DIR)/Applications: @rm -f $@ @cd $(@D); $(LN_S) /Applications $(@F) -$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Raven-Qt +$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Blast-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 @@ -160,7 +161,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/Raven-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) +$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Blast-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) @@ -171,16 +172,16 @@ appbundle: $(OSX_APP_BUILT) deploy: $(OSX_DMG) endif if TARGET_WINDOWS -deploy: $(RAVEN_WIN_INSTALLER) +deploy: $(BITCOIN_WIN_INSTALLER) endif -$(RAVEN_QT_BIN): FORCE +$(BITCOIN_QT_BIN): FORCE $(MAKE) -C src qt/$(@F) -$(RAVEND_BIN): FORCE +$(BITCOIND_BIN): FORCE $(MAKE) -C src $(@F) -$(RAVEN_CLI_BIN): FORCE +$(BITCOIN_CLI_BIN): FORCE $(MAKE) -C src $(@F) if USE_LCOV @@ -193,16 +194,16 @@ baseline_filtered.info: baseline.info $(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@ $(LCOV) -a $@ $(LCOV_OPTS) -o $@ -test_raven.info: baseline_filtered.info +test_bitcoin.info: baseline_filtered.info $(MAKE) -C src/ check - $(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src -t test_raven -o $@ + $(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src -t test_bitcoin -o $@ $(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src -test_raven_filtered.info: test_raven.info +test_bitcoin_filtered.info: test_bitcoin.info $(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@ $(LCOV) -a $@ $(LCOV_OPTS) -o $@ -functional_test.info: test_raven_filtered.info +functional_test.info: test_bitcoin_filtered.info -@TIMEOUT=15 test/functional/test_runner.py $(EXTENDED_FUNCTIONAL_TESTS) $(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src --t functional-tests -o $@ $(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src @@ -211,13 +212,13 @@ functional_test_filtered.info: functional_test.info $(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@ $(LCOV) -a $@ $(LCOV_OPTS) -o $@ -test_raven_coverage.info: baseline_filtered.info test_raven_filtered.info - $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_raven_filtered.info -o $@ +test_bitcoin_coverage.info: baseline_filtered.info test_bitcoin_filtered.info + $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -o $@ -total_coverage.info: test_raven_filtered.info functional_test_filtered.info - $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_raven_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt +total_coverage.info: test_bitcoin_filtered.info functional_test_filtered.info + $(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt -test_raven.coverage/.dirstamp: test_raven_coverage.info +test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info $(GENHTML) -s $(LCOV_OPTS) $< -o $(@D) @touch $@ @@ -225,7 +226,7 @@ total.coverage/.dirstamp: total_coverage.info $(GENHTML) -s $(LCOV_OPTS) $< -o $(@D) @touch $@ -cov: test_raven.coverage/.dirstamp total.coverage/.dirstamp +cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp endif @@ -234,8 +235,8 @@ 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 += \ - test/util/raven-util-test.py \ - test/util/data/raven-util-test.json \ + test/util/bitcoin-util-test.py \ + test/util/data/bitcoin-util-test.json \ test/util/data/blanktxv1.hex \ test/util/data/blanktxv1.json \ test/util/data/blanktxv2.hex \ @@ -286,12 +287,12 @@ EXTRA_DIST += \ test/util/data/txcreatesignv1.json \ test/util/data/txcreatesignv2.hex -CLEANFILES = $(OSX_DMG) $(RAVEN_WIN_INSTALLER) +CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) .INTERMEDIATE: $(COVERAGE_INFO) DISTCHECK_CONFIGURE_FLAGS = --enable-man clean-local: - rm -rf coverage_percent.txt test_raven.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP) + rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP) rm -rf test/functional/__pycache__ diff --git a/assets/asset_metadata_spec.md b/assets/asset_metadata_spec.md index e58ef24405..b0a5a094b9 100644 --- a/assets/asset_metadata_spec.md +++ b/assets/asset_metadata_spec.md @@ -43,7 +43,7 @@ Additional fields may be added, but will be ignored by Ravencoin. "forsale": true, - "forsale_price": "5000 RVN", + "forsale_price": "5000 BLAST", "domain": "bitactivate.com", @@ -92,8 +92,8 @@ All fields are optional. Clients, explorers, and wallets are not obligated to di **forsale** - Should be true or false. Used by desirable token names that have been left as reissuable. This is not for the cost of buying one token, but rather for buying the rights to own, control, and reissue the entire asset token. This might be parsed by token broker websites. -**forsale_price** - To give buyers an idea of the cost to own and admin the asset token. Price followed by a space, followed by the currency. Examples: "10000 RVN" or "0.3 BTC" or "50000 USD" This might be parsed by token broker websites. +**forsale_price** - To give buyers an idea of the cost to own and admin the asset token. Price followed by a space, followed by the currency. Examples: "10000 BLAST" or "0.3 BTC" or "50000 USD" This might be parsed by token broker websites. -**domain** - A root domain for the project (if applicable). Setting the TXT record for rvn. to a signed message of the token name -- signed by the issuer address. This could be verified by clients to ensure the token and domain go together. Example: Set TXT record for rvn.bitactivate.com to the signature of the message "BITACTIVATE". Any client or individual can verify the issuer address, message "BITACTIVATE" which is the token/asset name, and valid signature in the TXT record for rvn.bitactivate.com and return true/false. +**domain** - A root domain for the project (if applicable). Setting the TXT record for blast. to a signed message of the token name -- signed by the issuer address. This could be verified by clients to ensure the token and domain go together. Example: Set TXT record for blast.bitactivate.com to the signature of the message "BITACTIVATE". Any client or individual can verify the issuer address, message "BITACTIVATE" which is the token/asset name, and valid signature in the TXT record for blast.bitactivate.com and return true/false. **restricted** - Designate the token as being restricted. One example is "rule144" which means sale may be restricted because of the type of token and the exemption used for issuance. Other restrictions types can be used here as a signal to explorers, exchanges, or token brokers. No enforcement of restrictions is built into the Ravencoin protocol. diff --git a/assets/tools/ipfs_pinner.py b/assets/tools/ipfs_pinner.py index 19296b659a..59406663a4 100644 --- a/assets/tools/ipfs_pinner.py +++ b/assets/tools/ipfs_pinner.py @@ -349,8 +349,8 @@ def scan_asset_blocks(): print_debug("txinfo: " + tx_info) tx_detail = decode_rawtx(tx_info) for vout in tx_detail.get('vout'): - if (vout.get('scriptPubKey').get('asm')[86:98] == "OP_RVN_ASSET"): - print_debug("Found OP_RVN_ASSET") + if (vout.get('scriptPubKey').get('asm')[86:98] == "OP_BLAST_ASSET"): + print_debug("Found OP_BLAST_ASSET") print_debug(vout.get('scriptPubKey').get('hex')) asset_script = decode_script(vout.get('scriptPubKey').get('hex')) asset_handler(asset_script) @@ -400,8 +400,8 @@ def monitor_zmq(): for vout in tx_detail.get('vout'): #print("vout: " + str(vout.get('value'))) #print(vout.get('scriptPubKey').get('asm')) - if (vout.get('scriptPubKey').get('asm')[86:98] == "OP_RVN_ASSET"): - #print("Found OP_RVN_ASSET") + if (vout.get('scriptPubKey').get('asm')[86:98] == "OP_BLAST_ASSET"): + #print("Found OP_BLAST_ASSET") #print(vout.get('scriptPubKey').get('hex')) asset_script = decode_script(vout.get('scriptPubKey').get('hex')) asset_handler(asset_script) diff --git a/assets/tools/signed_promises.py b/assets/tools/signed_promises.py index ab91049dec..97bbdda005 100644 --- a/assets/tools/signed_promises.py +++ b/assets/tools/signed_promises.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # Script to find signed contract_urls -# Reads from a Ravencoin node - make sure its running +# Reads from a BLAST node - make sure its running # Runs through the assets looking for ones with meta data # Checks the meta data for contract_url # Downloads the documents - (named by asset) @@ -23,7 +23,7 @@ import hashlib -cli = "raven-cli" +cli = "blast-cli" mode = "-testnet" rpc_user = 'rpcuser' rpc_pass = 'rpcpass555' @@ -90,7 +90,7 @@ def get_signed_assets(assets): list_of_unsigned_assets = [] print(assets) for key,value in assets.iteritems(): - if key == 'RAVEN_WITH_METADATA': + if key == 'BLAST_WITH_METADATA': print("Key " + key) #print("Value " + value) print("Reading metadata for " + str(key)) diff --git a/assets/tools/txfacts.py b/assets/tools/txfacts.py index e3b5f05870..12bf1e4358 100644 --- a/assets/tools/txfacts.py +++ b/assets/tools/txfacts.py @@ -107,8 +107,8 @@ def asset_handler(asset_script): for vout in tx_detail.get('vout'): #print("vout: " + str(vout.get('value'))) #print(vout.get('scriptPubKey').get('asm')) - if (vout.get('scriptPubKey').get('asm')[86:98] == "OP_RVN_ASSET"): - #print("Found OP_RVN_ASSET") + if (vout.get('scriptPubKey').get('asm')[86:98] == "OP_BLAST_ASSET"): + #print("Found OP_BLAST_ASSET") #print(vout.get('scriptPubKey').get('hex')) asset_script = decode_script(vout.get('scriptPubKey').get('hex')) asset_handler(asset_script) diff --git a/build-aux/m4/raven_find_bdb48.m4 b/build-aux/m4/bitcoin_find_bdb48.m4 similarity index 94% rename from build-aux/m4/raven_find_bdb48.m4 rename to build-aux/m4/bitcoin_find_bdb48.m4 index b6b9b3d286..fce9b0cdad 100644 --- a/build-aux/m4/raven_find_bdb48.m4 +++ b/build-aux/m4/bitcoin_find_bdb48.m4 @@ -3,7 +3,7 @@ dnl Copyright (c) 2017 The Raven Core developers dnl Distributed under the MIT software license, see the accompanying dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. -AC_DEFUN([RAVEN_FIND_BDB48],[ +AC_DEFUN([BITCOIN_FIND_BDB48],[ AC_ARG_VAR(BDB_CFLAGS, [C compiler flags for BerkeleyDB, bypasses autodetection]) AC_ARG_VAR(BDB_LIBS, [Linker flags for BerkeleyDB, bypasses autodetection]) @@ -48,14 +48,14 @@ AC_DEFUN([RAVEN_FIND_BDB48],[ AC_MSG_RESULT([no]) AC_MSG_ERROR([libdb_cxx headers missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) elif test "x$bdb48path" = "xX"; then - RAVEN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!]) ],[ AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) ]) else - RAVEN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx) + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx) bdbpath="${bdb48path}" fi else diff --git a/build-aux/m4/raven_qt.m4 b/build-aux/m4/bitcoin_qt.m4 similarity index 62% rename from build-aux/m4/raven_qt.m4 rename to build-aux/m4/bitcoin_qt.m4 index cd2b3995d2..06688db6bb 100644 --- a/build-aux/m4/raven_qt.m4 +++ b/build-aux/m4/bitcoin_qt.m4 @@ -4,21 +4,21 @@ dnl Distributed under the MIT software license, see the accompanying dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. dnl Helper for cases where a qt dependency is not met. -dnl Output: If qt version is auto, set raven_enable_qt to false. Else, exit. -AC_DEFUN([RAVEN_QT_FAIL],[ - if test "x$raven_qt_want_version" = "xauto" && test x$raven_qt_force != xyes; then - if test x$raven_enable_qt != xno; then - AC_MSG_WARN([$1; raven-qt frontend will not be built]) +dnl Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit. +AC_DEFUN([BITCOIN_QT_FAIL],[ + if test "x$bitcoin_qt_want_version" = "xauto" && test x$bitcoin_qt_force != xyes; then + if test x$bitcoin_enable_qt != xno; then + AC_MSG_WARN([$1; bitcoin-qt frontend will not be built]) fi - raven_enable_qt=no - raven_enable_qt_test=no + bitcoin_enable_qt=no + bitcoin_enable_qt_test=no else AC_MSG_ERROR([$1]) fi ]) -AC_DEFUN([RAVEN_QT_CHECK],[ - if test "x$raven_enable_qt" != "xno" && test x$raven_qt_want_version != xno; then +AC_DEFUN([BITCOIN_QT_CHECK],[ + if test "x$bitcoin_enable_qt" != "xno" && test x$bitcoin_qt_want_version != xno; then true $1 else @@ -27,43 +27,43 @@ AC_DEFUN([RAVEN_QT_CHECK],[ fi ]) -dnl RAVEN_QT_PATH_PROGS([FOO], [foo foo2], [/path/to/search/first], [continue if missing]) +dnl BITCOIN_QT_PATH_PROGS([FOO], [foo foo2], [/path/to/search/first], [continue if missing]) dnl Helper for finding the path of programs needed for Qt. dnl Inputs: $1: Variable to be set dnl Inputs: $2: List of programs to search for dnl Inputs: $3: Look for $2 here before $PATH dnl Inputs: $4: If "yes", don't fail if $2 is not found. dnl Output: $1 is set to the path of $2 if found. $2 are searched in order. -AC_DEFUN([RAVEN_QT_PATH_PROGS],[ - RAVEN_QT_CHECK([ +AC_DEFUN([BITCOIN_QT_PATH_PROGS],[ + BITCOIN_QT_CHECK([ if test "x$3" != "x"; then AC_PATH_PROGS($1,$2,,$3) else AC_PATH_PROGS($1,$2) fi if test "x$$1" = "x" && test "x$4" != "xyes"; then - RAVEN_QT_FAIL([$1 not found]) + BITCOIN_QT_FAIL([$1 not found]) fi ]) ]) dnl Initialize qt input. -dnl This must be called before any other RAVEN_QT* macros to ensure that +dnl This must be called before any other BITCOIN_QT* macros to ensure that dnl input variables are set correctly. dnl CAUTION: Do not use this inside of a conditional. -AC_DEFUN([RAVEN_QT_INIT],[ +AC_DEFUN([BITCOIN_QT_INIT],[ dnl enable qt support AC_ARG_WITH([gui], [AS_HELP_STRING([--with-gui@<:@=no|qt4|qt5|auto@:>@], - [build raven-qt GUI (default=auto, qt5 tried first)])], + [build bitcoin-qt GUI (default=auto, qt5 tried first)])], [ - raven_qt_want_version=$withval - if test x$raven_qt_want_version = xyes; then - raven_qt_force=yes - raven_qt_want_version=auto + bitcoin_qt_want_version=$withval + if test x$bitcoin_qt_want_version = xyes; then + bitcoin_qt_force=yes + bitcoin_qt_want_version=auto fi ], - [raven_qt_want_version=auto]) + [bitcoin_qt_want_version=auto]) AC_ARG_WITH([qt-incdir],[AS_HELP_STRING([--with-qt-incdir=INC_DIR],[specify qt include path (overridden by pkgconfig)])], [qt_include_path=$withval], []) AC_ARG_WITH([qt-libdir],[AS_HELP_STRING([--with-qt-libdir=LIB_DIR],[specify qt lib path (overridden by pkgconfig)])], [qt_lib_path=$withval], []) @@ -84,10 +84,10 @@ dnl Find the appropriate version of Qt libraries and includes. dnl Inputs: $1: Whether or not pkg-config should be used. yes|no. Default: yes. dnl Inputs: $2: If $1 is "yes" and --with-gui=auto, which qt version should be dnl tried first. -dnl Outputs: See _RAVEN_QT_FIND_LIBS_* +dnl Outputs: See _BITCOIN_QT_FIND_LIBS_* dnl Outputs: Sets variables for all qt-related tools. -dnl Outputs: raven_enable_qt, raven_enable_qt_dbus, raven_enable_qt_test -AC_DEFUN([RAVEN_QT_CONFIGURE],[ +dnl Outputs: bitcoin_enable_qt, bitcoin_enable_qt_dbus, bitcoin_enable_qt_test +AC_DEFUN([BITCOIN_QT_CONFIGURE],[ use_pkgconfig=$1 if test x$use_pkgconfig = x; then @@ -95,9 +95,9 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ fi if test x$use_pkgconfig = xyes; then - RAVEN_QT_CHECK([_RAVEN_QT_FIND_LIBS_WITH_PKGCONFIG([$2])]) + BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG([$2])]) else - RAVEN_QT_CHECK([_RAVEN_QT_FIND_LIBS_WITHOUT_PKGCONFIG]) + BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG]) fi dnl This is ugly and complicated. Yuck. Works as follows: @@ -107,48 +107,48 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ dnl Qt4 and Qt5. With Qt5, languages moved into core and the WindowsIntegration dnl plugin was added. Since we can't tell if Qt4 is static or not, it is dnl assumed for windows builds. - dnl _RAVEN_QT_CHECK_STATIC_PLUGINS does a quick link-check and appends the + dnl _BITCOIN_QT_CHECK_STATIC_PLUGINS does a quick link-check and appends the dnl results to QT_LIBS. - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ TEMP_CPPFLAGS=$CPPFLAGS TEMP_CXXFLAGS=$CXXFLAGS CPPFLAGS="$QT_INCLUDES $CPPFLAGS" CXXFLAGS="$PIC_FLAGS $CXXFLAGS" - if test x$raven_qt_got_major_vers = x5; then - _RAVEN_QT_IS_STATIC - if test x$raven_cv_static_qt = xyes; then - _RAVEN_QT_FIND_STATIC_PLUGINS + if test x$bitcoin_qt_got_major_vers = x5; then + _BITCOIN_QT_IS_STATIC + if test x$bitcoin_cv_static_qt = xyes; then + _BITCOIN_QT_FIND_STATIC_PLUGINS AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static]) - AC_CACHE_CHECK(for Qt < 5.4, raven_cv_need_acc_widget,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + AC_CACHE_CHECK(for Qt < 5.4, bitcoin_cv_need_acc_widget,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include ]],[[ #if QT_VERSION >= 0x050400 choke; #endif ]])], - [raven_cv_need_acc_widget=yes], - [raven_cv_need_acc_widget=no]) + [bitcoin_cv_need_acc_widget=yes], + [bitcoin_cv_need_acc_widget=no]) ]) - if test "x$raven_cv_need_acc_widget" = "xyes"; then - _RAVEN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(AccessibleFactory)], [-lqtaccessiblewidgets]) + if test "x$bitcoin_cv_need_acc_widget" = "xyes"; then + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(AccessibleFactory)], [-lqtaccessiblewidgets]) fi - _RAVEN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal]) + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal]) AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists]) if test x$TARGET_OS = xwindows; then - _RAVEN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)],[-lqwindows]) + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)],[-lqwindows]) AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows]) elif test x$TARGET_OS = xlinux; then - _RAVEN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)],[-lqxcb -lxcb-static]) + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)],[-lqxcb -lxcb-static]) AC_DEFINE(QT_QPA_PLATFORM_XCB, 1, [Define this symbol if the qt platform is xcb]) elif test x$TARGET_OS = xdarwin; then AX_CHECK_LINK_FLAG([[-framework IOKit]],[QT_LIBS="$QT_LIBS -framework IOKit"],[AC_MSG_ERROR(could not iokit framework)]) - _RAVEN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)],[-lqcocoa]) + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)],[-lqcocoa]) AC_DEFINE(QT_QPA_PLATFORM_COCOA, 1, [Define this symbol if the qt platform is cocoa]) fi fi else if test x$TARGET_OS = xwindows; then AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static]) - _RAVEN_QT_CHECK_STATIC_PLUGINS([ + _BITCOIN_QT_CHECK_STATIC_PLUGINS([ Q_IMPORT_PLUGIN(qcncodecs) Q_IMPORT_PLUGIN(qjpcodecs) Q_IMPORT_PLUGIN(qtwcodecs) @@ -162,13 +162,13 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ ]) if test x$use_pkgconfig$qt_bin_path = xyes; then - if test x$raven_qt_got_major_vers = x5; then + if test x$bitcoin_qt_got_major_vers = x5; then qt_bin_path="`$PKG_CONFIG --variable=host_bins Qt5Core 2>/dev/null`" fi fi if test x$use_hardening != xno; then - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ AC_MSG_CHECKING(whether -fPIE can be used with this Qt config) TEMP_CPPFLAGS=$CPPFLAGS TEMP_CXXFLAGS=$CXXFLAGS @@ -187,7 +187,7 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ CXXFLAGS=$TEMP_CXXFLAGS ]) else - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ AC_MSG_CHECKING(whether -fPIC is needed with this Qt config) TEMP_CPPFLAGS=$CPPFLAGS CPPFLAGS="$QT_INCLUDES $CPPFLAGS" @@ -204,23 +204,23 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ ]) fi - RAVEN_QT_PATH_PROGS([MOC], [moc-qt${raven_qt_got_major_vers} moc${raven_qt_got_major_vers} moc], $qt_bin_path) - RAVEN_QT_PATH_PROGS([UIC], [uic-qt${raven_qt_got_major_vers} uic${raven_qt_got_major_vers} uic], $qt_bin_path) - RAVEN_QT_PATH_PROGS([RCC], [rcc-qt${raven_qt_got_major_vers} rcc${raven_qt_got_major_vers} rcc], $qt_bin_path) - RAVEN_QT_PATH_PROGS([LRELEASE], [lrelease-qt${raven_qt_got_major_vers} lrelease${raven_qt_got_major_vers} lrelease], $qt_bin_path) - RAVEN_QT_PATH_PROGS([LUPDATE], [lupdate-qt${raven_qt_got_major_vers} lupdate${raven_qt_got_major_vers} lupdate],$qt_bin_path, yes) + BITCOIN_QT_PATH_PROGS([MOC], [moc-qt${bitcoin_qt_got_major_vers} moc${bitcoin_qt_got_major_vers} moc], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([UIC], [uic-qt${bitcoin_qt_got_major_vers} uic${bitcoin_qt_got_major_vers} uic], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([RCC], [rcc-qt${bitcoin_qt_got_major_vers} rcc${bitcoin_qt_got_major_vers} rcc], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([LRELEASE], [lrelease-qt${bitcoin_qt_got_major_vers} lrelease${bitcoin_qt_got_major_vers} lrelease], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([LUPDATE], [lupdate-qt${bitcoin_qt_got_major_vers} lupdate${bitcoin_qt_got_major_vers} lupdate],$qt_bin_path, yes) MOC_DEFS='-DHAVE_CONFIG_H -I$(srcdir)' case $host in *darwin*) - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ MOC_DEFS="${MOC_DEFS} -DQ_OS_MAC" base_frameworks="-framework Foundation -framework ApplicationServices -framework AppKit" AX_CHECK_LINK_FLAG([[$base_frameworks]],[QT_LIBS="$QT_LIBS $base_frameworks"],[AC_MSG_ERROR(could not find base frameworks)]) ]) ;; *mingw*) - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ AX_CHECK_LINK_FLAG([[-mwindows]],[QT_LDFLAGS="$QT_LDFLAGS -mwindows"],[AC_MSG_WARN(-mwindows linker support not detected)]) ]) esac @@ -228,15 +228,15 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ dnl enable qt support AC_MSG_CHECKING(whether to build ]AC_PACKAGE_NAME[ GUI) - RAVEN_QT_CHECK([ - raven_enable_qt=yes - raven_enable_qt_test=yes + BITCOIN_QT_CHECK([ + bitcoin_enable_qt=yes + bitcoin_enable_qt_test=yes if test x$have_qt_test = xno; then - raven_enable_qt_test=no + bitcoin_enable_qt_test=no fi - raven_enable_qt_dbus=no + bitcoin_enable_qt_dbus=no if test x$use_dbus != xno && test x$have_qt_dbus = xyes; then - raven_enable_qt_dbus=yes + bitcoin_enable_qt_dbus=yes fi if test x$use_dbus = xyes && test x$have_qt_dbus = xno; then AC_MSG_ERROR("libQtDBus not found. Install libQtDBus or remove --with-qtdbus.") @@ -245,9 +245,9 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ AC_MSG_WARN("lupdate is required to update qt translations") fi ],[ - raven_enable_qt=no + bitcoin_enable_qt=no ]) - AC_MSG_RESULT([$raven_enable_qt (Qt${raven_qt_got_major_vers})]) + AC_MSG_RESULT([$bitcoin_enable_qt (Qt${bitcoin_qt_got_major_vers})]) AC_SUBST(QT_PIE_FLAGS) AC_SUBST(QT_INCLUDES) @@ -257,7 +257,7 @@ AC_DEFUN([RAVEN_QT_CONFIGURE],[ AC_SUBST(QT_DBUS_LIBS) AC_SUBST(QT_TEST_INCLUDES) AC_SUBST(QT_TEST_LIBS) - AC_SUBST(QT_SELECT, qt${raven_qt_got_major_vers}) + AC_SUBST(QT_SELECT, qt${bitcoin_qt_got_major_vers}) AC_SUBST(MOC_DEFS) ]) @@ -267,9 +267,9 @@ dnl ---- dnl Internal. Check if the included version of Qt is Qt5. dnl Requires: INCLUDES must be populated as necessary. -dnl Output: raven_cv_qt5=yes|no -AC_DEFUN([_RAVEN_QT_CHECK_QT5],[ - AC_CACHE_CHECK(for Qt 5, raven_cv_qt5,[ +dnl Output: bitcoin_cv_qt5=yes|no +AC_DEFUN([_BITCOIN_QT_CHECK_QT5],[ + AC_CACHE_CHECK(for Qt 5, bitcoin_cv_qt5,[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include ]], [[ @@ -279,17 +279,17 @@ AC_DEFUN([_RAVEN_QT_CHECK_QT5],[ return 0; #endif ]])], - [raven_cv_qt5=yes], - [raven_cv_qt5=no]) + [bitcoin_cv_qt5=yes], + [bitcoin_cv_qt5=no]) ])]) dnl Internal. Check if the linked version of Qt was built as static libs. dnl Requires: Qt5. This check cannot determine if Qt4 is static. dnl Requires: INCLUDES and LIBS must be populated as necessary. -dnl Output: raven_cv_static_qt=yes|no +dnl Output: bitcoin_cv_static_qt=yes|no dnl Output: Defines QT_STATICPLUGIN if plugins are static. -AC_DEFUN([_RAVEN_QT_IS_STATIC],[ - AC_CACHE_CHECK(for static Qt, raven_cv_static_qt,[ +AC_DEFUN([_BITCOIN_QT_IS_STATIC],[ + AC_CACHE_CHECK(for static Qt, bitcoin_cv_static_qt,[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include ]], [[ @@ -299,10 +299,10 @@ AC_DEFUN([_RAVEN_QT_IS_STATIC],[ choke me #endif ]])], - [raven_cv_static_qt=yes], - [raven_cv_static_qt=no]) + [bitcoin_cv_static_qt=yes], + [bitcoin_cv_static_qt=no]) ]) - if test xraven_cv_static_qt = xyes; then + if test xbitcoin_cv_static_qt = xyes; then AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol for static Qt plugins]) fi ]) @@ -312,7 +312,7 @@ dnl Requires: INCLUDES and LIBS must be populated as necessary. dnl Inputs: $1: A series of Q_IMPORT_PLUGIN(). dnl Inputs: $2: The libraries that resolve $1. dnl Output: QT_LIBS is prepended or configure exits. -AC_DEFUN([_RAVEN_QT_CHECK_STATIC_PLUGINS],[ +AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_PLUGINS],[ AC_MSG_CHECKING(for static Qt plugins: $2) CHECK_STATIC_PLUGINS_TEMP_LIBS="$LIBS" LIBS="$2 $QT_LIBS $LIBS" @@ -322,16 +322,16 @@ AC_DEFUN([_RAVEN_QT_CHECK_STATIC_PLUGINS],[ $1]], [[return 0;]])], [AC_MSG_RESULT(yes); QT_LIBS="$2 $QT_LIBS"], - [AC_MSG_RESULT(no); RAVEN_QT_FAIL(Could not resolve: $2)]) + [AC_MSG_RESULT(no); BITCOIN_QT_FAIL(Could not resolve: $2)]) LIBS="$CHECK_STATIC_PLUGINS_TEMP_LIBS" ]) dnl Internal. Find paths necessary for linking qt static plugins -dnl Inputs: raven_qt_got_major_vers. 4 or 5. +dnl Inputs: bitcoin_qt_got_major_vers. 4 or 5. dnl Inputs: qt_plugin_path. optional. dnl Outputs: QT_LIBS is appended -AC_DEFUN([_RAVEN_QT_FIND_STATIC_PLUGINS],[ - if test x$raven_qt_got_major_vers = x5; then +AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[ + if test x$bitcoin_qt_got_major_vers = x5; then if test x$qt_plugin_path != x; then QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms" if test -d "$qt_plugin_path/accessible"; then @@ -353,17 +353,17 @@ AC_DEFUN([_RAVEN_QT_FIND_STATIC_PLUGINS],[ ]) else if test x$TARGET_OS = xwindows; then - AC_CACHE_CHECK(for Qt >= 5.6, raven_cv_need_platformsupport,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + AC_CACHE_CHECK(for Qt >= 5.6, bitcoin_cv_need_platformsupport,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include ]],[[ #if QT_VERSION < 0x050600 choke; #endif ]])], - [raven_cv_need_platformsupport=yes], - [raven_cv_need_platformsupport=no]) + [bitcoin_cv_need_platformsupport=yes], + [bitcoin_cv_need_platformsupport=no]) ]) - if test x$raven_cv_need_platformsupport = xyes; then - RAVEN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}PlatformSupport],[main],,RAVEN_QT_FAIL(lib$QT_LIB_PREFIXPlatformSupport not found))) + if test x$bitcoin_cv_need_platformsupport = xyes; then + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}PlatformSupport],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXPlatformSupport not found))) fi fi fi @@ -376,49 +376,49 @@ AC_DEFUN([_RAVEN_QT_FIND_STATIC_PLUGINS],[ ]) dnl Internal. Find Qt libraries using pkg-config. -dnl Inputs: raven_qt_want_version (from --with-gui=). The version to check +dnl Inputs: bitcoin_qt_want_version (from --with-gui=). The version to check dnl first. -dnl Inputs: $1: If raven_qt_want_version is "auto", check for this version +dnl Inputs: $1: If bitcoin_qt_want_version is "auto", check for this version dnl first. dnl Outputs: All necessary QT_* variables are set. -dnl Outputs: raven_qt_got_major_vers is set to "4" or "5". +dnl Outputs: bitcoin_qt_got_major_vers is set to "4" or "5". dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no. -AC_DEFUN([_RAVEN_QT_FIND_LIBS_WITH_PKGCONFIG],[ +AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[ m4_ifdef([PKG_CHECK_MODULES],[ auto_priority_version=$1 if test x$auto_priority_version = x; then auto_priority_version=qt5 fi - if test x$raven_qt_want_version = xqt5 || ( test x$raven_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then + if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then QT_LIB_PREFIX=Qt5 - raven_qt_got_major_vers=5 + bitcoin_qt_got_major_vers=5 else QT_LIB_PREFIX=Qt - raven_qt_got_major_vers=4 + bitcoin_qt_got_major_vers=4 fi qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets" qt4_modules="QtCore QtGui QtNetwork" - RAVEN_QT_CHECK([ - if test x$raven_qt_want_version = xqt5 || ( test x$raven_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then + BITCOIN_QT_CHECK([ + if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" have_qt=yes],[have_qt=no]) - elif test x$raven_qt_want_version = xqt4 || ( test x$raven_qt_want_version = xauto && test x$auto_priority_version = xqt4 ); then + elif test x$bitcoin_qt_want_version = xqt4 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt4 ); then PKG_CHECK_MODULES([QT4], [$qt4_modules], [QT_INCLUDES="$QT4_CFLAGS"; QT_LIBS="$QT4_LIBS" ; have_qt=yes], [have_qt=no]) fi dnl qt version is set to 'auto' and the preferred version wasn't found. Now try the other. - if test x$have_qt = xno && test x$raven_qt_want_version = xauto; then + if test x$have_qt = xno && test x$bitcoin_qt_want_version = xauto; then if test x$auto_priority_version = xqt5; then - PKG_CHECK_MODULES([QT4], [$qt4_modules], [QT_INCLUDES="$QT4_CFLAGS"; QT_LIBS="$QT4_LIBS" ; have_qt=yes; QT_LIB_PREFIX=Qt; raven_qt_got_major_vers=4], [have_qt=no]) + PKG_CHECK_MODULES([QT4], [$qt4_modules], [QT_INCLUDES="$QT4_CFLAGS"; QT_LIBS="$QT4_LIBS" ; have_qt=yes; QT_LIB_PREFIX=Qt; bitcoin_qt_got_major_vers=4], [have_qt=no]) else - PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" ; have_qt=yes; QT_LIB_PREFIX=Qt5; raven_qt_got_major_vers=5], [have_qt=no]) + PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" ; have_qt=yes; QT_LIB_PREFIX=Qt5; bitcoin_qt_got_major_vers=5], [have_qt=no]) fi fi if test x$have_qt != xyes; then have_qt=no - RAVEN_QT_FAIL([Qt dependencies not found]) + BITCOIN_QT_FAIL([Qt dependencies not found]) fi ]) - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ PKG_CHECK_MODULES([QT_TEST], [${QT_LIB_PREFIX}Test], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no]) if test x$use_dbus != xno; then PKG_CHECK_MODULES([QT_DBUS], [${QT_LIB_PREFIX}DBus], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no]) @@ -430,66 +430,66 @@ AC_DEFUN([_RAVEN_QT_FIND_LIBS_WITH_PKGCONFIG],[ dnl Internal. Find Qt libraries without using pkg-config. Version is deduced dnl from the discovered headers. -dnl Inputs: raven_qt_want_version (from --with-gui=). The version to use. -dnl If "auto", the version will be discovered by _RAVEN_QT_CHECK_QT5. +dnl Inputs: bitcoin_qt_want_version (from --with-gui=). The version to use. +dnl If "auto", the version will be discovered by _BITCOIN_QT_CHECK_QT5. dnl Outputs: All necessary QT_* variables are set. -dnl Outputs: raven_qt_got_major_vers is set to "4" or "5". +dnl Outputs: bitcoin_qt_got_major_vers is set to "4" or "5". dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no. -AC_DEFUN([_RAVEN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ +AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ TEMP_CPPFLAGS="$CPPFLAGS" TEMP_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$PIC_FLAGS $CXXFLAGS" TEMP_LIBS="$LIBS" - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ if test x$qt_include_path != x; then QT_INCLUDES="-I$qt_include_path -I$qt_include_path/QtCore -I$qt_include_path/QtGui -I$qt_include_path/QtWidgets -I$qt_include_path/QtNetwork -I$qt_include_path/QtTest -I$qt_include_path/QtDBus" CPPFLAGS="$QT_INCLUDES $CPPFLAGS" fi ]) - RAVEN_QT_CHECK([AC_CHECK_HEADER([QtPlugin],,RAVEN_QT_FAIL(QtCore headers missing))]) - RAVEN_QT_CHECK([AC_CHECK_HEADER([QApplication],, RAVEN_QT_FAIL(QtGui headers missing))]) - RAVEN_QT_CHECK([AC_CHECK_HEADER([QLocalSocket],, RAVEN_QT_FAIL(QtNetwork headers missing))]) + BITCOIN_QT_CHECK([AC_CHECK_HEADER([QtPlugin],,BITCOIN_QT_FAIL(QtCore headers missing))]) + BITCOIN_QT_CHECK([AC_CHECK_HEADER([QApplication],, BITCOIN_QT_FAIL(QtGui headers missing))]) + BITCOIN_QT_CHECK([AC_CHECK_HEADER([QLocalSocket],, BITCOIN_QT_FAIL(QtNetwork headers missing))]) - RAVEN_QT_CHECK([ - if test x$raven_qt_want_version = xauto; then - _RAVEN_QT_CHECK_QT5 + BITCOIN_QT_CHECK([ + if test x$bitcoin_qt_want_version = xauto; then + _BITCOIN_QT_CHECK_QT5 fi - if test x$raven_cv_qt5 = xyes || test x$raven_qt_want_version = xqt5; then + if test x$bitcoin_cv_qt5 = xyes || test x$bitcoin_qt_want_version = xqt5; then QT_LIB_PREFIX=Qt5 - raven_qt_got_major_vers=5 + bitcoin_qt_got_major_vers=5 else QT_LIB_PREFIX=Qt - raven_qt_got_major_vers=4 + bitcoin_qt_got_major_vers=4 fi ]) - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ LIBS= if test x$qt_lib_path != x; then LIBS="$LIBS -L$qt_lib_path" fi if test x$TARGET_OS = xwindows; then - AC_CHECK_LIB([imm32], [main],, RAVEN_QT_FAIL(libimm32 not found)) + AC_CHECK_LIB([imm32], [main],, BITCOIN_QT_FAIL(libimm32 not found)) fi ]) - RAVEN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in]))) - RAVEN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in]))) - RAVEN_QT_CHECK(AC_SEARCH_LIBS([jpeg_create_decompress] ,[qtjpeg jpeg],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in]))) - RAVEN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in]))) - RAVEN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled]))) - RAVEN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,RAVEN_QT_FAIL(lib$QT_LIB_PREFIXCore not found))) - RAVEN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,RAVEN_QT_FAIL(lib$QT_LIB_PREFIXGui not found))) - RAVEN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,RAVEN_QT_FAIL(lib$QT_LIB_PREFIXNetwork not found))) - if test x$raven_qt_got_major_vers = x5; then - RAVEN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Widgets],[main],,RAVEN_QT_FAIL(lib$QT_LIB_PREFIXWidgets not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([jpeg_create_decompress] ,[qtjpeg jpeg],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled]))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXCore not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXGui not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXNetwork not found))) + if test x$bitcoin_qt_got_major_vers = x5; then + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Widgets],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXWidgets not found))) fi QT_LIBS="$LIBS" LIBS="$TEMP_LIBS" - RAVEN_QT_CHECK([ + BITCOIN_QT_CHECK([ LIBS= if test x$qt_lib_path != x; then LIBS="-L$qt_lib_path" diff --git a/build-aux/m4/raven_subdir_to_include.m4 b/build-aux/m4/bitcoin_subdir_to_include.m4 similarity index 84% rename from build-aux/m4/raven_subdir_to_include.m4 rename to build-aux/m4/bitcoin_subdir_to_include.m4 index e52c90eb67..58fceee13d 100644 --- a/build-aux/m4/raven_subdir_to_include.m4 +++ b/build-aux/m4/bitcoin_subdir_to_include.m4 @@ -3,9 +3,9 @@ dnl Copyright (c) 2017 The Raven Core developers dnl Distributed under the MIT software license, see the accompanying dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. -dnl RAVEN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE]) +dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE]) dnl SUBDIRECTORY-NAME must end with a path separator -AC_DEFUN([RAVEN_SUBDIR_TO_INCLUDE],[ +AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[ if test "x$2" = "x"; then AC_MSG_RESULT([default]) else diff --git a/configure.ac b/configure.ac index 024be5df6b..7bebe1cc4e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,23 +1,23 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 2) -define(_CLIENT_VERSION_MINOR, 2) -define(_CLIENT_VERSION_REVISION, 2) +define(_CLIENT_VERSION_MINOR, 0) +define(_CLIENT_VERSION_REVISION, 0) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) -define(_COPYRIGHT_YEAR, 2018) +define(_COPYRIGHT_YEAR, 2019) define(_COPYRIGHT_HOLDERS,[The %s developers]) -define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Raven Core]]) -AC_INIT([Raven Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/RavenProject/Ravencoin/issues],[raven],[https://ravencoin.org/]) +define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[BLAST Core]]) +AC_INIT([BLAST Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/cryptoBLAST/Blast-Core/issues],[blast],[https://blastblastblast.com/]) AC_CONFIG_SRCDIR([src/validation.cpp]) -AC_CONFIG_HEADERS([src/config/raven-config.h]) +AC_CONFIG_HEADERS([src/config/bitcoin-config.h]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([build-aux/m4]) -RAVEN_DAEMON_NAME=ravend -RAVEN_GUI_NAME=raven-qt -RAVEN_CLI_NAME=raven-cli -RAVEN_TX_NAME=raven-tx +BITCOIN_DAEMON_NAME=blastd +BITCOIN_GUI_NAME=blast-qt +BITCOIN_CLI_NAME=blast-cli +BITCOIN_TX_NAME=blast-tx dnl Unless the user specified ARFLAGS, force it to be cr AC_ARG_VAR(ARFLAGS, [Flags for the archiver, defaults to if not set]) @@ -27,9 +27,9 @@ fi AC_CANONICAL_HOST -AH_TOP([#ifndef RAVEN_CONFIG_H]) -AH_TOP([#define RAVEN_CONFIG_H]) -AH_BOTTOM([#endif //RAVEN_CONFIG_H]) +AH_TOP([#ifndef BITCOIN_CONFIG_H]) +AH_TOP([#define BITCOIN_CONFIG_H]) +AH_BOTTOM([#endif //BITCOIN_CONFIG_H]) dnl faketime breaks configure and is only needed for make. Disable it here. unset FAKETIME @@ -83,7 +83,7 @@ AC_PATH_TOOL(RANLIB, ranlib) AC_PATH_TOOL(STRIP, strip) AC_PATH_TOOL(GCOV, gcov) AC_PATH_PROG(LCOV, lcov) -dnl Python 3.x is supported from 3.4 on (see https://github.com/RavenProject/Ravencoin/issues/7893) +dnl Python 3.x is supported from 3.4 on (see https://github.com/bitcoin/bitcoin/issues/7893) AC_PATH_PROGS([PYTHON], [python3.6 python3.5 python3.4 python3 python2.7 python2 python]) AC_PATH_PROG(GENHTML, genhtml) AC_PATH_PROG([GIT], [git]) @@ -291,27 +291,27 @@ CPPFLAGS="$CPPFLAGS -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS" AC_ARG_WITH([cli], [AS_HELP_STRING([--with-cli], - [build raven-cli (default=yes)])], - [build_raven_cli=$withval], - [build_raven_cli=yes]) + [build bitcoin-cli (default=yes)])], + [build_bitcoin_cli=$withval], + [build_bitcoin_cli=yes]) AC_ARG_WITH([tx], [AS_HELP_STRING([--with-tx], - [build raven-tx (default=no)])], - [build_raven_tx=$withval], - [build_raven_tx=no]) + [build bitcoin-tx (default=no)])], + [build_bitcoin_tx=$withval], + [build_bitcoin_tx=no]) AC_ARG_WITH([libs], [AS_HELP_STRING([--with-libs], [build libraries (default=yes)])], - [build_raven_libs=$withval], - [build_raven_libs=yes]) + [build_bitcoin_libs=$withval], + [build_bitcoin_libs=yes]) AC_ARG_WITH([daemon], [AS_HELP_STRING([--with-daemon], - [build ravend daemon (default=yes)])], - [build_ravend=$withval], - [build_ravend=yes]) + [build bitcoind daemon (default=yes)])], + [build_bitcoind=$withval], + [build_bitcoind=yes]) use_pkgconfig=yes case $host in @@ -508,7 +508,7 @@ AC_C_BIGENDIAN dnl Check for pthread compile/link requirements AX_PTHREAD -# The following macro will add the necessary defines to raven-config.h, but +# The following macro will add the necessary defines to bitcoin-config.h, but # they also need to be passed down to any subprojects. Pull the results out of # the cache and add them to CPPFLAGS. AC_SYS_LARGEFILE @@ -717,7 +717,7 @@ AC_SUBST(LIBMEMENV) if test x$enable_wallet != xno; then dnl Check for libdb_cxx only if wallet enabled - RAVEN_FIND_BDB48 + BITCOIN_FIND_BDB48 fi dnl Check for libminiupnpc (optional) @@ -729,12 +729,12 @@ if test x$use_upnp != xno; then ) fi -RAVEN_QT_INIT +BITCOIN_QT_INIT -dnl sets $raven_enable_qt, $raven_enable_qt_test, $raven_enable_qt_dbus -RAVEN_QT_CONFIGURE([$use_pkgconfig], [qt5]) +dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus +BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt5]) -if test x$build_raven_cli$build_raven_tx$build_ravend$raven_enable_qt$use_tests$use_bench = xnononononono; then +if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnononononono; then use_boost=no else use_boost=yes @@ -916,11 +916,11 @@ if test x$use_pkgconfig = xyes; then [ PKG_CHECK_MODULES([SSL], [libssl],, [AC_MSG_ERROR(openssl not found.)]) PKG_CHECK_MODULES([CRYPTO], [libcrypto],,[AC_MSG_ERROR(libcrypto not found.)]) - RAVEN_QT_CHECK([PKG_CHECK_MODULES([PROTOBUF], [protobuf], [have_protobuf=yes], [RAVEN_QT_FAIL(libprotobuf not found)])]) + BITCOIN_QT_CHECK([PKG_CHECK_MODULES([PROTOBUF], [protobuf], [have_protobuf=yes], [BITCOIN_QT_FAIL(libprotobuf not found)])]) if test x$use_qr != xno; then - RAVEN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])]) + BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])]) fi - if test x$build_raven_cli$build_raven_tx$build_ravend$raven_enable_qt$use_tests != xnonononono; then + if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests != xnonononono; then PKG_CHECK_MODULES([EVENT], [libevent],, [AC_MSG_ERROR(libevent not found.)]) if test x$TARGET_OS != xwindows; then PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads],, [AC_MSG_ERROR(libevent_pthreads not found.)]) @@ -945,7 +945,7 @@ else AC_CHECK_HEADER([openssl/ssl.h],, AC_MSG_ERROR(libssl headers missing),) AC_CHECK_LIB([ssl], [main],SSL_LIBS=-lssl, AC_MSG_ERROR(libssl missing)) - if test x$build_raven_cli$build_raven_tx$build_ravend$raven_enable_qt$use_tests != xnonononono; then + if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests != xnonononono; then AC_CHECK_HEADER([event2/event.h],, AC_MSG_ERROR(libevent headers missing),) AC_CHECK_LIB([event],[main],EVENT_LIBS=-levent,AC_MSG_ERROR(libevent missing)) if test x$TARGET_OS != xwindows; then @@ -976,10 +976,10 @@ else esac fi - RAVEN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], RAVEN_QT_FAIL(libprotobuf not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], BITCOIN_QT_FAIL(libprotobuf not found))) if test x$use_qr != xno; then - RAVEN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])]) - RAVEN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)]) + BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])]) + BITCOIN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)]) fi fi @@ -994,7 +994,7 @@ dnl univalue check need_bundled_univalue=yes -if test x$build_raven_cli$build_raven_tx$build_ravend$raven_enable_qt$use_tests$use_bench = xnonononono; then +if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then need_bundled_univalue=no else @@ -1038,27 +1038,27 @@ AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$need_bundled_univalue = xyes]) AC_SUBST(UNIVALUE_CFLAGS) AC_SUBST(UNIVALUE_LIBS) -RAVEN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path) +BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path) -AC_MSG_CHECKING([whether to build ravend]) -AM_CONDITIONAL([BUILD_RAVEND], [test x$build_ravend = xyes]) -AC_MSG_RESULT($build_ravend) +AC_MSG_CHECKING([whether to build bitcoind]) +AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes]) +AC_MSG_RESULT($build_bitcoind) -AC_MSG_CHECKING([whether to build raven-cli]) -AM_CONDITIONAL([BUILD_RAVEN_CLI], [test x$build_raven_cli = xyes]) -AC_MSG_RESULT($build_raven_cli) +AC_MSG_CHECKING([whether to build bitcoin-cli]) +AM_CONDITIONAL([BUILD_BITCOIN_CLI], [test x$build_bitcoin_cli = xyes]) +AC_MSG_RESULT($build_bitcoin_cli) -AC_MSG_CHECKING([whether to build raven-tx]) -AM_CONDITIONAL([BUILD_RAVEN_TX], [test x$build_raven_tx = xyes]) -AC_MSG_RESULT($build_raven_tx) +AC_MSG_CHECKING([whether to build bitcoin-tx]) +AM_CONDITIONAL([BUILD_BITCOIN_TX], [test x$build_bitcoin_tx = xyes]) +AC_MSG_RESULT($build_bitcoin_tx) AC_MSG_CHECKING([whether to build libraries]) -AM_CONDITIONAL([BUILD_RAVEN_LIBS], [test x$build_raven_libs = xyes]) -if test x$build_raven_libs = xyes; then +AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes]) +if test x$build_bitcoin_libs = xyes; then AC_DEFINE(HAVE_CONSENSUS_LIB, 1, [Define this symbol if the consensus lib has been built]) - AC_CONFIG_FILES([libravenconsensus.pc:libravenconsensus.pc.in]) + AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in]) fi -AC_MSG_RESULT($build_raven_libs) +AC_MSG_RESULT($build_bitcoin_libs) AC_LANG_POP @@ -1120,13 +1120,13 @@ fi dnl these are only used when qt is enabled BUILD_TEST_QT="" -if test x$raven_enable_qt != xno; then +if test x$bitcoin_enable_qt != xno; then dnl enable dbus support AC_MSG_CHECKING([whether to build GUI with support for D-Bus]) - if test x$raven_enable_qt_dbus != xno; then + if test x$bitcoin_enable_qt_dbus != xno; then AC_DEFINE([USE_DBUS],[1],[Define if dbus support should be compiled in]) fi - AC_MSG_RESULT($raven_enable_qt_dbus) + AC_MSG_RESULT($bitcoin_enable_qt_dbus) dnl enable qr support AC_MSG_CHECKING([whether to build GUI with support for QR codes]) @@ -1149,8 +1149,8 @@ if test x$raven_enable_qt != xno; then AC_MSG_WARN("xgettext is required to update qt translations") fi - AC_MSG_CHECKING([whether to build test_raven-qt]) - if test x$use_gui_tests$raven_enable_qt_test = xyesyes; then + AC_MSG_CHECKING([whether to build test_bitcoin-qt]) + if test x$use_gui_tests$bitcoin_enable_qt_test = xyesyes; then AC_MSG_RESULT([yes]) BUILD_TEST_QT="yes" else @@ -1160,7 +1160,7 @@ fi AM_CONDITIONAL([ENABLE_ZMQ], [test "x$use_zmq" = "xyes"]) -AC_MSG_CHECKING([whether to build test_raven]) +AC_MSG_CHECKING([whether to build test_bitcoin]) if test x$use_tests = xyes; then AC_MSG_RESULT([yes]) BUILD_TEST="yes" @@ -1176,7 +1176,7 @@ else AC_MSG_RESULT([no]) fi -if test x$build_raven_cli$build_raven_tx$build_raven_libs$build_ravend$raven_enable_qt$use_bench$use_tests = xnonononononono; then +if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests = xnonononononono; then AC_MSG_ERROR([No targets! Please specify at least one of: --with-cli --with-tx --with-libs --with-daemon --with-gui --enable-bench or --enable-tests]) fi @@ -1185,7 +1185,7 @@ AM_CONDITIONAL([BUILD_DARWIN], [test x$BUILD_OS = xdarwin]) AM_CONDITIONAL([TARGET_WINDOWS], [test x$TARGET_OS = xwindows]) AM_CONDITIONAL([ENABLE_WALLET],[test x$enable_wallet = xyes]) AM_CONDITIONAL([ENABLE_TESTS],[test x$BUILD_TEST = xyes]) -AM_CONDITIONAL([ENABLE_QT],[test x$raven_enable_qt = xyes]) +AM_CONDITIONAL([ENABLE_QT],[test x$bitcoin_enable_qt = xyes]) AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes]) AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes]) AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes]) @@ -1214,10 +1214,10 @@ AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR) AC_SUBST(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS") AC_SUBST(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION") AC_SUBST(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL") -AC_SUBST(RAVEN_DAEMON_NAME) -AC_SUBST(RAVEN_GUI_NAME) -AC_SUBST(RAVEN_CLI_NAME) -AC_SUBST(RAVEN_TX_NAME) +AC_SUBST(BITCOIN_DAEMON_NAME) +AC_SUBST(BITCOIN_GUI_NAME) +AC_SUBST(BITCOIN_CLI_NAME) +AC_SUBST(BITCOIN_TX_NAME) AC_SUBST(RELDFLAGS) AC_SUBST(COMPAT_LDFLAGS) @@ -1248,7 +1248,7 @@ AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/spl AC_CONFIG_FILES([doc/Doxyfile]) AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py]) AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py]) -AC_CONFIG_LINKS([test/util/raven-util-test.py:test/util/raven-util-test.py]) +AC_CONFIG_LINKS([test/util/bitcoin-util-test.py:test/util/bitcoin-util-test.py]) AC_CONFIG_LINKS([src/crypto/md_helper.c:src/crypto/md_helper.c]) dnl boost's m4 checks do something really nasty: they export these vars. As a @@ -1304,12 +1304,12 @@ esac echo echo "Options used to compile and link:" -echo " build raven-cli = $build_raven_cli" -echo " build raven-tx = $build_raven_tx" +echo " build bitcoin-cli = $build_bitcoin_cli" +echo " build bitcoin-tx = $build_bitcoin_tx" echo " with wallet = $enable_wallet" -echo " with gui / qt = $raven_enable_qt" -if test x$raven_enable_qt != xno; then - echo " qt version = $raven_qt_got_major_vers" +echo " with gui / qt = $bitcoin_enable_qt" +if test x$bitcoin_enable_qt != xno; then + echo " qt version = $bitcoin_qt_got_major_vers" echo " with qr = $use_qr" fi echo " with zmq = $use_zmq" diff --git a/contrib/raven-cli.bash-completion b/contrib/bitcoin-cli.bash-completion similarity index 85% rename from contrib/raven-cli.bash-completion rename to contrib/bitcoin-cli.bash-completion index 44d646620d..9f6a3ee789 100644 --- a/contrib/raven-cli.bash-completion +++ b/contrib/bitcoin-cli.bash-completion @@ -1,11 +1,11 @@ -# bash programmable completion for raven-cli(1) +# bash programmable completion for blast-cli(1) # Copyright (c) 2012-2016 The Bitcoin Core developers -# Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -# call $raven-cli for RPC -_raven_rpc() { +# call $blast-cli for RPC +_blast_rpc() { # determine already specified args necessary for RPC local rpcargs=() for i in ${COMP_LINE}; do @@ -15,23 +15,23 @@ _raven_rpc() { ;; esac done - $raven_cli "${rpcargs[@]}" "$@" + $blast_cli "${rpcargs[@]}" "$@" } # Add wallet accounts to COMPREPLY -_raven_accounts() { +_blast_accounts() { local accounts - accounts=$(_raven_rpc listaccounts | awk -F '"' '{ print $2 }') + accounts=$(_blast_rpc listaccounts | awk -F '"' '{ print $2 }') COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) ) } -_raven_cli() { +_blast_cli() { local cur prev words=() cword - local raven_cli + local blast_cli - # save and use original argument to invoke raven-cli for -help, help and RPC - # as raven-cli might not be in $PATH - raven_cli="$1" + # save and use original argument to invoke blast-cli for -help, help and RPC + # as blast-cli might not be in $PATH + blast_cli="$1" COMPREPLY=() _get_comp_words_by_ref -n = cur prev words cword @@ -61,7 +61,7 @@ _raven_cli() { if ((cword > 3)); then case ${words[cword-3]} in addmultisigaddress) - _raven_accounts + _blast_accounts return 0 ;; getbalance|gettxout|importaddress|importpubkey|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock) @@ -86,7 +86,7 @@ _raven_cli() { return 0 ;; move|setaccount) - _raven_accounts + _blast_accounts return 0 ;; esac @@ -102,7 +102,7 @@ _raven_cli() { return 0 ;; getaccountaddress|getaddressesbyaccount|getbalance|getnewaddress|getreceivedbyaccount|listtransactions|move|sendfrom|sendmany) - _raven_accounts + _blast_accounts return 0 ;; esac @@ -126,12 +126,12 @@ _raven_cli() { # only parse -help if senseful if [[ -z "$cur" || "$cur" =~ ^- ]]; then - helpopts=$($raven_cli -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' ) + helpopts=$($blast_cli -help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' ) fi # only parse help if senseful if [[ -z "$cur" || "$cur" =~ ^[a-z] ]]; then - commands=$(_raven_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }') + commands=$(_blast_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }') fi COMPREPLY=( $( compgen -W "$helpopts $commands" -- "$cur" ) ) @@ -144,7 +144,7 @@ _raven_cli() { ;; esac } && -complete -F _raven_cli raven-cli +complete -F _blast_cli blast-cli # Local variables: # mode: shell-script diff --git a/contrib/raven-tx.bash-completion b/contrib/bitcoin-tx.bash-completion similarity index 76% rename from contrib/raven-tx.bash-completion rename to contrib/bitcoin-tx.bash-completion index 5a692cd1c3..7f952f1b02 100644 --- a/contrib/raven-tx.bash-completion +++ b/contrib/bitcoin-tx.bash-completion @@ -1,16 +1,17 @@ -# bash programmable completion for raven-tx(1) +# bash programmable completion for blast-tx(1) # Copyright (c) 2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -_raven_tx() { +_blast_tx() { local cur prev words=() cword - local raven_tx + local blast_tx - # save and use original argument to invoke raven-tx for -help + # save and use original argument to invoke blast-tx for -help # it might not be in $PATH - raven_tx="$1" + blast_tx="$1" COMPREPLY=() _get_comp_words_by_ref -n =: cur prev words cword @@ -28,15 +29,15 @@ _raven_tx() { if [[ "$cword" == 1 || ( "$prev" != "-create" && "$prev" == -* ) ]]; then # only options (or an uncompletable hex-string) allowed - # parse raven-tx -help for options + # parse blast-tx -help for options local helpopts - helpopts=$($raven_tx -help | sed -e '/^ -/ p' -e d ) + helpopts=$($blast_tx -help | sed -e '/^ -/ p' -e d ) COMPREPLY=( $( compgen -W "$helpopts" -- "$cur" ) ) else # only commands are allowed # parse -help for commands local helpcmds - helpcmds=$($raven_tx -help | sed -e '1,/Commands:/d' -e 's/=.*/=/' -e '/^ [a-z]/ p' -e d ) + helpcmds=$($blast_tx -help | sed -e '1,/Commands:/d' -e 's/=.*/=/' -e '/^ [a-z]/ p' -e d ) COMPREPLY=( $( compgen -W "$helpcmds" -- "$cur" ) ) fi @@ -47,7 +48,7 @@ _raven_tx() { return 0 } && -complete -F _raven_tx raven-tx +complete -F _blast_tx blast-tx # Local variables: # mode: shell-script diff --git a/contrib/ravend.bash-completion b/contrib/bitcoind.bash-completion similarity index 100% rename from contrib/ravend.bash-completion rename to contrib/bitcoind.bash-completion diff --git a/contrib/raven-qt.pro b/contrib/blast-qt.pro similarity index 100% rename from contrib/raven-qt.pro rename to contrib/blast-qt.pro diff --git a/contrib/debian/README.md b/contrib/debian/README.md index b7f598d46a..273f06921a 100644 --- a/contrib/debian/README.md +++ b/contrib/debian/README.md @@ -1,21 +1,21 @@ Debian ==================== -This directory contains files used to package ravend/raven-qt -for Debian-based Linux systems. If you compile ravend/raven-qt yourself, there are some useful files here. +This directory contains files used to package blastd/blast-qt +for Debian-based Linux systems. If you compile blastd/blast-qt yourself, there are some useful files here. -## raven: URI support ## +## blast: URI support ## -raven-qt.desktop (Gnome / Open Desktop) +blast-qt.desktop (Gnome / Open Desktop) To install: - sudo desktop-file-install raven-qt.desktop + sudo desktop-file-install blast-qt.desktop 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 raven-qt binary to `/usr/bin` -and the `../../share/pixmaps/raven128.png` to `/usr/share/pixmaps` +the .desktop file or copy or symlink your blast-qt binary to `/usr/bin` +and the `../../share/pixmaps/bitcoin128.png` to `/usr/share/pixmaps` -raven-qt.protocol (KDE) +blast-qt.protocol (KDE) diff --git a/contrib/debian/raven-qt.desktop b/contrib/debian/bitcoin-qt.desktop similarity index 53% rename from contrib/debian/raven-qt.desktop rename to contrib/debian/bitcoin-qt.desktop index 7979b8a24b..8d94b48c73 100644 --- a/contrib/debian/raven-qt.desktop +++ b/contrib/debian/bitcoin-qt.desktop @@ -2,12 +2,10 @@ Encoding=UTF-8 Name=Raven Core Comment=Connect to the Raven P2P Network -Comment[de]=Verbinde mit dem Raven peer-to-peer Netzwerk -Comment[fr]=Raven, monnaie virtuelle cryptographique pair à pair -Comment[tr]=Raven, eşten eşe kriptografik sanal para birimi Exec=raven-qt %u Terminal=false Type=Application Icon=raven128 MimeType=x-scheme-handler/raven; Categories=Office;Finance; +Name[en_US]=bitcoin-qt.desktop diff --git a/contrib/debian/raven-qt.install b/contrib/debian/bitcoin-qt.install similarity index 100% rename from contrib/debian/raven-qt.install rename to contrib/debian/bitcoin-qt.install diff --git a/contrib/debian/raven-qt.lintian-overrides b/contrib/debian/bitcoin-qt.lintian-overrides similarity index 100% rename from contrib/debian/raven-qt.lintian-overrides rename to contrib/debian/bitcoin-qt.lintian-overrides diff --git a/contrib/debian/raven-qt.manpages b/contrib/debian/bitcoin-qt.manpages similarity index 100% rename from contrib/debian/raven-qt.manpages rename to contrib/debian/bitcoin-qt.manpages diff --git a/contrib/debian/raven-qt.protocol b/contrib/debian/bitcoin-qt.protocol similarity index 100% rename from contrib/debian/raven-qt.protocol rename to contrib/debian/bitcoin-qt.protocol diff --git a/contrib/debian/raven-tx.bash-completion b/contrib/debian/bitcoin-tx.bash-completion similarity index 100% rename from contrib/debian/raven-tx.bash-completion rename to contrib/debian/bitcoin-tx.bash-completion diff --git a/contrib/debian/raven-tx.install b/contrib/debian/bitcoin-tx.install similarity index 100% rename from contrib/debian/raven-tx.install rename to contrib/debian/bitcoin-tx.install diff --git a/contrib/debian/raven-tx.manpages b/contrib/debian/bitcoin-tx.manpages similarity index 100% rename from contrib/debian/raven-tx.manpages rename to contrib/debian/bitcoin-tx.manpages diff --git a/contrib/debian/ravend.bash-completion b/contrib/debian/bitcoind.bash-completion similarity index 100% rename from contrib/debian/ravend.bash-completion rename to contrib/debian/bitcoind.bash-completion diff --git a/contrib/debian/ravend.examples b/contrib/debian/bitcoind.examples similarity index 100% rename from contrib/debian/ravend.examples rename to contrib/debian/bitcoind.examples diff --git a/contrib/debian/ravend.install b/contrib/debian/bitcoind.install similarity index 100% rename from contrib/debian/ravend.install rename to contrib/debian/bitcoind.install diff --git a/contrib/debian/ravend.lintian-overrides b/contrib/debian/bitcoind.lintian-overrides similarity index 100% rename from contrib/debian/ravend.lintian-overrides rename to contrib/debian/bitcoind.lintian-overrides diff --git a/contrib/debian/bitcoind.manpages b/contrib/debian/bitcoind.manpages new file mode 100644 index 0000000000..fc7f7e2b7b --- /dev/null +++ b/contrib/debian/bitcoind.manpages @@ -0,0 +1,2 @@ +doc/man/blastd.1 +doc/man/blast-cli.1 diff --git a/contrib/debian/changelog b/contrib/debian/changelog index a4d52f9bcb..33dab9b638 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,364 +1,364 @@ -raven (0.14.1-trusty4) trusty; urgency=medium +bitcoin (0.14.1-trusty4) trusty; urgency=medium * Re-enable UPnP support. -- Matt Corallo (BlueMatt) Fri, 05 May 2017 13:28:00 -0400 -raven (0.14.1-trusty3) trusty; urgency=medium +bitcoin (0.14.1-trusty3) trusty; urgency=medium * Build with qt5 if we are on a non-Ubuntu (ie non-Unity) distro. -- Matt Corallo (BlueMatt) Thu, 04 May 2017 17:13:00 -0400 -raven (0.14.1-trusty2) trusty; urgency=medium +bitcoin (0.14.1-trusty2) trusty; urgency=medium * Bump minimum boost version in deps. -- Matt Corallo (BlueMatt) Thu, 04 May 2017 17:12:00 -0400 -raven (0.14.1-trusty1) trusty; urgency=medium +bitcoin (0.14.1-trusty1) trusty; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Sat, 22 Apr 2017 17:10:00 -0400 -raven (0.14.0-trusty1) trusty; urgency=medium +bitcoin (0.14.0-trusty1) trusty; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Wed, 08 Mar 2017 10:30:00 -0500 -raven (0.13.2-trusty1) trusty; urgency=medium +bitcoin (0.13.2-trusty1) trusty; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Thu, 05 Jan 2017 09:59:00 -0500 -raven (0.13.1-trusty2) trusty; urgency=medium +bitcoin (0.13.1-trusty2) trusty; urgency=medium - * Revert to Qt4, due to https://github.com/RavenProject/Ravencoin/issues/9038 + * Revert to Qt4, due to https://github.com/bitcoin/bitcoin/issues/9038 -- Matt Corallo (BlueMatt) Mon, 31 Oct 2016 11:16:00 -0400 -raven (0.13.1-trusty1) trusty; urgency=medium +bitcoin (0.13.1-trusty1) trusty; urgency=medium * New upstream release. - * Backport updated raven-qt.desktop from upstream master + * Backport updated bitcoin-qt.desktop from upstream master * Add zmq dependency * Switch to Qt5 (breaks precise, but that was already broken by C++11) -- Matt Corallo (BlueMatt) Thu, 27 Oct 2016 17:32:00 -0400 -raven (0.13.0-trusty1) trusty; urgency=medium +bitcoin (0.13.0-trusty1) trusty; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Sun, 04 Sep 2016 22:09:00 -0400 -raven (0.12.1-trusty1) trusty; urgency=medium +bitcoin (0.12.1-trusty1) trusty; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Mon, 18 Apr 2016 14:26:00 -0700 -raven (0.12.0-trusty6) trusty; urgency=medium +bitcoin (0.12.0-trusty6) trusty; urgency=medium * Fix program-options dep. -- Matt Corallo (BlueMatt) Fri, 25 Mar 2016 21:41:00 -0700 -raven (0.12.0-trusty5) trusty; urgency=medium +bitcoin (0.12.0-trusty5) trusty; urgency=medium * Test explicit --with-gui -- Matt Corallo (BlueMatt) Tue, 23 Feb 2015 23:25:00 -0800 -raven (0.12.0-trusty4) trusty; urgency=medium +bitcoin (0.12.0-trusty4) trusty; urgency=medium * Fix libevent-dev dep. -- Matt Corallo (BlueMatt) Tue, 23 Feb 2015 23:25:00 -0800 -raven (0.12.0-trusty3) trusty; urgency=medium +bitcoin (0.12.0-trusty3) trusty; urgency=medium * Fix precise boost dep. -- Matt Corallo (BlueMatt) Tue, 23 Feb 2015 19:55:00 -0800 -raven (0.12.0-trusty2) trusty; urgency=medium +bitcoin (0.12.0-trusty2) trusty; urgency=medium * Fix libevent dep. -- Matt Corallo (BlueMatt) Tue, 23 Feb 2015 19:53:00 -0800 -raven (0.12.0-trusty1) trusty; urgency=medium +bitcoin (0.12.0-trusty1) trusty; urgency=medium * New upstream release * Various updates to contrib/debian were merged, a few were not -- Matt Corallo (BlueMatt) Tue, 23 Feb 2015 19:29:00 -0800 -raven (0.11.2-trusty1) trusty; urgency=low +bitcoin (0.11.2-trusty1) trusty; urgency=low * New upstream release. -- Matt Corallo (BlueMatt) Fri, 13 Nov 2015 18:39:00 -0800 -raven (0.11.1-trusty2) trusty; urgency=low +bitcoin (0.11.1-trusty2) trusty; urgency=low * Remove minupnpc builddep. -- Matt Corallo (BlueMatt) Wed, 14 Oct 2015 23:06:00 -1000 -raven (0.11.1-trusty1) trusty; urgency=high +bitcoin (0.11.1-trusty1) trusty; urgency=high * New upstream release. * Disable all UPnP support. -- Matt Corallo (BlueMatt) Wed, 14 Oct 2015 13:57:00 -1000 -raven (0.11.0-precise1) precise; urgency=medium +bitcoin (0.11.0-precise1) precise; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Tue, 14 Jul 2015 14:39:00 -1000 -raven (0.10.2-precise1) precise; urgency=medium +bitcoin (0.10.2-precise1) precise; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Mon, 29 Jun 2015 17:33:00 -1000 -raven (0.10.1-precise3) precise; urgency=medium +bitcoin (0.10.1-precise3) precise; urgency=medium * Fix build dep (include python). -- Matt Corallo (BlueMatt) Tue, 5 May 2015 09:28:00 -1000 -raven (0.10.1-precise2) precise; urgency=medium +bitcoin (0.10.1-precise2) precise; urgency=medium * Fix miniupnpc dep. -- Matt Corallo (BlueMatt) Tue, 5 May 2015 00:33:00 -1000 -raven (0.10.1-precise1) precise; urgency=medium +bitcoin (0.10.1-precise1) precise; urgency=medium * New upstream release. -- Matt Corallo (BlueMatt) Tue, 5 May 2015 00:07:00 -1000 -raven (0.10.0-precise1) precise; urgency=medium +bitcoin (0.10.0-precise1) precise; urgency=medium * New upstream releases. -- Matt Corallo (BlueMatt) Wed, 18 Feb 2015 13:22:00 -1000 -raven (0.9.4-precise1) precise; urgency=high +bitcoin (0.9.4-precise1) precise; urgency=high * New upstream releases. -- Matt Corallo (laptop - only while traveling) Mon, 12 Jan 2015 23:30:00 -1000 -raven (0.9.3-precise1) precise; urgency=medium +bitcoin (0.9.3-precise1) precise; urgency=medium * New upstream releases. -- Matt Corallo (BlueMatt) Fri, 26 Sep 2014 12:01:00 -0700 -raven (0.9.1-precise1) precise; urgency=medium +bitcoin (0.9.1-precise1) precise; urgency=medium * New upstream release. * Backport pull #4019 -- Matt Corallo Sat, 19 Apr 2014 17:29:00 -0400 -raven (0.9.0-precise1) precise; urgency=medium +bitcoin (0.9.0-precise1) precise; urgency=medium * New upstream release. -- Matt Corallo Thu, 20 Mar 2014 13:10:00 -0400 -raven (0.8.6-precise1) precise; urgency=medium +bitcoin (0.8.6-precise1) precise; urgency=medium * New upstream release. * Make .desktop paths non-fixed (suggested by prusnak@github) -- Matt Corallo Fri, 13 Dec 2013 13:31:00 -0400 -raven (0.8.5-precise1) precise; urgency=medium +bitcoin (0.8.5-precise1) precise; urgency=medium * New upstream release. -- Matt Corallo Sun, 15 Sep 2013 14:02:00 -0400 -raven (0.8.4-precise1) precise; urgency=medium +bitcoin (0.8.4-precise1) precise; urgency=medium * New upstream release. -- Matt Corallo Wed, 4 Sep 2013 10:25:00 -0400 -raven (0.8.3-natty1) natty; urgency=low +bitcoin (0.8.3-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Wed, 26 Jun 2013 00:18:00 +0100 -raven (0.8.2-natty1) natty; urgency=low +bitcoin (0.8.2-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Wed, 29 Mar 2013 23:23:00 +0100 -raven (0.8.1-natty3) natty; urgency=low +bitcoin (0.8.1-natty3) natty; urgency=low * New pixmaps -- Jonas Schnelli Mon, 13 May 2013 16:14:00 +0100 -raven (0.8.1-natty2) natty; urgency=low +bitcoin (0.8.1-natty2) natty; urgency=low * Remove dumb broken launcher script -- Matt Corallo Sun, 24 Mar 2013 20:01:00 -0400 -raven (0.8.1-natty1) natty; urgency=low +bitcoin (0.8.1-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Tue, 19 Mar 2013 13:03:00 -0400 -raven (0.8.0-natty1) natty; urgency=low +bitcoin (0.8.0-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Sat, 23 Feb 2013 16:01:00 -0500 -raven (0.7.2-natty1) natty; urgency=low +bitcoin (0.7.2-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Sat, 15 Dec 2012 10:59:00 -0400 -raven (0.7.1-natty1) natty; urgency=low +bitcoin (0.7.1-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Wed, 24 Oct 2012 15:06:00 -0400 -raven (0.7.0-natty1) natty; urgency=low +bitcoin (0.7.0-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Mon, 17 Sep 2012 13:45:00 +0200 -raven (0.6.3-natty1) natty; urgency=low +bitcoin (0.6.3-natty1) natty; urgency=low * New upstream release. -- Matt Corallo Mon, 25 Jun 2012 23:47:00 +0200 -raven (0.6.2-natty1) natty; urgency=low +bitcoin (0.6.2-natty1) natty; urgency=low * Update package description and launch scripts. -- Matt Corallo Sat, 2 Jun 2012 16:41:00 +0200 -raven (0.6.2-natty0) natty; urgency=low +bitcoin (0.6.2-natty0) natty; urgency=low * New upstream release. -- Matt Corallo Tue, 8 May 2012 16:27:00 -0500 -raven (0.6.1-natty0) natty; urgency=low +bitcoin (0.6.1-natty0) natty; urgency=low * New upstream release. -- Matt Corallo Sun, 6 May 2012 20:09:00 -0500 -raven (0.6.0-natty0) natty; urgency=low +bitcoin (0.6.0-natty0) natty; urgency=low * New upstream release. - * Add GNOME/KDE support for raven-qt's raven: URI support. + * Add GNOME/KDE support for bitcoin-qt's bitcoin: URI support. Thanks to luke-jr for the KDE .protocol file. -- Matt Corallo Sat, 31 Mar 2012 15:35:00 -0500 -raven (0.5.3-natty1) natty; urgency=low +bitcoin (0.5.3-natty1) natty; urgency=low * Mark for upload to PPA. -- Matt Corallo Wed, 14 Mar 2012 23:06:00 -0400 -raven (0.5.3-natty0) natty; urgency=low +bitcoin (0.5.3-natty0) natty; urgency=low * New upstream release. - -- Luke Dashjr Tue, 10 Jan 2012 15:57:00 -0500 + -- Luke Dashjr Tue, 10 Jan 2012 15:57:00 -0500 -raven (0.5.2-natty1) natty; urgency=low +bitcoin (0.5.2-natty1) natty; urgency=low * Remove mentions on anonymity in package descriptions and manpage. - These should never have been there, raven isnt anonymous without + These should never have been there, bitcoin isnt anonymous without a ton of work that virtually no users will ever be willing and capable of doing -- Matt Corallo Sat, 7 Jan 2012 13:37:00 -0500 -raven (0.5.2-natty0) natty; urgency=low +bitcoin (0.5.2-natty0) natty; urgency=low * New upstream release. - -- Luke Dashjr Fri, 16 Dec 2011 17:57:00 -0500 + -- Luke Dashjr Fri, 16 Dec 2011 17:57:00 -0500 -raven (0.5.1-natty0) natty; urgency=low +bitcoin (0.5.1-natty0) natty; urgency=low * New upstream release. -- Matt Corallo Fri, 16 Dec 2011 13:27:00 -0500 -raven (0.5.0-natty0) natty; urgency=low +bitcoin (0.5.0-natty0) natty; urgency=low * New upstream release. -- Matt Corallo Mon, 21 Nov 2011 11:32:00 -0500 -raven (0.5.0~rc7-natty0) natty; urgency=low +bitcoin (0.5.0~rc7-natty0) natty; urgency=low * New upstream release candidate. -- Matt Corallo Sun, 20 Nov 2011 17:08:00 -0500 -raven (0.5.0~rc3-natty0) natty; urgency=low +bitcoin (0.5.0~rc3-natty0) natty; urgency=low * New upstream release candidate. - * Don't set rpcpassword for raven-qt. + * Don't set rpcpassword for bitcoin-qt. -- Matt Corallo Tue, 8 Nov 2011 11:56:00 -0400 -raven (0.5.0~rc1-natty1) natty; urgency=low +bitcoin (0.5.0~rc1-natty1) natty; urgency=low - * Add test_raven to build test + * Add test_bitcoin to build test * Fix clean * Remove uneccessary build-dependancies -- Matt Corallo Wed, 26 Oct 2011 14:37:18 -0400 -raven (0.5.0~rc1-natty0) natty; urgency=low +bitcoin (0.5.0~rc1-natty0) natty; urgency=low * Mark for natty * Fix broken build * Fix copyright listing - * Remove raven: URL handler until raven actually has support for it (Oops) + * Remove bitcoin: URL handler until bitcoin actually has support for it (Oops) -- Matt Corallo Wed, 26 Oct 2011 14:37:18 -0400 -raven (0.5.0~rc1-2) experimental; urgency=low +bitcoin (0.5.0~rc1-2) experimental; urgency=low - * Add raven-qt + * Add bitcoin-qt -- Matt Corallo Tue, 25 Oct 2011 15:24:18 -0400 -raven (0.5.0~rc1-1) experimental; urgency=low +bitcoin (0.5.0~rc1-1) experimental; urgency=low * New upstream prerelease. * Add Github as alternate upstream source in watch file. @@ -369,7 +369,7 @@ raven (0.5.0~rc1-1) experimental; urgency=low -- Jonas Smedegaard Fri, 14 Oct 2011 00:16:18 +0200 -raven (0.4.0-1) unstable; urgency=low +bitcoin (0.4.0-1) unstable; urgency=low * New upstream release. * Stop repackaging source tarballs: No DFSG-violating stripping left. @@ -378,7 +378,7 @@ raven (0.4.0-1) unstable; urgency=low * Drop dpkg-source local-options hint: Declared options are default since dpkg-source 1.16.1. + Add irc URL to Upstream-Contact. - + Add comment on Raven Developers to catch-all Files section. + + Add comment on Bitcoin Developers to catch-all Files section. + Add Files sections for newly readded src/cryptopp/* (new custom BSD-like license), and newly added doc/build-osx.txt and src/makefile.osx (Expat). @@ -397,13 +397,13 @@ raven (0.4.0-1) unstable; urgency=low -- Jonas Smedegaard Wed, 05 Oct 2011 01:48:53 +0200 -raven (0.3.24~dfsg-1) unstable; urgency=low +bitcoin (0.3.24~dfsg-1) unstable; urgency=low * New upstream release. [ Jonas Smedegaard ] * Improve various usage hints: - + Explicitly mention in long description that ravend contains + + Explicitly mention in long description that bitcoind contains daemon and command-line interface. + Extend README.Debian with section on lack of GUI, and add primary headline. @@ -424,7 +424,7 @@ raven (0.3.24~dfsg-1) unstable; urgency=low -- Jonas Smedegaard Tue, 19 Jul 2011 15:08:54 +0200 -raven (0.3.21~dfsg-2) unstable; urgency=low +bitcoin (0.3.21~dfsg-2) unstable; urgency=low * Enable UPNP support: + Drop patch 1006. @@ -433,7 +433,7 @@ raven (0.3.21~dfsg-2) unstable; urgency=low -- Jonas Smedegaard Sat, 28 May 2011 15:52:44 +0200 -raven (0.3.21~dfsg-1) unstable; urgency=low +bitcoin (0.3.21~dfsg-1) unstable; urgency=low * New upstream release. * Refresh patches. @@ -446,7 +446,7 @@ raven (0.3.21~dfsg-1) unstable; urgency=low * Bump policy compliance to standards-version 3.9.2. * Shorten Vcs-Browser paragraph in control file. * Fix mention daemon (not CLI tools) in short description. - * Stop conflicting with or replace raven-cli: Only transitional, no + * Stop conflicting with or replace bitcoin-cli: Only transitional, no longer needed. * Link against unversioned berkeleydb. Update NEWS and README.Debian accordingly (and improve wording while at it). @@ -458,7 +458,7 @@ raven (0.3.21~dfsg-1) unstable; urgency=low -- Jonas Smedegaard Tue, 17 May 2011 15:31:24 +0200 -raven (0.3.20.2~dfsg-2) unstable; urgency=medium +bitcoin (0.3.20.2~dfsg-2) unstable; urgency=medium * Fix have wrapper script execute real binary (not loop executing itself). @@ -468,15 +468,15 @@ raven (0.3.20.2~dfsg-2) unstable; urgency=medium -- Jonas Smedegaard Wed, 16 Mar 2011 09:11:06 +0100 -raven (0.3.20.2~dfsg-1) unstable; urgency=low +bitcoin (0.3.20.2~dfsg-1) unstable; urgency=low * New upstream release. - * Fix provide and replace former package name raven-cli. + * Fix provide and replace former package name bitcoin-cli. Closes: bug#618439. Thanks to Shane Wegner. -- Jonas Smedegaard Tue, 15 Mar 2011 11:41:43 +0100 -raven (0.3.20.01~dfsg-1) unstable; urgency=low +bitcoin (0.3.20.01~dfsg-1) unstable; urgency=low * New upstream release. @@ -484,7 +484,7 @@ raven (0.3.20.01~dfsg-1) unstable; urgency=low * Add myself as uploader. [ Jonas Smedegaard ] - * Add wrapper for ravend to ease initial startup. + * Add wrapper for bitcoind to ease initial startup. * Update patches: + Drop patch 2002: Applied upstream. + Add patch 1005 to add phtread linker option. @@ -492,12 +492,12 @@ raven (0.3.20.01~dfsg-1) unstable; urgency=low + Refresh patches. * Extend copyright years in rules file header. * Rewrite copyright file using draft svn166 of DEP5 format. - * Rename binary package to ravend (from bincoin-cli). + * Rename binary package to bitcoind (from bincoin-cli). Closes: bug#614025. Thanks to Luke-Jr. -- Jonas Smedegaard Tue, 01 Mar 2011 15:55:04 +0100 -raven (0.3.19~dfsg-6) unstable; urgency=low +bitcoin (0.3.19~dfsg-6) unstable; urgency=low * Fix override agressive optimizations. * Fix tighten build-dependencies to really fit backporting to Lenny: @@ -508,7 +508,7 @@ raven (0.3.19~dfsg-6) unstable; urgency=low -- Jonas Smedegaard Mon, 17 Jan 2011 19:48:35 +0100 -raven (0.3.19~dfsg-5) unstable; urgency=low +bitcoin (0.3.19~dfsg-5) unstable; urgency=low * Fix lower Boost fallback-build-dependencies to 1.35, really available in Lenny. @@ -523,11 +523,11 @@ raven (0.3.19~dfsg-5) unstable; urgency=low -- Jonas Smedegaard Mon, 17 Jan 2011 16:04:48 +0100 -raven (0.3.19~dfsg-4) unstable; urgency=low +bitcoin (0.3.19~dfsg-4) unstable; urgency=low [ Micah Anderson ] - * Provide example raven.conf. - * Add ravend(1) and raven.conf(5) man pages. + * Provide example bitcoin.conf. + * Add bitcoind(1) and bitcoin.conf(5) man pages. [ Jonas Smedegaard ] * Ease backporting: @@ -539,7 +539,7 @@ raven (0.3.19~dfsg-4) unstable; urgency=low -- Jonas Smedegaard Mon, 17 Jan 2011 14:00:48 +0100 -raven (0.3.19~dfsg-3) unstable; urgency=low +bitcoin (0.3.19~dfsg-3) unstable; urgency=low * Document in copyright file files excluded from repackaged source. * Update copyright file: @@ -554,7 +554,7 @@ raven (0.3.19~dfsg-3) unstable; urgency=low -- Jonas Smedegaard Fri, 07 Jan 2011 22:50:57 +0100 -raven (0.3.19~dfsg-2) unstable; urgency=low +bitcoin (0.3.19~dfsg-2) unstable; urgency=low * Adjust build options to use optimized miner only for amd64. Fixes FTBFS on i386 (and other archs, if compiling anywhere else at all). @@ -569,7 +569,7 @@ raven (0.3.19~dfsg-2) unstable; urgency=low -- Jonas Smedegaard Wed, 29 Dec 2010 00:27:54 +0100 -raven (0.3.19~dfsg-1) unstable; urgency=low +bitcoin (0.3.19~dfsg-1) unstable; urgency=low [ Jonas Smedegaard ] * Initial release. diff --git a/contrib/debian/examples/raven.conf b/contrib/debian/examples/blast.conf similarity index 100% rename from contrib/debian/examples/raven.conf rename to contrib/debian/examples/blast.conf diff --git a/contrib/debian/ravend.manpages b/contrib/debian/ravend.manpages deleted file mode 100644 index fd29342e72..0000000000 --- a/contrib/debian/ravend.manpages +++ /dev/null @@ -1,2 +0,0 @@ -doc/man/ravend.1 -doc/man/raven-cli.1 diff --git a/contrib/debian/rules b/contrib/debian/rules index de6d452793..a13b43ba02 100755 --- a/contrib/debian/rules +++ b/contrib/debian/rules @@ -1,16 +1,16 @@ #!/usr/bin/make -f # -*- mode: makefile; coding: utf-8 -*- -#DEB_MAKE_CHECK_TARGET = test_raven +#DEB_MAKE_CHECK_TARGET = test_bitcoin #build/ravend:: -# $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_raven) +# $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_bitcoin) %: dh --with bash-completion $@ override_dh_auto_clean: if [ -f Makefile ]; then $(MAKE) distclean; fi - rm -rf Makefile.in aclocal.m4 configure src/Makefile.in src/raven-config.h.in src/build-aux src/qt/Makefile.in src/qt/test/Makefile.in src/test/Makefile.in + rm -rf Makefile.in aclocal.m4 configure src/Makefile.in src/bitcoin-config.h.in src/build-aux src/qt/Makefile.in src/qt/test/Makefile.in src/test/Makefile.in QT=$(shell dpkg-vendor --derives-from Ubuntu && echo qt4 || echo qt5) diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md index 5cf45ddc97..e49516d204 100644 --- a/contrib/devtools/README.md +++ b/contrib/devtools/README.md @@ -166,10 +166,10 @@ If only supported symbols are used the return value will be 0 and the output wil If there are 'unsupported' symbols, the return value will be 1 a list like this will be printed: - .../64/test_raven: symbol memcpy from unsupported version GLIBC_2.14 - .../64/test_raven: symbol __fdelt_chk from unsupported version GLIBC_2.15 - .../64/test_raven: symbol std::out_of_range::~out_of_range() from unsupported version GLIBCXX_3.4.15 - .../64/test_raven: symbol _ZNSt8__detail15_List_nod from unsupported version GLIBCXX_3.4.15 + .../64/test_bitcoin: symbol memcpy from unsupported version GLIBC_2.14 + .../64/test_bitcoin: symbol __fdelt_chk from unsupported version GLIBC_2.15 + .../64/test_bitcoin: symbol std::out_of_range::~out_of_range() from unsupported version GLIBCXX_3.4.15 + .../64/test_bitcoin: symbol _ZNSt8__detail15_List_nod from unsupported version GLIBCXX_3.4.15 update-translations.py ====================== diff --git a/contrib/devtools/copyright_header.py b/contrib/devtools/copyright_header.py index 1259d82109..33f84f1598 100755 --- a/contrib/devtools/copyright_header.py +++ b/contrib/devtools/copyright_header.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 # Copyright (c) 2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -21,13 +22,13 @@ 'src/secp256k1/include/secp256k1_ecdh.h', 'src/secp256k1/include/secp256k1_recovery.h', 'src/secp256k1/include/secp256k1_schnorr.h', - 'src/secp256k1/src/java/org_raven_NativeSecp256k1.c', - 'src/secp256k1/src/java/org_raven_NativeSecp256k1.h', - 'src/secp256k1/src/java/org_raven_Secp256k1Context.c', - 'src/secp256k1/src/java/org_raven_Secp256k1Context.h', + 'src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c', + 'src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h', + 'src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c', + 'src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h', # auto generated: 'src/univalue/lib/univalue_escapes.h', - 'src/qt/ravenstrings.cpp', + 'src/qt/bitcoinstrings.cpp', 'src/chainparamsseeds.h', # other external copyrights: 'src/tinyformat.h', @@ -84,11 +85,11 @@ def compile_copyright_regex(copyright_style, year_style, name): EXPECTED_HOLDER_NAMES = [ "Satoshi Nakamoto\n", - "The Raven Core developers\n", - "The Raven Core developers \n", - "Raven Core Developers\n", - "the Raven Core developers\n", - "The Raven developers\n", + "The BLAST Core developers\n", + "The BLAST Core developers \n", + "BLAST Core Developers\n", + "the BLAST Core developers\n", + "The BLAST developers\n", "The LevelDB Authors\. All rights reserved\.\n", "BitPay Inc\.\n", "BitPay, Inc\.\n", @@ -278,7 +279,7 @@ def exec_report(base_directory, verbose): $ ./copyright_header.py report [verbose] Arguments: - - The base directory of a raven source code repository. + - The base directory of a BLAST source code repository. [verbose] - Includes a list of every file of each subcategory in the report. """ @@ -341,7 +342,7 @@ def write_file_lines(filename, file_lines): COPYRIGHT = 'Copyright \(c\)' YEAR = "20[0-9][0-9]" YEAR_RANGE = '(%s)(-%s)?' % (YEAR, YEAR) -HOLDER = 'The Raven Core developers' +HOLDER = 'The BLAST Core developers' UPDATEABLE_LINE_COMPILED = re.compile(' '.join([COPYRIGHT, YEAR_RANGE, HOLDER])) def get_updatable_copyright_line(file_lines): @@ -409,16 +410,17 @@ def exec_update_header_year(base_directory): ################################################################################ UPDATE_USAGE = """ -Updates all the copyright headers of "The Raven Core developers" which were +Updates all the copyright headers of "The BLAST Core developers" which were changed in a year more recent than is listed. For example: // Copyright (c) - The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers will be updated to: // Copyright (c) - The Bitcoin Core developers -// Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers where is obtained from the 'git log' history. @@ -426,11 +428,13 @@ def exec_update_header_year(base_directory): // Copyright (c) The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers will be updated to: // Copyright (c) - The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers where the update is appropriate. @@ -438,7 +442,7 @@ def exec_update_header_year(base_directory): $ ./copyright_header.py update Arguments: - - The base directory of a raven source code repository. + - The base directory of a BLAST source code repository. """ def print_file_action_message(filename, action): @@ -465,6 +469,7 @@ def get_header_lines(header, start_year, end_year): CPP_HEADER = ''' // Copyright (c) %s The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. ''' @@ -475,6 +480,7 @@ def get_cpp_header_lines_to_insert(start_year, end_year): PYTHON_HEADER = ''' # Copyright (c) %s The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. ''' @@ -541,7 +547,7 @@ def exec_insert_header(filename, style): ################################################################################ INSERT_USAGE = """ -Inserts a copyright header for "The Raven Core developers" at the top of the +Inserts a copyright header for "The BLAST Core developers" at the top of the file in either Python or C++ style as determined by the file extension. If the file is a Python file and it has a '#!' starting the first line, the header is inserted in the line below it. @@ -555,14 +561,14 @@ def exec_insert_header(filename, style): "" -If the file already has a copyright for "The Raven Core developers", the +If the file already has a copyright for "The BLAST Core developers", the script will exit. Usage: $ ./copyright_header.py insert Arguments: - - A source file in the raven repository. + - A source file in the BLAST repository. """ def insert_cmd(argv): @@ -587,7 +593,7 @@ def insert_cmd(argv): ################################################################################ USAGE = """ -copyright_header.py - utilities for managing copyright headers of 'The Raven +copyright_header.py - utilities for managing copyright headers of 'The BLAST Core developers' in repository source files. Usage: diff --git a/contrib/devtools/gen-manpages.sh b/contrib/devtools/gen-manpages.sh index 915a70a3fe..508453e7e2 100755 --- a/contrib/devtools/gen-manpages.sh +++ b/contrib/devtools/gen-manpages.sh @@ -4,26 +4,26 @@ TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)} SRCDIR=${SRCDIR:-$TOPDIR/src} MANDIR=${MANDIR:-$TOPDIR/doc/man} -RAVEND=${RAVEND:-$SRCDIR/ravend} -RAVENCLI=${RAVENCLI:-$SRCDIR/raven-cli} -RAVENTX=${RAVENTX:-$SRCDIR/raven-tx} -RAVENQT=${RAVENQT:-$SRCDIR/qt/raven-qt} +BITCOIND=${BITCOIND:-$SRCDIR/blastd} +BITCOINCLI=${BITCOINCLI:-$SRCDIR/blast-cli} +BITCOINTX=${BITCOINTX:-$SRCDIR/blast-tx} +BITCOINQT=${BITCOINQT:-$SRCDIR/qt/blast-qt} -[ ! -x $RAVEND ] && echo "$RAVEND not found or not executable." && exit 1 +[ ! -x $BITCOIND ] && echo "$BITCOIND not found or not executable." && exit 1 # The autodetected version git tag can screw up manpage output a little bit -RVNVER=($($RAVENCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }')) +BITCOINVER=($($BITCOINCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }')) # Create a footer file with copyright content. -# This gets autodetected fine for ravend if --version-string is not set, -# but has different outcomes for raven-qt and raven-cli. +# This gets autodetected fine for blastd if --version-string is not set, +# but has different outcomes for blast-qt and blast-cli. echo "[COPYRIGHT]" > footer.h2m -$RAVEND --version | sed -n '1!p' >> footer.h2m +$BITCOIND --version | sed -n '1!p' >> footer.h2m -for cmd in $RAVEND $RAVENCLI $RAVENTX $RAVENQT; do +for cmd in $BITCOIND $BITCOINCLI $BITCOINTX $BITCOINQT; do cmdname="${cmd##*/}" - help2man -N --version-string=${RVNVER[0]} --include=footer.h2m -o ${MANDIR}/${cmdname}.1 ${cmd} - sed -i "s/\\\-${RVNVER[1]}//g" ${MANDIR}/${cmdname}.1 + help2man -N --version-string=${BITCOINVER[0]} --include=footer.h2m -o ${MANDIR}/${cmdname}.1 ${cmd} + sed -i "s/\\\-${BITCOINVER[1]}//g" ${MANDIR}/${cmdname}.1 done rm -f footer.h2m diff --git a/contrib/devtools/update-translations.py b/contrib/devtools/update-translations.py index e79bdc6b4f..e1924749d2 100755 --- a/contrib/devtools/update-translations.py +++ b/contrib/devtools/update-translations.py @@ -26,7 +26,7 @@ # Name of transifex tool TX = 'tx' # Name of source language file -SOURCE_LANG = 'raven_en.ts' +SOURCE_LANG = 'bitcoin_en.ts' # Directory with locale files LOCALE_DIR = 'src/qt/locale' # Minimum number of messages for translation to be considered at all diff --git a/contrib/init/ravend.init b/contrib/init/bitcoind.init similarity index 100% rename from contrib/init/ravend.init rename to contrib/init/bitcoind.init diff --git a/contrib/init/bitcoind.openrc b/contrib/init/bitcoind.openrc new file mode 100644 index 0000000000..80b17283fd --- /dev/null +++ b/contrib/init/bitcoind.openrc @@ -0,0 +1,92 @@ +#!/sbin/runscript + +# backward compatibility for existing gentoo layout +# +if [ -d "/var/lib/blast/.blast" ]; then + BITCOIND_DEFAULT_DATADIR="/var/lib/blast/.blast" +else + BITCOIND_DEFAULT_DATADIR="/var/lib/blastd" +fi + +BITCOIND_CONFIGFILE=${BITCOIND_CONFIGFILE:-/etc/blast/blast.conf} +BITCOIND_PIDDIR=${BITCOIND_PIDDIR:-/var/run/blastd} +BITCOIND_PIDFILE=${BITCOIND_PIDFILE:-${BITCOIND_PIDDIR}/blastd.pid} +BITCOIND_DATADIR=${BITCOIND_DATADIR:-${BITCOIND_DEFAULT_DATADIR}} +BITCOIND_USER=${BITCOIND_USER:-${BITCOIN_USER:-blast}} +BITCOIND_GROUP=${BITCOIND_GROUP:-blast} +BITCOIND_BIN=${BITCOIND_BIN:-/usr/bin/blastd} +BITCOIND_NICE=${BITCOIND_NICE:-${NICELEVEL:-0}} +BITCOIND_OPTS="${BITCOIND_OPTS:-${BITCOIN_OPTS}}" + +name="BLAST Core Daemon" +description="BLAST cryptocurrency P2P network daemon" + +command="/usr/bin/blastd" +command_args="-pid=\"${BITCOIND_PIDFILE}\" \ + -conf=\"${BITCOIND_CONFIGFILE}\" \ + -datadir=\"${BITCOIND_DATADIR}\" \ + -daemon \ + ${BITCOIND_OPTS}" + +required_files="${BITCOIND_CONFIGFILE}" +start_stop_daemon_args="-u ${BITCOIND_USER} \ + -N ${BITCOIND_NICE} -w 2000" +pidfile="${BITCOIND_PIDFILE}" + +# The retry schedule to use when stopping the daemon. Could be either +# a timeout in seconds or multiple signal/timeout pairs (like +# "SIGKILL/180 SIGTERM/300") +retry="${BITCOIND_SIGTERM_TIMEOUT}" + +depend() { + need localmount net +} + +# verify +# 1) that the datadir exists and is writable (or create it) +# 2) that a directory for the pid exists and is writable +# 3) ownership and permissions on the config file +start_pre() { + checkpath \ + -d \ + --mode 0750 \ + --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" \ + "${BITCOIND_DATADIR}" + + checkpath \ + -d \ + --mode 0755 \ + --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" \ + "${BITCOIND_PIDDIR}" + + checkpath -f \ + -o ${BITCOIND_USER}:${BITCOIND_GROUP} \ + -m 0660 \ + ${BITCOIND_CONFIGFILE} + + checkconfig || return 1 +} + +checkconfig() +{ + if ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" ; then + eerror "" + eerror "ERROR: You must set a secure rpcpassword to run blastd." + eerror "The setting must appear in ${BITCOIND_CONFIGFILE}" + eerror "" + eerror "This password is security critical to securing wallets " + eerror "and must not be the same as the rpcuser setting." + eerror "You can generate a suitable random password using the following " + eerror "command from the shell:" + eerror "" + eerror "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'" + eerror "" + eerror "It is recommended that you also set alertnotify so you are " + eerror "notified of problems:" + eerror "" + eerror "ie: alertnotify=echo %%s | mail -s \"BLAST Alert\"" \ + "admin@foo.com" + eerror "" + return 1 + fi +} diff --git a/contrib/init/ravend.openrcconf b/contrib/init/bitcoind.openrcconf similarity index 100% rename from contrib/init/ravend.openrcconf rename to contrib/init/bitcoind.openrcconf diff --git a/contrib/init/ravend.service b/contrib/init/bitcoind.service similarity index 100% rename from contrib/init/ravend.service rename to contrib/init/bitcoind.service diff --git a/contrib/init/org.raven.ravend.plist b/contrib/init/org.bitcoin.bitcoind.plist similarity index 100% rename from contrib/init/org.raven.ravend.plist rename to contrib/init/org.bitcoin.bitcoind.plist diff --git a/contrib/init/ravend.openrc b/contrib/init/ravend.openrc deleted file mode 100644 index 4b0473785a..0000000000 --- a/contrib/init/ravend.openrc +++ /dev/null @@ -1,92 +0,0 @@ -#!/sbin/runscript - -# backward compatibility for existing gentoo layout -# -if [ -d "/var/lib/raven/.raven" ]; then - RAVEND_DEFAULT_DATADIR="/var/lib/raven/.raven" -else - RAVEND_DEFAULT_DATADIR="/var/lib/ravend" -fi - -RAVEND_CONFIGFILE=${RAVEND_CONFIGFILE:-/etc/raven/raven.conf} -RAVEND_PIDDIR=${RAVEND_PIDDIR:-/var/run/ravend} -RAVEND_PIDFILE=${RAVEND_PIDFILE:-${RAVEND_PIDDIR}/ravend.pid} -RAVEND_DATADIR=${RAVEND_DATADIR:-${RAVEND_DEFAULT_DATADIR}} -RAVEND_USER=${RAVEND_USER:-${RAVEN_USER:-raven}} -RAVEND_GROUP=${RAVEND_GROUP:-raven} -RAVEND_BIN=${RAVEND_BIN:-/usr/bin/ravend} -RAVEND_NICE=${RAVEND_NICE:-${NICELEVEL:-0}} -RAVEND_OPTS="${RAVEND_OPTS:-${RAVEN_OPTS}}" - -name="Raven Core Daemon" -description="Raven cryptocurrency P2P network daemon" - -command="/usr/bin/ravend" -command_args="-pid=\"${RAVEND_PIDFILE}\" \ - -conf=\"${RAVEND_CONFIGFILE}\" \ - -datadir=\"${RAVEND_DATADIR}\" \ - -daemon \ - ${RAVEND_OPTS}" - -required_files="${RAVEND_CONFIGFILE}" -start_stop_daemon_args="-u ${RAVEND_USER} \ - -N ${RAVEND_NICE} -w 2000" -pidfile="${RAVEND_PIDFILE}" - -# The retry schedule to use when stopping the daemon. Could be either -# a timeout in seconds or multiple signal/timeout pairs (like -# "SIGKILL/180 SIGTERM/300") -retry="${RAVEND_SIGTERM_TIMEOUT}" - -depend() { - need localmount net -} - -# verify -# 1) that the datadir exists and is writable (or create it) -# 2) that a directory for the pid exists and is writable -# 3) ownership and permissions on the config file -start_pre() { - checkpath \ - -d \ - --mode 0750 \ - --owner "${RAVEND_USER}:${RAVEND_GROUP}" \ - "${RAVEND_DATADIR}" - - checkpath \ - -d \ - --mode 0755 \ - --owner "${RAVEND_USER}:${RAVEND_GROUP}" \ - "${RAVEND_PIDDIR}" - - checkpath -f \ - -o ${RAVEND_USER}:${RAVEND_GROUP} \ - -m 0660 \ - ${RAVEND_CONFIGFILE} - - checkconfig || return 1 -} - -checkconfig() -{ - if ! grep -qs '^rpcpassword=' "${RAVEND_CONFIGFILE}" ; then - eerror "" - eerror "ERROR: You must set a secure rpcpassword to run ravend." - eerror "The setting must appear in ${RAVEND_CONFIGFILE}" - eerror "" - eerror "This password is security critical to securing wallets " - eerror "and must not be the same as the rpcuser setting." - eerror "You can generate a suitable random password using the following " - eerror "command from the shell:" - eerror "" - eerror "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'" - eerror "" - eerror "It is recommended that you also set alertnotify so you are " - eerror "notified of problems:" - eerror "" - eerror "ie: alertnotify=echo %%s | mail -s \"Raven Alert\"" \ - "admin@foo.com" - eerror "" - return 1 - fi -} diff --git a/contrib/macdeploy/custom_dsstore.py b/contrib/macdeploy/custom_dsstore.py index 53986e09c8..300e8f9dd0 100755 --- a/contrib/macdeploy/custom_dsstore.py +++ b/contrib/macdeploy/custom_dsstore.py @@ -29,7 +29,7 @@ 'gridOffsetX': 0.0, 'textSize': 12.0, 'viewOptionsVersion': 1, - 'backgroundImageAlias': b'\x00\x00\x00\x00\x02\x1e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x94\\\xb0H+\x00\x05\x00\x00\x00\x98\x0fbackground.tiff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\xd19\xb0\xf8\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\r\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b.background\x00\x00\x10\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x11\x00\x08\x00\x00\xd19\xb0\xf8\x00\x00\x00\x01\x00\x04\x00\x00\x00\x98\x00\x0e\x00 \x00\x0f\x00b\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x00.\x00t\x00i\x00f\x00f\x00\x0f\x00\x02\x00\x00\x00\x12\x00\x1c/.background/background.tiff\x00\x14\x01\x06\x00\x00\x00\x00\x01\x06\x00\x02\x00\x00\x0cMacintosh HD\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x97\xab\xc3H+\x00\x00\x01\x88[\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02u\xab\x8d\xd1\x94\\\xb0devrddsk\xff\xff\xff\xff\x00\x00\t \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07ravenxx\x00\x00\x10\x00\x08\x00\x00\xce\x97\xab\xc3\x00\x00\x00\x11\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x01\x00\x14\x01\x88[\x88\x00\x16\xa9\t\x00\x08\xfaR\x00\x08\xfaQ\x00\x02d\x8e\x00\x0e\x00\x02\x00\x00\x00\x0f\x00\x1a\x00\x0c\x00M\x00a\x00c\x00i\x00n\x00t\x00o\x00s\x00h\x00 \x00H\x00D\x00\x13\x00\x01/\x00\x00\x15\x00\x02\x00\x14\xff\xff\x00\x00\xff\xff\x00\x00', + 'backgroundImageAlias': b'\x00\x00\x00\x00\x02\x1e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x94\\\xb0H+\x00\x05\x00\x00\x00\x98\x0fbackground.tiff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\xd19\xb0\xf8\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\r\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b.background\x00\x00\x10\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x11\x00\x08\x00\x00\xd19\xb0\xf8\x00\x00\x00\x01\x00\x04\x00\x00\x00\x98\x00\x0e\x00 \x00\x0f\x00b\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x00.\x00t\x00i\x00f\x00f\x00\x0f\x00\x02\x00\x00\x00\x12\x00\x1c/.background/background.tiff\x00\x14\x01\x06\x00\x00\x00\x00\x01\x06\x00\x02\x00\x00\x0cMacintosh HD\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x97\xab\xc3H+\x00\x00\x01\x88[\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02u\xab\x8d\xd1\x94\\\xb0devrddsk\xff\xff\xff\xff\x00\x00\t \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07blastxx\x00\x00\x10\x00\x08\x00\x00\xce\x97\xab\xc3\x00\x00\x00\x11\x00\x08\x00\x00\xd1\x94\\\xb0\x00\x00\x00\x01\x00\x14\x01\x88[\x88\x00\x16\xa9\t\x00\x08\xfaR\x00\x08\xfaQ\x00\x02d\x8e\x00\x0e\x00\x02\x00\x00\x00\x0f\x00\x1a\x00\x0c\x00M\x00a\x00c\x00i\x00n\x00t\x00o\x00s\x00h\x00 \x00H\x00D\x00\x13\x00\x01/\x00\x00\x15\x00\x02\x00\x14\xff\xff\x00\x00\xff\xff\x00\x00', 'backgroundColorBlue': 1.0, 'iconSize': 96.0, 'backgroundColorGreen': 1.0, @@ -46,8 +46,8 @@ alias.volume.name = package_name_ns alias.volume.posix_path = '/Volumes/' + package_name_ns alias.volume.disk_image_alias.target.filename = package_name_ns + '.temp.dmg' -alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00ravenuser:\x00Documents:\x00raven:\x00raven:\x00' + package_name_ns + '.temp.dmg' -alias.volume.disk_image_alias.target.posix_path = 'Users/ravenuser/Documents/raven/raven/' + package_name_ns + '.temp.dmg' +alias.volume.disk_image_alias.target.carbon_path = 'Macintosh HD:Users:\x00blastuser:\x00Documents:\x00blast:\x00blast:\x00' + package_name_ns + '.temp.dmg' +alias.volume.disk_image_alias.target.posix_path = 'Users/blastuser/Documents/blast/blast/' + package_name_ns + '.temp.dmg' alias.target.carbon_path = package_name_ns + ':.background:\x00background.tiff' icvp['backgroundImageAlias'] = biplist.Data(alias.to_bytes()) ds['.']['icvp'] = icvp @@ -55,7 +55,7 @@ ds['.']['vSrn'] = ('long', 1) ds['Applications']['Iloc'] = (370, 156) -ds['Raven-Qt.app']['Iloc'] = (128, 156) +ds['Blast-Qt.app']['Iloc'] = (128, 156) ds.flush() ds.close() diff --git a/contrib/rpm/blast.fc b/contrib/rpm/blast.fc new file mode 100644 index 0000000000..92d20b2524 --- /dev/null +++ b/contrib/rpm/blast.fc @@ -0,0 +1,8 @@ +/usr/bin/blast-cli -- gen_context(system_u:object_r:blast_exec_t,s0) +/usr/sbin/blastd -- gen_context(system_u:object_r:blast_exec_t,s0) +/usr/lib(64)?/blast/blastd -- gen_context(system_u:object_r:blast_exec_t,s0) + +/etc/blast(/.*)? gen_context(system_u:object_r:blast_conf_t,s0) +/var/lib/blast(/.*)? gen_context(system_u:object_r:blast_var_lib_t,s0) + +(/var)?/run/blastd(/.*)? gen_context(system_u:object_r:blast_var_run_t,s0) diff --git a/contrib/rpm/raven.if b/contrib/rpm/blast.if similarity index 57% rename from contrib/rpm/raven.if rename to contrib/rpm/blast.if index 5e305ae2ac..5118150906 100644 --- a/contrib/rpm/raven.if +++ b/contrib/rpm/blast.if @@ -1,10 +1,10 @@ -## policy for raven +## policy for blast ######################################## ## -## Transition to raven. +## Transition to blast. ## ## ## @@ -12,19 +12,19 @@ ## ## # -interface(`raven_domtrans',` +interface(`blast_domtrans',` gen_require(` - type raven_t, raven_exec_t; + type blast_t, blast_exec_t; ') corecmd_search_bin($1) - domtrans_pattern($1, raven_exec_t, raven_t) + domtrans_pattern($1, blast_exec_t, blast_t) ') ######################################## ## -## Execute raven server in the raven domain. +## Execute blast server in the blast domain. ## ## ## @@ -32,18 +32,18 @@ interface(`raven_domtrans',` ## ## # -interface(`raven_initrc_domtrans',` +interface(`blast_initrc_domtrans',` gen_require(` - type raven_initrc_exec_t; + type blast_initrc_exec_t; ') - init_labeled_script_domtrans($1, raven_initrc_exec_t) + init_labeled_script_domtrans($1, blast_initrc_exec_t) ') ######################################## ## -## Search raven lib directories. +## Search blast lib directories. ## ## ## @@ -51,18 +51,18 @@ interface(`raven_initrc_domtrans',` ## ## # -interface(`raven_search_lib',` +interface(`blast_search_lib',` gen_require(` - type raven_var_lib_t; + type blast_var_lib_t; ') - allow $1 raven_var_lib_t:dir search_dir_perms; + allow $1 blast_var_lib_t:dir search_dir_perms; files_search_var_lib($1) ') ######################################## ## -## Read raven lib files. +## Read blast lib files. ## ## ## @@ -70,18 +70,18 @@ interface(`raven_search_lib',` ## ## # -interface(`raven_read_lib_files',` +interface(`blast_read_lib_files',` gen_require(` - type raven_var_lib_t; + type blast_var_lib_t; ') files_search_var_lib($1) - read_files_pattern($1, raven_var_lib_t, raven_var_lib_t) + read_files_pattern($1, blast_var_lib_t, blast_var_lib_t) ') ######################################## ## -## Manage raven lib files. +## Manage blast lib files. ## ## ## @@ -89,18 +89,18 @@ interface(`raven_read_lib_files',` ## ## # -interface(`raven_manage_lib_files',` +interface(`blast_manage_lib_files',` gen_require(` - type raven_var_lib_t; + type blast_var_lib_t; ') files_search_var_lib($1) - manage_files_pattern($1, raven_var_lib_t, raven_var_lib_t) + manage_files_pattern($1, blast_var_lib_t, blast_var_lib_t) ') ######################################## ## -## Manage raven lib directories. +## Manage blast lib directories. ## ## ## @@ -108,20 +108,20 @@ interface(`raven_manage_lib_files',` ## ## # -interface(`raven_manage_lib_dirs',` +interface(`blast_manage_lib_dirs',` gen_require(` - type raven_var_lib_t; + type blast_var_lib_t; ') files_search_var_lib($1) - manage_dirs_pattern($1, raven_var_lib_t, raven_var_lib_t) + manage_dirs_pattern($1, blast_var_lib_t, blast_var_lib_t) ') ######################################## ## ## All of the rules required to administrate -## a raven environment +## a blast environment ## ## ## @@ -135,23 +135,23 @@ interface(`raven_manage_lib_dirs',` ## ## # -interface(`raven_admin',` +interface(`blast_admin',` gen_require(` - type raven_t; - type raven_initrc_exec_t; - type raven_var_lib_t; + type blast_t; + type blast_initrc_exec_t; + type blast_var_lib_t; ') - allow $1 raven_t:process { ptrace signal_perms }; - ps_process_pattern($1, raven_t) + allow $1 blast_t:process { ptrace signal_perms }; + ps_process_pattern($1, blast_t) - raven_initrc_domtrans($1) + blast_initrc_domtrans($1) domain_system_change_exemption($1) - role_transition $2 raven_initrc_exec_t system_r; + role_transition $2 blast_initrc_exec_t system_r; allow $2 system_r; files_search_var_lib($1) - admin_pattern($1, raven_var_lib_t) + admin_pattern($1, blast_var_lib_t) ') diff --git a/contrib/rpm/raven.spec b/contrib/rpm/blast.spec similarity index 57% rename from contrib/rpm/raven.spec rename to contrib/rpm/blast.spec index 93de130f93..efaddabe55 100644 --- a/contrib/rpm/raven.spec +++ b/contrib/rpm/blast.spec @@ -13,31 +13,31 @@ %endif %endif -Name: raven +Name: blast Version: 0.12.0 Release: 2%{?dist} Summary: Peer to Peer Cryptographic Currency Group: Applications/System License: MIT -URL: https://raven.org/ -Source0: https://raven.org/bin/raven-core-%{version}/raven-%{version}.tar.gz +URL: https://blastblastblast.com/ +Source0: https://blastblastblast.com/bin/blast-core-%{version}/blast-%{version}.tar.gz Source1: http://download.oracle.com/berkeley-db/db-%{bdbv}.NC.tar.gz -Source10: https://raw.githubusercontent.com/raven/raven/v%{version}/contrib/debian/examples/raven.conf +Source10: https://raw.githubusercontent.com/cryptoBLAST/BLAST-Core/v%{version}/contrib/debian/examples/blast.conf #man pages -Source20: https://raw.githubusercontent.com/raven/raven/v%{version}/doc/man/ravend.1 -Source21: https://raw.githubusercontent.com/raven/raven/v%{version}/doc/man/raven-cli.1 -Source22: https://raw.githubusercontent.com/raven/raven/v%{version}/doc/man/raven-qt.1 +Source20: https://raw.githubusercontent.com/cryptoBLAST/Blast-Core/v%{version}/doc/man/blastd.1 +Source21: https://raw.githubusercontent.com/cryptoBLAST/Blast-Core/v%{version}/doc/man/blast-cli.1 +Source22: https://raw.githubusercontent.com/cryptoBLAST/Blast-Core/v%{version}/doc/man/blast-qt.1 #selinux -Source30: https://raw.githubusercontent.com/raven/raven/v%{version}/contrib/rpm/raven.te -# Source31 - what about raven-tx and bench_raven ??? -Source31: https://raw.githubusercontent.com/raven/raven/v%{version}/contrib/rpm/raven.fc -Source32: https://raw.githubusercontent.com/raven/raven/v%{version}/contrib/rpm/raven.if +Source30: https://raw.githubusercontent.com/cryptoBLAST/Blast-Core/v%{version}/contrib/rpm/blast.te +# Source31 - what about blast-tx and bench_blast ??? +Source31: https://raw.githubusercontent.com/cryptoBLAST/Blast-Core/v%{version}/contrib/rpm/blast.fc +Source32: https://raw.githubusercontent.com/cryptoBLAST/Blast-Core/v%{version}/contrib/rpm/blast.if -Source100: https://upload.wikimedia.org/wikipedia/commons/4/46/Raven.svg +Source100: https://upload.wikimedia.org/wikipedia/commons/4/46/BLAST.svg %if 0%{?_use_libressl:1} BuildRequires: libressl-devel @@ -50,13 +50,13 @@ BuildRequires: autoconf automake libtool BuildRequires: libevent-devel -Patch0: raven-0.12.0-libressl.patch +Patch0: blast-0.12.0-libressl.patch %description -Raven is a digital cryptographic currency that uses peer-to-peer technology to +BLAST is a digital cryptographic currency that uses peer-to-peer technology to operate with no central authority or banks; managing transactions and the -issuing of ravens is carried out collectively by the network. +issuing of blasts is carried out collectively by the network. %if %{_buildqt} %package core @@ -79,42 +79,42 @@ BuildRequires: %{_bindir}/inkscape BuildRequires: %{_bindir}/convert %description core -Raven is a digital cryptographic currency that uses peer-to-peer technology to +BLAST is a digital cryptographic currency that uses peer-to-peer technology to operate with no central authority or banks; managing transactions and the -issuing of ravens is carried out collectively by the network. +issuing of blasts is carried out collectively by the network. This package contains the Qt based graphical client and node. If you are looking -to run a Raven wallet, this is probably the package you want. +to run a BLAST wallet, this is probably the package you want. %endif %package libs -Summary: Raven shared libraries +Summary: BLAST shared libraries Group: System Environment/Libraries %description libs -This package provides the ravenconsensus shared libraries. These libraries +This package provides the bitcoinconsensus shared libraries. These libraries may be used by third party software to provide consensus verification functionality. Unless you know need this package, you probably do not. %package devel -Summary: Development files for raven +Summary: Development files for BLAST Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} %description devel This package contains the header files and static library for the -ravenconsensus shared library. If you are developing or compiling software +bitcoinconsensus shared library. If you are developing or compiling software that wants to link against that library, then you need this package installed. Most people do not need this package installed. %package server -Summary: The raven daemon +Summary: The BLAST daemon Group: System Environment/Daemons -Requires: raven-utils = %{version}-%{release} +Requires: blast-utils = %{version}-%{release} Requires: selinux-policy policycoreutils-python Requires(pre): shadow-utils Requires(post): %{_sbindir}/semodule %{_sbindir}/restorecon %{_sbindir}/fixfiles %{_sbindir}/sestatus @@ -124,34 +124,34 @@ BuildRequires: checkpolicy BuildRequires: %{_datadir}/selinux/devel/Makefile %description server -This package provides a stand-alone raven-core daemon. For most users, this +This package provides a stand-alone blast-core daemon. For most users, this package is only needed if they need a full-node without the graphical client. Some third party wallet software will want this package to provide the actual -raven-core node they use to connect to the network. +blast-core node they use to connect to the network. -If you use the graphical raven-core client then you almost certainly do not +If you use the graphical blast-core client then you almost certainly do not need this package. %package utils -Summary: Raven utilities +Summary: BLAST utilities Group: Applications/System %description utils This package provides several command line utilities for interacting with a -raven-core daemon. +blast-core daemon. -The raven-cli utility allows you to communicate and control a raven daemon -over RPC, the raven-tx utility allows you to create a custom transaction, and -the bench_raven utility can be used to perform some benchmarks. +The blast-cli utility allows you to communicate and control a blast daemon +over RPC, the blast-tx utility allows you to create a custom transaction, and +the bench_blast utility can be used to perform some benchmarks. -This package contains utilities needed by the raven-server package. +This package contains utilities needed by the blast-server package. %prep %setup -q %patch0 -p1 -b .libressl -cp -p %{SOURCE10} ./raven.conf.example +cp -p %{SOURCE10} ./blast.conf.example tar -zxf %{SOURCE1} cp -p db-%{bdbv}.NC/LICENSE ./db-%{bdbv}.NC-LICENSE mkdir db4 SELinux @@ -172,7 +172,7 @@ make %{?_smp_mflags} pushd SELinux for selinuxvariant in %{selinux_variants}; do make NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile - mv raven.pp raven.pp.${selinuxvariant} + mv blast.pp blast.pp.${selinuxvariant} make NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile clean done popd @@ -182,42 +182,42 @@ popd make install DESTDIR=%{buildroot} mkdir -p -m755 %{buildroot}%{_sbindir} -mv %{buildroot}%{_bindir}/ravend %{buildroot}%{_sbindir}/ravend +mv %{buildroot}%{_bindir}/blastd %{buildroot}%{_sbindir}/blastd # systemd stuff mkdir -p %{buildroot}%{_tmpfilesdir} -cat < %{buildroot}%{_tmpfilesdir}/raven.conf -d /run/ravend 0750 raven raven - +cat < %{buildroot}%{_tmpfilesdir}/blast.conf +d /run/blastd 0750 blast blast - EOF -touch -a -m -t 201504280000 %{buildroot}%{_tmpfilesdir}/raven.conf +touch -a -m -t 201504280000 %{buildroot}%{_tmpfilesdir}/blast.conf mkdir -p %{buildroot}%{_sysconfdir}/sysconfig -cat < %{buildroot}%{_sysconfdir}/sysconfig/raven -# Provide options to the raven daemon here, for example +cat < %{buildroot}%{_sysconfdir}/sysconfig/blast +# Provide options to the blast daemon here, for example # OPTIONS="-testnet -disable-wallet" OPTIONS="" # System service defaults. # Don't change these unless you know what you're doing. -CONFIG_FILE="%{_sysconfdir}/raven/raven.conf" -DATA_DIR="%{_localstatedir}/lib/raven" -PID_FILE="/run/ravend/ravend.pid" +CONFIG_FILE="%{_sysconfdir}/blast/blast.conf" +DATA_DIR="%{_localstatedir}/lib/blast" +PID_FILE="/run/blastd/blastd.pid" EOF -touch -a -m -t 201504280000 %{buildroot}%{_sysconfdir}/sysconfig/raven +touch -a -m -t 201504280000 %{buildroot}%{_sysconfdir}/sysconfig/blast mkdir -p %{buildroot}%{_unitdir} -cat < %{buildroot}%{_unitdir}/raven.service +cat < %{buildroot}%{_unitdir}/blast.service [Unit] -Description=Raven daemon +Description=BLAST daemon After=syslog.target network.target [Service] Type=forking -ExecStart=%{_sbindir}/ravend -daemon -conf=\${CONFIG_FILE} -datadir=\${DATA_DIR} -pid=\${PID_FILE} \$OPTIONS -EnvironmentFile=%{_sysconfdir}/sysconfig/raven -User=raven -Group=raven +ExecStart=%{_sbindir}/blastd -daemon -conf=\${CONFIG_FILE} -datadir=\${DATA_DIR} -pid=\${PID_FILE} \$OPTIONS +EnvironmentFile=%{_sysconfdir}/sysconfig/blast +User=blast +Group=blast Restart=on-failure PrivateTmp=true @@ -229,63 +229,63 @@ StartLimitBurst=5 [Install] WantedBy=multi-user.target EOF -touch -a -m -t 201504280000 %{buildroot}%{_unitdir}/raven.service +touch -a -m -t 201504280000 %{buildroot}%{_unitdir}/blast.service #end systemd stuff -mkdir %{buildroot}%{_sysconfdir}/raven -mkdir -p %{buildroot}%{_localstatedir}/lib/raven +mkdir %{buildroot}%{_sysconfdir}/blast +mkdir -p %{buildroot}%{_localstatedir}/lib/blast #SELinux for selinuxvariant in %{selinux_variants}; do install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} - install -p -m 644 SELinux/raven.pp.${selinuxvariant} %{buildroot}%{_datadir}/selinux/${selinuxvariant}/raven.pp + install -p -m 644 SELinux/blast.pp.${selinuxvariant} %{buildroot}%{_datadir}/selinux/${selinuxvariant}/blast.pp done %if %{_buildqt} # qt icons -install -D -p share/pixmaps/raven.ico %{buildroot}%{_datadir}/pixmaps/raven.ico +install -D -p share/pixmaps/blast.ico %{buildroot}%{_datadir}/pixmaps/blast.ico install -p share/pixmaps/nsis-header.bmp %{buildroot}%{_datadir}/pixmaps/ install -p share/pixmaps/nsis-wizard.bmp %{buildroot}%{_datadir}/pixmaps/ -install -p %{SOURCE100} %{buildroot}%{_datadir}/pixmaps/raven.svg -%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/raven16.png -w16 -h16 -%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/raven32.png -w32 -h32 -%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/raven64.png -w64 -h64 -%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/raven128.png -w128 -h128 -%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/raven256.png -w256 -h256 -%{_bindir}/convert -resize 16x16 %{buildroot}%{_datadir}/pixmaps/raven256.png %{buildroot}%{_datadir}/pixmaps/raven16.xpm -%{_bindir}/convert -resize 32x32 %{buildroot}%{_datadir}/pixmaps/raven256.png %{buildroot}%{_datadir}/pixmaps/raven32.xpm -%{_bindir}/convert -resize 64x64 %{buildroot}%{_datadir}/pixmaps/raven256.png %{buildroot}%{_datadir}/pixmaps/raven64.xpm -%{_bindir}/convert -resize 128x128 %{buildroot}%{_datadir}/pixmaps/raven256.png %{buildroot}%{_datadir}/pixmaps/raven128.xpm -%{_bindir}/convert %{buildroot}%{_datadir}/pixmaps/raven256.png %{buildroot}%{_datadir}/pixmaps/raven256.xpm +install -p %{SOURCE100} %{buildroot}%{_datadir}/pixmaps/blast.svg +%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/blast16.png -w16 -h16 +%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/blast32.png -w32 -h32 +%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/blast64.png -w64 -h64 +%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/blast128.png -w128 -h128 +%{_bindir}/inkscape %{SOURCE100} --export-png=%{buildroot}%{_datadir}/pixmaps/blast256.png -w256 -h256 +%{_bindir}/convert -resize 16x16 %{buildroot}%{_datadir}/pixmaps/blast256.png %{buildroot}%{_datadir}/pixmaps/blast16.xpm +%{_bindir}/convert -resize 32x32 %{buildroot}%{_datadir}/pixmaps/blast256.png %{buildroot}%{_datadir}/pixmaps/blast32.xpm +%{_bindir}/convert -resize 64x64 %{buildroot}%{_datadir}/pixmaps/blast256.png %{buildroot}%{_datadir}/pixmaps/blast64.xpm +%{_bindir}/convert -resize 128x128 %{buildroot}%{_datadir}/pixmaps/blast256.png %{buildroot}%{_datadir}/pixmaps/blast128.xpm +%{_bindir}/convert %{buildroot}%{_datadir}/pixmaps/blast256.png %{buildroot}%{_datadir}/pixmaps/blast256.xpm touch %{buildroot}%{_datadir}/pixmaps/*.png -r %{SOURCE100} touch %{buildroot}%{_datadir}/pixmaps/*.xpm -r %{SOURCE100} # Desktop File - change the touch timestamp if modifying mkdir -p %{buildroot}%{_datadir}/applications -cat < %{buildroot}%{_datadir}/applications/raven-core.desktop +cat < %{buildroot}%{_datadir}/applications/blast-core.desktop [Desktop Entry] Encoding=UTF-8 -Name=Raven -Comment=Raven P2P Cryptocurrency -Comment[fr]=Raven, monnaie virtuelle cryptographique pair à pair -Comment[tr]=Raven, eşten eşe kriptografik sanal para birimi -Exec=raven-qt %u +Name=BLAST +Comment=BLAST P2P Cryptocurrency +Comment[fr]=BLAST, monnaie virtuelle cryptographique pair à pair +Comment[tr]=BLAST, eşten eşe kriptografik sanal para birimi +Exec=blast-qt %u Terminal=false Type=Application -Icon=raven128 -MimeType=x-scheme-handler/raven; +Icon=blast128 +MimeType=x-scheme-handler/blast; Categories=Office;Finance; EOF # change touch date when modifying desktop -touch -a -m -t 201511100546 %{buildroot}%{_datadir}/applications/raven-core.desktop -%{_bindir}/desktop-file-validate %{buildroot}%{_datadir}/applications/raven-core.desktop +touch -a -m -t 201511100546 %{buildroot}%{_datadir}/applications/blast-core.desktop +%{_bindir}/desktop-file-validate %{buildroot}%{_datadir}/applications/blast-core.desktop # KDE protocol - change the touch timestamp if modifying mkdir -p %{buildroot}%{_datadir}/kde4/services -cat < %{buildroot}%{_datadir}/kde4/services/raven-core.protocol +cat < %{buildroot}%{_datadir}/kde4/services/blast-core.protocol [Protocol] -exec=raven-qt '%u' -protocol=raven +exec=blast-qt '%u' +protocol=blast input=none output=none helper=true @@ -296,14 +296,14 @@ makedir=false deleting=false EOF # change touch date when modifying protocol -touch -a -m -t 201511100546 %{buildroot}%{_datadir}/kde4/services/raven-core.protocol +touch -a -m -t 201511100546 %{buildroot}%{_datadir}/kde4/services/blast-core.protocol %endif # man pages -install -D -p %{SOURCE20} %{buildroot}%{_mandir}/man1/ravend.1 -install -p %{SOURCE21} %{buildroot}%{_mandir}/man1/raven-cli.1 +install -D -p %{SOURCE20} %{buildroot}%{_mandir}/man1/blastd.1 +install -p %{SOURCE21} %{buildroot}%{_mandir}/man1/blast-cli.1 %if %{_buildqt} -install -p %{SOURCE22} %{buildroot}%{_mandir}/man1/raven-qt.1 +install -p %{SOURCE22} %{buildroot}%{_mandir}/man1/blast-qt.1 %endif # nuke these, we do extensive testing of binaries in %%check before packaging @@ -311,7 +311,7 @@ rm -f %{buildroot}%{_bindir}/test_* %check make check -srcdir=src test/raven-util-test.py +srcdir=src test/blast-util-test.py test/functional/test_runner.py --extended %post libs -p /sbin/ldconfig @@ -319,37 +319,37 @@ test/functional/test_runner.py --extended %postun libs -p /sbin/ldconfig %pre server -getent group raven >/dev/null || groupadd -r raven -getent passwd raven >/dev/null || - useradd -r -g raven -d /var/lib/raven -s /sbin/nologin \ - -c "Raven wallet server" raven +getent group blast >/dev/null || groupadd -r blast +getent passwd blast >/dev/null || + useradd -r -g blast -d /var/lib/blast -s /sbin/nologin \ + -c "BLAST wallet server" blast exit 0 %post server -%systemd_post raven.service +%systemd_post blast.service # SELinux if [ `%{_sbindir}/sestatus |grep -c "disabled"` -eq 0 ]; then for selinuxvariant in %{selinux_variants}; do - %{_sbindir}/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/raven.pp &> /dev/null || : + %{_sbindir}/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/blast.pp &> /dev/null || : done -%{_sbindir}/semanage port -a -t raven_port_t -p tcp 64639 -%{_sbindir}/semanage port -a -t raven_port_t -p tcp 64640 -%{_sbindir}/semanage port -a -t raven_port_t -p tcp 64319 -%{_sbindir}/semanage port -a -t raven_port_t -p tcp 64320 -%{_sbindir}/semanage port -a -t raven_port_t -p tcp 32319 -%{_sbindir}/semanage port -a -t raven_port_t -p tcp 32320 -%{_sbindir}/fixfiles -R raven-server restore &> /dev/null || : -%{_sbindir}/restorecon -R %{_localstatedir}/lib/raven || : +%{_sbindir}/semanage port -a -t blast_port_t -p tcp 64639 +%{_sbindir}/semanage port -a -t blast_port_t -p tcp 64640 +%{_sbindir}/semanage port -a -t blast_port_t -p tcp 64319 +%{_sbindir}/semanage port -a -t blast_port_t -p tcp 64320 +%{_sbindir}/semanage port -a -t blast_port_t -p tcp 32319 +%{_sbindir}/semanage port -a -t blast_port_t -p tcp 32320 +%{_sbindir}/fixfiles -R blast-server restore &> /dev/null || : +%{_sbindir}/restorecon -R %{_localstatedir}/lib/blast || : fi %posttrans server %{_bindir}/systemd-tmpfiles --create %preun server -%systemd_preun raven.service +%systemd_preun blast.service %postun server -%systemd_postun raven.service +%systemd_postun blast.service # SELinux if [ $1 -eq 0 ]; then if [ `%{_sbindir}/sestatus |grep -c "disabled"` -eq 0 ]; then @@ -360,11 +360,11 @@ if [ $1 -eq 0 ]; then %{_sbindir}/semanage port -d -p tcp 32319 %{_sbindir}/semanage port -d -p tcp 32320 for selinuxvariant in %{selinux_variants}; do - %{_sbindir}/semodule -s ${selinuxvariant} -r raven &> /dev/null || : + %{_sbindir}/semodule -s ${selinuxvariant} -r blast &> /dev/null || : done - %{_sbindir}/fixfiles -R raven-server restore &> /dev/null || : - [ -d %{_localstatedir}/lib/raven ] && \ - %{_sbindir}/restorecon -R %{_localstatedir}/lib/raven &> /dev/null || : + %{_sbindir}/fixfiles -R blast-server restore &> /dev/null || : + [ -d %{_localstatedir}/lib/blast ] && \ + %{_sbindir}/restorecon -R %{_localstatedir}/lib/blast &> /dev/null || : fi fi @@ -375,16 +375,16 @@ rm -rf %{buildroot} %files core %defattr(-,root,root,-) %license COPYING db-%{bdbv}.NC-LICENSE -%doc COPYING raven.conf.example doc/README.md doc/bips.md doc/files.md doc/multiwallet-qt.md doc/reduce-traffic.md doc/release-notes.md doc/tor.md -%attr(0755,root,root) %{_bindir}/raven-qt -%attr(0644,root,root) %{_datadir}/applications/raven-core.desktop -%attr(0644,root,root) %{_datadir}/kde4/services/raven-core.protocol +%doc COPYING blast.conf.example doc/README.md doc/bips.md doc/files.md doc/multiwallet-qt.md doc/reduce-traffic.md doc/release-notes.md doc/tor.md +%attr(0755,root,root) %{_bindir}/blast-qt +%attr(0644,root,root) %{_datadir}/applications/blast-core.desktop +%attr(0644,root,root) %{_datadir}/kde4/services/blast-core.protocol %attr(0644,root,root) %{_datadir}/pixmaps/*.ico %attr(0644,root,root) %{_datadir}/pixmaps/*.bmp %attr(0644,root,root) %{_datadir}/pixmaps/*.svg %attr(0644,root,root) %{_datadir}/pixmaps/*.png %attr(0644,root,root) %{_datadir}/pixmaps/*.xpm -%attr(0644,root,root) %{_mandir}/man1/raven-qt.1* +%attr(0644,root,root) %{_mandir}/man1/blast-qt.1* %endif %files libs @@ -406,30 +406,30 @@ rm -rf %{buildroot} %files server %defattr(-,root,root,-) %license COPYING db-%{bdbv}.NC-LICENSE -%doc COPYING raven.conf.example doc/README.md doc/REST-interface.md doc/bips.md doc/dnsseed-policy.md doc/files.md doc/reduce-traffic.md doc/release-notes.md doc/tor.md -%attr(0755,root,root) %{_sbindir}/ravend -%attr(0644,root,root) %{_tmpfilesdir}/raven.conf -%attr(0644,root,root) %{_unitdir}/raven.service -%dir %attr(0750,raven,raven) %{_sysconfdir}/raven -%dir %attr(0750,raven,raven) %{_localstatedir}/lib/raven -%config(noreplace) %attr(0600,root,root) %{_sysconfdir}/sysconfig/raven +%doc COPYING blast.conf.example doc/README.md doc/REST-interface.md doc/bips.md doc/dnsseed-policy.md doc/files.md doc/reduce-traffic.md doc/release-notes.md doc/tor.md +%attr(0755,root,root) %{_sbindir}/blastd +%attr(0644,root,root) %{_tmpfilesdir}/blast.conf +%attr(0644,root,root) %{_unitdir}/blast.service +%dir %attr(0750,blast,blast) %{_sysconfdir}/blast +%dir %attr(0750,blast,blast) %{_localstatedir}/lib/blast +%config(noreplace) %attr(0600,root,root) %{_sysconfdir}/sysconfig/blast %attr(0644,root,root) %{_datadir}/selinux/*/*.pp -%attr(0644,root,root) %{_mandir}/man1/ravend.1* +%attr(0644,root,root) %{_mandir}/man1/blastd.1* %files utils %defattr(-,root,root,-) %license COPYING -%doc COPYING raven.conf.example doc/README.md -%attr(0755,root,root) %{_bindir}/raven-cli -%attr(0755,root,root) %{_bindir}/raven-tx -%attr(0755,root,root) %{_bindir}/bench_raven -%attr(0644,root,root) %{_mandir}/man1/raven-cli.1* +%doc COPYING blast.conf.example doc/README.md +%attr(0755,root,root) %{_bindir}/blast-cli +%attr(0755,root,root) %{_bindir}/blast-tx +%attr(0755,root,root) %{_bindir}/bench_blast +%attr(0644,root,root) %{_mandir}/man1/blast-cli.1* %changelog * Fri Feb 26 2016 Alice Wonder - 0.12.0-2 -- Rename Qt package from raven to raven-core +- Rename Qt package from blast to blast-core - Make building of the Qt package optional - When building the Qt package, default to Qt5 but allow building - against Qt4 @@ -439,4 +439,4 @@ rm -rf %{buildroot} - Initial spec file for 0.12.0 release # This spec file is written from scratch but a lot of the packaging decisions are directly -# based upon the 0.11.2 package spec file from https://www.ringingliberty.com/raven/ +# based upon the 0.11.2 package spec file from https://www.ringingliberty.com/bitcoin/ diff --git a/contrib/rpm/blast.te b/contrib/rpm/blast.te new file mode 100644 index 0000000000..9f99db5b2b --- /dev/null +++ b/contrib/rpm/blast.te @@ -0,0 +1,81 @@ +policy_module(blast, 1.100.1) + +######################################## +# +# Declarations +# + +type blast_t; +type blast_exec_t; +init_daemon_domain(blast_t, blast_exec_t) + +permissive blast_t; + +type blast_initrc_exec_t; +init_script_file(blast_initrc_exec_t) + +type blast_conf_t; +files_type(blast_conf_t) + +type blast_var_lib_t; +files_type(blast_var_lib_t) + +type blast_var_run_t; +files_type(blast_var_run_t) + +type blast_port_t; +corenet_port(blast_port_t) + +######################################## +# +# blast local policy +# +allow blast_t self:process { fork }; + +allow blast_t self:fifo_file rw_fifo_file_perms; +allow blast_t self:unix_stream_socket create_stream_socket_perms; + +manage_dirs_pattern(blast_t, blast_conf_t, blast_conf_t) +manage_files_pattern(blast_t, blast_conf_t, blast_conf_t) + +manage_dirs_pattern(blast_t, blast_var_lib_t, blast_var_lib_t) +manage_files_pattern(blast_t, blast_var_lib_t, blast_var_lib_t) +files_var_lib_filetrans(blast_t, blast_var_lib_t, { dir file }) + +manage_dirs_pattern(blast_t, blast_var_run_t, blast_var_run_t) +manage_files_pattern(blast_t, blast_var_run_t, blast_var_run_t) + +sysnet_dns_name_resolve(blast_t) +corenet_all_recvfrom_unlabeled(blast_t) + +allow blast_t self:tcp_socket create_stream_socket_perms; +corenet_tcp_sendrecv_generic_if(blast_t) +corenet_tcp_sendrecv_generic_node(blast_t) +corenet_tcp_sendrecv_all_ports(blast_t) +corenet_tcp_bind_generic_node(blast_t) + +gen_require(` + type blast_port_t; +') +allow blast_t blast_port_t:tcp_socket name_bind; + +gen_require(` + type blast_port_t; +') +allow blast_t blast_port_t:tcp_socket name_connect; + +domain_use_interactive_fds(blast_t) + +files_read_etc_files(blast_t) + +miscfiles_read_localization(blast_t) + +sysnet_dns_name_resolve(blast_t) + +allow blast_t blast_exec_t:file execute_no_trans; +allow blast_t self:process setsched; +corecmd_exec_ls(blast_t) +corenet_tcp_connect_http_port(blast_t) +dev_read_urand(blast_t) +fs_getattr_xattr_fs(blast_t) +kernel_read_system_state(blast_t) diff --git a/contrib/rpm/raven.fc b/contrib/rpm/raven.fc deleted file mode 100644 index b674373e06..0000000000 --- a/contrib/rpm/raven.fc +++ /dev/null @@ -1,8 +0,0 @@ -/usr/bin/raven-cli -- gen_context(system_u:object_r:raven_exec_t,s0) -/usr/sbin/ravend -- gen_context(system_u:object_r:raven_exec_t,s0) -/usr/lib(64)?/raven/ravend -- gen_context(system_u:object_r:raven_exec_t,s0) - -/etc/raven(/.*)? gen_context(system_u:object_r:raven_conf_t,s0) -/var/lib/raven(/.*)? gen_context(system_u:object_r:raven_var_lib_t,s0) - -(/var)?/run/ravend(/.*)? gen_context(system_u:object_r:raven_var_run_t,s0) diff --git a/contrib/rpm/raven.te b/contrib/rpm/raven.te deleted file mode 100644 index a1ff0fdf50..0000000000 --- a/contrib/rpm/raven.te +++ /dev/null @@ -1,81 +0,0 @@ -policy_module(raven, 1.100.1) - -######################################## -# -# Declarations -# - -type raven_t; -type raven_exec_t; -init_daemon_domain(raven_t, raven_exec_t) - -permissive raven_t; - -type raven_initrc_exec_t; -init_script_file(raven_initrc_exec_t) - -type raven_conf_t; -files_type(raven_conf_t) - -type raven_var_lib_t; -files_type(raven_var_lib_t) - -type raven_var_run_t; -files_type(raven_var_run_t) - -type raven_port_t; -corenet_port(raven_port_t) - -######################################## -# -# raven local policy -# -allow raven_t self:process { fork }; - -allow raven_t self:fifo_file rw_fifo_file_perms; -allow raven_t self:unix_stream_socket create_stream_socket_perms; - -manage_dirs_pattern(raven_t, raven_conf_t, raven_conf_t) -manage_files_pattern(raven_t, raven_conf_t, raven_conf_t) - -manage_dirs_pattern(raven_t, raven_var_lib_t, raven_var_lib_t) -manage_files_pattern(raven_t, raven_var_lib_t, raven_var_lib_t) -files_var_lib_filetrans(raven_t, raven_var_lib_t, { dir file }) - -manage_dirs_pattern(raven_t, raven_var_run_t, raven_var_run_t) -manage_files_pattern(raven_t, raven_var_run_t, raven_var_run_t) - -sysnet_dns_name_resolve(raven_t) -corenet_all_recvfrom_unlabeled(raven_t) - -allow raven_t self:tcp_socket create_stream_socket_perms; -corenet_tcp_sendrecv_generic_if(raven_t) -corenet_tcp_sendrecv_generic_node(raven_t) -corenet_tcp_sendrecv_all_ports(raven_t) -corenet_tcp_bind_generic_node(raven_t) - -gen_require(` - type raven_port_t; -') -allow raven_t raven_port_t:tcp_socket name_bind; - -gen_require(` - type raven_port_t; -') -allow raven_t raven_port_t:tcp_socket name_connect; - -domain_use_interactive_fds(raven_t) - -files_read_etc_files(raven_t) - -miscfiles_read_localization(raven_t) - -sysnet_dns_name_resolve(raven_t) - -allow raven_t raven_exec_t:file execute_no_trans; -allow raven_t self:process setsched; -corecmd_exec_ls(raven_t) -corenet_tcp_connect_http_port(raven_t) -dev_read_urand(raven_t) -fs_getattr_xattr_fs(raven_t) -kernel_read_system_state(raven_t) diff --git a/contrib/seeds/generate-seeds.py b/contrib/seeds/generate-seeds.py index 299fcfe4e7..f31ba72b2e 100755 --- a/contrib/seeds/generate-seeds.py +++ b/contrib/seeds/generate-seeds.py @@ -117,10 +117,10 @@ def main(): sys.exit(1) g = sys.stdout indir = sys.argv[1] - g.write('#ifndef RAVEN_CHAINPARAMSSEEDS_H\n') - g.write('#define RAVEN_CHAINPARAMSSEEDS_H\n') + g.write('#ifndef BITCOIN_CHAINPARAMSSEEDS_H\n') + g.write('#define BITCOIN_CHAINPARAMSSEEDS_H\n') g.write('/**\n') - g.write(' * List of fixed seed nodes for the raven network\n') + g.write(' * List of fixed seed nodes for the BLAST network\n') g.write(' * AUTOGENERATED by contrib/seeds/generate-seeds.py\n') g.write(' *\n') g.write(' * Each line contains a 16-byte IPv6 address and a port.\n') @@ -131,7 +131,7 @@ def main(): g.write('\n') with open(os.path.join(indir,'nodes_test.txt'), 'r', encoding="utf8") as f: process_nodes(g, f, 'pnSeed6_test', 64320) - g.write('#endif // RAVEN_CHAINPARAMSSEEDS_H\n') + g.write('#endif // BITCOIN_CHAINPARAMSSEEDS_H\n') if __name__ == '__main__': main() diff --git a/contrib/verify-commits/gpg.sh b/contrib/verify-commits/gpg.sh index 415fe0532a..85dfbb1bd5 100755 --- a/contrib/verify-commits/gpg.sh +++ b/contrib/verify-commits/gpg.sh @@ -1,6 +1,7 @@ #!/bin/sh # Copyright (c) 2014-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -9,7 +10,7 @@ VALID=false REVSIG=false IFS=' ' -if [ "$RAVEN_VERIFY_COMMITS_ALLOW_SHA1" = 1 ]; then +if [ "$BITCOIN_VERIFY_COMMITS_ALLOW_SHA1" = 1 ]; then GPG_RES="$(echo "$INPUT" | gpg --trust-model always "$@" 2>/dev/null)" else # Note how we've disabled SHA1 with the --weak-digest option, disabling @@ -43,12 +44,12 @@ for LINE in $(echo "$GPG_RES"); do done < ./contrib/verify-commits/trusted-keys ;; "[GNUPG:] REVKEYSIG "*) - [ "$RAVEN_VERIFY_COMMITS_ALLOW_REVSIG" != 1 ] && exit 1 + [ "$BITCOIN_VERIFY_COMMITS_ALLOW_REVSIG" != 1 ] && exit 1 REVSIG=true GOODREVSIG="[GNUPG:] GOODSIG ${LINE#* * *}" ;; "[GNUPG:] EXPKEYSIG "*) - [ "$RAVEN_VERIFY_COMMITS_ALLOW_REVSIG" != 1 ] && exit 1 + [ "$BITCOIN_VERIFY_COMMITS_ALLOW_REVSIG" != 1 ] && exit 1 REVSIG=true GOODREVSIG="[GNUPG:] GOODSIG ${LINE#* * *}" ;; diff --git a/contrib/verify-commits/verify-commits.sh b/contrib/verify-commits/verify-commits.sh index 804738f305..371973f0db 100755 --- a/contrib/verify-commits/verify-commits.sh +++ b/contrib/verify-commits/verify-commits.sh @@ -1,6 +1,7 @@ #!/bin/sh # Copyright (c) 2014-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -52,15 +53,15 @@ while true; do fi if [ "$NO_SHA1" = "1" ]; then - export RAVEN_VERIFY_COMMITS_ALLOW_SHA1=0 + export BITCOIN_VERIFY_COMMITS_ALLOW_SHA1=0 else - export RAVEN_VERIFY_COMMITS_ALLOW_SHA1=1 + export BITCOIN_VERIFY_COMMITS_ALLOW_SHA1=1 fi if [ "${REVSIG_ALLOWED#*$CURRENT_COMMIT}" != "$REVSIG_ALLOWED" ]; then - export RAVEN_VERIFY_COMMITS_ALLOW_REVSIG=1 + export BITCOIN_VERIFY_COMMITS_ALLOW_REVSIG=1 else - export RAVEN_VERIFY_COMMITS_ALLOW_REVSIG=0 + export BITCOIN_VERIFY_COMMITS_ALLOW_REVSIG=0 fi if ! git -c "gpg.program=${DIR}/gpg.sh" verify-commit "$CURRENT_COMMIT" > /dev/null; then diff --git a/contrib/zmq/zmq_test.py b/contrib/zmq/zmq_test.py index 5704344f38..841f40426b 100644 --- a/contrib/zmq/zmq_test.py +++ b/contrib/zmq/zmq_test.py @@ -7,8 +7,8 @@ """ ZMQ example using python3's asyncio - Raven should be started with the command line arguments: - ravend -testnet -daemon \ + BLAST should be started with the command line arguments: + blastd -testnet -daemon \ -zmqpubhashblock=tcp://127.0.0.1:26464 \ -zmqpubrawtx=tcp://127.0.0.1:26464 \ -zmqpubhashtx=tcp://127.0.0.1:26464 \ @@ -25,7 +25,7 @@ context = zmq.Context() socket = context.socket(zmq.SUB) -print("Getting Ravencoin msgs") +print("Getting BLAST msgs") socket.connect("tcp://localhost:26464") socket.setsockopt_string(zmq.SUBSCRIBE, "hashtx") @@ -58,8 +58,8 @@ while(pos != -1): pos = astr.find('72766e', start) if (pos > -1): - print("FOUND RVN issuance at " + str(pos)) - print("After RVN: " + astr[pos+6:pos+8]) + print("FOUND BLAST issuance at " + str(pos)) + print("After BLAST: " + astr[pos+6:pos+8]) sizestr = astr[pos+8:pos+10] print("sizestr: " + sizestr) #print(str(astr[pos+8:pos+10])) @@ -68,7 +68,7 @@ print("Name: " + bytes.fromhex(astr[pos+10:pos+10+size*2]).decode('utf-8')) pos = astr.find('72766e', start) if (pos > -1): - print("FOUND RVN something at " + str(pos)) + print("FOUND BLAST something at " + str(pos)) start += pos+8 print(astr) diff --git a/depends/README.md b/depends/README.md index 3674c080a4..09f30421e5 100644 --- a/depends/README.md +++ b/depends/README.md @@ -12,9 +12,9 @@ For example: make HOST=x86_64-w64-mingw32 -j4 -A prefix will be generated that's suitable for plugging into Raven's +A prefix will be generated that's suitable for plugging into BLAST's configure. In the above example, a dir named x86_64-w64-mingw32 will be -created. To use it for Raven: +created. To use it for BLAST: ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 @@ -43,7 +43,7 @@ The following can be set when running make: make FOO=bar BUILD_ID_SALT: Optional salt to use when generating build package ids If some packages are not built, for example `make NO_WALLET=1`, the appropriate -options will be passed to raven's configure. In this case, `--disable-wallet`. +options will be passed to BLAST's configure. In this case, `--disable-wallet`. Additional targets: diff --git a/doc/REST-interface.md b/doc/REST-interface.md index b14467f2b5..bfdf1dbe60 100644 --- a/doc/REST-interface.md +++ b/doc/REST-interface.md @@ -91,7 +91,7 @@ Only supports JSON as output format. * bytes : (numeric) size of the TX mempool in bytes * usage : (numeric) total TX mempool memory usage * maxmempool : (numeric) maximum memory usage for the mempool in bytes -* mempoolminfee : (numeric) minimum feerate (RVN per KB) for tx to be accepted +* mempoolminfee : (numeric) minimum feerate (BLAST per KB) for tx to be accepted `GET /rest/mempool/contents.json` diff --git a/doc/build-openbsd.md b/doc/build-openbsd.md index 90305016d2..6f9a5f1798 100644 --- a/doc/build-openbsd.md +++ b/doc/build-openbsd.md @@ -2,7 +2,7 @@ OpenBSD build guide ====================== (updated for OpenBSD 6.1) -This guide describes how to build ravend and command-line utilities on OpenBSD. +This guide describes how to build blastd and command-line utilities on OpenBSD. As OpenBSD is most common as a server OS, we will not bother with the GUI. @@ -23,7 +23,7 @@ See [dependencies.md](dependencies.md) for a complete overview. GCC ------- -The default C++ compiler that comes with OpenBSD 5.9 is g++ 4.2. This version is old (from 2007), and is not able to compile the current version of Raven Core, primarily as it has no C++11 support, but even before there were issues. So here we will be installing a newer compiler: +The default C++ compiler that comes with OpenBSD 5.9 is g++ 4.2. This version is old (from 2007), and is not able to compile the current version of BLAST Core, primarily as it has no C++11 support, but even before there were issues. So here we will be installing a newer compiler: ```bash pkg_add g++ # (select newest 4.x version, e.g. 4.9.3) @@ -35,16 +35,16 @@ This compiler will not overwrite the system compiler, it will be installed as `e Do not use `pkg_add boost`! The boost version installed thus is compiled using the `g++` compiler not `eg++`, which will result in a conflict between `/usr/local/lib/libestdc++.so.XX.0` and `/usr/lib/libstdc++.so.XX.0`, resulting in a test crash: - test_raven:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program + test_blast:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program ... Segmentation fault (core dumped) -This makes it necessary to build boost, or at least the parts used by Raven Core, manually: +This makes it necessary to build boost, or at least the parts used by BLAST Core, manually: ``` -# Pick some path to install boost to, here we create a directory within the raven directory -RAVEN_ROOT=$(pwd) -BOOST_PREFIX="${RAVEN_ROOT}/boost" +# Pick some path to install boost to, here we create a directory within the blast directory +BLAST_ROOT=$(pwd) +BOOST_PREFIX="${BLAST_ROOT}/boost" mkdir -p $BOOST_PREFIX # Fetch the source and verify that it is not tampered with @@ -58,7 +58,7 @@ cd boost_1_64_0 # Also here: https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch patch -p0 < /usr/ports/devel/boost/patches/patch-boost_test_impl_execution_monitor_ipp -# Build w/ minimum configuration necessary for raven +# Build w/ minimum configuration necessary for blast echo 'using gcc : : eg++ : "-fvisibility=hidden -fPIC" "" "ar" "strip" "ranlib" "" : ;' > user-config.jam config_opts="runtime-link=shared threadapi=pthread threading=multi link=static variant=release --layout=tagged --build-type=complete --user-config=user-config.jam -sNO_BZIP2=1" ./bootstrap.sh --without-icu --with-libraries=chrono,filesystem,program_options,system,thread,test @@ -74,9 +74,9 @@ See "Berkeley DB" in [build_unix.md](build_unix.md) for instructions on how to b You cannot use the BerkeleyDB library from ports, for the same reason as boost above (g++/libstd++ incompatibility). ```bash -# Pick some path to install BDB to, here we create a directory within the raven directory -RAVEN_ROOT=$(pwd) -BDB_PREFIX="${RAVEN_ROOT}/db4" +# Pick some path to install BDB to, here we create a directory within the blast directory +BLAST_ROOT=$(pwd) +BDB_PREFIX="${BLAST_ROOT}/db4" mkdir -p $BDB_PREFIX # Fetch the source and verify that it is not tampered with @@ -99,7 +99,7 @@ The standard ulimit restrictions in OpenBSD are very strict: data(kbytes) 1572864 This is, unfortunately, no longer enough to compile some `.cpp` files in the project, -at least with gcc 4.9.3 (see issue https://github.com/RavenProject/Ravencoin/issues/6658). +at least with gcc 4.9.3 (see issue https://github.com/bitcoin/bitcoin/issues/6658). If your user is in the `staff` group the limit can be raised with: ulimit -d 3000000 @@ -108,7 +108,7 @@ The change will only affect the current shell and processes spawned by it. To make the change system-wide, change `datasize-cur` and `datasize-max` in `/etc/login.conf`, and reboot. -### Building Raven Core +### Building BLAST Core **Important**: use `gmake`, not `make`. The non-GNU `make` will exit with a horrible error. @@ -163,9 +163,9 @@ gmake However, this does not appear to work. Compilation succeeds, but link fails with many 'local symbol discarded' errors: - local symbol 150: discarded in section `.text._ZN10tinyformat6detail14FormatIterator6finishEv' from libraven_util.a(libraven_util_a-random.o) - local symbol 151: discarded in section `.text._ZN10tinyformat6detail14FormatIterator21streamStateFromFormatERSoRjPKcii' from libraven_util.a(libraven_util_a-random.o) - local symbol 152: discarded in section `.text._ZN10tinyformat6detail12convertToIntIA13_cLb0EE6invokeERA13_Kc' from libraven_util.a(libraven_util_a-random.o) + local symbol 150: discarded in section `.text._ZN10tinyformat6detail14FormatIterator6finishEv' from libbitcoin_util.a(libbitcoin_util_a-random.o) + local symbol 151: discarded in section `.text._ZN10tinyformat6detail14FormatIterator21streamStateFromFormatERSoRjPKcii' from libbitcoin_util.a(libbitcoin_util_a-random.o) + local symbol 152: discarded in section `.text._ZN10tinyformat6detail12convertToIntIA13_cLb0EE6invokeERA13_Kc' from libbitcoin_util.a(libbitcoin_util_a-random.o) According to similar reported errors this is a binutils (ld) issue in 2.15, the version installed by OpenBSD 5.7: diff --git a/doc/build-rasberrypi.md b/doc/build-rasberrypi.md index 7c5fd63f05..ea8ba50415 100644 --- a/doc/build-rasberrypi.md +++ b/doc/build-rasberrypi.md @@ -1,6 +1,6 @@ RASBERRY PI BUILD NOTES ==================== -Origin: traysi.org/raven_rpi.php +Origin: traysi.org/bitcoin_rpi.php # Install necessary packages: ``` @@ -33,11 +33,11 @@ make -j4 # If error, remove the -j4 sudo make install ``` -# Build Ravencoin +# Build BLAST ``` cd ~/build/ -git clone https://github.com/RavenProject/Ravencoin -cd Ravencoin/ +git clone https://github.com/cryptoBLAST/Blast-Core +cd Blast-Core/ ./autogen.sh ./configure --disable-tests --with-gui=no CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2" LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib" make diff --git a/doc/build-unix.md b/doc/build-unix.md index 6559fa878e..a62633fd73 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -1,12 +1,12 @@ UNIX BUILD NOTES ==================== -Some notes on how to build Raven Core in Unix. +Some notes on how to build BLAST Core in Unix. (for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md)) Note --------------------- -Always use absolute paths to configure and compile raven and the dependencies, +Always use absolute paths to configure and compile blast and the dependencies, for example, when specifying the path of the dependency: ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX @@ -24,7 +24,7 @@ make make install # optional ``` -This will build raven-qt as well if the dependencies are met. +This will build blast-qt as well if the dependencies are met. On most Linux distros the "fPIC" flag needs to be set. If this flag is not specified it is possible that the build will fail with an error similar to: ```bash @@ -67,7 +67,7 @@ Memory Requirements -------------------- C++ compilers are memory-hungry. It is recommended to have at least 1.5 GB of -memory available when compiling Raven Core. On systems with less, gcc can be +memory available when compiling BLAST Core. On systems with less, gcc can be tuned to conserve memory with additional CXXFLAGS: @@ -93,7 +93,7 @@ install necessary parts of boost: BerkeleyDB is required for the wallet. -**For Ubuntu only:** db4.8 packages are available [here](https://launchpad.net/~raven/+archive/raven). +**For Ubuntu only:** db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). You can add the repository and install using the following commands: sudo apt-get install software-properties-common @@ -106,7 +106,7 @@ BerkeleyDB 5.1 or later, which break binary wallet compatibility with the distri are based on BerkeleyDB 4.8. If you do not care about wallet compatibility, pass `--with-incompatible-bdb` to configure. -See the section "Disable-wallet mode" to build Raven Core without wallet. +See the section "Disable-wallet mode" to build BLAST Core without wallet. Optional (see --with-miniupnpc and --enable-upnp-default): @@ -119,7 +119,7 @@ ZMQ dependencies (provides ZMQ API 4.x): Dependencies for the GUI: Ubuntu & Debian ----------------------------------------- -If you want to build Raven-Qt, make sure that the required packages for Qt development +If you want to build BLAST-Qt, make sure that the required packages for Qt development are installed. Either Qt 5 or Qt 4 are necessary to build the GUI. If both Qt 4 and Qt 5 are installed, Qt 5 will be used. Pass `--with-gui=qt4` to configure to choose Qt4. To build without GUI pass `--without-gui`. @@ -136,7 +136,7 @@ libqrencode (optional) can be installed with: sudo apt-get install libqrencode-dev -Once these are installed, they will be found by configure and a raven-qt executable will be +Once these are installed, they will be found by configure and a blast-qt executable will be built by default. Dependency Build Instructions: Fedora @@ -159,7 +159,7 @@ libqrencode (optional) can be installed with: Notes ----- -The release is built with GCC and then "strip ravend" to strip the debug +The release is built with GCC and then "strip blastd" to strip the debug symbols, which reduces the executable size by about 90%. @@ -180,10 +180,10 @@ Berkeley DB It is recommended to use Berkeley DB 4.8. If you have to build it yourself: ```bash -RAVEN_ROOT=$(pwd) +BLAST_ROOT=$(pwd) -# Pick some path to install BDB to, here we create a directory within the raven directory -BDB_PREFIX="${RAVEN_ROOT}/db4" +# Pick some path to install BDB to, here we create a directory within the blast directory +BDB_PREFIX="${BLAST_ROOT}/db4" mkdir -p $BDB_PREFIX # Fetch the source and verify that it is not tampered with @@ -198,8 +198,8 @@ cd db-4.8.30.NC/build_unix/ ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX make install -# Configure Raven Core to use our own-built instance of BDB -cd $RAVEN_ROOT +# Configure BLAST Core to use our own-built instance of BDB +cd $BLAST_ROOT ./autogen.sh ./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" # (other args...) ``` @@ -217,7 +217,7 @@ If you need to build Boost yourself: Security -------- -To help make your raven installation more secure by making certain attacks impossible to +To help make your blast installation more secure by making certain attacks impossible to exploit even if a vulnerability is found, binaries are hardened by default. This can be disabled with: @@ -241,7 +241,7 @@ Hardening enables the following features: To test that you have built PIE executable, install scanelf, part of paxutils, and use: - scanelf -e ./raven + scanelf -e ./blast The output should contain: @@ -250,13 +250,13 @@ Hardening enables the following features: * Non-executable Stack If the stack is executable then trivial stack based buffer overflow exploits are possible if - vulnerable buffers are found. By default, raven should be built with a non-executable stack + vulnerable buffers are found. By default, blast 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 executable without the non-executable stack protection. To verify that the stack is non-executable after compiling use: - `scanelf -e ./raven` + `scanelf -e ./blast` the output should contain: STK/REL/PTL @@ -266,7 +266,7 @@ Hardening enables the following features: Disable-wallet mode -------------------- -When the intention is to run only a P2P node without a wallet, raven may be compiled in +When the intention is to run only a P2P node without a wallet, blast may be compiled in disable-wallet mode with: ./configure --disable-wallet @@ -288,8 +288,8 @@ Setup and Build Example: Arch Linux This example lists the steps necessary to setup and build a command line only, non-wallet distribution of the latest changes on Arch Linux: pacman -S git base-devel boost libevent python - git clone https://github.com/RavenProject/Ravencoin.git - cd raven/ + git clone https://github.com/cryptoBLAST/Blast-Core.git + cd Blast-Core/ ./autogen.sh ./configure --disable-wallet --without-gui --without-miniupnpc make check @@ -297,8 +297,8 @@ This example lists the steps necessary to setup and build a command line only, n Note: Enabling wallet support requires either compiling against a Berkeley DB newer than 4.8 (package `db`) using `--with-incompatible-bdb`, or building and depending on a local version of Berkeley DB 4.8. The readily available Arch Linux packages are currently built using -`--with-incompatible-bdb` according to the [PKGBUILD](https://projects.archlinux.org/svntogit/community.git/tree/raven/trunk/PKGBUILD). -As mentioned above, when maintaining portability of the wallet between the standard Raven Core distributions and independently built +`--with-incompatible-bdb` according to the [PKGBUILD](https://projects.archlinux.org/svntogit/community.git/tree/bitcoin/trunk/PKGBUILD). +As mentioned above, when maintaining portability of the wallet between the standard BLAST Core distributions and independently built node software is desired, Berkeley DB 4.8 must be used. @@ -346,7 +346,7 @@ For the wallet (optional): This will give a warning "configure: WARNING: Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!", but as FreeBSD never had a binary release, this may not matter. If backwards compatibility -with 4.8-built Raven Core is needed follow the steps under "Berkeley DB" above. +with 4.8-built BLAST Core is needed follow the steps under "Berkeley DB" above. Then build using: diff --git a/doc/fuzzing.md b/doc/fuzzing.md index da9b2e716b..e6d07e1aa4 100644 --- a/doc/fuzzing.md +++ b/doc/fuzzing.md @@ -1,7 +1,7 @@ -Fuzz-testing Raven Core +Fuzz-testing BLAST Core ========================== -A special test harness `test_raven_fuzzy` is provided to provide an easy +A special test harness `test_blast_fuzzy` is provided to provide an easy entry point for fuzzers and the like. In this document we'll describe how to use it with AFL. @@ -20,13 +20,13 @@ export AFLPATH=$PWD Instrumentation ---------------- -To build Raven Core using AFL instrumentation (this assumes that the +To build BLAST Core using AFL instrumentation (this assumes that the `AFLPATH` was set as above): ``` ./configure --disable-ccache --disable-shared --enable-tests CC=${AFLPATH}/afl-gcc CXX=${AFLPATH}/afl-g++ export AFL_HARDEN=1 cd src/ -make test/test_raven_fuzzy +make test/test_blast_fuzzy ``` We disable ccache because we don't want to pollute the ccache with instrumented objects, and similarly don't want to use non-instrumented cached objects linked @@ -35,7 +35,7 @@ in. The fuzzing can be sped up significantly (~200x) by using `afl-clang-fast` and `afl-clang-fast++` in place of `afl-gcc` and `afl-g++` when compiling. When compiling using `afl-clang-fast`/`afl-clang-fast++` the resulting -`test_raven_fuzzy` binary will be instrumented in such a way that the AFL +`test_blast_fuzzy` binary will be instrumented in such a way that the AFL features "persistent mode" and "deferred forkserver" can be used. See https://github.com/mcarpenter/afl/tree/master/llvm_mode for details. @@ -65,7 +65,7 @@ Fuzzing To start the actual fuzzing use: ``` -$AFLPATH/afl-fuzz -i ${AFLIN} -o ${AFLOUT} -m52 -- test/test_raven_fuzzy +$AFLPATH/afl-fuzz -i ${AFLIN} -o ${AFLOUT} -m52 -- test/test_blast_fuzzy ``` You may have to change a few kernel parameters to test optimally - `afl-fuzz` diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am index 2e67901458..f7d4cc7816 100644 --- a/doc/man/Makefile.am +++ b/doc/man/Makefile.am @@ -1,17 +1,17 @@ dist_man1_MANS= -if BUILD_RAVEND - dist_man1_MANS+=ravend.1 +if BUILD_BITCOIND + dist_man1_MANS+=blastd.1 endif if ENABLE_QT - dist_man1_MANS+=raven-qt.1 + dist_man1_MANS+=blast-qt.1 endif -if BUILD_RAVEN_CLI - dist_man1_MANS+=raven-cli.1 +if BUILD_BITCOIN_CLI + dist_man1_MANS+=blast-cli.1 endif -if BUILD_RAVEN_TX - dist_man1_MANS+=raven-tx.1 +if BUILD_BITCOIN_TX + dist_man1_MANS+=blast-tx.1 endif \ No newline at end of file diff --git a/doc/man/raven-cli.1 b/doc/man/raven-cli.1 deleted file mode 100644 index 0d176a9abc..0000000000 --- a/doc/man/raven-cli.1 +++ /dev/null @@ -1,104 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH RAVEN-CLI "1" "September 2017" "raven-cli v0.15.99.0" "User Commands" -.SH NAME -raven-cli \- manual page for raven-cli v0.15.99.0 -.SH DESCRIPTION -Raven Core RPC client version v0.15.99.0 -.SS "Usage:" -.TP -raven\-cli [options] [params] -Send command to Raven Core -.IP -raven\-cli [options] \fB\-named\fR [name=value] ... Send command to Raven Core (with named arguments) -raven\-cli [options] help List commands -raven\-cli [options] help Get help for a command -.SH OPTIONS -.HP -\-? -.IP -This help message -.HP -\fB\-conf=\fR -.IP -Specify configuration file (default: raven.conf) -.HP -\fB\-datadir=\fR -.IP -Specify data directory -.PP -Chain selection options: -.HP -\fB\-testnet\fR -.IP -Use the test chain -.HP -\fB\-regtest\fR -.IP -Enter regression test mode, which uses a special chain in which blocks -can be solved instantly. This is intended for regression testing -tools and app development. -.HP -\fB\-named\fR -.IP -Pass named instead of positional arguments (default: false) -.HP -\fB\-rpcconnect=\fR -.IP -Send commands to node running on (default: 127.0.0.1) -.HP -\fB\-rpcport=\fR -.IP -Connect to JSON\-RPC on (default: 8766 or testnet: 18766) -.HP -\fB\-rpcwait\fR -.IP -Wait for RPC server to start -.HP -\fB\-rpcuser=\fR -.IP -Username for JSON\-RPC connections -.HP -\fB\-rpcpassword=\fR -.IP -Password for JSON\-RPC connections -.HP -\fB\-rpcclienttimeout=\fR -.IP -Timeout in seconds during HTTP requests, or 0 for no timeout. (default: -900) -.HP -\fB\-stdinrpcpass\fR -.TP -Read RPC password from standard input as a single line. -When combined -.IP -with \fB\-stdin\fR, the first line from standard input is used for the -RPC password. -.HP -\fB\-stdin\fR -.IP -Read extra arguments from standard input, one per line until EOF/Ctrl\-D -(recommended for sensitive information such as passphrases). -When combined with \fB\-stdinrpcpass\fR, the first line from standard -input is used for the RPC password. -.HP -\fB\-rpcwallet=\fR -.IP -Send RPC for non\-default wallet on RPC server (argument is wallet -filename in ravend directory, required if ravend/\-Qt runs -with multiple wallets) -.SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers -Copyright (c) 2017 The Raven Core developers - -Please contribute if you find Raven Core useful. Visit - for further information about the software. -The source code is available from . - -This is experimental software. -Distributed under the MIT software license, see the accompanying file COPYING -or - -This product includes software developed by the OpenSSL Project for use in the -OpenSSL Toolkit and cryptographic software written by -Eric Young and UPnP software written by Thomas Bernard. diff --git a/doc/man/raven-qt.1 b/doc/man/raven-qt.1 deleted file mode 100644 index f84e998eca..0000000000 --- a/doc/man/raven-qt.1 +++ /dev/null @@ -1,558 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH RAVEN-QT "1" "September 2017" "raven-qt v0.15.99.0" "User Commands" -.SH NAME -raven-qt \- manual page for raven-qt v0.15.99.0 -.SH DESCRIPTION -Raven Core version v0.15.99.0 (64\-bit) -Usage: -.IP -raven\-qt [command\-line options] -.SH OPTIONS -.HP -\-? -.IP -Print this help message and exit -.HP -\fB\-version\fR -.IP -Print version and exit -.HP -\fB\-alertnotify=\fR -.IP -Execute command when a relevant alert is received or we see a really -long fork (%s in cmd is replaced by message) -.HP -\fB\-blocknotify=\fR -.IP -Execute command when the best block changes (%s in cmd is replaced by -block hash) -.HP -\fB\-assumevalid=\fR -.IP -If this block is in the chain assume that it and its ancestors are valid -and potentially skip their script verification (0 to verify all, -default: -0000000000000000003b9ce759c2a087d52abc4266f8f4ebd6d768b89defa50a, -testnet: -0000000002e9e7b00e1f6dc5123a04aad68dd0f0968d8c7aa45f6640795c37b1) -.HP -\fB\-conf=\fR -.IP -Specify configuration file (default: raven.conf) -.HP -\fB\-datadir=\fR -.IP -Specify data directory -.HP -\fB\-dbcache=\fR -.IP -Set database cache size in megabytes (4 to 16384, default: 450) -.HP -\fB\-loadblock=\fR -.IP -Imports blocks from external blk000??.dat file on startup -.HP -\fB\-maxorphantx=\fR -.IP -Keep at most unconnectable transactions in memory (default: 100) -.HP -\fB\-maxmempool=\fR -.IP -Keep the transaction memory pool below megabytes (default: 300) -.HP -\fB\-mempoolexpiry=\fR -.IP -Do not keep transactions in the mempool longer than hours (default: -336) -.HP -\fB\-persistmempool\fR -.IP -Whether to save the mempool on shutdown and load on restart (default: 1) -.HP -\fB\-blockreconstructionextratxn=\fR -.IP -Extra transactions to keep in memory for compact block reconstructions -(default: 100) -.HP -\fB\-par=\fR -.IP -Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 = -leave that many cores free, default: 0) -.HP -\fB\-pid=\fR -.IP -Specify pid file (default: ravend.pid) -.HP -\fB\-prune=\fR -.IP -Reduce storage requirements by enabling pruning (deleting) of old -blocks. This allows the pruneblockchain RPC to be called to -delete specific blocks, and enables automatic pruning of old -blocks if a target size in MiB is provided. This mode is -incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this -setting requires re\-downloading the entire blockchain. (default: -0 = disable pruning blocks, 1 = allow manual pruning via RPC, ->550 = automatically prune block files to stay under the -specified target size in MiB) -.HP -\fB\-reindex\-chainstate\fR -.IP -Rebuild chain state from the currently indexed blocks -.HP -\fB\-reindex\fR -.IP -Rebuild chain state and block index from the blk*.dat files on disk -.HP -\fB\-sysperms\fR -.IP -Create new files with system default permissions, instead of umask 077 -(only effective with disabled wallet functionality) -.HP -\fB\-txindex\fR -.IP -Maintain a full transaction index, used by the getrawtransaction rpc -call (default: 0) -.PP -Connection options: -.HP -\fB\-addnode=\fR -.IP -Add a node to connect to and attempt to keep the connection open -.HP -\fB\-banscore=\fR -.IP -Threshold for disconnecting misbehaving peers (default: 100) -.HP -\fB\-bantime=\fR -.IP -Number of seconds to keep misbehaving peers from reconnecting (default: -86400) -.HP -\fB\-bind=\fR -.IP -Bind to given address and always listen on it. Use [host]:port notation -for IPv6 -.HP -\fB\-connect=\fR -.IP -Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic -connections -.HP -\fB\-discover\fR -.IP -Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR -or \fB\-proxy\fR) -.HP -\fB\-dns\fR -.IP -Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1) -.HP -\fB\-dnsseed\fR -.IP -Query for peer addresses via DNS lookup, if low on addresses (default: 1 -unless \fB\-connect\fR used) -.HP -\fB\-externalip=\fR -.IP -Specify your own public address -.HP -\fB\-forcednsseed\fR -.IP -Always query for peer addresses via DNS lookup (default: 0) -.HP -\fB\-listen\fR -.IP -Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR) -.HP -\fB\-listenonion\fR -.IP -Automatically create Tor hidden service (default: 1) -.HP -\fB\-maxconnections=\fR -.IP -Maintain at most connections to peers (default: 125) -.HP -\fB\-maxreceivebuffer=\fR -.IP -Maximum per\-connection receive buffer, *1000 bytes (default: 5000) -.HP -\fB\-maxsendbuffer=\fR -.IP -Maximum per\-connection send buffer, *1000 bytes (default: 1000) -.HP -\fB\-maxtimeadjustment\fR -.IP -Maximum allowed median peer time offset adjustment. Local perspective of -time may be influenced by peers forward or backward by this -amount. (default: 4200 seconds) -.HP -\fB\-onion=\fR -.IP -Use separate SOCKS5 proxy to reach peers via Tor hidden services -(default: \fB\-proxy\fR) -.HP -\fB\-onlynet=\fR -.IP -Only connect to nodes in network (ipv4, ipv6 or onion) -.HP -\fB\-permitbaremultisig\fR -.IP -Relay non\-P2SH multisig (default: 1) -.HP -\fB\-peerbloomfilters\fR -.IP -Support filtering of blocks and transaction with bloom filters (default: -1) -.HP -\fB\-port=\fR -.IP -Listen for connections on (default: 8767 or testnet: 18767) -.HP -\fB\-proxy=\fR -.IP -Connect through SOCKS5 proxy -.HP -\fB\-proxyrandomize\fR -.IP -Randomize credentials for every proxy connection. This enables Tor -stream isolation (default: 1) -.HP -\fB\-seednode=\fR -.IP -Connect to a node to retrieve peer addresses, and disconnect -.HP -\fB\-timeout=\fR -.IP -Specify connection timeout in milliseconds (minimum: 1, default: 5000) -.HP -\fB\-torcontrol=\fR: -.IP -Tor control port to use if onion listening enabled (default: -127.0.0.1:9051) -.HP -\fB\-torpassword=\fR -.IP -Tor control port password (default: empty) -.HP -\fB\-upnp\fR -.IP -Use UPnP to map the listening port (default: 0) -.HP -\fB\-whitebind=\fR -.IP -Bind to given address and whitelist peers connecting to it. Use -[host]:port notation for IPv6 -.HP -\fB\-whitelist=\fR -.IP -Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or -CIDR notated network (e.g. 1.2.3.0/24). 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 -.HP -\fB\-maxuploadtarget=\fR -.IP -Tries to keep outbound traffic under the given target (in MiB per 24h), -0 = no limit (default: 0) -.PP -Wallet options: -.HP -\fB\-disablewallet\fR -.IP -Do not load the wallet and disable wallet RPC calls -.HP -\fB\-keypool=\fR -.IP -Set key pool size to (default: 1000) -.HP -\fB\-fallbackfee=\fR -.IP -A fee rate (in RVN/kB) that will be used when fee estimation has -insufficient data (default: 0.0002) -.HP -\fB\-discardfee=\fR -.IP -The fee rate (in RVN/kB) that indicates your tolerance for discarding -change by adding it to the fee (default: 0.0001). Note: An output -is discarded if it is dust at this rate, but we will always -discard up to the dust relay fee and a discard fee above that is -limited by the fee estimate for the longest target -.HP -\fB\-mintxfee=\fR -.IP -Fees (in RVN/kB) smaller than this are considered zero fee for -transaction creation (default: 0.00001) -.HP -\fB\-paytxfee=\fR -.IP -Fee (in RVN/kB) to add to transactions you send (default: 0.00) -.HP -\fB\-rescan\fR -.IP -Rescan the block chain for missing wallet transactions on startup -.HP -\fB\-salvagewallet\fR -.IP -Attempt to recover private keys from a corrupt wallet on startup -.HP -\fB\-spendzeroconfchange\fR -.IP -Spend unconfirmed change when sending transactions (default: 1) -.HP -\fB\-txconfirmtarget=\fR -.IP -If paytxfee is not set, include enough fee so transactions begin -confirmation on average within n blocks (default: 6) -.HP -\fB\-walletrbf\fR -.IP -Send transactions with full\-RBF opt\-in enabled (default: 0) -.HP -\fB\-upgradewallet\fR -.IP -Upgrade wallet to latest format on startup -.HP -\fB\-wallet=\fR -.IP -Specify wallet file (within data directory) (default: wallet.dat) -.HP -\fB\-walletbroadcast\fR -.IP -Make the wallet broadcast transactions (default: 1) -.HP -\fB\-walletnotify=\fR -.IP -Execute command when a wallet transaction changes (%s in cmd is replaced -by TxID) -.HP -\fB\-zapwallettxes=\fR -.IP -Delete all wallet transactions and only recover those parts of the -blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g. -account owner and payment request information, 2 = drop tx meta -data) -.PP -ZeroMQ notification options: -.HP -\fB\-zmqpubhashblock=\fR
-.IP -Enable publish hash block in
-.HP -\fB\-zmqpubhashtx=\fR
-.IP -Enable publish hash transaction in
-.HP -\fB\-zmqpubrawblock=\fR
-.IP -Enable publish raw block in
-.HP -\fB\-zmqpubrawtx=\fR
-.IP -Enable publish raw transaction in
-.PP -Debugging/Testing options: -.HP -\fB\-uacomment=\fR -.IP -Append comment to the user agent string -.HP -\fB\-debug=\fR -.IP -Output debugging information (default: 0, supplying is -optional). If is not supplied or if = 1, -output all debugging information. can be: net, tor, -mempool, http, bench, zmq, db, rpc, estimatefee, addrman, -selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej, -libevent, coindb, qt, leveldb. -.HP -\fB\-debugexclude=\fR -.IP -Exclude debugging information for a category. Can be used in conjunction -with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except one -or more specified categories. -.HP -\fB\-help\-debug\fR -.IP -Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR) -.HP -\fB\-logips\fR -.IP -Include IP addresses in debug output (default: 0) -.HP -\fB\-logtimestamps\fR -.IP -Prepend debug output with timestamp (default: 1) -.HP -\fB\-maxtxfee=\fR -.IP -Maximum total fees (in RVN) to use in a single wallet transaction or raw -transaction; setting this too low may abort large transactions -(default: 0.10) -.HP -\fB\-printtoconsole\fR -.IP -Send trace/debug info to console instead of debug.log file -.HP -\fB\-shrinkdebugfile\fR -.IP -Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR) -.PP -Chain selection options: -.HP -\fB\-testnet\fR -.IP -Use the test chain -.PP -Node relay options: -.HP -\fB\-bytespersigop\fR -.IP -Equivalent bytes per sigop in transactions for relay and mining -(default: 20) -.HP -\fB\-datacarrier\fR -.IP -Relay and mine data carrier transactions (default: 1) -.HP -\fB\-datacarriersize\fR -.IP -Maximum size of data in data carrier transactions we relay and mine -(default: 83) -.HP -\fB\-mempoolreplacement\fR -.IP -Enable transaction replacement in the memory pool (default: 1) -.HP -\fB\-minrelaytxfee=\fR -.IP -Fees (in RVN/kB) smaller than this are considered zero fee for relaying, -mining and transaction creation (default: 0.00001) -.HP -\fB\-whitelistrelay\fR -.IP -Accept relayed transactions received from whitelisted peers even when -not relaying transactions (default: 1) -.HP -\fB\-whitelistforcerelay\fR -.IP -Force relay of transactions from whitelisted peers even if they violate -local relay policy (default: 1) -.PP -Block creation options: -.HP -\fB\-blockmaxweight=\fR -.IP -Set maximum BIP141 block weight (default: 3996000) -.HP -\fB\-blockmaxsize=\fR -.IP -Set maximum BIP141 block weight to this * 4. Deprecated, use -blockmaxweight -.HP -\fB\-blockmintxfee=\fR -.IP -Set lowest fee rate (in RVN/kB) for transactions to be included in block -creation. (default: 0.00001) -.PP -RPC server options: -.HP -\fB\-server\fR -.IP -Accept command line and JSON\-RPC commands -.HP -\fB\-rest\fR -.IP -Accept public REST requests (default: 0) -.HP -\fB\-rpcbind=\fR[:port] -.IP -Bind to given address to listen for JSON\-RPC connections. This option is -ignored unless \fB\-rpcallowip\fR is also passed. Port is optional and -overrides \fB\-rpcport\fR. Use [host]:port notation for IPv6. This -option can be specified multiple times (default: 127.0.0.1 and -::1 i.e., localhost, or if \fB\-rpcallowip\fR has been specified, -0.0.0.0 and :: i.e., all addresses) -.HP -\fB\-rpccookiefile=\fR -.IP -Location of the auth cookie (default: data dir) -.HP -\fB\-rpcuser=\fR -.IP -Username for JSON\-RPC connections -.HP -\fB\-rpcpassword=\fR -.IP -Password for JSON\-RPC connections -.HP -\fB\-rpcauth=\fR -.IP -Username and hashed password for JSON\-RPC connections. The field - comes in the format: :$. A -canonical python script is included in share/rpcuser. The client -then connects normally using the -rpcuser=/rpcpassword= pair of arguments. This -option can be specified multiple times -.HP -\fB\-rpcport=\fR -.IP -Listen for JSON\-RPC connections on (default: 8766 or testnet: -18766) -.HP -\fB\-rpcallowip=\fR -.IP -Allow JSON\-RPC connections from specified source. Valid for 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 -.HP -\fB\-rpcserialversion\fR -.IP -Sets the serialization of raw transaction or block hex returned in -non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1) -.HP -\fB\-rpcthreads=\fR -.IP -Set the number of threads to service RPC calls (default: 4) -.PP -UI Options: -.HP -\fB\-choosedatadir\fR -.IP -Choose data directory on startup (default: 0) -.HP -\fB\-lang=\fR -.IP -Set language, for example "de_DE" (default: system locale) -.HP -\fB\-min\fR -.IP -Start minimized -.HP -\fB\-rootcertificates=\fR -.IP -Set SSL root certificates for payment request (default: \fB\-system\-\fR) -.HP -\fB\-splash\fR -.IP -Show splash screen on startup (default: 1) -.HP -\fB\-resetguisettings\fR -.IP -Reset all settings changed in the GUI -.SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers -Copyright (c) 2017 The Raven Core developers - -Please contribute if you find Raven Core useful. Visit - for further information about the software. -The source code is available from . - -This is experimental software. -Distributed under the MIT software license, see the accompanying file COPYING -or - -This product includes software developed by the OpenSSL Project for use in the -OpenSSL Toolkit and cryptographic software written by -Eric Young and UPnP software written by Thomas Bernard. diff --git a/doc/man/raven-tx.1 b/doc/man/raven-tx.1 deleted file mode 100644 index 0ea7da9360..0000000000 --- a/doc/man/raven-tx.1 +++ /dev/null @@ -1,128 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH RAVEN-TX "1" "September 2017" "raven-tx v0.15.99.0" "User Commands" -.SH NAME -raven-tx \- manual page for raven-tx v0.15.99.0 -.SH DESCRIPTION -Raven Core raven\-tx utility version v0.15.99.0 -.SS "Usage:" -.TP -raven\-tx [options] [commands] -Update hex\-encoded raven transaction -.TP -raven\-tx [options] \fB\-create\fR [commands] -Create hex\-encoded raven transaction -.SH OPTIONS -.HP -\-? -.IP -This help message -.HP -\fB\-create\fR -.IP -Create new, empty TX. -.HP -\fB\-json\fR -.IP -Select JSON output -.HP -\fB\-txid\fR -.IP -Output only the hex\-encoded transaction id of the resultant transaction. -.PP -Chain selection options: -.HP -\fB\-testnet\fR -.IP -Use the test chain -.HP -\fB\-regtest\fR -.IP -Enter regression test mode, which uses a special chain in which blocks -can be solved instantly. This is intended for regression testing -tools and app development. -.PP -Commands: -.IP -delin=N -.IP -Delete input N from TX -.IP -delout=N -.IP -Delete output N from TX -.IP -in=TXID:VOUT(:SEQUENCE_NUMBER) -.IP -Add input to TX -.IP -locktime=N -.IP -Set TX lock time to N -.IP -nversion=N -.IP -Set TX version to N -.IP -replaceable(=N) -.IP -Set RBF opt\-in sequence number for input N (if not provided, opt\-in all -available inputs) -.IP -outaddr=VALUE:ADDRESS -.IP -Add address\-based output to TX -.IP -outpubkey=VALUE:PUBKEY[:FLAGS] -.IP -Add pay\-to\-pubkey output to TX. Optionally add the "W" flag to produce a -pay\-to\-witness\-pubkey\-hash output. Optionally add the "S" flag to -wrap the output in a pay\-to\-script\-hash. -.IP -outdata=[VALUE:]DATA -.IP -Add data\-based output to TX -.IP -outscript=VALUE:SCRIPT[:FLAGS] -.IP -Add raw script output to TX. Optionally add the "W" flag to produce a -pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to -wrap the output in a pay\-to\-script\-hash. -.IP -outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS] -.IP -Add Pay To n\-of\-m Multi\-sig output to TX. n = REQUIRED, m = PUBKEYS. -Optionally add the "W" flag to produce a -pay\-to\-witness\-script\-hash output. Optionally add the "S" flag to -wrap the output in a pay\-to\-script\-hash. -.IP -sign=SIGHASH\-FLAGS -.IP -Add zero or more signatures to transaction. This command requires JSON -registers:prevtxs=JSON object, privatekeys=JSON object. See -signrawtransaction docs for format of sighash flags, JSON -objects. -.PP -Register Commands: -.IP -load=NAME:FILENAME -.IP -Load JSON file FILENAME into register NAME -.IP -set=NAME:JSON\-STRING -.IP -Set register NAME to given JSON\-STRING -.SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers -Copyright (c) 2017 The Raven Core developers - -Please contribute if you find Raven Core useful. Visit - for further information about the software. -The source code is available from . - -This is experimental software. -Distributed under the MIT software license, see the accompanying file COPYING -or - -This product includes software developed by the OpenSSL Project for use in the -OpenSSL Toolkit and cryptographic software written by -Eric Young and UPnP software written by Thomas Bernard. diff --git a/doc/man/ravend.1 b/doc/man/ravend.1 deleted file mode 100644 index 95fee9a86a..0000000000 --- a/doc/man/ravend.1 +++ /dev/null @@ -1,537 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH RAVEND "1" "September 2017" "ravend v0.15.99.0" "User Commands" -.SH NAME -ravend \- manual page for ravend v0.15.99.0 -.SH DESCRIPTION -Raven Core Daemon version v0.15.99.0 -.SS "Usage:" -.TP -ravend [options] -Start Raven Core Daemon -.SH OPTIONS -.HP -\-? -.IP -Print this help message and exit -.HP -\fB\-version\fR -.IP -Print version and exit -.HP -\fB\-alertnotify=\fR -.IP -Execute command when a relevant alert is received or we see a really -long fork (%s in cmd is replaced by message) -.HP -\fB\-blocknotify=\fR -.IP -Execute command when the best block changes (%s in cmd is replaced by -block hash) -.HP -\fB\-assumevalid=\fR -.IP -If this block is in the chain assume that it and its ancestors are valid -and potentially skip their script verification (0 to verify all, -default: -0000000000000000003b9ce759c2a087d52abc4266f8f4ebd6d768b89defa50a, -testnet: -0000000002e9e7b00e1f6dc5123a04aad68dd0f0968d8c7aa45f6640795c37b1) -.HP -\fB\-conf=\fR -.IP -Specify configuration file (default: raven.conf) -.HP -\fB\-daemon\fR -.IP -Run in the background as a daemon and accept commands -.HP -\fB\-datadir=\fR -.IP -Specify data directory -.HP -\fB\-dbcache=\fR -.IP -Set database cache size in megabytes (4 to 16384, default: 450) -.HP -\fB\-loadblock=\fR -.IP -Imports blocks from external blk000??.dat file on startup -.HP -\fB\-maxorphantx=\fR -.IP -Keep at most unconnectable transactions in memory (default: 100) -.HP -\fB\-maxmempool=\fR -.IP -Keep the transaction memory pool below megabytes (default: 300) -.HP -\fB\-mempoolexpiry=\fR -.IP -Do not keep transactions in the mempool longer than hours (default: -336) -.HP -\fB\-persistmempool\fR -.IP -Whether to save the mempool on shutdown and load on restart (default: 1) -.HP -\fB\-blockreconstructionextratxn=\fR -.IP -Extra transactions to keep in memory for compact block reconstructions -(default: 100) -.HP -\fB\-par=\fR -.IP -Set the number of script verification threads (\fB\-2\fR to 16, 0 = auto, <0 = -leave that many cores free, default: 0) -.HP -\fB\-pid=\fR -.IP -Specify pid file (default: ravend.pid) -.HP -\fB\-prune=\fR -.IP -Reduce storage requirements by enabling pruning (deleting) of old -blocks. This allows the pruneblockchain RPC to be called to -delete specific blocks, and enables automatic pruning of old -blocks if a target size in MiB is provided. This mode is -incompatible with \fB\-txindex\fR and \fB\-rescan\fR. Warning: Reverting this -setting requires re\-downloading the entire blockchain. (default: -0 = disable pruning blocks, 1 = allow manual pruning via RPC, ->550 = automatically prune block files to stay under the -specified target size in MiB) -.HP -\fB\-reindex\-chainstate\fR -.IP -Rebuild chain state from the currently indexed blocks -.HP -\fB\-reindex\fR -.IP -Rebuild chain state and block index from the blk*.dat files on disk -.HP -\fB\-sysperms\fR -.IP -Create new files with system default permissions, instead of umask 077 -(only effective with disabled wallet functionality) -.HP -\fB\-txindex\fR -.IP -Maintain a full transaction index, used by the getrawtransaction rpc -call (default: 0) -.PP -Connection options: -.HP -\fB\-addnode=\fR -.IP -Add a node to connect to and attempt to keep the connection open -.HP -\fB\-banscore=\fR -.IP -Threshold for disconnecting misbehaving peers (default: 100) -.HP -\fB\-bantime=\fR -.IP -Number of seconds to keep misbehaving peers from reconnecting (default: -86400) -.HP -\fB\-bind=\fR -.IP -Bind to given address and always listen on it. Use [host]:port notation -for IPv6 -.HP -\fB\-connect=\fR -.IP -Connect only to the specified node(s); \fB\-connect\fR=\fI\,0\/\fR disables automatic -connections -.HP -\fB\-discover\fR -.IP -Discover own IP addresses (default: 1 when listening and no \fB\-externalip\fR -or \fB\-proxy\fR) -.HP -\fB\-dns\fR -.IP -Allow DNS lookups for \fB\-addnode\fR, \fB\-seednode\fR and \fB\-connect\fR (default: 1) -.HP -\fB\-dnsseed\fR -.IP -Query for peer addresses via DNS lookup, if low on addresses (default: 1 -unless \fB\-connect\fR used) -.HP -\fB\-externalip=\fR -.IP -Specify your own public address -.HP -\fB\-forcednsseed\fR -.IP -Always query for peer addresses via DNS lookup (default: 0) -.HP -\fB\-listen\fR -.IP -Accept connections from outside (default: 1 if no \fB\-proxy\fR or \fB\-connect\fR) -.HP -\fB\-listenonion\fR -.IP -Automatically create Tor hidden service (default: 1) -.HP -\fB\-maxconnections=\fR -.IP -Maintain at most connections to peers (default: 125) -.HP -\fB\-maxreceivebuffer=\fR -.IP -Maximum per\-connection receive buffer, *1000 bytes (default: 5000) -.HP -\fB\-maxsendbuffer=\fR -.IP -Maximum per\-connection send buffer, *1000 bytes (default: 1000) -.HP -\fB\-maxtimeadjustment\fR -.IP -Maximum allowed median peer time offset adjustment. Local perspective of -time may be influenced by peers forward or backward by this -amount. (default: 4200 seconds) -.HP -\fB\-onion=\fR -.IP -Use separate SOCKS5 proxy to reach peers via Tor hidden services -(default: \fB\-proxy\fR) -.HP -\fB\-onlynet=\fR -.IP -Only connect to nodes in network (ipv4, ipv6 or onion) -.HP -\fB\-permitbaremultisig\fR -.IP -Relay non\-P2SH multisig (default: 1) -.HP -\fB\-peerbloomfilters\fR -.IP -Support filtering of blocks and transaction with bloom filters (default: -1) -.HP -\fB\-port=\fR -.IP -Listen for connections on (default: 8767 or testnet: 18767) -.HP -\fB\-proxy=\fR -.IP -Connect through SOCKS5 proxy -.HP -\fB\-proxyrandomize\fR -.IP -Randomize credentials for every proxy connection. This enables Tor -stream isolation (default: 1) -.HP -\fB\-seednode=\fR -.IP -Connect to a node to retrieve peer addresses, and disconnect -.HP -\fB\-timeout=\fR -.IP -Specify connection timeout in milliseconds (minimum: 1, default: 5000) -.HP -\fB\-torcontrol=\fR: -.IP -Tor control port to use if onion listening enabled (default: -127.0.0.1:9051) -.HP -\fB\-torpassword=\fR -.IP -Tor control port password (default: empty) -.HP -\fB\-upnp\fR -.IP -Use UPnP to map the listening port (default: 0) -.HP -\fB\-whitebind=\fR -.IP -Bind to given address and whitelist peers connecting to it. Use -[host]:port notation for IPv6 -.HP -\fB\-whitelist=\fR -.IP -Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or -CIDR notated network (e.g. 1.2.3.0/24). 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 -.HP -\fB\-maxuploadtarget=\fR -.IP -Tries to keep outbound traffic under the given target (in MiB per 24h), -0 = no limit (default: 0) -.PP -Wallet options: -.HP -\fB\-disablewallet\fR -.IP -Do not load the wallet and disable wallet RPC calls -.HP -\fB\-keypool=\fR -.IP -Set key pool size to (default: 1000) -.HP -\fB\-fallbackfee=\fR -.IP -A fee rate (in RVN/kB) that will be used when fee estimation has -insufficient data (default: 0.0002) -.HP -\fB\-discardfee=\fR -.IP -The fee rate (in RVN/kB) that indicates your tolerance for discarding -change by adding it to the fee (default: 0.0001). Note: An output -is discarded if it is dust at this rate, but we will always -discard up to the dust relay fee and a discard fee above that is -limited by the fee estimate for the longest target -.HP -\fB\-mintxfee=\fR -.IP -Fees (in RVN/kB) smaller than this are considered zero fee for -transaction creation (default: 0.00001) -.HP -\fB\-paytxfee=\fR -.IP -Fee (in RVN/kB) to add to transactions you send (default: 0.00) -.HP -\fB\-rescan\fR -.IP -Rescan the block chain for missing wallet transactions on startup -.HP -\fB\-salvagewallet\fR -.IP -Attempt to recover private keys from a corrupt wallet on startup -.HP -\fB\-spendzeroconfchange\fR -.IP -Spend unconfirmed change when sending transactions (default: 1) -.HP -\fB\-txconfirmtarget=\fR -.IP -If paytxfee is not set, include enough fee so transactions begin -confirmation on average within n blocks (default: 6) -.HP -\fB\-walletrbf\fR -.IP -Send transactions with full\-RBF opt\-in enabled (default: 0) -.HP -\fB\-upgradewallet\fR -.IP -Upgrade wallet to latest format on startup -.HP -\fB\-wallet=\fR -.IP -Specify wallet file (within data directory) (default: wallet.dat) -.HP -\fB\-walletbroadcast\fR -.IP -Make the wallet broadcast transactions (default: 1) -.HP -\fB\-walletnotify=\fR -.IP -Execute command when a wallet transaction changes (%s in cmd is replaced -by TxID) -.HP -\fB\-zapwallettxes=\fR -.IP -Delete all wallet transactions and only recover those parts of the -blockchain through \fB\-rescan\fR on startup (1 = keep tx meta data e.g. -account owner and payment request information, 2 = drop tx meta -data) -.PP -ZeroMQ notification options: -.HP -\fB\-zmqpubhashblock=\fR
-.IP -Enable publish hash block in
-.HP -\fB\-zmqpubhashtx=\fR
-.IP -Enable publish hash transaction in
-.HP -\fB\-zmqpubrawblock=\fR
-.IP -Enable publish raw block in
-.HP -\fB\-zmqpubrawtx=\fR
-.IP -Enable publish raw transaction in
-.PP -Debugging/Testing options: -.HP -\fB\-uacomment=\fR -.IP -Append comment to the user agent string -.HP -\fB\-debug=\fR -.IP -Output debugging information (default: 0, supplying is -optional). If is not supplied or if = 1, -output all debugging information. can be: net, tor, -mempool, http, bench, zmq, db, rpc, estimatefee, addrman, -selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej, -libevent, coindb, qt, leveldb. -.HP -\fB\-debugexclude=\fR -.IP -Exclude debugging information for a category. Can be used in conjunction -with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except one -or more specified categories. -.HP -\fB\-help\-debug\fR -.IP -Show all debugging options (usage: \fB\-\-help\fR \fB\-help\-debug\fR) -.HP -\fB\-logips\fR -.IP -Include IP addresses in debug output (default: 0) -.HP -\fB\-logtimestamps\fR -.IP -Prepend debug output with timestamp (default: 1) -.HP -\fB\-maxtxfee=\fR -.IP -Maximum total fees (in RVN) to use in a single wallet transaction or raw -transaction; setting this too low may abort large transactions -(default: 0.10) -.HP -\fB\-printtoconsole\fR -.IP -Send trace/debug info to console instead of debug.log file -.HP -\fB\-shrinkdebugfile\fR -.IP -Shrink debug.log file on client startup (default: 1 when no \fB\-debug\fR) -.PP -Chain selection options: -.HP -\fB\-testnet\fR -.IP -Use the test chain -.PP -Node relay options: -.HP -\fB\-bytespersigop\fR -.IP -Equivalent bytes per sigop in transactions for relay and mining -(default: 20) -.HP -\fB\-datacarrier\fR -.IP -Relay and mine data carrier transactions (default: 1) -.HP -\fB\-datacarriersize\fR -.IP -Maximum size of data in data carrier transactions we relay and mine -(default: 83) -.HP -\fB\-mempoolreplacement\fR -.IP -Enable transaction replacement in the memory pool (default: 1) -.HP -\fB\-minrelaytxfee=\fR -.IP -Fees (in RVN/kB) smaller than this are considered zero fee for relaying, -mining and transaction creation (default: 0.00001) -.HP -\fB\-whitelistrelay\fR -.IP -Accept relayed transactions received from whitelisted peers even when -not relaying transactions (default: 1) -.HP -\fB\-whitelistforcerelay\fR -.IP -Force relay of transactions from whitelisted peers even if they violate -local relay policy (default: 1) -.PP -Block creation options: -.HP -\fB\-blockmaxweight=\fR -.IP -Set maximum BIP141 block weight (default: 3996000) -.HP -\fB\-blockmaxsize=\fR -.IP -Set maximum BIP141 block weight to this * 4. Deprecated, use -blockmaxweight -.HP -\fB\-blockmintxfee=\fR -.IP -Set lowest fee rate (in RVN/kB) for transactions to be included in block -creation. (default: 0.00001) -.PP -RPC server options: -.HP -\fB\-server\fR -.IP -Accept command line and JSON\-RPC commands -.HP -\fB\-rest\fR -.IP -Accept public REST requests (default: 0) -.HP -\fB\-rpcbind=\fR[:port] -.IP -Bind to given address to listen for JSON\-RPC connections. This option is -ignored unless \fB\-rpcallowip\fR is also passed. Port is optional and -overrides \fB\-rpcport\fR. Use [host]:port notation for IPv6. This -option can be specified multiple times (default: 127.0.0.1 and -::1 i.e., localhost, or if \fB\-rpcallowip\fR has been specified, -0.0.0.0 and :: i.e., all addresses) -.HP -\fB\-rpccookiefile=\fR -.IP -Location of the auth cookie (default: data dir) -.HP -\fB\-rpcuser=\fR -.IP -Username for JSON\-RPC connections -.HP -\fB\-rpcpassword=\fR -.IP -Password for JSON\-RPC connections -.HP -\fB\-rpcauth=\fR -.IP -Username and hashed password for JSON\-RPC connections. The field - comes in the format: :$. A -canonical python script is included in share/rpcuser. The client -then connects normally using the -rpcuser=/rpcpassword= pair of arguments. This -option can be specified multiple times -.HP -\fB\-rpcport=\fR -.IP -Listen for JSON\-RPC connections on (default: 8766 or testnet: -18766) -.HP -\fB\-rpcallowip=\fR -.IP -Allow JSON\-RPC connections from specified source. Valid for 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 -.HP -\fB\-rpcserialversion\fR -.IP -Sets the serialization of raw transaction or block hex returned in -non\-verbose mode, non\-segwit(0) or segwit(1) (default: 1) -.HP -\fB\-rpcthreads=\fR -.IP -Set the number of threads to service RPC calls (default: 4) -.SH COPYRIGHT -Copyright (C) 2009-2017 The Bitcoin Core developers -Copyright (c) 2017 The Raven Core developers - -Please contribute if you find Raven Core useful. Visit - for further information about the software. -The source code is available from . - -This is experimental software. -Distributed under the MIT software license, see the accompanying file COPYING -or - -This product includes software developed by the OpenSSL Project for use in the -OpenSSL Toolkit and cryptographic software written by -Eric Young and UPnP software written by Thomas Bernard. diff --git a/doc/release-notes/release-notes-0.15.0.md b/doc/release-notes/release-notes-0.15.0.md index 987e3121cc..87b549c997 100644 --- a/doc/release-notes/release-notes-0.15.0.md +++ b/doc/release-notes/release-notes-0.15.0.md @@ -1,25 +1,25 @@ -Raven Core version *0.15.0* is now available from: +Bitcoin Core version *0.15.0* is now available from: - + This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations. Please report bugs using the issue tracker at GitHub: - + To receive security and update notifications, please subscribe to: - + 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/Raven-Qt` (on Mac) -or `ravend`/`raven-qt` (on Linux). +installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac) +or `bitcoind`/`bitcoin-qt` (on Linux). The first time you run version 0.15.0, your chainstate database will be converted to a new format, which will take anywhere from a few minutes to half an hour, @@ -48,10 +48,10 @@ processing the entire blockchain. Compatibility ============== -Raven Core is extensively tested on multiple operating systems using +Bitcoin Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.8+, and Windows Vista and later. Windows XP is not supported. -Raven Core should also work on most other Unix-like systems but is not +Bitcoin Core should also work on most other Unix-like systems but is not frequently tested on them. Notes for 0.15.0 @@ -85,7 +85,7 @@ Version 0.15 contains a number of significant performance improvements, which ma Initial Block Download, startup, transaction and block validation much faster: - The chainstate database (which is used for tracking UTXOs) has been changed - from a per-transaction model to a per-output model (See [PR 10195](https://github.com/RavenProject/Ravencoin/pull/10195)). Advantages of this model + from a per-transaction model to a per-output model (See [PR 10195](https://github.com/bitcoin/bitcoin/pull/10195)). Advantages of this model are that it: - avoids the CPU overhead of deserializing and serializing the unused outputs; - has more predictable memory usage; @@ -98,32 +98,32 @@ Initial Block Download, startup, transaction and block validation much faster: a few extra gigabytes may be used. - Earlier versions experienced a spike in memory usage while flushing UTXO updates to disk. As a result, only half of the available memory was actually used as cache, and the other half was - reserved to accommodate flushing. This is no longer the case (See [PR 10148](https://github.com/RavenProject/Ravencoin/pull/10148)), and the entirety of + reserved to accommodate flushing. This is no longer the case (See [PR 10148](https://github.com/bitcoin/bitcoin/pull/10148)), and the entirety of the available cache (see `-dbcache`) is now actually used as cache. This reduces the flushing frequency by a factor 2 or more. - In previous versions, signature validation for transactions has been cached when the transaction is accepted to the mempool. Version 0.15 extends this to cache the entire script - validity (See [PR 10192](https://github.com/RavenProject/Ravencoin/pull/10192)). This means that if a transaction in a block has already been accepted to the + validity (See [PR 10192](https://github.com/bitcoin/bitcoin/pull/10192)). This means that if a transaction in a block has already been accepted to the mempool, the scriptSig does not need to be re-evaluated. Empirical tests show that this results in new block validation being 40-50% faster. -- LevelDB has been upgraded to version 1.20 (See [PR 10544](https://github.com/RavenProject/Ravencoin/pull/10544)). This version contains hardware acceleration for CRC +- LevelDB has been upgraded to version 1.20 (See [PR 10544](https://github.com/bitcoin/bitcoin/pull/10544)). This version contains hardware acceleration for CRC on architectures supporting SSE 4.2. As a result, synchronization and block validation are now faster. -- SHA256 hashing has been optimized for architectures supporting SSE 4 (See [PR 10821](https://github.com/RavenProject/Ravencoin/pull/10821)). SHA256 is around +- SHA256 hashing has been optimized for architectures supporting SSE 4 (See [PR 10821](https://github.com/bitcoin/bitcoin/pull/10821)). SHA256 is around 50% faster on supported hardware, which results in around 5% faster IBD and block validation. In version 0.15, SHA256 hardware optimization is disabled in release builds by default, but can be enabled by using `--enable-experimental-asm` when building. -- Refill of the keypool no longer flushes the wallet between each key which resulted in a ~20x speedup in creating a new wallet. Part of this speedup was used to increase the default keypool to 1000 keys to make recovery more robust. (See [PR 10831](https://github.com/RavenProject/Ravencoin/pull/10831)). +- Refill of the keypool no longer flushes the wallet between each key which resulted in a ~20x speedup in creating a new wallet. Part of this speedup was used to increase the default keypool to 1000 keys to make recovery more robust. (See [PR 10831](https://github.com/bitcoin/bitcoin/pull/10831)). Fee Estimation Improvements --------------------------- -Fee estimation has been significantly improved in version 0.15, with more accurate fee estimates used by the wallet and a wider range of options for advanced users of the `estimatesmartfee` and `estimaterawfee` RPCs (See [PR 10199](https://github.com/RavenProject/Ravencoin/pull/10199)). +Fee estimation has been significantly improved in version 0.15, with more accurate fee estimates used by the wallet and a wider range of options for advanced users of the `estimatesmartfee` and `estimaterawfee` RPCs (See [PR 10199](https://github.com/bitcoin/bitcoin/pull/10199)). ### Changes to internal logic and wallet behavior - Internally, estimates are now tracked on 3 different time horizons. This allows for longer targets and means estimates adjust more quickly to changes in conditions. - Estimates can now be *conservative* or *economical*. *Conservative* estimates use longer time horizons to produce an estimate which is less susceptible to rapid changes in fee conditions. *Economical* estimates use shorter time horizons and will be more affected by short-term changes in fee conditions. Economical estimates may be considerably lower during periods of low transaction activity (for example over weekends), but may result in transactions being unconfirmed if prevailing fees increase rapidly. -- By default, the wallet will use conservative fee estimates to increase the reliability of transactions being confirmed within the desired target. For transactions that are marked as replaceable, the wallet will use an economical estimate by default, since the fee can be 'bumped' if the fee conditions change rapidly (See [PR 10589](https://github.com/RavenProject/Ravencoin/pull/10589)). +- By default, the wallet will use conservative fee estimates to increase the reliability of transactions being confirmed within the desired target. For transactions that are marked as replaceable, the wallet will use an economical estimate by default, since the fee can be 'bumped' if the fee conditions change rapidly (See [PR 10589](https://github.com/bitcoin/bitcoin/pull/10589)). - Estimates can now be made for confirmation targets up to 1008 blocks (one week). - More data on historical fee rates is stored, leading to more precise fee estimates. - Transactions which leave the mempool due to eviction or other non-confirmed reasons are now taken into account by the fee estimation logic, leading to more accurate fee estimates. @@ -132,27 +132,27 @@ Fee estimation has been significantly improved in version 0.15, with more accura ### Changes to fee estimate RPCs - The `estimatefee` RPC is now deprecated in favor of using only `estimatesmartfee` (which is the implementation used by the GUI) -- The `estimatesmartfee` RPC interface has been changed (See [PR 10707](https://github.com/RavenProject/Ravencoin/pull/10707)): +- The `estimatesmartfee` RPC interface has been changed (See [PR 10707](https://github.com/bitcoin/bitcoin/pull/10707)): - The `nblocks` argument has been renamed to `conf_target` (to be consistent with other RPC methods). - An `estimate_mode` argument has been added. This argument takes one of the following strings: `CONSERVATIVE`, `ECONOMICAL` or `UNSET` (which defaults to `CONSERVATIVE`). - The RPC return object now contains an `errors` member, which returns errors encountered during processing. - - If Raven Core has not been running for long enough and has not seen enough blocks or transactions to produce an accurate fee estimation, an error will be returned (previously a value of -1 was used to indicate an error, which could be confused for a feerate). + - If Bitcoin Core has not been running for long enough and has not seen enough blocks or transactions to produce an accurate fee estimation, an error will be returned (previously a value of -1 was used to indicate an error, which could be confused for a feerate). - A new `estimaterawfee` RPC is added to provide raw fee data. External clients can query and use this data in their own fee estimation logic. Multi-wallet support -------------------- -Raven Core now supports loading multiple, separate wallets (See [PR 8694](https://github.com/RavenProject/Ravencoin/pull/8694), [PR 10849](https://github.com/RavenProject/Ravencoin/pull/10849)). The wallets are completely separated, with individual balances, keys and received transactions. +Bitcoin Core now supports loading multiple, separate wallets (See [PR 8694](https://github.com/bitcoin/bitcoin/pull/8694), [PR 10849](https://github.com/bitcoin/bitcoin/pull/10849)). The wallets are completely separated, with individual balances, keys and received transactions. -Multi-wallet is enabled by using more than one `-wallet` argument when starting Raven, either on the command line or in the Raven config file. +Multi-wallet is enabled by using more than one `-wallet` argument when starting Bitcoin, either on the command line or in the Bitcoin config file. -**In Raven-Qt, only the first wallet will be displayed and accessible for creating and signing transactions.** GUI selectable multiple wallets will be supported in a future version. However, even in 0.15 other loaded wallets will remain synchronized to the node's current tip in the background. This can be useful if running a pruned node, since loading a wallet where the most recent sync is beyond the pruned height results in having to download and revalidate the whole blockchain. Continuing to synchronize all wallets in the background avoids this problem. +**In Bitcoin-Qt, only the first wallet will be displayed and accessible for creating and signing transactions.** GUI selectable multiple wallets will be supported in a future version. However, even in 0.15 other loaded wallets will remain synchronized to the node's current tip in the background. This can be useful if running a pruned node, since loading a wallet where the most recent sync is beyond the pruned height results in having to download and revalidate the whole blockchain. Continuing to synchronize all wallets in the background avoids this problem. -Raven Core 0.15.0 contains the following changes to the RPC interface and `raven-cli` for multi-wallet: +Bitcoin Core 0.15.0 contains the following changes to the RPC interface and `bitcoin-cli` for multi-wallet: -* When running Raven Core with a single wallet, there are **no** changes to the RPC interface or `raven-cli`. All RPC calls and `raven-cli` commands continue to work as before. -* When running Raven Core with multi-wallet, all *node-level* RPC methods continue to work as before. HTTP RPC requests should be send to the normal `:/` endpoint, and `raven-cli` commands should be run as before. A *node-level* RPC method is any method which does not require access to the wallet. -* When running Raven Core with multi-wallet, *wallet-level* RPC methods must specify the wallet for which they're intended in every request. HTTP RPC requests should be send to the `:/wallet//` endpoint, for example `127.0.0.1:64639/wallet/wallet1.dat/`. `raven-cli` commands should be run with a `-rpcwallet` option, for example `raven-cli -rpcwallet=wallet1.dat getbalance`. +* When running Bitcoin Core with a single wallet, there are **no** changes to the RPC interface or `bitcoin-cli`. All RPC calls and `bitcoin-cli` commands continue to work as before. +* When running Bitcoin Core with multi-wallet, all *node-level* RPC methods continue to work as before. HTTP RPC requests should be send to the normal `:/` endpoint, and `bitcoin-cli` commands should be run as before. A *node-level* RPC method is any method which does not require access to the wallet. +* When running Bitcoin Core with multi-wallet, *wallet-level* RPC methods must specify the wallet for which they're intended in every request. HTTP RPC requests should be send to the `:/wallet//` endpoint, for example `127.0.0.1:64639/wallet/wallet1.dat/`. `bitcoin-cli` commands should be run with a `-rpcwallet` option, for example `bitcoin-cli -rpcwallet=wallet1.dat getbalance`. * A new *node-level* `listwallets` RPC method is added to display which wallets are currently loaded. The names returned by this method are the same as those used in the HTTP endpoint and for the `rpcwallet` argument. Note that while multi-wallet is now fully supported, the RPC multi-wallet interface should be considered unstable for version 0.15.0, and there may backwards-incompatible changes in future versions. @@ -160,18 +160,18 @@ Note that while multi-wallet is now fully supported, the RPC multi-wallet interf Replace-by-fee control in the GUI --------------------------------- -Raven Core has supported creating opt-in replace-by-fee (RBF) transactions +Bitcoin Core has supported creating opt-in replace-by-fee (RBF) transactions since version 0.12.0, and since version 0.14.0 has included a `bumpfee` RPC method to replace unconfirmed opt-in RBF transactions with a new transaction that pays a higher fee. In version 0.15, creating an opt-in RBF transaction and replacing the unconfirmed -transaction with a higher-fee transaction are both supported in the GUI (See [PR 9592](https://github.com/RavenProject/Ravencoin/pull/9592)). +transaction with a higher-fee transaction are both supported in the GUI (See [PR 9592](https://github.com/bitcoin/bitcoin/pull/9592)). Removal of Coin Age Priority ---------------------------- -In previous versions of Raven Core, a portion of each block could be reserved for transactions based on the age and value of UTXOs they spent. This concept (Coin Age Priority) is a policy choice by miners, and there are no consensus rules around the inclusion of Coin Age Priority transactions in blocks. In practice, only a few miners continue to use Coin Age Priority for transaction selection in blocks. Raven Core 0.15 removes all remaining support for Coin Age Priority (See [PR 9602](https://github.com/RavenProject/Ravencoin/pull/9602)). This has the following implications: +In previous versions of Bitcoin Core, a portion of each block could be reserved for transactions based on the age and value of UTXOs they spent. This concept (Coin Age Priority) is a policy choice by miners, and there are no consensus rules around the inclusion of Coin Age Priority transactions in blocks. In practice, only a few miners continue to use Coin Age Priority for transaction selection in blocks. Bitcoin Core 0.15 removes all remaining support for Coin Age Priority (See [PR 9602](https://github.com/bitcoin/bitcoin/pull/9602)). This has the following implications: - The concept of *free transactions* has been removed. High Coin Age Priority transactions would previously be allowed to be relayed even if they didn't attach a miner fee. This is no longer possible since there is no concept of Coin Age Priority. The `-limitfreerelay` and `-relaypriority` options which controlled relay of free transactions have therefore been removed. - The `-sendfreetransactions` option has been removed, since almost all miners do not include transactions which do not attach a transaction fee. @@ -185,26 +185,26 @@ In previous versions of Raven Core, a portion of each block could be reserved fo Mempool Persistence Across Restarts ----------------------------------- -Version 0.14 introduced mempool persistence across restarts (the mempool is saved to a `mempool.dat` file in the data directory prior to shutdown and restores the mempool when the node is restarted). Version 0.15 allows this feature to be switched on or off using the `-persistmempool` command-line option (See [PR 9966](https://github.com/RavenProject/Ravencoin/pull/9966)). By default, the option is set to true, and the mempool is saved on shutdown and reloaded on startup. If set to false, the `mempool.dat` file will not be loaded on startup or saved on shutdown. +Version 0.14 introduced mempool persistence across restarts (the mempool is saved to a `mempool.dat` file in the data directory prior to shutdown and restores the mempool when the node is restarted). Version 0.15 allows this feature to be switched on or off using the `-persistmempool` command-line option (See [PR 9966](https://github.com/bitcoin/bitcoin/pull/9966)). By default, the option is set to true, and the mempool is saved on shutdown and reloaded on startup. If set to false, the `mempool.dat` file will not be loaded on startup or saved on shutdown. New RPC methods --------------- Version 0.15 introduces several new RPC methods: -- `abortrescan` stops current wallet rescan, e.g. when triggered by an `importprivkey` call (See [PR 10208](https://github.com/RavenProject/Ravencoin/pull/10208)). -- `combinerawtransaction` accepts a JSON array of raw transactions and combines them into a single raw transaction (See [PR 10571](https://github.com/RavenProject/Ravencoin/pull/10571)). +- `abortrescan` stops current wallet rescan, e.g. when triggered by an `importprivkey` call (See [PR 10208](https://github.com/bitcoin/bitcoin/pull/10208)). +- `combinerawtransaction` accepts a JSON array of raw transactions and combines them into a single raw transaction (See [PR 10571](https://github.com/bitcoin/bitcoin/pull/10571)). - `estimaterawfee` returns raw fee data so that customized logic can be implemented to analyze the data and calculate estimates. See [Fee Estimation Improvements](#fee-estimation-improvements) for full details on changes to the fee estimation logic and interface. - `getchaintxstats` returns statistics about the total number and rate of transactions - in the chain (See [PR 9733](https://github.com/RavenProject/Ravencoin/pull/9733)). + in the chain (See [PR 9733](https://github.com/bitcoin/bitcoin/pull/9733)). - `listwallets` lists wallets which are currently loaded. See the *Multi-wallet* section of these release notes for full details (See [Multi-wallet support](#multi-wallet-support)). -- `uptime` returns the total runtime of the `ravend` server since its last start (See [PR 10400](https://github.com/RavenProject/Ravencoin/pull/10400)). +- `uptime` returns the total runtime of the `bitcoind` server since its last start (See [PR 10400](https://github.com/bitcoin/bitcoin/pull/10400)). Low-level RPC changes --------------------- -- When using Raven Core in multi-wallet mode, RPC requests for wallet methods must specify +- When using Bitcoin Core in multi-wallet mode, RPC requests for wallet methods must specify the wallet that they're intended for. See [Multi-wallet support](#multi-wallet-support) for full details. - The new database model no longer stores information about transaction @@ -222,15 +222,15 @@ Low-level RPC changes `bytes_serialized`. The first is a more accurate estimate of actual disk usage, but is not deterministic. The second is unrelated to disk usage, but is a database-independent metric of UTXO set size: it counts every UTXO entry as 50 + the - length of its scriptPubKey (See [PR 10426](https://github.com/RavenProject/Ravencoin/pull/10426)). + length of its scriptPubKey (See [PR 10426](https://github.com/bitcoin/bitcoin/pull/10426)). -- `signrawtransaction` can no longer be used to combine multiple transactions into a single transaction. Instead, use the new `combinerawtransaction` RPC (See [PR 10571](https://github.com/RavenProject/Ravencoin/pull/10571)). +- `signrawtransaction` can no longer be used to combine multiple transactions into a single transaction. Instead, use the new `combinerawtransaction` RPC (See [PR 10571](https://github.com/bitcoin/bitcoin/pull/10571)). -- `fundrawtransaction` no longer accepts a `reserveChangeKey` option. This option used to allow RPC users to fund a raw transaction using an key from the keypool for the change address without removing it from the available keys in the keypool. The key could then be re-used for a `getnewaddress` call, which could potentially result in confusing or dangerous behaviour (See [PR 10784](https://github.com/RavenProject/Ravencoin/pull/10784)). +- `fundrawtransaction` no longer accepts a `reserveChangeKey` option. This option used to allow RPC users to fund a raw transaction using an key from the keypool for the change address without removing it from the available keys in the keypool. The key could then be re-used for a `getnewaddress` call, which could potentially result in confusing or dangerous behaviour (See [PR 10784](https://github.com/bitcoin/bitcoin/pull/10784)). - `estimatepriority` and `estimatesmartpriority` have been removed. See [Removal of Coin Age Priority](#removal-of-coin-age-priority). -- The `listunspent` RPC now takes a `query_options` argument (see [PR 8952](https://github.com/RavenProject/Ravencoin/pull/8952)), which is a JSON object +- The `listunspent` RPC now takes a `query_options` argument (see [PR 8952](https://github.com/bitcoin/bitcoin/pull/8952)), which is a JSON object containing one or more of the following members: - `minimumAmount` - a number specifying the minimum value of each UTXO - `maximumAmount` - a number specifying the maximum value of each UTXO @@ -240,22 +240,22 @@ Low-level RPC changes - The `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and `getrawmempool` RPCs no longer return `startingpriority` and `currentpriority`. See [Removal of Coin Age Priority](#removal-of-coin-age-priority). - The `dumpwallet` RPC now returns the full absolute path to the dumped wallet. It - used to return no value, even if successful (See [PR 9740](https://github.com/RavenProject/Ravencoin/pull/9740)). + used to return no value, even if successful (See [PR 9740](https://github.com/bitcoin/bitcoin/pull/9740)). -- In the `getpeerinfo` RPC, the return object for each peer now returns an `addrbind` member, which contains the ip address and port of the connection to the peer. This is in addition to the `addrlocal` member which contains the ip address and port of the local node as reported by the peer (See [PR 10478](https://github.com/RavenProject/Ravencoin/pull/10478)). +- In the `getpeerinfo` RPC, the return object for each peer now returns an `addrbind` member, which contains the ip address and port of the connection to the peer. This is in addition to the `addrlocal` member which contains the ip address and port of the local node as reported by the peer (See [PR 10478](https://github.com/bitcoin/bitcoin/pull/10478)). -- The `disconnectnode` RPC can now disconnect a node specified by node ID (as well as by IP address/port). To disconnect a node based on node ID, call the RPC with the new `nodeid` argument (See [PR 10143](https://github.com/RavenProject/Ravencoin/pull/10143)). +- The `disconnectnode` RPC can now disconnect a node specified by node ID (as well as by IP address/port). To disconnect a node based on node ID, call the RPC with the new `nodeid` argument (See [PR 10143](https://github.com/bitcoin/bitcoin/pull/10143)). -- The second argument in `prioritisetransaction` has been renamed from `priority_delta` to `dummy` since Raven Core no longer has a concept of coin age priority. The `dummy` argument has no functional effect, but is retained for positional argument compatibility. See [Removal of Coin Age Priority](#removal-of-coin-age-priority). +- The second argument in `prioritisetransaction` has been renamed from `priority_delta` to `dummy` since Bitcoin Core no longer has a concept of coin age priority. The `dummy` argument has no functional effect, but is retained for positional argument compatibility. See [Removal of Coin Age Priority](#removal-of-coin-age-priority). -- The `resendwallettransactions` RPC throws an error if the `-walletbroadcast` option is set to false (See [PR 10995](https://github.com/RavenProject/Ravencoin/pull/10995)). +- The `resendwallettransactions` RPC throws an error if the `-walletbroadcast` option is set to false (See [PR 10995](https://github.com/bitcoin/bitcoin/pull/10995)). -- The second argument in the `submitblock` RPC argument has been renamed from `parameters` to `dummy`. This argument never had any effect, and the renaming is simply to communicate this fact to the user (See [PR 10191](https://github.com/RavenProject/Ravencoin/pull/10191)) +- The second argument in the `submitblock` RPC argument has been renamed from `parameters` to `dummy`. This argument never had any effect, and the renaming is simply to communicate this fact to the user (See [PR 10191](https://github.com/bitcoin/bitcoin/pull/10191)) (Clients should, however, use positional arguments for `submitblock` in order to be compatible with BIP 22.) - The `verbose` argument of `getblock` has been renamed to `verbosity` and now takes an integer from 0 to 2. Verbose level 0 is equivalent to `verbose=false`. Verbose level 1 is equivalent to `verbose=true`. Verbose level 2 will give the full transaction details of each transaction in the output as given by `getrawtransaction`. The old behavior of using the `verbose` named argument and a boolean value is still maintained for compatibility. -- Error codes have been updated to be more accurate for the following error cases (See [PR 9853](https://github.com/RavenProject/Ravencoin/pull/9853)): +- Error codes have been updated to be more accurate for the following error cases (See [PR 9853](https://github.com/bitcoin/bitcoin/pull/9853)): - `getblock` now returns RPC_MISC_ERROR if the block can't be found on disk (for example if the block has been pruned). Previously returned RPC_INTERNAL_ERROR. - `pruneblockchain` now returns RPC_MISC_ERROR if the blocks cannot be pruned @@ -268,13 +268,13 @@ Low-level RPC changes or subnet is invalid. Previously returned RPC_CLIENT_NODE_ALREADY_ADDED. - `setban` now returns RPC_CLIENT_INVALID_IP_OR_SUBNET if the user tries to unban a node that has not previously been banned. Previously returned RPC_MISC_ERROR. - - `removeprunedfunds` now returns RPC_WALLET_ERROR if `ravend` is unable to remove + - `removeprunedfunds` now returns RPC_WALLET_ERROR if `bitcoind` is unable to remove the transaction. Previously returned RPC_INTERNAL_ERROR. - `removeprunedfunds` now returns RPC_INVALID_PARAMETER if the transaction does not exist in the wallet. Previously returned RPC_INTERNAL_ERROR. - `fundrawtransaction` now returns RPC_INVALID_ADDRESS_OR_KEY if an invalid change address is provided. Previously returned RPC_INVALID_PARAMETER. - - `fundrawtransaction` now returns RPC_WALLET_ERROR if `ravend` is unable to create + - `fundrawtransaction` now returns RPC_WALLET_ERROR if `bitcoind` is unable to create the transaction. The error message provides further details. Previously returned RPC_INTERNAL_ERROR. - `bumpfee` now returns RPC_INVALID_PARAMETER if the provided transaction has @@ -325,23 +325,23 @@ Low-level RPC changes - #8384 `e317c0d` Add witness data output to TxInError messages (instagibbs) - #9571 `4677151` RPC: getblockchaininfo returns BIP signaling statistics (pinheadmz) - #10450 `ef2d062` Fix bumpfee rpc "errors" return value (ryanofsky) -- #10475 `39039b1` [RPC] getmempoolinfo mempoolminfee is a RVN/KB feerate (instagibbs) +- #10475 `39039b1` [RPC] getmempoolinfo mempoolminfee is a BTC/KB feerate (instagibbs) - #10478 `296928e` rpc: Add listen address to incoming connections in `getpeerinfo` (laanwj) - #10403 `08d0390` Fix importmulti failure to return rescan errors (ryanofsky) - #9740 `9fec4da` Add friendly output to dumpwallet (aideca) - #10426 `16f6c98` Replace bytes_serialized with bogosize (sipa) - #10252 `980deaf` RPC/Mining: Restore API compatibility for prioritisetransaction (luke-jr) -- #9672 `46311e7` Opt-into-RBF for RPC & raven-tx (luke-jr) +- #9672 `46311e7` Opt-into-RBF for RPC & bitcoin-tx (luke-jr) - #10481 `9c248e3` Decodehextx scripts sanity check (achow101) - #10488 `fa1f106` Note that the prioritizetransaction dummy value is deprecated, and has no meaning (TheBlueMatt) - #9738 `c94b89e` gettxoutproof() should return consistent result (jnewbery) - #10191 `00350bd` [trivial] Rename unused RPC arguments 'dummy' (jnewbery) - #10627 `b62b4c8` fixed listunspent rpc convert parameter (tnakagawa) - #10412 `bef02fb` Improve wallet rescan API (ryanofsky) -- #10400 `1680ee0` [RPC] Add an uptime command that displays the amount of time (in seconds) ravend has been running (rvelhote) +- #10400 `1680ee0` [RPC] Add an uptime command that displays the amount of time (in seconds) bitcoind has been running (rvelhote) - #10683 `d81bec7` rpc: Move the `generate` RPC call to rpcwallet (laanwj) - #10710 `30bc0f6` REST/RPC example update (Mirobit) -- #10747 `9edda0c` [rpc] fix verbose argument for getblock in raven-cli (jnewbery) +- #10747 `9edda0c` [rpc] fix verbose argument for getblock in bitcoin-cli (jnewbery) - #10589 `104f5f2` More economical fee estimates for RBF and RPC options to control (morcos) - #10543 `b27b004` Change API to estimaterawfee (morcos) - #10807 `afd2fca` getbalance example covers at least 6 confirms (instagibbs) @@ -450,7 +450,7 @@ Low-level RPC changes - #10136 `81da4c7` build: Disable Wshadow warning (laanwj) - #10166 `64962ae` Ignore Doxyfile generated from Doxyfile.in template (paveljanik) - #10239 `0416ea9` Make Boost use std::atomic internally (sipa) -- #10228 `27faa6c` build: regenerate raven-config.h as necessary (theuni) +- #10228 `27faa6c` build: regenerate bitcoin-config.h as necessary (theuni) - #10273 `8979f45` [scripts] Minor improvements to `macdeployqtplus` script (chrisgavin) - #10325 `a26280b` 0.15.0 Depends Updates (fanquake) - #10328 `79aeff6` Update contrib/debian to latest Ubuntu PPA upload (TheBlueMatt) @@ -576,7 +576,7 @@ Low-level RPC changes - #9497 `2c781fb` CCheckQueue Unit Tests (JeremyRubin) - #10024 `9225de2` [trivial] Use log.info() instead of print() in remaining functional test cases (jnewbery) - #9956 `3192e52` Reorganise qa directory (jnewbery) -- #10017 `02d64bd` combine_logs.py - aggregates log files from multiple ravends during functional tests (jnewbery) +- #10017 `02d64bd` combine_logs.py - aggregates log files from multiple bitcoinds during functional tests (jnewbery) - #10047 `dfef6b6` [tests] Remove unused variables and imports (practicalswift) - #9701 `a230b05` Make bumpfee tests less fragile (ryanofsky) - #10053 `ca20923` [test] Allow functional test cases to be skipped (jnewbery) @@ -596,7 +596,7 @@ Low-level RPC changes - #10152 `080d7c7` [trivial] remove unused line in Travis config (jnewbery) - #10159 `df1ca9e` [tests] color test results and sort alphabetically (jnewbery) - #10124 `88799ea` [test] Suppress test logging spam (jnewbery) -- #10142 `ed09dd3` Run raven_test-qt under minimal QPA platform (ryanofsky) +- #10142 `ed09dd3` Run bitcoin_test-qt under minimal QPA platform (ryanofsky) - #9949 `a27dbc5` [bench] Avoid function call arguments which are pointers to uninitialized values (practicalswift) - #10187 `b44adf9` tests: Fix test_runner return value in case of skipped test (laanwj) - #10197 `d86bb07` [tests] Functional test warnings (jnewbery) @@ -634,7 +634,7 @@ Low-level RPC changes - #10415 `217b416` [tests] Speed up fuzzing by ~200x when using afl-fuzz (practicalswift) - #10445 `b4b057a` Add test for empty chain and reorg consistency for gettxoutsetinfo (gmaxwell) - #10423 `1aefc94` [tests] skipped tests should clean up after themselves (jnewbery) -- #10359 `329fc1d` [tests] functional tests should call RavenTestFramework start/stop node methods (jnewbery) +- #10359 `329fc1d` [tests] functional tests should call BitcoinTestFramework start/stop node methods (jnewbery) - #10514 `e103b3f` Bugfix: missing == 0 after randrange (sipa) - #10515 `c871f32` [test] Add test for getchaintxstats (jimmysong) - #10509 `bea5b00` Remove xvfb configuration from travis (ryanofsky) @@ -648,12 +648,12 @@ Low-level RPC changes - #10555 `643fa0b` [tests] various improvements to zmq_test.py (jnewbery) - #10533 `d083bd9` [tests] Use cookie auth instead of rpcuser and rpcpassword (achow101) - #10632 `c68a9a6` qa: Add stopatheight test (MarcoFalke) -- #10636 `4bc853b` [qa] util: Check return code after closing ravend proc (MarcoFalke) +- #10636 `4bc853b` [qa] util: Check return code after closing bitcoind proc (MarcoFalke) - #10662 `e0a7801` Initialize randomness in benchmarks (achow101) - #10612 `7c87a9c` The young person's guide to the test_framework (jnewbery) - #10659 `acb1153` [qa] blockchain: Pass on closed connection during generate call (MarcoFalke) - #10690 `416af3e` [qa] Bugfix: allow overriding extra_args in ComparisonTestFramework (sdaftuar) -- #10556 `65cc7aa` Move stop/start functions from utils.py into RavenTestFramework (jnewbery) +- #10556 `65cc7aa` Move stop/start functions from utils.py into BitcoinTestFramework (jnewbery) - #10704 `dd07f47` [tests] nits in dbcrash.py (jnewbery) - #10743 `be82498` [test] don't run dbcrash.py on Travis (jnewbery) - #10761 `d3b5870` [tests] fix replace_by_fee.py (jnewbery) @@ -694,7 +694,7 @@ Low-level RPC changes - #9734 `0c17afc` Add updating of chainTxData to release process (sipa) - #10063 `530fcbd` add missing spaces so that markdown recognizes headline (flack) - #10085 `db1ae54` Docs: remove 'noconnect' option (jlopp) -- #10090 `8e4f7e7` Update raven.conf with example for pruning (coinables) +- #10090 `8e4f7e7` Update bitcoin.conf with example for pruning (coinables) - #9424 `1a5aaab` Change LogAcceptCategory to use uint32_t rather than sets of strings (gmaxwell) - #10036 `fbf36ca` Fix init README format to render correctly on github (jlopp) - #10058 `a2cd0b0` No need to use OpenSSL malloc/free (tjps) @@ -718,10 +718,10 @@ Low-level RPC changes - #10372 `15254e9` Add perf counter data to GetStrongRandBytes state in scheduler (TheBlueMatt) - #10461 `55b72f3` Update style guide (sipa) - #10486 `10e8c0a` devtools: Retry after signing fails in github-merge (laanwj) -- #10447 `f259263` Make ravend invalid argument error message specific (laanwj) +- #10447 `f259263` Make bitcoind invalid argument error message specific (laanwj) - #10495 `6a38b79` contrib: Update location of seeds.txt (laanwj) - #10469 `b6b150b` Fixing typo in rpcdump.cpp help message (keystrike) -- #10451 `27b9931` contrib/init/ravend.openrcconf: Don't disable wallet by default (luke-jr) +- #10451 `27b9931` contrib/init/bitcoind.openrcconf: Don't disable wallet by default (luke-jr) - #10323 `00d3692` Update to latest libsecp256k1 master (sipa) - #10422 `cec9e1e` Fix timestamp in fee estimate debug message (morcos) - #10566 `5d034ee` [docs] Use the "domain name setup" image (previously unused) in the gitian docs (practicalswift) @@ -740,9 +740,9 @@ Low-level RPC changes - #10728 `7397af9` fix typo in help text for removeprunedfunds (AkioNak) - #10193 `6dbcc74` scripted-diff: Remove #include (jtimon) - #10676 `379aed0` document script-based return fields for validateaddress (instagibbs) -- #10651 `cef4b5c` Verify binaries from ravencore.org and raven.org (TheBlueMatt) +- #10651 `cef4b5c` Verify binaries from bitcoincore.org and bitcoin.org (TheBlueMatt) - #10786 `ca4c545` Add PR description to merge commit in github-merge.py (sipa) -- #10812 `c5904e8` [utils] Allow raven-cli's -rpcconnect option to be used with square brackets (jnewbery) +- #10812 `c5904e8` [utils] Allow bitcoin-cli's -rpcconnect option to be used with square brackets (jnewbery) - #10842 `3895e25` Fix incorrect Doxygen tag (@ince → @since). Doxygen parameter name matching (practicalswift) - #10681 `df0793f` add gdb attach process to test README (instagibbs) - #10789 `1124328` Punctuation/grammer fixes in rpcwallet.cpp (stevendlander) @@ -759,7 +759,7 @@ Low-level RPC changes - #9792 `342b9bc` FastRandomContext improvements and switch to ChaCha20 (sipa) - #9505 `67ed40e` Prevector Quick Destruct (JeremyRubin) - #10820 `ef37f20` Use cpuid intrinsics instead of asm code (sipa) -- #9999 `a328904` [LevelDB] Plug leveldb logs to raven logs (NicolasDorier) +- #9999 `a328904` [LevelDB] Plug leveldb logs to bitcoin logs (NicolasDorier) - #9693 `c5e9e42` Prevent integer overflow in ReadVarInt (gmaxwell) - #10129 `351d0ad` scheduler: fix sub-second precision with boost < 1.50 (theuni) - #10153 `fade788` logging: Fix off-by-one for shrinkdebugfile default (MarcoFalke) @@ -771,7 +771,7 @@ Low-level RPC changes - #10837 `8bc6d1f` Fix resource leak on error in GetDevURandom (corebob) - #10832 `89bb036` init: Factor out AppInitLockDataDirectory and fix startup core dump issue (laanwj) - #10914 `b995a37` Add missing lock in CScheduler::AreThreadsServicingQueue() (TheBlueMatt) -- #10958 `659c096` Update to latest Raven patches for LevelDB (sipa) +- #10958 `659c096` Update to latest Bitcoin patches for LevelDB (sipa) - #10919 `c1c671f` Fix more init bugs (TheBlueMatt) Credits @@ -875,4 +875,4 @@ Thanks to everyone who directly contributed to this release: - Warren Togami - Wladimir J. van der Laan -As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/raven/). +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/). diff --git a/doc/shared-libraries.md b/doc/shared-libraries.md index 70255d8046..d272497313 100644 --- a/doc/shared-libraries.md +++ b/doc/shared-libraries.md @@ -1,21 +1,21 @@ Shared Libraries ================ -## ravenconsensus +## bitcoinconsensus The purpose of this library is to make the verification functionality that is critical to Raven's consensus available to other applications, e.g. to language bindings. ### API -The interface is defined in the C header `ravenconsensus.h` located in `src/script/ravenconsensus.h`. +The interface is defined in the C header `bitcoinconsensus.h` located in `src/script/bitcoinconsensus.h`. #### Version -`ravenconsensus_version` returns an `unsigned int` with the API version *(currently at an experimental `0`)*. +`bitcoinconsensus_version` returns an `unsigned int` with the API version *(currently at an experimental `0`)*. #### Script Validation -`ravenconsensus_verify_script` returns an `int` with the status of the verification. It will be `1` if the input script correctly spends the previous output `scriptPubKey`. +`bitcoinconsensus_verify_script` returns an `int` with the status of the verification. It will be `1` if the input script correctly spends the previous output `scriptPubKey`. ##### Parameters - `const unsigned char *scriptPubKey` - The previous output script that encumbers spending. @@ -24,26 +24,26 @@ The interface is defined in the C header `ravenconsensus.h` located in `src/scr - `unsigned int txToLen` - The number of bytes for the `txTo`. - `unsigned int nIn` - The index of the input in `txTo` that spends the `scriptPubKey`. - `unsigned int flags` - The script validation flags *(see below)*. -- `ravenconsensus_error* err` - Will have the error/success code for the operation *(see below)*. +- `bitcoinconsensus_error* err` - Will have the error/success code for the operation *(see below)*. ##### Script Flags -- `ravenconsensus_SCRIPT_FLAGS_VERIFY_NONE` -- `ravenconsensus_SCRIPT_FLAGS_VERIFY_P2SH` - Evaluate P2SH ([BIP16](https://github.com/raven/bips/blob/master/bip-0016.mediawiki)) subscripts -- `ravenconsensus_SCRIPT_FLAGS_VERIFY_DERSIG` - Enforce strict DER ([BIP66](https://github.com/raven/bips/blob/master/bip-0066.mediawiki)) compliance -- `ravenconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY` - Enforce NULLDUMMY ([BIP147](https://github.com/raven/bips/blob/master/bip-0147.mediawiki)) -- `ravenconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY` - Enable CHECKLOCKTIMEVERIFY ([BIP65](https://github.com/raven/bips/blob/master/bip-0065.mediawiki)) -- `ravenconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY` - Enable CHECKSEQUENCEVERIFY ([BIP112](https://github.com/raven/bips/blob/master/bip-0112.mediawiki)) -- `ravenconsensus_SCRIPT_FLAGS_VERIFY_WITNESS` - Enable WITNESS ([BIP141](https://github.com/raven/bips/blob/master/bip-0141.mediawiki)) +- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE` +- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH` - Evaluate P2SH ([BIP16](https://github.com/raven/bips/blob/master/bip-0016.mediawiki)) subscripts +- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG` - Enforce strict DER ([BIP66](https://github.com/raven/bips/blob/master/bip-0066.mediawiki)) compliance +- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY` - Enforce NULLDUMMY ([BIP147](https://github.com/raven/bips/blob/master/bip-0147.mediawiki)) +- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY` - Enable CHECKLOCKTIMEVERIFY ([BIP65](https://github.com/raven/bips/blob/master/bip-0065.mediawiki)) +- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY` - Enable CHECKSEQUENCEVERIFY ([BIP112](https://github.com/raven/bips/blob/master/bip-0112.mediawiki)) +- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS` - Enable WITNESS ([BIP141](https://github.com/raven/bips/blob/master/bip-0141.mediawiki)) ##### Errors -- `ravenconsensus_ERR_OK` - No errors with input parameters *(see the return value of `ravenconsensus_verify_script` for the verification status)* -- `ravenconsensus_ERR_TX_INDEX` - An invalid index for `txTo` -- `ravenconsensus_ERR_TX_SIZE_MISMATCH` - `txToLen` did not match with the size of `txTo` -- `ravenconsensus_ERR_DESERIALIZE` - An error deserializing `txTo` -- `ravenconsensus_ERR_AMOUNT_REQUIRED` - Input amount is required if WITNESS is used +- `bitcoinconsensus_ERR_OK` - No errors with input parameters *(see the return value of `bitcoinconsensus_verify_script` for the verification status)* +- `bitcoinconsensus_ERR_TX_INDEX` - An invalid index for `txTo` +- `bitcoinconsensus_ERR_TX_SIZE_MISMATCH` - `txToLen` did not match with the size of `txTo` +- `bitcoinconsensus_ERR_DESERIALIZE` - An error deserializing `txTo` +- `bitcoinconsensus_ERR_AMOUNT_REQUIRED` - Input amount is required if WITNESS is used ### Example Implementations - [NRaven](https://github.com/NicolasDorier/NRaven/blob/master/NRaven/Script.cs#L814) (.NET Bindings) -- [node-libravenconsensus](https://github.com/bitpay/node-libravenconsensus) (Node.js Bindings) -- [java-libravenconsensus](https://github.com/dexX7/java-libravenconsensus) (Java Bindings) -- [ravenconsensus-php](https://github.com/Bit-Wasp/ravenconsensus-php) (PHP Bindings) +- [node-libbitcoinconsensus](https://github.com/bitpay/node-libbitcoinconsensus) (Node.js Bindings) +- [java-libbitcoinconsensus](https://github.com/dexX7/java-libbitcoinconsensus) (Java Bindings) +- [bitcoinconsensus-php](https://github.com/Bit-Wasp/bitcoinconsensus-php) (PHP Bindings) diff --git a/doc/translation_process.md b/doc/translation_process.md index c1d5a6e9af..1702637d53 100644 --- a/doc/translation_process.md +++ b/doc/translation_process.md @@ -1,28 +1,28 @@ Translations ============ -The Raven-Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, Raven-Core makes use of the Transifex online translation management tool. +The Bitcoin-Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, Bitcoin-Core makes use of the Transifex online translation management tool. ### Helping to translate (using Transifex) Transifex is setup to monitor the GitHub repo for updates, and when code containing new translations is found, Transifex will process any changes. It may take several hours after a pull-request has been merged, to appear in the Transifex web interface. -Multiple language support is critical in assisting Raven’s global adoption, and growth. One of Raven’s greatest strengths is cross-border money transfers, any help making that easier is greatly appreciated. +Multiple language support is critical in assisting Bitcoin’s global adoption, and growth. One of Bitcoin’s greatest strengths is cross-border money transfers, any help making that easier is greatly appreciated. -See the [Transifex Raven project](https://www.transifex.com/projects/p/raven/) to assist in translations. You should also join the translation mailing list for announcements - see details below. +See the [Transifex Bitcoin project](https://www.transifex.com/projects/p/bitcoin/) to assist in translations. You should also join the translation mailing list for announcements - see details below. ### Writing code with translations We use automated scripts to help extract translations in both Qt, and non-Qt source files. It is rarely necessary to manually edit the files in `src/qt/locale/`. The translation source files must adhere to the following format: -`raven_xx_YY.ts or raven_xx.ts` +`bitcoin_xx_YY.ts or bitcoin_xx.ts` -`src/qt/locale/raven_en.ts` is treated in a special way. It is used as the source for all other translations. Whenever a string in the source code is changed, this file must be updated to reflect those changes. A custom script is used to extract strings from the non-Qt parts. This script makes use of `gettext`, so make sure that utility is installed (ie, `apt-get install gettext` on Ubuntu/Debian). Once this has been updated, `lupdate` (included in the Qt SDK) is used to update `raven_en.ts`. +`src/qt/locale/bitcoin_en.ts` is treated in a special way. It is used as the source for all other translations. Whenever a string in the source code is changed, this file must be updated to reflect those changes. A custom script is used to extract strings from the non-Qt parts. This script makes use of `gettext`, so make sure that utility is installed (ie, `apt-get install gettext` on Ubuntu/Debian). Once this has been updated, `lupdate` (included in the Qt SDK) is used to update `bitcoin_en.ts`. -To automatically regenerate the `raven_en.ts` file, run the following commands: +To automatically regenerate the `bitcoin_en.ts` file, run the following commands: ```sh cd src/ make translate ``` -`contrib/raven-qt.pro` takes care of generating `.qm` (binary compiled) files from `.ts` (source files) files. It’s mostly automated, and you shouldn’t need to worry about it. +`contrib/bitcoin-qt.pro` takes care of generating `.qm` (binary compiled) files from `.ts` (source files) files. It’s mostly automated, and you shouldn’t need to worry about it. **Example Qt translation** ```cpp @@ -36,14 +36,14 @@ When an updated source file is merged into the GitHub repo, Transifex will autom To create the pull-request, use the following commands: ``` -git add src/qt/ravenstrings.cpp src/qt/locale/raven_en.ts +git add src/qt/bitcoinstrings.cpp src/qt/locale/bitcoin_en.ts git commit ``` ### Creating a Transifex account Visit the [Transifex Signup](https://www.transifex.com/signup/) page to create an account. Take note of your username and password, as they will be required to configure the command-line tool. -You can find the Raven translation project at [https://www.transifex.com/projects/p/raven/](https://www.transifex.com/projects/p/raven/). +You can find the Bitcoin translation project at [https://www.transifex.com/projects/p/bitcoin/](https://www.transifex.com/projects/p/bitcoin/). ### Installing the Transifex client command-line tool The client it used to fetch updated translations. If you are having problems, or need more details, see [http://docs.transifex.com/developer/client/setup](http://docs.transifex.com/developer/client/setup) @@ -68,16 +68,16 @@ username = USERNAME Please see [http://docs.transifex.com/developer/client/setup#windows](http://docs.transifex.com/developer/client/setup#windows) for details on installation. -The Transifex Raven project config file is included as part of the repo. It can be found at `.tx/config`, however you shouldn’t need change anything. +The Transifex Bitcoin project config file is included as part of the repo. It can be found at `.tx/config`, however you shouldn’t need change anything. ### Synchronising translations To assist in updating translations, we have created a script to help. 1. `python contrib/devtools/update-translations.py` -2. Update `src/qt/raven_locale.qrc` manually or via - `ls src/qt/locale/*ts|xargs -n1 basename|sed 's/\(raven_\(.*\)\).ts/locale\/\1.qm<\/file>/'` +2. Update `src/qt/bitcoin_locale.qrc` manually or via + `ls src/qt/locale/*ts|xargs -n1 basename|sed 's/\(bitcoin_\(.*\)\).ts/locale\/\1.qm<\/file>/'` 3. Update `src/Makefile.qt.include` manually or via - `ls src/qt/locale/*ts|xargs -n1 basename|sed 's/\(raven_\(.*\)\).ts/ qt\/locale\/\1.ts \\/'` + `ls src/qt/locale/*ts|xargs -n1 basename|sed 's/\(bitcoin_\(.*\)\).ts/ qt\/locale\/\1.ts \\/'` 4. `git add` new translations from `src/qt/locale/` **Do not directly download translations** one by one from the Transifex website, as we do a few post-processing steps before committing the translations. @@ -85,7 +85,7 @@ To assist in updating translations, we have created a script to help. ### Handling Plurals (in source files) When new plurals are added to the source file, it's important to do the following steps: -1. Open `raven_en.ts` in Qt Linguist (included in the Qt SDK) +1. Open `bitcoin_en.ts` in Qt Linguist (included in the Qt SDK) 2. Search for `%n`, which will take you to the parts in the translation that use plurals 3. Look for empty `English Translation (Singular)` and `English Translation (Plural)` fields 4. Add the appropriate strings for the singular and plural form of the base string @@ -94,11 +94,11 @@ When new plurals are added to the source file, it's important to do the followin 7. Save the source file ### Translating a new language -To create a new language template, you will need to edit the languages manifest file `src/qt/raven_locale.qrc` and add a new entry. Below is an example of the English language entry. +To create a new language template, you will need to edit the languages manifest file `src/qt/bitcoin_locale.qrc` and add a new entry. Below is an example of the English language entry. ```xml - locale/raven_en.qm + locale/bitcoin_en.qm ... ``` @@ -106,6 +106,6 @@ To create a new language template, you will need to edit the languages manifest **Note:** that the language translation file **must end in `.qm`** (the compiled extension), and not `.ts`. ### Questions and general assistance -The Raven-Core translation maintainers include *tcatm, seone, Diapolo, wumpus and luke-jr*. You can find them, and others, in the Freenode IRC chatroom - `irc.freenode.net #raven-core-dev`. +The Bitcoin-Core translation maintainers include *tcatm, seone, Diapolo, wumpus and luke-jr*. You can find them, and others, in the Freenode IRC chatroom - `irc.freenode.net #bitcoin-core-dev`. -If you are a translator, you should also subscribe to the mailing list, https://groups.google.com/forum/#!forum/raven-translators. Announcements will be posted during application pre-releases to notify translators to check for updates. +If you are a translator, you should also subscribe to the mailing list, https://groups.google.com/forum/#!forum/bitcoin-translators. Announcements will be posted during application pre-releases to notify translators to check for updates. diff --git a/doc/translation_strings_policy.md b/doc/translation_strings_policy.md index 8551926d2b..71702b3124 100644 --- a/doc/translation_strings_policy.md +++ b/doc/translation_strings_policy.md @@ -1,7 +1,7 @@ Translation Strings Policy =========================== -This document provides guidelines for internationalization of the Raven Core software. +This document provides guidelines for internationalization of the BLAST Core software. How to translate? ------------------ @@ -85,10 +85,10 @@ In Qt code use tr's third argument for optional plurality. For example: This adds ``s to the respective `.ts` file, which can be translated separately depending on the language. In English, this is simply: - %n active connection(s) to Raven network + %n active connection(s) to BLAST network - %n active connection to Raven network - %n active connections to Raven network + %n active connection to BLAST network + %n active connections to BLAST network @@ -106,4 +106,4 @@ The second example reduces the number of pluralized words that translators have During a string freeze (often before a major release), no translation strings are to be added, modified or removed. -This can be checked by executing `make translate` in the `src` directory, then verifying that `raven_en.ts` remains unchanged. +This can be checked by executing `make translate` in the `src` directory, then verifying that `bitcoin_en.ts` remains unchanged. diff --git a/libravenconsensus.pc.in b/libbitcoinconsensus.pc.in similarity index 68% rename from libravenconsensus.pc.in rename to libbitcoinconsensus.pc.in index ec649d2514..de80b398ff 100644 --- a/libravenconsensus.pc.in +++ b/libbitcoinconsensus.pc.in @@ -4,8 +4,8 @@ libdir=@libdir@ includedir=@includedir@ Name: @PACKAGE_NAME@ consensus library -Description: Library for the Raven consensus protocol. +Description: Library for the BLAST consensus protocol. Version: @PACKAGE_VERSION@ -Libs: -L${libdir} -lravenconsensus +Libs: -L${libdir} -lbitcoinconsensus Cflags: -I${includedir} Requires.private: libcrypto diff --git a/roadmap/compatibility-mode/README.md b/roadmap/compatibility-mode/README.md index e905f0dc23..0d3940326f 100644 --- a/roadmap/compatibility-mode/README.md +++ b/roadmap/compatibility-mode/README.md @@ -1,30 +1,30 @@ # Compatibility Mode - Emulation ## The problem -The Ravencoin asset platform could have an uphill climb getting adoption because of its incompatibility with the existing infrastructure. Most exchanges, and crypto merchant acceptance systems are configured to handle coins (tokens) that work like Bitcoin (RPC to bitcoind) or Ethereum (IPC to geth using web3). +The BLAST asset platform could have an uphill climb getting adoption because of its incompatibility with the existing infrastructure. Most exchanges, and crypto merchant acceptance systems are configured to handle coins (tokens) that work like Bitcoin (RPC to bitcoind) or Ethereum (IPC to geth using web3). -Direct use of the RPC transfer call for moving assets has been possible from the day that assets launched on Ravencoin - November 5, 2018. But expecting each and every exchange to modify their infrastructure to handle assets with different RPC calls might slow down Ravencoin asset adoption. +Direct use of the RPC transfer call for moving assets has been possible from the day that assets launched on BLAST - November 5, 2018. But expecting each and every exchange to modify their infrastructure to handle assets with different RPC calls might slow down BLAST asset adoption. ## The solution - Compatibility Mode - Emulation -The solution is to speed up adoption is to run ravend in compatibility mode that emulates the RPC capabilities of ravend, for an asset instead of RVN. Exchanges that have already added RVN, can add asset exchange quickly an easily using emulation for every asset they'd like to add. +The solution is to speed up adoption is to run blastd in compatibility mode that emulates the RPC capabilities of blastd, for an asset instead of BLAST. Exchanges that have already added BLAST, can add asset exchange quickly an easily using emulation for every asset they'd like to add. -As an example, normally the rpc call for transferring RVN is +As an example, normally the rpc call for transferring BLAST is ```sendfrom "fromaccount" "toaddress" amount ( minconf "comment" "comment_to" )``` -Ordinarily this call to ravend (port 64639) will transfer RVN +Ordinarily this call to blastd (port 64639) will transfer BLAST -Configuring a different port for sending the TRONCO token will allow the same RPC call to transfer TRONCO instead of RVN. The advantage is that the only change needed for compatibility with a system that can already handle BTC and RVN is to use the port configured for TRONCO, or whatever asset you'd like. +Configuring a different port for sending the TRONCO token will allow the same RPC call to transfer TRONCO instead of BLAST. The advantage is that the only change needed for compatibility with a system that can already handle BTC and BLAST is to use the port configured for TRONCO, or whatever asset you'd like. ### Configuration -Every Bitcoin-type, or Ravencoin-type coin uses a different RPC port. For example, the standard RPC port for Bitcoin is 8332, and the standard RPC port for Ravencoin is 64639. +Every Bitcoin-type, or BLAST-type coin uses a different RPC port. For example, the standard RPC port for Bitcoin is 8332, and the standard RPC port for BLAST is 64639. -An exchange can configure multiple Ravencoin assets by selecting a different port for each asset. Once configured, ravend will emulate a ravend daemon with RPC calls that send the specified asset, instead of RVN. +An exchange can configure multiple BLAST assets by selecting a different port for each asset. Once configured, blastd will emulate a blastd daemon with RPC calls that send the specified asset, instead of BLAST. -Configuration is done in ```raven.conf``` +Configuration is done in ```blast.conf``` ```emulate=TRONCO:8888,FREE_HUGS:8889,MAIN/SUB:8890``` Each emulated asset must have its own port that is available on the machine. -The RPC username and password will use the same one as configured for Ravencoin. +The RPC username and password will use the same one as configured for BLAST. ### Detection of Emulation in Compatibility Mode An additional field is added to getblockchainfo for information. @@ -35,7 +35,7 @@ This will be absent if not running in compatibility mode. ### Supported RPC Calls -Most of the Ravencoin RPC calls do not interact with assets. These can be straight pass-through. Only those that deal with transfers, and balances of RVN are switched to work with the specified asset. +Most of the BLAST RPC calls do not interact with assets. These can be straight pass-through. Only those that deal with transfers, and balances of BLAST are switched to work with the specified asset. ```getbalance ( "account" minconf include_watchonly )``` ```sendfrom "fromaccount" "toaddress" amount ( minconf "comment" "comment_to" )``` ```sendmany "fromaccount" {"address":amount,...} ( minconf "comment" ["address",...] replaceable conf_target "estimate_mode")``` diff --git a/roadmap/mnemonic-seed/README.md b/roadmap/mnemonic-seed/README.md index cbac7574de..ac5009d50c 100644 --- a/roadmap/mnemonic-seed/README.md +++ b/roadmap/mnemonic-seed/README.md @@ -7,7 +7,7 @@ There have been evolutions over the last ten years and it is about as close to t A marvelous solution is to create a random seed from which all other keys can be generated. For an overview of how this works read Seeds of Freedom: (https://medium.com/@tronblack/ravencoin-seeds-of-freedom-a3a3ff0fa1) -In an effort to bring ease-of-use and interoperability between the core wallet and the mobile wallet, the Ravencoin Core wallet will default to generating a 12-word mnemonic seed. A mnemonic seed is a 128 bit random number that is run through HMAC-512 hashing algorithm to produce a master key. The main advantage of starting with a 12-word seed is the ease of backing up the wallet. +In an effort to bring ease-of-use and interoperability between the core wallet and the mobile wallet, the BLAST Core wallet will default to generating a 12-word mnemonic seed. A mnemonic seed is a 128 bit random number that is run through HMAC-512 hashing algorithm to produce a master key. The main advantage of starting with a 12-word seed is the ease of backing up the wallet. The core wallet, by default, will generate a 12-word seed and calculated master key for derivation. When using the 12-word seed, the derivation path will use the BIP44 standard. @@ -37,6 +37,6 @@ This change does not require a hard fork (upgrade), but it does require maintain Optional: In order to back up the master key and chaincode, it requires 48 words. ### Compatibility -Other wallets like Jaxx and Coinomi use a 12-word seed. For wallets that use BIP39/BIP32/BIP44 and the correct coinid of 175 for Ravencoin, the 12-words should be compatible with external wallets. +Other wallets like Jaxx and Coinomi use a 12-word seed. For wallets that use BIP39/BIP32/BIP44 and the correct coinid of 175 for BLAST, the 12-words should be compatible with external wallets. -Because the amount of RVN in the asset UTXO is 0, and because the Ravencoin transaction will be invalid if the asset outputs don't match the asset inputs, this prevents external wallets from being able to lose assets even though the external wallets are completely unaware of assets. +Because the amount of BLAST in the asset UTXO is 0, and because the BLAST transaction will be invalid if the asset outputs don't match the asset inputs, this prevents external wallets from being able to lose assets even though the external wallets are completely unaware of assets. diff --git a/share/genbuild.sh b/share/genbuild.sh index 24ada4e0a0..eb87498f1b 100755 --- a/share/genbuild.sh +++ b/share/genbuild.sh @@ -1,6 +1,7 @@ #!/bin/sh # Copyright (c) 2012-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -24,7 +25,7 @@ git_check_in_repo() { DESC="" SUFFIX="" -if [ "${RAVEN_GENBUILD_NO_GIT}" != "1" -a -e "$(which git 2>/dev/null)" -a "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ] && git_check_in_repo share/genbuild.sh; then +if [ "${BITCOIN_GENBUILD_NO_GIT}" != "1" -a -e "$(which git 2>/dev/null)" -a "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ] && git_check_in_repo share/genbuild.sh; then # clean 'dirty' status of touched files that haven't been modified git diff >/dev/null 2>/dev/null diff --git a/share/qt/extract_strings_qt.py b/share/qt/extract_strings_qt.py index 2261441663..84119edbb4 100755 --- a/share/qt/extract_strings_qt.py +++ b/share/qt/extract_strings_qt.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # Copyright (c) 2012-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. ''' @@ -13,7 +14,7 @@ import os import sys -OUT_CPP="qt/ravenstrings.cpp" +OUT_CPP="qt/bitcoinstrings.cpp" EMPTY=['""'] def parse_po(text): @@ -77,14 +78,14 @@ def parse_po(text): #define UNUSED #endif """) -f.write('static const char UNUSED *raven_strings[] = {\n') -f.write('QT_TRANSLATE_NOOP("raven-core", "%s"),\n' % (os.getenv('PACKAGE_NAME'),)) -f.write('QT_TRANSLATE_NOOP("raven-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS'),)) +f.write('static const char UNUSED *bitcoin_strings[] = {\n') +f.write('QT_TRANSLATE_NOOP("bitcoin-core", "%s"),\n' % (os.getenv('PACKAGE_NAME'),)) +f.write('QT_TRANSLATE_NOOP("bitcoin-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS'),)) if os.getenv('COPYRIGHT_HOLDERS_SUBSTITUTION') != os.getenv('PACKAGE_NAME'): - f.write('QT_TRANSLATE_NOOP("raven-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS_SUBSTITUTION'),)) + f.write('QT_TRANSLATE_NOOP("bitcoin-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS_SUBSTITUTION'),)) messages.sort(key=operator.itemgetter(0)) for (msgid, msgstr) in messages: if msgid != EMPTY: - f.write('QT_TRANSLATE_NOOP("raven-core", %s),\n' % ('\n'.join(msgid))) + f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid))) f.write('};\n') f.close() diff --git a/share/setup.nsi.in b/share/setup.nsi.in index 2b980c626b..6f2b6e8dd2 100644 --- a/share/setup.nsi.in +++ b/share/setup.nsi.in @@ -10,7 +10,7 @@ SetCompressor /SOLID lzma !define URL @PACKAGE_URL@ # MUI Symbol Definitions -!define MUI_ICON "@abs_top_srcdir@/share/pixmaps/raven.ico" +!define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico" !define MUI_WELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp" !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_RIGHT @@ -20,7 +20,7 @@ SetCompressor /SOLID lzma !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup !define MUI_STARTMENUPAGE_DEFAULTFOLDER "@PACKAGE_NAME@" -!define MUI_FINISHPAGE_RUN $INSTDIR\@RAVEN_GUI_NAME@@EXEEXT@ +!define MUI_FINISHPAGE_RUN $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@ !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" !define MUI_UNWELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp" !define MUI_UNFINISHPAGE_NOAUTOCLOSE @@ -50,9 +50,9 @@ Var StartMenuGroup # Installer attributes OutFile @abs_top_srcdir@/@PACKAGE_TARNAME@-${VERSION}-win@WINDOWS_BITS@-setup.exe !if "@WINDOWS_BITS@" == "64" -InstallDir $PROGRAMFILES64\Raven +InstallDir $PROGRAMFILES64\BLAST !else -InstallDir $PROGRAMFILES\Raven +InstallDir $PROGRAMFILES\BLAST !endif CRCCheck on XPStyle on @@ -73,12 +73,12 @@ ShowUninstDetails show Section -Main SEC0000 SetOutPath $INSTDIR SetOverwrite on - File @abs_top_srcdir@/release/@RAVEN_GUI_NAME@@EXEEXT@ + File @abs_top_srcdir@/release/@BITCOIN_GUI_NAME@@EXEEXT@ File /oname=COPYING.txt @abs_top_srcdir@/COPYING File /oname=readme.txt @abs_top_srcdir@/doc/README_windows.txt SetOutPath $INSTDIR\daemon - File @abs_top_srcdir@/release/@RAVEN_DAEMON_NAME@@EXEEXT@ - File @abs_top_srcdir@/release/@RAVEN_CLI_NAME@@EXEEXT@ + File @abs_top_srcdir@/release/@BITCOIN_DAEMON_NAME@@EXEEXT@ + File @abs_top_srcdir@/release/@BITCOIN_CLI_NAME@@EXEEXT@ SetOutPath $INSTDIR\doc File /r @abs_top_srcdir@/doc\*.* SetOutPath $INSTDIR @@ -91,8 +91,8 @@ Section -post SEC0001 WriteUninstaller $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory $SMPROGRAMS\$StartMenuGroup - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\@RAVEN_GUI_NAME@@EXEEXT@ - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk" "$INSTDIR\@RAVEN_GUI_NAME@@EXEEXT@" "-testnet" "$INSTDIR\@RAVEN_GUI_NAME@@EXEEXT@" 1 + CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@ + CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 1 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_END WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" @@ -104,9 +104,9 @@ Section -post SEC0001 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 WriteRegStr HKCR "@PACKAGE_TARNAME@" "URL Protocol" "" - WriteRegStr HKCR "@PACKAGE_TARNAME@" "" "URL:Raven" - WriteRegStr HKCR "@PACKAGE_TARNAME@\DefaultIcon" "" $INSTDIR\@RAVEN_GUI_NAME@@EXEEXT@ - WriteRegStr HKCR "@PACKAGE_TARNAME@\shell\open\command" "" '"$INSTDIR\@RAVEN_GUI_NAME@@EXEEXT@" "%1"' + WriteRegStr HKCR "@PACKAGE_TARNAME@" "" "URL:BLAST" + WriteRegStr HKCR "@PACKAGE_TARNAME@\DefaultIcon" "" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@ + WriteRegStr HKCR "@PACKAGE_TARNAME@\shell\open\command" "" '"$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "%1"' SectionEnd # Macro for selecting uninstaller sections @@ -124,7 +124,7 @@ done${UNSECTION_ID}: # Uninstaller sections Section /o -un.Main UNSEC0000 - Delete /REBOOTOK $INSTDIR\@RAVEN_GUI_NAME@@EXEEXT@ + Delete /REBOOTOK $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@ Delete /REBOOTOK $INSTDIR\COPYING.txt Delete /REBOOTOK $INSTDIR\readme.txt RMDir /r /REBOOTOK $INSTDIR\daemon @@ -137,7 +137,7 @@ Section -un.post UNSEC0001 Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk" - Delete /REBOOTOK "$SMSTARTUP\Raven.lnk" + Delete /REBOOTOK "$SMSTARTUP\BLAST.lnk" Delete /REBOOTOK $INSTDIR\uninstall.exe Delete /REBOOTOK $INSTDIR\debug.log Delete /REBOOTOK $INSTDIR\db.log diff --git a/src/Makefile.am b/src/Makefile.am index 270361d2c8..161bf0012c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -19,28 +19,28 @@ else LIBUNIVALUE = $(UNIVALUE_LIBS) endif -RAVEN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS) - -RAVEN_INCLUDES += -I$(srcdir)/secp256k1/include -RAVEN_INCLUDES += $(UNIVALUE_CFLAGS) - -LIBRAVEN_SERVER=libraven_server.a -LIBRAVEN_COMMON=libraven_common.a -LIBRAVEN_CONSENSUS=libraven_consensus.a -LIBRAVEN_CLI=libraven_cli.a -LIBRAVEN_UTIL=libraven_util.a -LIBRAVEN_CRYPTO=crypto/libraven_crypto.a -LIBRAVENQT=qt/libravenqt.a +BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS) + +BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include +BITCOIN_INCLUDES += $(UNIVALUE_CFLAGS) + +LIBBITCOIN_SERVER=libbitcoin_server.a +LIBBITCOIN_COMMON=libbitcoin_common.a +LIBBITCOIN_CONSENSUS=libbitcoin_consensus.a +LIBBITCOIN_CLI=libbitcoin_cli.a +LIBBITCOIN_UTIL=libbitcoin_util.a +LIBBITCOIN_CRYPTO=crypto/libbitcoin_crypto.a +LIBBITCOINQT=qt/libbitcoinqt.a LIBSECP256K1=secp256k1/libsecp256k1.la if ENABLE_ZMQ -LIBRAVEN_ZMQ=libraven_zmq.a +LIBBITCOIN_ZMQ=libbitcoin_zmq.a endif -if BUILD_RAVEN_LIBS -LIBRAVENCONSENSUS=libravenconsensus.la +if BUILD_BITCOIN_LIBS +LIBBITCOINCONSENSUS=libbitcoinconsensus.la endif if ENABLE_WALLET -LIBRAVEN_WALLET=libraven_wallet.a +LIBBITCOIN_WALLET=libbitcoin_wallet.a endif $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) @@ -49,37 +49,37 @@ $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) # Make is not made aware of per-object dependencies to avoid limiting building parallelization # But to build the less dependent modules first, we manually select their order here: EXTRA_LIBRARIES += \ - $(LIBRAVEN_CRYPTO) \ - $(LIBRAVEN_UTIL) \ - $(LIBRAVEN_COMMON) \ - $(LIBRAVEN_CONSENSUS) \ - $(LIBRAVEN_SERVER) \ - $(LIBRAVEN_CLI) \ - $(LIBRAVEN_WALLET) \ - $(LIBRAVEN_ZMQ) + $(LIBBITCOIN_CRYPTO) \ + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_CONSENSUS) \ + $(LIBBITCOIN_SERVER) \ + $(LIBBITCOIN_CLI) \ + $(LIBBITCOIN_WALLET) \ + $(LIBBITCOIN_ZMQ) -lib_LTLIBRARIES = $(LIBRAVENCONSENSUS) +lib_LTLIBRARIES = $(LIBBITCOINCONSENSUS) bin_PROGRAMS = noinst_PROGRAMS = TESTS = BENCHMARKS = -if BUILD_RAVEND - bin_PROGRAMS += ravend +if BUILD_BITCOIND + bin_PROGRAMS += blastd endif -if BUILD_RAVEN_CLI - bin_PROGRAMS += raven-cli +if BUILD_BITCOIN_CLI + bin_PROGRAMS += blast-cli endif -if BUILD_RAVEN_TX - bin_PROGRAMS += raven-tx +if BUILD_BITCOIN_TX + bin_PROGRAMS += blast-tx endif .PHONY: FORCE check-symbols check-security -# raven core # -RAVEN_CORE_H = \ +# blast core # +BITCOIN_CORE_H = \ addrdb.h \ addressindex.h \ spentindex.h \ @@ -193,12 +193,12 @@ obj/build.h: FORCE @$(MKDIR_P) $(builddir)/obj @$(top_srcdir)/share/genbuild.sh "$(abs_top_builddir)/src/obj/build.h" \ "$(abs_top_srcdir)" -libraven_util_a-clientversion.$(OBJEXT): obj/build.h +libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h -# server: shared between ravend and raven-qt -libraven_server_a_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) $(MINIUPNPC_CPPFLAGS) $(EVENT_CFLAGS) $(EVENT_PTHREADS_CFLAGS) -libraven_server_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -libraven_server_a_SOURCES = \ +# server: shared between blastd and blast-qt +libbitcoin_server_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) $(EVENT_CFLAGS) $(EVENT_PTHREADS_CFLAGS) +libbitcoin_server_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_server_a_SOURCES = \ addrdb.cpp \ addrman.cpp \ auxpow/auxpow.cpp \ @@ -243,23 +243,23 @@ libraven_server_a_SOURCES = \ validation.cpp \ validationinterface.cpp \ versionbits.cpp \ - $(RAVEN_CORE_H) + $(BITCOIN_CORE_H) if ENABLE_ZMQ -libraven_zmq_a_CPPFLAGS = $(RAVEN_INCLUDES) $(ZMQ_CFLAGS) -libraven_zmq_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -libraven_zmq_a_SOURCES = \ +libbitcoin_zmq_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(ZMQ_CFLAGS) +libbitcoin_zmq_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_zmq_a_SOURCES = \ zmq/zmqabstractnotifier.cpp \ zmq/zmqnotificationinterface.cpp \ zmq/zmqpublishnotifier.cpp endif -# wallet: shared between ravend and raven-qt, but only linked +# wallet: shared between blastd and blast-qt, but only linked # when wallet enabled -libraven_wallet_a_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -libraven_wallet_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -libraven_wallet_a_SOURCES = \ +libbitcoin_wallet_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_wallet_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_wallet_a_SOURCES = \ wallet/crypter.cpp \ wallet/db.cpp \ wallet/feebumper.cpp \ @@ -269,12 +269,12 @@ libraven_wallet_a_SOURCES = \ wallet/rpcwallet.cpp \ wallet/wallet.cpp \ wallet/walletdb.cpp \ - $(RAVEN_CORE_H) + $(BITCOIN_CORE_H) # crypto primitives library -crypto_libraven_crypto_a_CPPFLAGS = $(AM_CPPFLAGS) -crypto_libraven_crypto_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -crypto_libraven_crypto_a_SOURCES = \ +crypto_libbitcoin_crypto_a_CPPFLAGS = $(AM_CPPFLAGS) +crypto_libbitcoin_crypto_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +crypto_libbitcoin_crypto_a_SOURCES = \ crypto/aes.cpp \ crypto/aes.h \ crypto/chacha20.h \ @@ -331,13 +331,13 @@ crypto_libraven_crypto_a_SOURCES = \ crypto/sha512.h if USE_ASM -crypto_libraven_crypto_a_SOURCES += crypto/sha256_sse4.cpp +crypto_libbitcoin_crypto_a_SOURCES += crypto/sha256_sse4.cpp endif # consensus: shared between all executables that validate any consensus rules. -libraven_consensus_a_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -libraven_consensus_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -libraven_consensus_a_SOURCES = \ +libbitcoin_consensus_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_consensus_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_consensus_a_SOURCES = \ amount.h \ arith_uint256.cpp \ arith_uint256.h \ @@ -356,7 +356,7 @@ libraven_consensus_a_SOURCES = \ primitives/transaction.h \ pubkey.cpp \ pubkey.h \ - script/ravenconsensus.cpp \ + script/bitcoinconsensus.cpp \ script/interpreter.cpp \ script/interpreter.h \ script/script.cpp \ @@ -373,10 +373,10 @@ libraven_consensus_a_SOURCES = \ utilstrencodings.h \ version.h -# common: shared between ravend, and raven-qt and non-server tools -libraven_common_a_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -libraven_common_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -libraven_common_a_SOURCES = \ +# common: shared between blastd, and blast-qt and non-server tools +libbitcoin_common_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_common_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_common_a_SOURCES = \ base58.cpp \ chainparams.cpp \ coins.cpp \ @@ -393,14 +393,14 @@ libraven_common_a_SOURCES = \ script/sign.cpp \ script/standard.cpp \ warnings.cpp \ - $(RAVEN_CORE_H) + $(BITCOIN_CORE_H) # util: shared between all executables. # This library *must* be included to make sure that the glibc # backward-compatibility objects and their sanity checks are linked. -libraven_util_a_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -libraven_util_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -libraven_util_a_SOURCES = \ +libbitcoin_util_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_util_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_util_a_SOURCES = \ support/lockedpool.cpp \ chainparamsbase.cpp \ clientversion.cpp \ @@ -417,102 +417,102 @@ libraven_util_a_SOURCES = \ utilmoneystr.cpp \ utilstrencodings.cpp \ utiltime.cpp \ - $(RAVEN_CORE_H) + $(BITCOIN_CORE_H) if GLIBC_BACK_COMPAT -libraven_util_a_SOURCES += compat/glibc_compat.cpp +libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp AM_LDFLAGS += $(COMPAT_LDFLAGS) endif -# cli: shared between raven-cli and raven-qt -libraven_cli_a_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -libraven_cli_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -libraven_cli_a_SOURCES = \ +# cli: shared between blast-cli and blast-qt +libbitcoin_cli_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_cli_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoin_cli_a_SOURCES = \ rpc/client.cpp \ - $(RAVEN_CORE_H) + $(BITCOIN_CORE_H) -nodist_libraven_util_a_SOURCES = $(srcdir)/obj/build.h +nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h # -# ravend binary # -ravend_SOURCES = ravend.cpp -ravend_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -ravend_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -ravend_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +# blastd binary # +blastd_SOURCES = bitcoind.cpp +blastd_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +blastd_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +blastd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if TARGET_WINDOWS -ravend_SOURCES += ravend-res.rc +blastd_SOURCES += bitcoind-res.rc endif -ravend_LDADD = \ - $(LIBRAVEN_SERVER) \ - $(LIBRAVEN_COMMON) \ +blastd_LDADD = \ + $(LIBBITCOIN_SERVER) \ + $(LIBBITCOIN_COMMON) \ $(LIBUNIVALUE) \ - $(LIBRAVEN_UTIL) \ - $(LIBRAVEN_WALLET) \ - $(LIBRAVEN_ZMQ) \ - $(LIBRAVEN_CONSENSUS) \ - $(LIBRAVEN_CRYPTO) \ + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_WALLET) \ + $(LIBBITCOIN_ZMQ) \ + $(LIBBITCOIN_CONSENSUS) \ + $(LIBBITCOIN_CRYPTO) \ $(LIBLEVELDB) \ $(LIBLEVELDB_SSE42) \ $(LIBMEMENV) \ $(LIBSECP256K1) -ravend_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(ZMQ_LIBS) +blastd_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(ZMQ_LIBS) -# raven-cli binary # -raven_cli_SOURCES = raven-cli.cpp -raven_cli_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) $(EVENT_CFLAGS) -raven_cli_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -raven_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +# blast-cli binary # +blast_cli_SOURCES = bitcoin-cli.cpp +blast_cli_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS) +blast_cli_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +blast_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if TARGET_WINDOWS -raven_cli_SOURCES += raven-cli-res.rc +blast_cli_SOURCES += bitcoin-cli-res.rc endif -raven_cli_LDADD = \ - $(LIBRAVEN_CLI) \ +blast_cli_LDADD = \ + $(LIBBITCOIN_CLI) \ $(LIBUNIVALUE) \ - $(LIBRAVEN_UTIL) \ - $(LIBRAVEN_CRYPTO) + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) -raven_cli_LDADD += $(BOOST_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(EVENT_LIBS) +blast_cli_LDADD += $(BOOST_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(EVENT_LIBS) # -# raven-tx binary # -raven_tx_SOURCES = raven-tx.cpp -raven_tx_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -raven_tx_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -raven_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +# blast-tx binary # +blast_tx_SOURCES = bitcoin-tx.cpp +blast_tx_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +blast_tx_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +blast_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if TARGET_WINDOWS -raven_tx_SOURCES += raven-tx-res.rc +blast_tx_SOURCES += bitcoin-tx-res.rc endif -raven_tx_LDADD = \ +blast_tx_LDADD = \ $(LIBUNIVALUE) \ - $(LIBRAVEN_COMMON) \ - $(LIBRAVEN_UTIL) \ - $(LIBRAVEN_CONSENSUS) \ - $(LIBRAVEN_CRYPTO) \ + $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CONSENSUS) \ + $(LIBBITCOIN_CRYPTO) \ $(LIBSECP256K1) -raven_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) +blast_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) # -# ravenconsensus library # -if BUILD_RAVEN_LIBS -include_HEADERS = script/ravenconsensus.h -libravenconsensus_la_SOURCES = $(crypto_libraven_crypto_a_SOURCES) $(libraven_consensus_a_SOURCES) +# bitcoinconsensus library # +if BUILD_BITCOIN_LIBS +include_HEADERS = script/bitcoinconsensus.h +libbitcoinconsensus_la_SOURCES = $(crypto_libbitcoin_crypto_a_SOURCES) $(libbitcoin_consensus_a_SOURCES) if GLIBC_BACK_COMPAT - libravenconsensus_la_SOURCES += compat/glibc_compat.cpp + libbitcoinconsensus_la_SOURCES += compat/glibc_compat.cpp endif -libravenconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS) -libravenconsensus_la_LIBADD = $(LIBSECP256K1) -libravenconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_RAVEN_INTERNAL -libravenconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS) +libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1) +libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL +libbitcoinconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) endif # @@ -542,12 +542,12 @@ CLEANFILES += obj/build.h EXTRA_DIST = $(CTAES_DIST) -config/raven-config.h: config/stamp-h1 +config/bitcoin-config.h: config/stamp-h1 @$(MAKE) -C $(top_builddir) $(subdir)/$(@) -config/stamp-h1: $(top_srcdir)/$(subdir)/config/raven-config.h.in $(top_builddir)/config.status +config/stamp-h1: $(top_srcdir)/$(subdir)/config/bitcoin-config.h.in $(top_builddir)/config.status $(AM_V_at)$(MAKE) -C $(top_builddir) $(subdir)/$(@) -$(top_srcdir)/$(subdir)/config/raven-config.h.in: $(am__configure_deps) - $(AM_V_at)$(MAKE) -C $(top_srcdir) $(subdir)/config/raven-config.h.in +$(top_srcdir)/$(subdir)/config/bitcoin-config.h.in: $(am__configure_deps) + $(AM_V_at)$(MAKE) -C $(top_srcdir) $(subdir)/config/bitcoin-config.h.in clean-local: -$(MAKE) -C secp256k1 clean diff --git a/src/Makefile.bench.include b/src/Makefile.bench.include index 84a36f3180..3c53ff2862 100644 --- a/src/Makefile.bench.include +++ b/src/Makefile.bench.include @@ -1,19 +1,19 @@ # Copyright (c) 2015-2016 The Bitcoin Core developers -# Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -bin_PROGRAMS += bench/bench_raven +bin_PROGRAMS += bench/bench_blast BENCH_SRCDIR = bench -BENCH_BINARY = bench/bench_raven$(EXEEXT) +BENCH_BINARY = bench/bench_blast$(EXEEXT) RAW_BENCH_FILES = \ bench/data/block413567.raw GENERATED_BENCH_FILES = $(RAW_BENCH_FILES:.raw=.raw.h) -bench_bench_raven_SOURCES = \ +bench_bench_blast_SOURCES = \ $(RAW_BENCH_FILES) \ - bench/bench_raven.cpp \ + bench/bench_bitcoin.cpp \ bench/bench.cpp \ bench/bench.h \ bench/checkblock.cpp \ @@ -30,16 +30,16 @@ bench_bench_raven_SOURCES = \ bench/perf.h \ bench/prevector_destructor.cpp -nodist_bench_bench_raven_SOURCES = $(GENERATED_BENCH_FILES) +nodist_bench_bench_blast_SOURCES = $(GENERATED_BENCH_FILES) -bench_bench_raven_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/ -bench_bench_raven_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -bench_bench_raven_LDADD = \ - $(LIBRAVEN_SERVER) \ - $(LIBRAVEN_COMMON) \ - $(LIBRAVEN_UTIL) \ - $(LIBRAVEN_CONSENSUS) \ - $(LIBRAVEN_CRYPTO) \ +bench_bench_blast_CPPFLAGS = $(AM_CPPFLAGS) $(BLAST_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/ +bench_bench_blast_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +bench_bench_blast_LDADD = \ + $(LIBBITCOIN_SERVER) \ + $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CONSENSUS) \ + $(LIBBITCOIN_CRYPTO) \ $(LIBLEVELDB) \ $(LIBLEVELDB_SSE42) \ $(LIBMEMENV) \ @@ -47,30 +47,30 @@ bench_bench_raven_LDADD = \ $(LIBUNIVALUE) if ENABLE_ZMQ -bench_bench_raven_LDADD += $(LIBRAVEN_ZMQ) $(ZMQ_LIBS) +bench_bench_blast_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) endif if ENABLE_WALLET -bench_bench_raven_SOURCES += bench/coin_selection.cpp -bench_bench_raven_LDADD += $(LIBRAVEN_WALLET) $(LIBRAVEN_CRYPTO) +bench_bench_blast_SOURCES += bench/coin_selection.cpp +bench_bench_blast_LDADD += $(LIBBITCOIN_WALLET) $(LIBBITCOIN_CRYPTO) endif -bench_bench_raven_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) -bench_bench_raven_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +bench_bench_blast_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) +bench_bench_blast_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -CLEAN_RAVEN_BENCH = bench/*.gcda bench/*.gcno $(GENERATED_BENCH_FILES) +CLEAN_BLAST_BENCH = bench/*.gcda bench/*.gcno $(GENERATED_BENCH_FILES) -CLEANFILES += $(CLEAN_RAVEN_BENCH) +CLEANFILES += $(CLEAN_BLAST_BENCH) bench/checkblock.cpp: bench/data/block413567.raw.h -raven_bench: $(BENCH_BINARY) +blast_bench: $(BENCH_BINARY) bench: $(BENCH_BINARY) FORCE $(BENCH_BINARY) -raven_bench_clean : FORCE - rm -f $(CLEAN_RAVEN_BENCH) $(bench_bench_raven_OBJECTS) $(BENCH_BINARY) +blast_bench_clean : FORCE + rm -f $(CLEAN_BLAST_BENCH) $(bench_bench_blast_OBJECTS) $(BENCH_BINARY) %.raw.h: %.raw @$(MKDIR_P) $(@D) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 63fa75d228..7075585aad 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -1,99 +1,100 @@ # Copyright (c) 2013-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -bin_PROGRAMS += qt/raven-qt -EXTRA_LIBRARIES += qt/libravenqt.a +bin_PROGRAMS += qt/blast-qt +EXTRA_LIBRARIES += qt/libbitcoinqt.a -# raven qt core # +# bitcoin qt core # QT_TS = \ - qt/locale/raven_af.ts \ - qt/locale/raven_af_ZA.ts \ - qt/locale/raven_ar.ts \ - qt/locale/raven_be_BY.ts \ - qt/locale/raven_bg_BG.ts \ - qt/locale/raven_bg.ts \ - qt/locale/raven_ca_ES.ts \ - qt/locale/raven_ca.ts \ - qt/locale/raven_ca@valencia.ts \ - qt/locale/raven_cs.ts \ - qt/locale/raven_cy.ts \ - qt/locale/raven_da.ts \ - qt/locale/raven_de.ts \ - qt/locale/raven_el_GR.ts \ - qt/locale/raven_el.ts \ - qt/locale/raven_en_GB.ts \ - qt/locale/raven_en.ts \ - qt/locale/raven_eo.ts \ - qt/locale/raven_es_AR.ts \ - qt/locale/raven_es_CL.ts \ - qt/locale/raven_es_CO.ts \ - qt/locale/raven_es_DO.ts \ - qt/locale/raven_es_ES.ts \ - qt/locale/raven_es_MX.ts \ - qt/locale/raven_es.ts \ - qt/locale/raven_es_UY.ts \ - qt/locale/raven_es_VE.ts \ - qt/locale/raven_et_EE.ts \ - qt/locale/raven_et.ts \ - qt/locale/raven_eu_ES.ts \ - qt/locale/raven_fa_IR.ts \ - qt/locale/raven_fa.ts \ - qt/locale/raven_fi.ts \ - qt/locale/raven_fr_CA.ts \ - qt/locale/raven_fr_FR.ts \ - qt/locale/raven_fr.ts \ - qt/locale/raven_gl.ts \ - qt/locale/raven_he.ts \ - qt/locale/raven_hi_IN.ts \ - qt/locale/raven_hr.ts \ - qt/locale/raven_hu.ts \ - qt/locale/raven_id_ID.ts \ - qt/locale/raven_it_IT.ts \ - qt/locale/raven_it.ts \ - qt/locale/raven_ja.ts \ - qt/locale/raven_ka.ts \ - qt/locale/raven_kk_KZ.ts \ - qt/locale/raven_ko_KR.ts \ - qt/locale/raven_ku_IQ.ts \ - qt/locale/raven_ky.ts \ - qt/locale/raven_la.ts \ - qt/locale/raven_lt.ts \ - qt/locale/raven_lv_LV.ts \ - qt/locale/raven_mk_MK.ts \ - qt/locale/raven_mn.ts \ - qt/locale/raven_ms_MY.ts \ - qt/locale/raven_nb.ts \ - qt/locale/raven_ne.ts \ - qt/locale/raven_nl.ts \ - qt/locale/raven_pam.ts \ - qt/locale/raven_pl.ts \ - qt/locale/raven_pt_BR.ts \ - qt/locale/raven_pt_PT.ts \ - qt/locale/raven_ro_RO.ts \ - qt/locale/raven_ro.ts \ - qt/locale/raven_ru_RU.ts \ - qt/locale/raven_ru.ts \ - qt/locale/raven_sk.ts \ - qt/locale/raven_sl_SI.ts \ - qt/locale/raven_sq.ts \ - qt/locale/raven_sr@latin.ts \ - qt/locale/raven_sr.ts \ - qt/locale/raven_sv.ts \ - qt/locale/raven_ta.ts \ - qt/locale/raven_th_TH.ts \ - qt/locale/raven_tr_TR.ts \ - qt/locale/raven_tr.ts \ - qt/locale/raven_uk.ts \ - qt/locale/raven_ur_PK.ts \ - qt/locale/raven_uz@Cyrl.ts \ - qt/locale/raven_vi.ts \ - qt/locale/raven_vi_VN.ts \ - qt/locale/raven_zh_CN.ts \ - qt/locale/raven_zh_HK.ts \ - qt/locale/raven_zh.ts \ - qt/locale/raven_zh_TW.ts + qt/locale/bitcoin_af.ts \ + qt/locale/bitcoin_af_ZA.ts \ + qt/locale/bitcoin_ar.ts \ + qt/locale/bitcoin_be_BY.ts \ + qt/locale/bitcoin_bg_BG.ts \ + qt/locale/bitcoin_bg.ts \ + qt/locale/bitcoin_ca_ES.ts \ + qt/locale/bitcoin_ca.ts \ + qt/locale/bitcoin_ca@valencia.ts \ + qt/locale/bitcoin_cs.ts \ + qt/locale/bitcoin_cy.ts \ + qt/locale/bitcoin_da.ts \ + qt/locale/bitcoin_de.ts \ + qt/locale/bitcoin_el_GR.ts \ + qt/locale/bitcoin_el.ts \ + qt/locale/bitcoin_en_GB.ts \ + qt/locale/bitcoin_en.ts \ + qt/locale/bitcoin_eo.ts \ + qt/locale/bitcoin_es_AR.ts \ + qt/locale/bitcoin_es_CL.ts \ + qt/locale/bitcoin_es_CO.ts \ + qt/locale/bitcoin_es_DO.ts \ + qt/locale/bitcoin_es_ES.ts \ + qt/locale/bitcoin_es_MX.ts \ + qt/locale/bitcoin_es.ts \ + qt/locale/bitcoin_es_UY.ts \ + qt/locale/bitcoin_es_VE.ts \ + qt/locale/bitcoin_et_EE.ts \ + qt/locale/bitcoin_et.ts \ + qt/locale/bitcoin_eu_ES.ts \ + qt/locale/bitcoin_fa_IR.ts \ + qt/locale/bitcoin_fa.ts \ + qt/locale/bitcoin_fi.ts \ + qt/locale/bitcoin_fr_CA.ts \ + qt/locale/bitcoin_fr_FR.ts \ + qt/locale/bitcoin_fr.ts \ + qt/locale/bitcoin_gl.ts \ + qt/locale/bitcoin_he.ts \ + qt/locale/bitcoin_hi_IN.ts \ + qt/locale/bitcoin_hr.ts \ + qt/locale/bitcoin_hu.ts \ + qt/locale/bitcoin_id_ID.ts \ + qt/locale/bitcoin_it_IT.ts \ + qt/locale/bitcoin_it.ts \ + qt/locale/bitcoin_ja.ts \ + qt/locale/bitcoin_ka.ts \ + qt/locale/bitcoin_kk_KZ.ts \ + qt/locale/bitcoin_ko_KR.ts \ + qt/locale/bitcoin_ku_IQ.ts \ + qt/locale/bitcoin_ky.ts \ + qt/locale/bitcoin_la.ts \ + qt/locale/bitcoin_lt.ts \ + qt/locale/bitcoin_lv_LV.ts \ + qt/locale/bitcoin_mk_MK.ts \ + qt/locale/bitcoin_mn.ts \ + qt/locale/bitcoin_ms_MY.ts \ + qt/locale/bitcoin_nb.ts \ + qt/locale/bitcoin_ne.ts \ + qt/locale/bitcoin_nl.ts \ + qt/locale/bitcoin_pam.ts \ + qt/locale/bitcoin_pl.ts \ + qt/locale/bitcoin_pt_BR.ts \ + qt/locale/bitcoin_pt_PT.ts \ + qt/locale/bitcoin_ro_RO.ts \ + qt/locale/bitcoin_ro.ts \ + qt/locale/bitcoin_ru_RU.ts \ + qt/locale/bitcoin_ru.ts \ + qt/locale/bitcoin_sk.ts \ + qt/locale/bitcoin_sl_SI.ts \ + qt/locale/bitcoin_sq.ts \ + qt/locale/bitcoin_sr@latin.ts \ + qt/locale/bitcoin_sr.ts \ + qt/locale/bitcoin_sv.ts \ + qt/locale/bitcoin_ta.ts \ + qt/locale/bitcoin_th_TH.ts \ + qt/locale/bitcoin_tr_TR.ts \ + qt/locale/bitcoin_tr.ts \ + qt/locale/bitcoin_uk.ts \ + qt/locale/bitcoin_ur_PK.ts \ + qt/locale/bitcoin_uz@Cyrl.ts \ + qt/locale/bitcoin_vi.ts \ + qt/locale/bitcoin_vi_VN.ts \ + qt/locale/bitcoin_zh_CN.ts \ + qt/locale/bitcoin_zh_HK.ts \ + qt/locale/bitcoin_zh.ts \ + qt/locale/bitcoin_zh_TW.ts QT_FORMS_UI = \ qt/forms/addressbookpage.ui \ @@ -127,10 +128,10 @@ QT_MOC_CPP = \ qt/moc_assetcontroltreewidget.cpp \ qt/moc_assetfilterproxy.cpp \ qt/moc_bantablemodel.cpp \ - qt/moc_ravenaddressvalidator.cpp \ - qt/moc_ravenamountfield.cpp \ - qt/moc_ravengui.cpp \ - qt/moc_ravenunits.cpp \ + qt/moc_bitcoinaddressvalidator.cpp \ + qt/moc_bitcoinamountfield.cpp \ + qt/moc_bitcoingui.cpp \ + qt/moc_bitcoinunits.cpp \ qt/moc_callback.cpp \ qt/moc_clientmodel.cpp \ qt/moc_coincontroldialog.cpp \ @@ -176,28 +177,28 @@ QT_MOC_CPP = \ qt/moc_reissueassetdialog.cpp \ qt/moc_sendassetsentry.cpp -RAVEN_MM = \ +BITCOIN_MM = \ qt/macdockiconhandler.mm \ qt/macnotificationhandler.mm QT_MOC = \ - qt/raven.moc \ - qt/ravenamountfield.moc \ + qt/bitcoin.moc \ + qt/bitcoinamountfield.moc \ qt/callback.moc \ qt/intro.moc \ qt/overviewpage.moc \ qt/rpcconsole.moc -QT_QRC_CPP = qt/qrc_raven.cpp -QT_QRC = qt/raven.qrc -QT_QRC_LOCALE_CPP = qt/qrc_raven_locale.cpp -QT_QRC_LOCALE = qt/raven_locale.qrc +QT_QRC_CPP = qt/qrc_bitcoin.cpp +QT_QRC = qt/bitcoin.qrc +QT_QRC_LOCALE_CPP = qt/qrc_bitcoin_locale.cpp +QT_QRC_LOCALE = qt/bitcoin_locale.qrc PROTOBUF_CC = qt/paymentrequest.pb.cc PROTOBUF_H = qt/paymentrequest.pb.h PROTOBUF_PROTO = qt/paymentrequest.proto -RAVEN_QT_H = \ +BITCOIN_QT_H = \ qt/addressbookpage.h \ qt/addresstablemodel.h \ qt/askpassphrasedialog.h \ @@ -208,10 +209,10 @@ RAVEN_QT_H = \ qt/assetsdialog.h \ qt/createassetdialog.h \ qt/bantablemodel.h \ - qt/ravenaddressvalidator.h \ - qt/ravenamountfield.h \ - qt/ravengui.h \ - qt/ravenunits.h \ + qt/bitcoinaddressvalidator.h \ + qt/bitcoinamountfield.h \ + qt/bitcoingui.h \ + qt/bitcoinunits.h \ qt/callback.h \ qt/clientmodel.h \ qt/coincontroldialog.h \ @@ -275,10 +276,10 @@ RES_ICONS = \ qt/res/icons/asset_manage_selected.png \ qt/res/icons/asset_transfer.png \ qt/res/icons/asset_transfer_selected.png \ - qt/res/icons/ravencointext.png \ - qt/res/icons/raven.ico \ - qt/res/icons/raven_testnet.ico \ - qt/res/icons/raven.png \ + qt/res/icons/blasttext.png \ + qt/res/icons/bitcoin.ico \ + qt/res/icons/bitcoin_testnet.ico \ + qt/res/icons/bitcoin.png \ qt/res/icons/chevron.png \ qt/res/icons/clock1.png \ qt/res/icons/clock2.png \ @@ -366,15 +367,24 @@ RES_ICONS = \ qt/res/fonts/OpenSans-LightItalic.ttf \ qt/res/fonts/OpenSans-Regular.ttf \ qt/res/fonts/OpenSans-SemiBold.ttf \ - qt/res/fonts/OpenSans-SemiBoldItalic.ttf - - -RAVEN_QT_BASE_CPP = \ + qt/res/fonts/OpenSans-SemiBoldItalic.ttf \ + qt/res/fonts/Exo2-Bold.otf \ + qt/res/fonts/Exo2-BoldItalic.otf \ + qt/res/fonts/Exo2-ExtraBold.otf \ + qt/res/fonts/Exo2-ExtraBoldItalic.otf \ + qt/res/fonts/Exo2-Italic.otf \ + qt/res/fonts/Exo2-Light.otf \ + qt/res/fonts/Exo2-LightItalic.otf \ + qt/res/fonts/Exo2-Regular.otf \ + qt/res/fonts/Exo2-SemiBold.otf \ + qt/res/fonts/Exo2-SemiBoldItalic.otf + +BITCOIN_QT_BASE_CPP = \ qt/bantablemodel.cpp \ - qt/ravenaddressvalidator.cpp \ - qt/ravenamountfield.cpp \ - qt/ravengui.cpp \ - qt/ravenunits.cpp \ + qt/bitcoinaddressvalidator.cpp \ + qt/bitcoinamountfield.cpp \ + qt/bitcoingui.cpp \ + qt/bitcoinunits.cpp \ qt/clientmodel.cpp \ qt/csvmodelwriter.cpp \ qt/darkstyle.cpp \ @@ -395,9 +405,9 @@ RAVEN_QT_BASE_CPP = \ qt/trafficgraphwidget.cpp \ qt/utilitydialog.cpp -RAVEN_QT_WINDOWS_CPP = qt/winshutdownmonitor.cpp +BITCOIN_QT_WINDOWS_CPP = qt/winshutdownmonitor.cpp -RAVEN_QT_WALLET_CPP = \ +BITCOIN_QT_WALLET_CPP = \ qt/addressbookpage.cpp \ qt/addresstablemodel.cpp \ qt/askpassphrasedialog.cpp \ @@ -432,31 +442,31 @@ RAVEN_QT_WALLET_CPP = \ qt/walletmodeltransaction.cpp \ qt/walletview.cpp -RAVEN_QT_CPP = $(RAVEN_QT_BASE_CPP) +BITCOIN_QT_CPP = $(BITCOIN_QT_BASE_CPP) if TARGET_WINDOWS -RAVEN_QT_CPP += $(RAVEN_QT_WINDOWS_CPP) +BITCOIN_QT_CPP += $(BITCOIN_QT_WINDOWS_CPP) endif if ENABLE_WALLET -RAVEN_QT_CPP += $(RAVEN_QT_WALLET_CPP) +BITCOIN_QT_CPP += $(BITCOIN_QT_WALLET_CPP) endif RES_IMAGES = RES_MOVIES = $(wildcard $(srcdir)/qt/res/movies/spinner-*.png) -RAVEN_RC = qt/res/raven-qt-res.rc +BITCOIN_RC = qt/res/bitcoin-qt-res.rc -RAVEN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ +BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ -I$(builddir)/qt/forms -DQT_NO_KEYWORDS -qt_libravenqt_a_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) $(RAVEN_QT_INCLUDES) \ +qt_libbitcoinqt_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(QT_DBUS_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) -qt_libravenqt_a_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) +qt_libbitcoinqt_a_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) -qt_libravenqt_a_SOURCES = $(RAVEN_QT_CPP) $(RAVEN_QT_H) $(QT_FORMS_UI) \ +qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \ $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) -nodist_qt_libravenqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \ +nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \ $(PROTOBUF_H) $(QT_QRC_CPP) $(QT_QRC_LOCALE_CPP) # forms/foo.h -> forms/ui_foo.h @@ -465,71 +475,71 @@ QT_FORMS_H=$(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI: # Most files will depend on the forms and moc files as includes. Generate them # before anything else. $(QT_MOC): $(QT_FORMS_H) -$(qt_libravenqt_a_OBJECTS) $(qt_raven_qt_OBJECTS) : | $(QT_MOC) +$(qt_libbitcoinqt_a_OBJECTS) $(qt_blast_qt_OBJECTS) : | $(QT_MOC) #Generating these with a half-written protobuf header leads to wacky results. #This makes sure it's done. $(QT_MOC): $(PROTOBUF_H) $(QT_MOC_CPP): $(PROTOBUF_H) -# raven-qt binary # -qt_raven_qt_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) $(RAVEN_QT_INCLUDES) \ +# bitcoin-qt binary # +qt_blast_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) -qt_raven_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) +qt_blast_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) -qt_raven_qt_SOURCES = qt/raven.cpp +qt_blast_qt_SOURCES = qt/bitcoin.cpp if TARGET_DARWIN - qt_raven_qt_SOURCES += $(RAVEN_MM) + qt_blast_qt_SOURCES += $(BITCOIN_MM) endif if TARGET_WINDOWS - qt_raven_qt_SOURCES += $(RAVEN_RC) + qt_blast_qt_SOURCES += $(BITCOIN_RC) endif -qt_raven_qt_LDADD = qt/libravenqt.a $(LIBRAVEN_SERVER) +qt_blast_qt_LDADD = qt/libbitcoinqt.a $(LIBBITCOIN_SERVER) if ENABLE_WALLET -qt_raven_qt_LDADD += $(LIBRAVEN_WALLET) +qt_blast_qt_LDADD += $(LIBBITCOIN_WALLET) endif if ENABLE_ZMQ -qt_raven_qt_LDADD += $(LIBRAVEN_ZMQ) $(ZMQ_LIBS) +qt_blast_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) endif -qt_raven_qt_LDADD += $(LIBRAVEN_CLI) $(LIBRAVEN_COMMON) $(LIBRAVEN_UTIL) $(LIBRAVEN_CONSENSUS) $(LIBRAVEN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) \ +qt_blast_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) \ $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \ $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) -qt_raven_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -qt_raven_qt_LIBTOOLFLAGS = --tag CXX +qt_blast_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_blast_qt_LIBTOOLFLAGS = --tag CXX #locale/foo.ts -> locale/foo.qm QT_QM=$(QT_TS:.ts=.qm) SECONDARY: $(QT_QM) -$(srcdir)/qt/ravenstrings.cpp: $(libraven_server_a_SOURCES) $(libraven_wallet_a_SOURCES) $(libraven_common_a_SOURCES) $(libraven_zmq_a_SOURCES) $(libraven_consensus_a_SOURCES) $(libraven_util_a_SOURCES) +$(srcdir)/qt/bitcoinstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) $(libbitcoin_common_a_SOURCES) $(libbitcoin_zmq_a_SOURCES) $(libbitcoin_consensus_a_SOURCES) $(libbitcoin_util_a_SOURCES) @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) PACKAGE_NAME="$(PACKAGE_NAME)" COPYRIGHT_HOLDERS="$(COPYRIGHT_HOLDERS)" COPYRIGHT_HOLDERS_SUBSTITUTION="$(COPYRIGHT_HOLDERS_SUBSTITUTION)" $(PYTHON) ../share/qt/extract_strings_qt.py $^ -translate: $(srcdir)/qt/ravenstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(RAVEN_QT_BASE_CPP) qt/raven.cpp $(RAVEN_QT_WINDOWS_CPP) $(RAVEN_QT_WALLET_CPP) $(RAVEN_QT_H) $(RAVEN_MM) +translate: $(srcdir)/qt/bitcoinstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_BASE_CPP) qt/bitcoin.cpp $(BITCOIN_QT_WINDOWS_CPP) $(BITCOIN_QT_WALLET_CPP) $(BITCOIN_QT_H) $(BITCOIN_MM) @test -n $(LUPDATE) || echo "lupdate is required for updating translations" - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts $(srcdir)/qt/locale/raven_en.ts + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts $(srcdir)/qt/locale/bitcoin_en.ts $(QT_QRC_LOCALE_CPP): $(QT_QRC_LOCALE) $(QT_QM) @test -f $(RCC) @cp -f $< $(@D)/temp_$( $@ @rm $(@D)/temp_$( $@ -CLEAN_QT = $(nodist_qt_libravenqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno +CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno CLEANFILES += $(CLEAN_QT) -raven_qt_clean: FORCE - rm -f $(CLEAN_QT) $(qt_libravenqt_a_OBJECTS) $(qt_raven_qt_OBJECTS) qt/raven-qt$(EXEEXT) $(LIBRAVENQT) +bitcoin_qt_clean: FORCE + rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_blast_qt_OBJECTS) qt/bitcoin-qt$(EXEEXT) $(LIBBITCOINQT) -raven_qt : qt/raven-qt$(EXEEXT) +bitcoin_qt : qt/bitcoin-qt$(EXEEXT) ui_%.h: %.ui @test -f $(UIC) diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index c6bf4d9841..9ee9779aec 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -1,10 +1,11 @@ # Copyright (c) 2013-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -bin_PROGRAMS += qt/test/test_raven-qt -TESTS += qt/test/test_raven-qt +bin_PROGRAMS += qt/test/test_blast-qt +TESTS += qt/test/test_blast-qt TEST_QT_MOC_CPP = \ qt/test/moc_compattests.cpp \ @@ -25,54 +26,54 @@ TEST_QT_H = \ qt/test/paymentservertests.h \ qt/test/wallettests.h -TEST_RAVEN_CPP = \ - test/test_raven.cpp +TEST_BITCOIN_CPP = \ + test/test_bitcoin.cpp -TEST_RAVEN_H = \ - test/test_raven.h +TEST_BITCOIN_H = \ + test/test_bitcoin.h -qt_test_test_raven_qt_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) $(RAVEN_QT_INCLUDES) \ +qt_test_test_blast_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) -qt_test_test_raven_qt_SOURCES = \ +qt_test_test_blast_qt_SOURCES = \ qt/test/compattests.cpp \ qt/test/rpcnestedtests.cpp \ qt/test/test_main.cpp \ qt/test/uritests.cpp \ $(TEST_QT_H) \ - $(TEST_RAVEN_CPP) \ - $(TEST_RAVEN_H) + $(TEST_BITCOIN_CPP) \ + $(TEST_BITCOIN_H) if ENABLE_WALLET -qt_test_test_raven_qt_SOURCES += \ +qt_test_test_blast_qt_SOURCES += \ qt/test/paymentservertests.cpp \ qt/test/wallettests.cpp \ wallet/test/wallet_test_fixture.cpp endif -nodist_qt_test_test_raven_qt_SOURCES = $(TEST_QT_MOC_CPP) +nodist_qt_test_test_blast_qt_SOURCES = $(TEST_QT_MOC_CPP) -qt_test_test_raven_qt_LDADD = $(LIBRAVENQT) $(LIBRAVEN_SERVER) +qt_test_test_blast_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) if ENABLE_WALLET -qt_test_test_raven_qt_LDADD += $(LIBRAVEN_WALLET) +qt_test_test_blast_qt_LDADD += $(LIBBITCOIN_WALLET) endif if ENABLE_ZMQ -qt_test_test_raven_qt_LDADD += $(LIBRAVEN_ZMQ) $(ZMQ_LIBS) +qt_test_test_blast_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) endif -qt_test_test_raven_qt_LDADD += $(LIBRAVEN_CLI) $(LIBRAVEN_COMMON) $(LIBRAVEN_UTIL) $(LIBRAVEN_CONSENSUS) $(LIBRAVEN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \ +qt_test_test_blast_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \ $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \ $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) -qt_test_test_raven_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -qt_test_test_raven_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) +qt_test_test_blast_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_test_test_blast_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) -CLEAN_RAVEN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno +CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno -CLEANFILES += $(CLEAN_RAVEN_QT_TEST) +CLEANFILES += $(CLEAN_BITCOIN_QT_TEST) -test_raven_qt : qt/test/test_raven-qt$(EXEEXT) +test_bitcoin_qt : qt/test/test_blast-qt$(EXEEXT) -test_raven_qt_check : qt/test/test_raven-qt$(EXEEXT) FORCE +test_bitcoin_qt_check : qt/test/test_blast-qt$(EXEEXT) FORCE $(MAKE) check-TESTS TESTS=$^ -test_raven_qt_clean: FORCE - rm -f $(CLEAN_RAVEN_QT_TEST) $(qt_test_test_raven_qt_OBJECTS) +test_bitcoin_qt_clean: FORCE + rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_blast_qt_OBJECTS) diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 1f773b2a95..0b8ab3e426 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -1,14 +1,15 @@ # Copyright (c) 2013-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -TESTS += test/test_raven -bin_PROGRAMS += test/test_raven -noinst_PROGRAMS += test/test_raven_fuzzy -noinst_PROGRAMS += test/test_raven_hash +TESTS += test/test_blast +bin_PROGRAMS += test/test_blast +noinst_PROGRAMS += test/test_blast_fuzzy +noinst_PROGRAMS += test/test_blast_hash TEST_SRCDIR = test -TEST_BINARY=test/test_raven$(EXEEXT) +TEST_BINARY=test/test_blast$(EXEEXT) JSON_TEST_FILES = \ test/data/script_tests.json \ @@ -23,8 +24,8 @@ RAW_TEST_FILES = GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) $(RAW_TEST_FILES:.raw=.raw.h) -# test_raven binary # -RAVEN_TESTS =\ +# test_blast binary # +BLAST_TESTS =\ test/assets/asset_tests.cpp \ test/assets/serialization_tests.cpp \ test/assets/asset_tx_tests.cpp \ @@ -82,9 +83,9 @@ RAVEN_TESTS =\ test/sigopcount_tests.cpp \ test/skiplist_tests.cpp \ test/streams_tests.cpp \ - test/test_raven.cpp \ - test/test_raven.h \ - test/test_raven_main.cpp \ + test/test_bitcoin.cpp \ + test/test_bitcoin.h \ + test/test_bitcoin_main.cpp \ test/timedata_tests.cpp \ test/torcontrol_tests.cpp \ test/transaction_tests.cpp \ @@ -95,7 +96,7 @@ RAVEN_TESTS =\ test/util_tests.cpp if ENABLE_WALLET -RAVEN_TESTS += \ +BLAST_TESTS += \ wallet/test/wallet_test_fixture.cpp \ wallet/test/wallet_test_fixture.h \ wallet/test/accounting_tests.cpp \ @@ -103,77 +104,77 @@ RAVEN_TESTS += \ wallet/test/crypto_tests.cpp endif -test_test_raven_SOURCES = $(RAVEN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) -test_test_raven_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) $(EVENT_CFLAGS) -test_test_raven_LDADD = +test_test_blast_SOURCES = $(BLAST_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) +test_test_blast_CPPFLAGS = $(AM_CPPFLAGS) $(BLAST_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) $(EVENT_CFLAGS) +test_test_blast_LDADD = if ENABLE_WALLET -test_test_raven_LDADD += $(LIBRAVEN_WALLET) +test_test_blast_LDADD += $(LIBBITCOIN_WALLET) endif -test_test_raven_LDADD += $(LIBRAVEN_SERVER) $(LIBRAVEN_CLI) $(LIBRAVEN_COMMON) $(LIBRAVEN_UTIL) $(LIBRAVEN_CONSENSUS) $(LIBRAVEN_CRYPTO) $(LIBUNIVALUE) \ +test_test_blast_LDADD += $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) \ $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) $(EVENT_LIBS) $(EVENT_PTHREADS_LIBS) -test_test_raven_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +test_test_blast_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -test_test_raven_LDADD += $(LIBRAVEN_CONSENSUS) $(LIBRAVEN_CRYPTO) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) -test_test_raven_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static +test_test_blast_LDADD += $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) +test_test_blast_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static if ENABLE_ZMQ -test_test_raven_LDADD += $(ZMQ_LIBS) +test_test_blast_LDADD += $(ZMQ_LIBS) endif # -# test_raven_fuzzy binary # -test_test_raven_fuzzy_SOURCES = test/test_raven_fuzzy.cpp -test_test_raven_fuzzy_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -test_test_raven_fuzzy_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -test_test_raven_fuzzy_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +# test_blast_fuzzy binary # +test_test_blast_fuzzy_SOURCES = test/test_bitcoin_fuzzy.cpp +test_test_blast_fuzzy_CPPFLAGS = $(AM_CPPFLAGS) $(BLAST_INCLUDES) +test_test_blast_fuzzy_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +test_test_blast_fuzzy_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -test_test_raven_fuzzy_LDADD = \ +test_test_blast_fuzzy_LDADD = \ $(LIBUNIVALUE) \ - $(LIBRAVEN_SERVER) \ - $(LIBRAVEN_COMMON) \ - $(LIBRAVEN_UTIL) \ - $(LIBRAVEN_CONSENSUS) \ - $(LIBRAVEN_CRYPTO) \ + $(LIBBITCOIN_SERVER) \ + $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CONSENSUS) \ + $(LIBBITCOIN_CRYPTO) \ $(LIBSECP256K1) -test_test_raven_fuzzy_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) +test_test_blast_fuzzy_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS) # -# test_raven_hash binary # -test_test_raven_hash_SOURCES = test/test_raven_hash.cpp -test_test_raven_hash_CPPFLAGS = $(AM_CPPFLAGS) $(RAVEN_INCLUDES) -test_test_raven_hash_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -test_test_raven_hash_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_AP_LDFLAGS) +# test_blast_hash binary # +test_test_blast_hash_SOURCES = test/test_bitcoin_hash.cpp +test_test_blast_hash_CPPFLAGS = $(AM_CPPFLAGS) $(BLAST_INCLUDES) +test_test_blast_hash_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) +test_test_blast_hash_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_AP_LDFLAGS) -test_test_raven_hash_LDADD = \ +test_test_blast_hash_LDADD = \ $(LIBUNIVALUE) \ - $(LIBRAVEN_COMMON) \ - $(LIBRAVEN_UTIL) \ - $(LIBRAVEN_CONSENSUS) \ - $(LIBRAVEN_CRYPTO) + $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CONSENSUS) \ + $(LIBBITCOIN_CRYPTO) -test_test_raven_hash_LDADD += $(CRYPTO_LIBS) +test_test_blast_hash_LDADD += $(CRYPTO_LIBS) # -nodist_test_test_raven_SOURCES = $(GENERATED_TEST_FILES) +nodist_test_test_blast_SOURCES = $(GENERATED_TEST_FILES) -$(RAVEN_TESTS): $(GENERATED_TEST_FILES) +$(BLAST_TESTS): $(GENERATED_TEST_FILES) -CLEAN_RAVEN_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) +CLEAN_BLAST_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) -CLEANFILES += $(CLEAN_RAVEN_TEST) +CLEANFILES += $(CLEAN_BLAST_TEST) -raven_test: $(TEST_BINARY) +blast_test: $(TEST_BINARY) -raven_test_check: $(TEST_BINARY) FORCE +blast_test_check: $(TEST_BINARY) FORCE $(MAKE) check-TESTS TESTS=$^ -raven_test_clean : FORCE - rm -f $(CLEAN_RAVEN_TEST) $(test_test_raven_OBJECTS) $(TEST_BINARY) +blast_test_clean : FORCE + rm -f $(CLEAN_BLAST_TEST) $(test_test_blast_OBJECTS) $(TEST_BINARY) check-local: - @echo "Running test/util/raven-util-test.py..." - $(PYTHON) $(top_builddir)/test/util/raven-util-test.py + @echo "Running test/util/blast-util-test.py..." + $(PYTHON) $(top_builddir)/test/util/blast-util-test.py $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check if EMBEDDED_UNIVALUE $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C univalue check diff --git a/src/addrdb.h b/src/addrdb.h index ba35391ce2..bfca76c3ff 100644 --- a/src/addrdb.h +++ b/src/addrdb.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ADDRDB_H -#define RAVEN_ADDRDB_H +#ifndef BITCOIN_ADDRDB_H +#define BITCOIN_ADDRDB_H #include "fs.h" #include "serialize.h" @@ -100,4 +101,4 @@ class CBanDB bool Read(banmap_t& banSet); }; -#endif // RAVEN_ADDRDB_H +#endif // BITCOIN_ADDRDB_H diff --git a/src/addressindex.h b/src/addressindex.h index 12e49f9de6..d41edcb2f1 100644 --- a/src/addressindex.h +++ b/src/addressindex.h @@ -3,14 +3,14 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ADDRESSINDEX_H -#define RAVEN_ADDRESSINDEX_H +#ifndef BITCOIN_ADDRESSINDEX_H +#define BITCOIN_ADDRESSINDEX_H #include "uint256.h" #include "amount.h" #include "script/script.h" -static const std::string RVN = "RVN"; +static const std::string BLAST = "BLAST"; struct CAddressUnspentKey { unsigned int type; @@ -42,7 +42,7 @@ struct CAddressUnspentKey { CAddressUnspentKey(unsigned int addressType, uint160 addressHash, uint256 txid, size_t indexValue) { type = addressType; hashBytes = addressHash; - asset = RVN; + asset = BLAST; txhash = txid; index = indexValue; } @@ -146,7 +146,7 @@ struct CAddressIndexKey { uint256 txid, size_t indexValue, bool isSpending) { type = addressType; hashBytes = addressHash; - asset = RVN; + asset = BLAST; blockHeight = height; txindex = blockindex; txhash = txid; @@ -240,7 +240,7 @@ struct CAddressIndexIteratorAssetKey { CAddressIndexIteratorAssetKey(unsigned int addressType, uint160 addressHash) { type = addressType; hashBytes = addressHash; - asset = RVN; + asset = BLAST; } CAddressIndexIteratorAssetKey(unsigned int addressType, uint160 addressHash, std::string assetName) { @@ -287,7 +287,7 @@ struct CAddressIndexIteratorHeightKey { CAddressIndexIteratorHeightKey(unsigned int addressType, uint160 addressHash, int height) { type = addressType; hashBytes = addressHash; - asset = RVN; + asset = BLAST; blockHeight = height; } @@ -406,4 +406,4 @@ struct CMempoolAddressDeltaKeyCompare } }; -#endif // RAVEN_ADDRESSINDEX_H +#endif // BITCOIN_ADDRESSINDEX_H diff --git a/src/addrman.h b/src/addrman.h index 5406ccfc9f..aeab37637b 100644 --- a/src/addrman.h +++ b/src/addrman.h @@ -1,11 +1,12 @@ // Copyright (c) 2012 Pieter Wuille // Copyright (c) 2012-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ADDRMAN_H -#define RAVEN_ADDRMAN_H +#ifndef BITCOIN_ADDRMAN_H +#define BITCOIN_ADDRMAN_H #include "netaddress.h" #include "protocol.h" @@ -603,4 +604,4 @@ class CAddrMan }; -#endif // RAVEN_ADDRMAN_H +#endif // BITCOIN_ADDRMAN_H diff --git a/src/amount.h b/src/amount.h index e3dfefc019..f1b0a5ecbb 100644 --- a/src/amount.h +++ b/src/amount.h @@ -1,15 +1,16 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_AMOUNT_H -#define RAVEN_AMOUNT_H +#ifndef BITCOIN_AMOUNT_H +#define BITCOIN_AMOUNT_H #include -/** Amount in corbies (Can be negative) */ +/** Amount in satoshis (Can be negative) */ typedef int64_t CAmount; static const CAmount COIN = 100000000; @@ -17,8 +18,8 @@ static const CAmount CENT = 1000000; /** No amount larger than this (in satoshi) is valid. * - * Note that this constant is *not* the total money supply, which in Raven - * currently happens to be less than 64,000,000 RVN for various reasons, but + * Note that this constant is *not* the total money supply, which in BLAST + * currently happens to be less than 64,000,000 BLAST for various reasons, but * rather a sanity check. As this sanity check is used by consensus-critical * validation code, the exact value of the MAX_MONEY constant is consensus * critical; in unusual circumstances like a(nother) overflow bug that allowed @@ -27,4 +28,4 @@ static const CAmount CENT = 1000000; static const CAmount MAX_MONEY = 64000000 * COIN; inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } -#endif // RAVEN_AMOUNT_H +#endif // BITCOIN_AMOUNT_H diff --git a/src/arith_uint256.h b/src/arith_uint256.h index 405e2fdf72..927b1eb955 100644 --- a/src/arith_uint256.h +++ b/src/arith_uint256.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ARITH_UINT256_H -#define RAVEN_ARITH_UINT256_H +#ifndef BITCOIN_ARITH_UINT256_H +#define BITCOIN_ARITH_UINT256_H #include #include @@ -294,4 +295,4 @@ class arith_uint256 : public base_uint<256> { uint256 ArithToUint256(const arith_uint256 &); arith_uint256 UintToArith256(const uint256 &); -#endif // RAVEN_ARITH_UINT256_H +#endif // BITCOIN_ARITH_UINT256_H diff --git a/src/assets/assetdb.h b/src/assets/assetdb.h index e0a6bceca1..d948eccccc 100644 --- a/src/assets/assetdb.h +++ b/src/assets/assetdb.h @@ -2,8 +2,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ASSETDB_H -#define RAVEN_ASSETDB_H +#ifndef BITCOIN_ASSETDB_H +#define BITCOIN_ASSETDB_H #include "fs.h" #include "serialize.h" @@ -74,4 +74,4 @@ class CAssetsDB : public CDBWrapper }; -#endif //RAVEN_ASSETDB_H +#endif //BITCOIN_ASSETDB_H diff --git a/src/assets/assets.cpp b/src/assets/assets.cpp index 4a5592dca3..3b5c3d9c36 100644 --- a/src/assets/assets.cpp +++ b/src/assets/assets.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -57,7 +58,7 @@ static const std::regex CHANNEL_INDICATOR(R"(^[^^~#!]+~[^~#!\/]+$)"); static const std::regex OWNER_INDICATOR(R"(^[^^~#!]+!$)"); static const std::regex VOTE_INDICATOR(R"(^[^^~#!]+\^[^~#!\/]+$)"); -static const std::regex RAVEN_NAMES("^RVN$|^RAVEN$|^RAVENCOIN$"); +static const std::regex BLAST_NAMES("^BLAST$|^BLASTCOIN$"); bool IsRootNameValid(const std::string& name) { @@ -65,7 +66,7 @@ bool IsRootNameValid(const std::string& name) && !std::regex_match(name, DOUBLE_PUNCTUATION) && !std::regex_match(name, LEADING_PUNCTUATION) && !std::regex_match(name, TRAILING_PUNCTUATION) - && !std::regex_match(name, RAVEN_NAMES); + && !std::regex_match(name, BLAST_NAMES); } bool IsSubNameValid(const std::string& name) @@ -438,13 +439,13 @@ void CNewAsset::ConstructTransaction(CScript& script) const ssAsset << *this; std::vector vchMessage; - vchMessage.push_back(RVN_R); // r - vchMessage.push_back(RVN_V); // v - vchMessage.push_back(RVN_N); // n - vchMessage.push_back(RVN_Q); // q + vchMessage.push_back(BLAST_R); // r + vchMessage.push_back(BLAST_V); // v + vchMessage.push_back(BLAST_N); // n + vchMessage.push_back(BLAST_Q); // q vchMessage.insert(vchMessage.end(), ssAsset.begin(), ssAsset.end()); - script << OP_RVN_ASSET << ToByteVector(vchMessage) << OP_DROP; + script << OP_BLAST_ASSET << ToByteVector(vchMessage) << OP_DROP; } void CNewAsset::ConstructOwnerTransaction(CScript& script) const @@ -453,13 +454,13 @@ void CNewAsset::ConstructOwnerTransaction(CScript& script) const ssOwner << std::string(this->strName + OWNER_TAG); std::vector vchMessage; - vchMessage.push_back(RVN_R); // r - vchMessage.push_back(RVN_V); // v - vchMessage.push_back(RVN_N); // n - vchMessage.push_back(RVN_O); // o + vchMessage.push_back(BLAST_R); // r + vchMessage.push_back(BLAST_V); // v + vchMessage.push_back(BLAST_N); // n + vchMessage.push_back(BLAST_O); // o vchMessage.insert(vchMessage.end(), ssOwner.begin(), ssOwner.end()); - script << OP_RVN_ASSET << ToByteVector(vchMessage) << OP_DROP; + script << OP_BLAST_ASSET << ToByteVector(vchMessage) << OP_DROP; } bool AssetFromTransaction(const CTransaction& tx, CNewAsset& asset, std::string& strAddress) @@ -661,7 +662,7 @@ bool CTransaction::IsNewAsset() const //! To be called on CTransactions where IsNewAsset returns true bool CTransaction::VerifyNewAsset(std::string& strError) const { - // Issuing an Asset must contain at least 3 CTxOut( Raven Burn Tx, Any Number of other Outputs ..., Owner Asset Tx, New Asset Tx) + // Issuing an Asset must contain at least 3 CTxOut( BLAST Burn Tx, Any Number of other Outputs ..., Owner Asset Tx, New Asset Tx) if (vout.size() < 3) { strError = "bad-txns-issue-vout-size-to-small"; return false; @@ -746,7 +747,7 @@ bool CTransaction::IsNewUniqueAsset() const //! Call this function after IsNewUniqueAsset bool CTransaction::VerifyNewUniqueAsset(std::string& strError) const { - // Must contain at least 3 outpoints (RVN burn, owner change and one or more new unique assets that share a root (should be in trailing position)) + // Must contain at least 3 outpoints (BLAST burn, owner change and one or more new unique assets that share a root (should be in trailing position)) if (vout.size() < 3) { strError = "bad-txns-unique-vout-size-to-small"; return false; @@ -848,7 +849,7 @@ bool CTransaction::IsReissueAsset() const //! To be called on CTransactions where IsReissueAsset returns true bool CTransaction::VerifyReissueAsset(std::string& strError) const { - // Reissuing an Asset must contain at least 3 CTxOut ( Raven Burn Tx, Any Number of other Outputs ..., Reissue Asset Tx, Owner Asset Change Tx) + // Reissuing an Asset must contain at least 3 CTxOut ( BLAST Burn Tx, Any Number of other Outputs ..., Reissue Asset Tx, Owner Asset Change Tx) if (vout.size() < 3) { strError = "bad-txns-vout-size-to-small"; return false; @@ -939,13 +940,13 @@ void CAssetTransfer::ConstructTransaction(CScript& script) const ssTransfer << *this; std::vector vchMessage; - vchMessage.push_back(RVN_R); // r - vchMessage.push_back(RVN_V); // v - vchMessage.push_back(RVN_N); // n - vchMessage.push_back(RVN_T); // t + vchMessage.push_back(BLAST_R); // r + vchMessage.push_back(BLAST_V); // v + vchMessage.push_back(BLAST_N); // n + vchMessage.push_back(BLAST_T); // t vchMessage.insert(vchMessage.end(), ssTransfer.begin(), ssTransfer.end()); - script << OP_RVN_ASSET << ToByteVector(vchMessage) << OP_DROP; + script << OP_BLAST_ASSET << ToByteVector(vchMessage) << OP_DROP; } CReissueAsset::CReissueAsset(const std::string &strAssetName, const CAmount &nAmount, const int &nUnits, const int &nReissuable, @@ -1021,13 +1022,13 @@ void CReissueAsset::ConstructTransaction(CScript& script) const ssReissue << *this; std::vector vchMessage; - vchMessage.push_back(RVN_R); // r - vchMessage.push_back(RVN_V); // v - vchMessage.push_back(RVN_N); // n - vchMessage.push_back(RVN_R); // r + vchMessage.push_back(BLAST_R); // r + vchMessage.push_back(BLAST_V); // v + vchMessage.push_back(BLAST_N); // n + vchMessage.push_back(BLAST_R); // r vchMessage.insert(vchMessage.end(), ssReissue.begin(), ssReissue.end()); - script << OP_RVN_ASSET << ToByteVector(vchMessage) << OP_DROP; + script << OP_BLAST_ASSET << ToByteVector(vchMessage) << OP_DROP; } bool CReissueAsset::IsNull() const @@ -1992,7 +1993,7 @@ bool CheckIssueBurnTx(const CTxOut& txOut, const AssetType& type) bool CheckReissueBurnTx(const CTxOut& txOut) { - // Check the first transaction and verify that the correct RVN Amount + // Check the first transaction and verify that the correct BLAST Amount if (txOut.nValue != GetReissueAssetBurnAmount()) return false; @@ -2014,7 +2015,7 @@ bool CheckReissueBurnTx(const CTxOut& txOut) bool CheckIssueDataTx(const CTxOut& txOut) { - // Verify 'rvnq' is in the transaction + // Verify 'blastq' is in the transaction CScript scriptPubKey = txOut.scriptPubKey; int nStartingIndex = 0; @@ -2023,7 +2024,7 @@ bool CheckIssueDataTx(const CTxOut& txOut) bool CheckReissueDataTx(const CTxOut& txOut) { - // Verify 'rvnr' is in the transaction + // Verify 'blastr' is in the transaction CScript scriptPubKey = txOut.scriptPubKey; return IsScriptReissueAsset(scriptPubKey); @@ -2031,7 +2032,7 @@ bool CheckReissueDataTx(const CTxOut& txOut) bool CheckOwnerDataTx(const CTxOut& txOut) { - // Verify 'rvnq' is in the transaction + // Verify 'blastq' is in the transaction CScript scriptPubKey = txOut.scriptPubKey; return IsScriptOwnerAsset(scriptPubKey); @@ -2039,7 +2040,7 @@ bool CheckOwnerDataTx(const CTxOut& txOut) bool CheckTransferOwnerTx(const CTxOut& txOut) { - // Verify 'rvnq' is in the transaction + // Verify 'blastq' is in the transaction CScript scriptPubKey = txOut.scriptPubKey; return IsScriptTransferAsset(scriptPubKey); @@ -2555,7 +2556,7 @@ bool CreateAssetTransaction(CWallet* pwallet, CCoinControl& coinControl, const s if (!change_address.empty()) { CTxDestination destination = DecodeDestination(change_address); if (!IsValidDestination(destination)) { - error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Raven address: ") + change_address); + error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid BLAST address: ") + change_address); return false; } } else { @@ -2597,7 +2598,7 @@ bool CreateAssetTransaction(CWallet* pwallet, CCoinControl& coinControl, const s CAmount curBalance = pwallet->GetBalance(); - // Check to make sure the wallet has the RVN required by the burnAmount + // Check to make sure the wallet has the BLAST required by the burnAmount if (curBalance < burnAmount) { error = std::make_pair(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds"); return false; @@ -2656,14 +2657,14 @@ bool CreateReissueAssetTransaction(CWallet* pwallet, CCoinControl& coinControl, // Check that validitity of the address if (!IsValidDestinationString(address)) { - error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Raven address: ") + address); + error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid BLAST address: ") + address); return false; } if (!change_address.empty()) { CTxDestination destination = DecodeDestination(change_address); if (!IsValidDestination(destination)) { - error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Raven address: ") + change_address); + error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid BLAST address: ") + change_address); return false; } } else { @@ -2720,7 +2721,7 @@ bool CreateReissueAssetTransaction(CWallet* pwallet, CCoinControl& coinControl, // Get the current burn amount for issuing an asset CAmount burnAmount = GetReissueAssetBurnAmount(); - // Check to make sure the wallet has the RVN required by the burnAmount + // Check to make sure the wallet has the BLAST required by the burnAmount if (curBalance < burnAmount) { error = std::make_pair(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds"); return false; @@ -2769,7 +2770,7 @@ bool CreateTransferAssetTransaction(CWallet* pwallet, const CCoinControl& coinCo // Check for a balance before processing transfers CAmount curBalance = pwallet->GetBalance(); if (curBalance == 0) { - error = std::make_pair(RPC_WALLET_INSUFFICIENT_FUNDS, std::string("This wallet doesn't contain any RVN, transfering an asset requires a network fee")); + error = std::make_pair(RPC_WALLET_INSUFFICIENT_FUNDS, std::string("This wallet doesn't contain any BLAST, transfering an asset requires a network fee")); return false; } @@ -2786,7 +2787,7 @@ bool CreateTransferAssetTransaction(CWallet* pwallet, const CCoinControl& coinCo CAmount nAmount = transfer.first.nAmount; if (!IsValidDestinationString(address)) { - error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Raven address: ") + address); + error = std::make_pair(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid BLAST address: ") + address); return false; } auto currentActiveAssetCache = GetCurrentAssetCache(); diff --git a/src/assets/assets.h b/src/assets/assets.h index f9ab8d500d..163f845c45 100644 --- a/src/assets/assets.h +++ b/src/assets/assets.h @@ -16,12 +16,12 @@ #include #include -#define RVN_R 114 -#define RVN_V 118 -#define RVN_N 110 -#define RVN_Q 113 -#define RVN_T 116 -#define RVN_O 111 +#define BLAST_R 114 +#define BLAST_V 118 +#define BLAST_N 110 +#define BLAST_Q 113 +#define BLAST_T 116 +#define BLAST_O 111 #define DEFAULT_UNITS 0 #define DEFAULT_REISSUABLE 1 diff --git a/src/auxpow/auxpow.h b/src/auxpow/auxpow.h index 3518ac2b19..a7291c3f1f 100644 --- a/src/auxpow/auxpow.h +++ b/src/auxpow/auxpow.h @@ -2,8 +2,8 @@ // Distributed under the MIT/X11 software license, see the accompanying // file license.txt or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_AUXPOW_AUXPOW_H -#define RAVEN_AUXPOW_AUXPOW_H +#ifndef BITCOIN_AUXPOW_AUXPOW_H +#define BITCOIN_AUXPOW_AUXPOW_H #include "versionbits.h" #include "consensus/params.h" @@ -58,4 +58,4 @@ template void SerReadWrite(Stream& s, std::shared_ptr& ::Unserialize(s, *pobj); } -#endif // RAVEN_AUXPOW_AUXPOW_H +#endif // BITCOIN_AUXPOW_AUXPOW_H diff --git a/src/auxpow/check.h b/src/auxpow/check.h index 96017a9218..f8740ea238 100644 --- a/src/auxpow/check.h +++ b/src/auxpow/check.h @@ -1,5 +1,5 @@ -#ifndef RAVEN_AUXPOW_CHECK_H -#define RAVEN_AUXPOW_CHECK_H +#ifndef BITCOIN_AUXPOW_CHECK_H +#define BITCOIN_AUXPOW_CHECK_H #include "util.h" #include "uint256.h" @@ -98,4 +98,4 @@ bool CheckAuxpow(const std::shared_ptr auxPow, const uint256& hashAuxBl } -#endif //RAVEN_AUXPOW_CHECK_H +#endif //BITCOIN_AUXPOW_CHECK_H diff --git a/src/auxpow/serialize.h b/src/auxpow/serialize.h index b9cd680e7f..dc0cc38518 100644 --- a/src/auxpow/serialize.h +++ b/src/auxpow/serialize.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_AUXPOW_SERIALIZE_H -#define RAVEN_AUXPOW_SERIALIZE_H +#ifndef BITCOIN_AUXPOW_SERIALIZE_H +#define BITCOIN_AUXPOW_SERIALIZE_H class CAuxPow; @@ -16,4 +16,4 @@ void SerReadWrite(S& s, std::shared_ptr& pobj, CSerActionUnserialize se /** Global dirty block merged mining entries. */ extern std::map > mapDirtyAuxPow; -#endif // RAVEN_AUXPOW_SERIALIZE_H +#endif // BITCOIN_AUXPOW_SERIALIZE_H diff --git a/src/base58.cpp b/src/base58.cpp index 9d083e4b6f..4a04cb9584 100644 --- a/src/base58.cpp +++ b/src/base58.cpp @@ -214,13 +214,13 @@ int CBase58Data::CompareTo(const CBase58Data& b58) const namespace { -class CRavenAddressVisitor : public boost::static_visitor +class CBitcoinAddressVisitor : public boost::static_visitor { private: - CRavenAddress* addr; + CBitcoinAddress* addr; public: - explicit CRavenAddressVisitor(CRavenAddress* addrIn) : addr(addrIn) {} + explicit CBitcoinAddressVisitor(CBitcoinAddress* addrIn) : addr(addrIn) {} bool operator()(const CKeyID& id) const { return addr->Set(id); } bool operator()(const CScriptID& id) const { return addr->Set(id); } @@ -229,29 +229,29 @@ class CRavenAddressVisitor : public boost::static_visitor } // namespace -bool CRavenAddress::Set(const CKeyID& id) +bool CBitcoinAddress::Set(const CKeyID& id) { SetData(Params().Base58Prefix(CChainParams::PUBKEY_ADDRESS), &id, 20); return true; } -bool CRavenAddress::Set(const CScriptID& id) +bool CBitcoinAddress::Set(const CScriptID& id) { SetData(Params().Base58Prefix(CChainParams::SCRIPT_ADDRESS), &id, 20); return true; } -bool CRavenAddress::Set(const CTxDestination& dest) +bool CBitcoinAddress::Set(const CTxDestination& dest) { - return boost::apply_visitor(CRavenAddressVisitor(this), dest); + return boost::apply_visitor(CBitcoinAddressVisitor(this), dest); } -bool CRavenAddress::IsValid() const +bool CBitcoinAddress::IsValid() const { return IsValid(Params()); } -bool CRavenAddress::IsValid(const CChainParams& params) const +bool CBitcoinAddress::IsValid(const CChainParams& params) const { bool fCorrectSize = vchData.size() == 20; bool fKnownVersion = vchVersion == params.Base58Prefix(CChainParams::PUBKEY_ADDRESS) || @@ -259,7 +259,7 @@ bool CRavenAddress::IsValid(const CChainParams& params) const return fCorrectSize && fKnownVersion; } -CTxDestination CRavenAddress::Get() const +CTxDestination CBitcoinAddress::Get() const { if (!IsValid()) return CNoDestination(); @@ -273,7 +273,7 @@ CTxDestination CRavenAddress::Get() const return CNoDestination(); } -bool CRavenAddress::GetKeyID(CKeyID& keyID) const +bool CBitcoinAddress::GetKeyID(CKeyID& keyID) const { if (!IsValid() || vchVersion != Params().Base58Prefix(CChainParams::PUBKEY_ADDRESS)) return false; @@ -283,7 +283,7 @@ bool CRavenAddress::GetKeyID(CKeyID& keyID) const return true; } -bool CRavenAddress::GetIndexKey(uint160& hashBytes, int& type) const +bool CBitcoinAddress::GetIndexKey(uint160& hashBytes, int& type) const { if (!IsValid()) { return false; @@ -300,7 +300,7 @@ bool CRavenAddress::GetIndexKey(uint160& hashBytes, int& type) const return false; } -void CRavenSecret::SetKey(const CKey& vchSecret) +void CBitcoinSecret::SetKey(const CKey& vchSecret) { assert(vchSecret.IsValid()); SetData(Params().Base58Prefix(CChainParams::SECRET_KEY), vchSecret.begin(), vchSecret.size()); @@ -308,7 +308,7 @@ void CRavenSecret::SetKey(const CKey& vchSecret) vchData.push_back(1); } -CKey CRavenSecret::GetKey() +CKey CBitcoinSecret::GetKey() { CKey ret; assert(vchData.size() >= 32); @@ -316,41 +316,41 @@ CKey CRavenSecret::GetKey() return ret; } -bool CRavenSecret::IsValid() const +bool CBitcoinSecret::IsValid() const { bool fExpectedFormat = vchData.size() == 32 || (vchData.size() == 33 && vchData[32] == 1); bool fCorrectVersion = vchVersion == Params().Base58Prefix(CChainParams::SECRET_KEY); return fExpectedFormat && fCorrectVersion; } -bool CRavenSecret::SetString(const char* pszSecret) +bool CBitcoinSecret::SetString(const char* pszSecret) { return CBase58Data::SetString(pszSecret) && IsValid(); } -bool CRavenSecret::SetString(const std::string& strSecret) +bool CBitcoinSecret::SetString(const std::string& strSecret) { return SetString(strSecret.c_str()); } std::string EncodeDestination(const CTxDestination& dest) { - CRavenAddress addr(dest); + CBitcoinAddress addr(dest); if (!addr.IsValid()) return ""; return addr.ToString(); } CTxDestination DecodeDestination(const std::string& str) { - return CRavenAddress(str).Get(); + return CBitcoinAddress(str).Get(); } bool IsValidDestinationString(const std::string& str, const CChainParams& params) { - return CRavenAddress(str).IsValid(params); + return CBitcoinAddress(str).IsValid(params); } bool IsValidDestinationString(const std::string& str) { - return CRavenAddress(str).IsValid(); + return CBitcoinAddress(str).IsValid(); } diff --git a/src/base58.h b/src/base58.h index a4cb32a277..072c1b5e7c 100644 --- a/src/base58.h +++ b/src/base58.h @@ -12,8 +12,8 @@ * - E-mail usually won't line-break if there's no punctuation to break at. * - Double-clicking selects the whole string as one word if it's all alphanumeric. */ -#ifndef RAVEN_BASE58_H -#define RAVEN_BASE58_H +#ifndef BITCOIN_BASE58_H +#define BITCOIN_BASE58_H #include "chainparams.h" #include "key.h" @@ -94,13 +94,13 @@ class CBase58Data bool operator< (const CBase58Data& b58) const { return CompareTo(b58) < 0; } bool operator> (const CBase58Data& b58) const { return CompareTo(b58) > 0; } }; -/** base58-encoded Raven addresses. +/** 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. * Script-hash-addresses have version 5 (or 196 testnet). * The data vector contains RIPEMD160(SHA256(cscript)), where cscript is the serialized redemption script. */ -class CRavenAddress : public CBase58Data { +class CBitcoinAddress : public CBase58Data { public: bool Set(const CKeyID &id); bool Set(const CScriptID &id); @@ -108,10 +108,10 @@ class CRavenAddress : public CBase58Data { bool IsValid() const; bool IsValid(const CChainParams ¶ms) const; - CRavenAddress() {} - CRavenAddress(const CTxDestination &dest) { Set(dest); } - CRavenAddress(const std::string& strAddress) { SetString(strAddress); } - CRavenAddress(const char* pszAddress) { SetString(pszAddress); } + CBitcoinAddress() {} + CBitcoinAddress(const CTxDestination &dest) { Set(dest); } + CBitcoinAddress(const std::string& strAddress) { SetString(strAddress); } + CBitcoinAddress(const char* pszAddress) { SetString(pszAddress); } CTxDestination Get() const; bool GetIndexKey(uint160& hashBytes, int& type) const; @@ -121,7 +121,7 @@ class CRavenAddress : public CBase58Data { /** * A base58-encoded secret key */ -class CRavenSecret : public CBase58Data +class CBitcoinSecret : public CBase58Data { public: void SetKey(const CKey& vchSecret); @@ -130,11 +130,11 @@ class CRavenSecret : public CBase58Data bool SetString(const char* pszSecret); bool SetString(const std::string& strSecret); - CRavenSecret(const CKey& vchSecret) { SetKey(vchSecret); } - CRavenSecret() {} + CBitcoinSecret(const CKey& vchSecret) { SetKey(vchSecret); } + CBitcoinSecret() {} }; -template class CRavenExtKeyBase : public CBase58Data +template class CBitcoinExtKeyBase : public CBase58Data { public: void SetKey(const K &key) { @@ -152,23 +152,23 @@ template class CRavenExtKey return ret; } - CRavenExtKeyBase(const K &key) { + CBitcoinExtKeyBase(const K &key) { SetKey(key); } - CRavenExtKeyBase(const std::string& strBase58c) { + CBitcoinExtKeyBase(const std::string& strBase58c) { SetString(strBase58c.c_str(), Params().Base58Prefix(Type).size()); } - CRavenExtKeyBase() {} + CBitcoinExtKeyBase() {} }; -typedef CRavenExtKeyBase CRavenExtKey; -typedef CRavenExtKeyBase CRavenExtPubKey; +typedef CBitcoinExtKeyBase CBitcoinExtKey; +typedef CBitcoinExtKeyBase CBitcoinExtPubKey; std::string EncodeDestination(const CTxDestination& dest); CTxDestination DecodeDestination(const std::string& str); bool IsValidDestinationString(const std::string& str); bool IsValidDestinationString(const std::string& str, const CChainParams& params); -#endif // RAVEN_BASE58_H +#endif // BITCOIN_BASE58_H diff --git a/src/bench/bench.h b/src/bench/bench.h index e0602e9252..b20267a8da 100644 --- a/src/bench/bench.h +++ b/src/bench/bench.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_BENCH_BENCH_H -#define RAVEN_BENCH_BENCH_H +#ifndef BITCOIN_BENCH_BENCH_H +#define BITCOIN_BENCH_BENCH_H #include #include @@ -78,4 +78,4 @@ namespace benchmark { #define BENCHMARK(n) \ benchmark::BenchRunner BOOST_PP_CAT(bench_, BOOST_PP_CAT(__LINE__, n))(BOOST_PP_STRINGIZE(n), n); -#endif // RAVEN_BENCH_BENCH_H +#endif // BITCOIN_BENCH_BENCH_H diff --git a/src/bench/bench_raven.cpp b/src/bench/bench_bitcoin.cpp similarity index 100% rename from src/bench/bench_raven.cpp rename to src/bench/bench_bitcoin.cpp diff --git a/src/bench/bench_blast b/src/bench/bench_blast new file mode 100755 index 0000000000..1e4f446045 --- /dev/null +++ b/src/bench/bench_blast @@ -0,0 +1,210 @@ +#! /bin/bash + +# bench/bench_blast - temporary wrapper script for .libs/bench_blast +# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2 +# +# The bench/bench_blast program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.4.6' + notinst_deplibs=' univalue/libunivalue.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + file="$0" + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + ECHO="printf %s\\n" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string --lt- +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's ../libtool value, followed by no. +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=$0 + shift + for lt_opt + do + case "$lt_opt" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%/[^/]*$%%'` + test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=. + lt_dump_F=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%^.*/%%'` + cat "$lt_dump_D/$lt_dump_F" + exit 0 + ;; + --lt-*) + $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n "$lt_option_debug"; then + echo "bench_blast:bench/bench_blast:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-2" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + $ECHO "bench_blast:bench/bench_blast:$LINENO: newargv[$lt_dump_args_N]: $lt_arg" + lt_dump_args_N=`expr $lt_dump_args_N + 1` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ + + if test -n "$lt_option_debug"; then + $ECHO "bench_blast:bench/bench_blast:$LINENO: newargv[0]: $progdir/$program" 1>&2 + func_lt_dump_args ${1+"$@"} 1>&2 + fi + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from $@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case " $* " in + *\ --lt-*) + for lt_wr_arg + do + case $lt_wr_arg in + --lt-*) ;; + *) set x "$@" "$lt_wr_arg"; shift;; + esac + shift + done ;; + esac + func_exec_program_core ${1+"$@"} +} + + # Parse options + func_parse_lt_options "$0" ${1+"$@"} + + # Find the directory that this script lives in. + thisdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "$file" | /bin/sed 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /bin/sed 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program='bench_blast' + progdir="$thisdir/.libs" + + + if test -f "$progdir/$program"; then + # Add our own library path to LD_LIBRARY_PATH + LD_LIBRARY_PATH="/home/bclab/Desktop/altcoins/Raven-Aux/src/univalue/.libs:$LD_LIBRARY_PATH" + + # Some systems cannot cope with colon-terminated LD_LIBRARY_PATH + # The second colon is a workaround for a bug in BeOS R4 sed + LD_LIBRARY_PATH=`$ECHO "$LD_LIBRARY_PATH" | /bin/sed 's/::*$//'` + + export LD_LIBRARY_PATH + + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + func_exec_program ${1+"$@"} + fi + else + # The program doesn't exist. + $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + $ECHO "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/src/bench/verify_script.cpp b/src/bench/verify_script.cpp index e0607017f0..b04316eb0b 100644 --- a/src/bench/verify_script.cpp +++ b/src/bench/verify_script.cpp @@ -6,7 +6,7 @@ #include "bench.h" #include "key.h" #if defined(HAVE_CONSENSUS_LIB) -#include "script/ravenconsensus.h" +#include "script/bitcoinconsensus.h" #endif #include "script/script.h" #include "script/sign.h" @@ -96,7 +96,7 @@ static void VerifyScriptBench(benchmark::State& state) #if defined(HAVE_CONSENSUS_LIB) CDataStream stream(SER_NETWORK, PROTOCOL_VERSION); stream << txSpend; - int csuccess = ravenconsensus_verify_script_with_amount( + int csuccess = bitcoinconsensus_verify_script_with_amount( txCredit.vout[0].scriptPubKey.data(), txCredit.vout[0].scriptPubKey.size(), txCredit.vout[0].nValue, diff --git a/src/raven-cli-res.rc b/src/bitcoin-cli-res.rc similarity index 100% rename from src/raven-cli-res.rc rename to src/bitcoin-cli-res.rc diff --git a/src/raven-cli.cpp b/src/bitcoin-cli.cpp similarity index 96% rename from src/raven-cli.cpp rename to src/bitcoin-cli.cpp index b8696b3a3c..61e97f0606 100644 --- a/src/raven-cli.cpp +++ b/src/bitcoin-cli.cpp @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "chainparamsbase.h" @@ -36,7 +37,7 @@ std::string HelpMessageCli() std::string strUsage; strUsage += HelpMessageGroup(_("Options:")); strUsage += HelpMessageOpt("-?", _("This help message")); - strUsage += HelpMessageOpt("-conf=", strprintf(_("Specify configuration file (default: %s)"), RAVEN_CONF_FILENAME)); + strUsage += HelpMessageOpt("-conf=", strprintf(_("Specify configuration file (default: %s)"), BITCOIN_CONF_FILENAME)); strUsage += HelpMessageOpt("-datadir=", _("Specify data directory")); strUsage += HelpMessageOpt("-getinfo", _("Get general information from the remote server. Note that unlike server-side RPC calls, the results of -getinfo is the result of multiple non-atomic requests. Some entries in the result may represent results from different states (e.g. wallet balance may be as of a different block from the chain state reported)")); AppendParamsHelpMessages(strUsage); @@ -49,7 +50,7 @@ std::string HelpMessageCli() strUsage += HelpMessageOpt("-rpcclienttimeout=", strprintf(_("Timeout in seconds during HTTP requests, or 0 for no timeout. (default: %d)"), DEFAULT_HTTP_CLIENT_TIMEOUT)); strUsage += HelpMessageOpt("-stdinrpcpass", strprintf(_("Read RPC password from standard input as a single line. When combined with -stdin, the first line from standard input is used for the RPC password."))); strUsage += HelpMessageOpt("-stdin", _("Read extra arguments from standard input, one per line until EOF/Ctrl-D (recommended for sensitive information such as passphrases). When combined with -stdinrpcpass, the first line from standard input is used for the RPC password.")); - strUsage += HelpMessageOpt("-rpcwallet=", _("Send RPC for non-default wallet on RPC server (argument is wallet filename in ravend directory, required if ravend/-Qt runs with multiple wallets)")); + strUsage += HelpMessageOpt("-rpcwallet=", _("Send RPC for non-default wallet on RPC server (argument is wallet filename in blastd directory, required if blastd/-Qt runs with multiple wallets)")); return strUsage; } @@ -87,10 +88,10 @@ static int AppInitRPC(int argc, char* argv[]) std::string strUsage = strprintf(_("%s RPC client version"), _(PACKAGE_NAME)) + " " + FormatFullVersion() + "\n"; if (!gArgs.IsArgSet("-version")) { strUsage += "\n" + _("Usage:") + "\n" + - " raven-cli [options] [params] " + strprintf(_("Send command to %s"), _(PACKAGE_NAME)) + "\n" + - " raven-cli [options] -named [name=value] ... " + strprintf(_("Send command to %s (with named arguments)"), _(PACKAGE_NAME)) + "\n" + - " raven-cli [options] help " + _("List commands") + "\n" + - " raven-cli [options] help " + _("Get help for a command") + "\n"; + " blast-cli [options] [params] " + strprintf(_("Send command to %s"), _(PACKAGE_NAME)) + "\n" + + " blast-cli [options] -named [name=value] ... " + strprintf(_("Send command to %s (with named arguments)"), _(PACKAGE_NAME)) + "\n" + + " blast-cli [options] help " + _("List commands") + "\n" + + " blast-cli [options] help " + _("Get help for a command") + "\n"; strUsage += "\n" + HelpMessageCli(); } @@ -107,7 +108,7 @@ static int AppInitRPC(int argc, char* argv[]) return EXIT_FAILURE; } try { - gArgs.ReadConfigFile(gArgs.GetArg("-conf", RAVEN_CONF_FILENAME)); + gArgs.ReadConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME)); } catch (const std::exception& e) { fprintf(stderr,"Error reading configuration file: %s\n", e.what()); return EXIT_FAILURE; @@ -315,7 +316,7 @@ static UniValue CallRPC(BaseRequestHandler *rh, const std::string& strMethod, co if (!GetAuthCookie(&strRPCUserColonPass)) { throw std::runtime_error(strprintf( _("Could not locate RPC credentials. No authentication cookie could be found, and RPC password is not set. See -rpcpassword and -stdinrpcpass. Configuration file: (%s)"), - GetConfigFile(gArgs.GetArg("-conf", RAVEN_CONF_FILENAME)).string().c_str())); + GetConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME)).string().c_str())); } } else { @@ -441,7 +442,7 @@ int CommandLineRPC(int argc, char *argv[]) strPrint += "error message:\n"+errMsg.get_str(); if (errCode.isNum() && errCode.get_int() == RPC_WALLET_NOT_SPECIFIED) { - strPrint += "\nTry adding \"-rpcwallet=\" option to raven-cli command line."; + strPrint += "\nTry adding \"-rpcwallet=\" option to blast-cli command line."; } } } else { diff --git a/src/raven-tx-res.rc b/src/bitcoin-tx-res.rc similarity index 100% rename from src/raven-tx-res.rc rename to src/bitcoin-tx-res.rc diff --git a/src/raven-tx.cpp b/src/bitcoin-tx.cpp similarity index 99% rename from src/raven-tx.cpp rename to src/bitcoin-tx.cpp index 68285a403e..7f55fe84ae 100644 --- a/src/raven-tx.cpp +++ b/src/bitcoin-tx.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "base58.h" @@ -559,7 +559,7 @@ static void MutateTxSign(CMutableTransaction& tx, const std::string& flagStr) for (unsigned int kidx = 0; kidx < keysObj.size(); kidx++) { if (!keysObj[kidx].isStr()) throw std::runtime_error("privatekey not a std::string"); - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(keysObj[kidx].getValStr()); if (!fGood) throw std::runtime_error("privatekey not valid"); diff --git a/src/ravend-res.rc b/src/bitcoind-res.rc similarity index 100% rename from src/ravend-res.rc rename to src/bitcoind-res.rc diff --git a/src/ravend.cpp b/src/bitcoind.cpp similarity index 88% rename from src/ravend.cpp rename to src/bitcoind.cpp index 6b2eeb4bd3..dbea54a8f9 100644 --- a/src/ravend.cpp +++ b/src/bitcoind.cpp @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "chainparams.h" @@ -31,8 +32,8 @@ * * \section intro_sec Introduction * - * This is the developer documentation of the reference client for an experimental new digital currency called Raven (https://www.raven.org/), - * which enables instant payments to anyone, anywhere in the world. Raven uses peer-to-peer technology to operate + * This is the developer documentation of the reference client for an experimental new digital currency called Bitcoin (https://www.bitcoin.org/), + * which enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate * with no central authority: managing transactions and issuing money are carried out collectively by the network. * * The software is a community-driven open source project, released under the MIT license. @@ -71,7 +72,7 @@ bool AppInit(int argc, char* argv[]) // // Parameters // - // If Qt is used, parameters/raven.conf are parsed in qt/raven.cpp's main() + // If Qt is used, parameters/blast.conf are parsed in qt/bitcoin.cpp's main() gArgs.ParseParameters(argc, argv); // Process help and version before taking care about datadir @@ -86,9 +87,9 @@ bool AppInit(int argc, char* argv[]) else { strUsage += "\n" + _("Usage:") + "\n" + - " ravend [options] " + strprintf(_("Start %s Daemon"), _(PACKAGE_NAME)) + "\n"; + " blastd [options] " + strprintf(_("Start %s Daemon"), _(PACKAGE_NAME)) + "\n"; - strUsage += "\n" + HelpMessage(HMM_RAVEND); + strUsage += "\n" + HelpMessage(HMM_BITCOIND); } fprintf(stdout, "%s", strUsage.c_str()); @@ -104,7 +105,7 @@ bool AppInit(int argc, char* argv[]) } try { - gArgs.ReadConfigFile(gArgs.GetArg("-conf", RAVEN_CONF_FILENAME)); + gArgs.ReadConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME)); } catch (const std::exception& e) { fprintf(stderr,"Error reading configuration file: %s\n", e.what()); return false; @@ -120,12 +121,12 @@ bool AppInit(int argc, char* argv[]) // Error out when loose non-argument tokens are encountered on command line for (int i = 1; i < argc; i++) { if (!IsSwitchChar(argv[i][0])) { - fprintf(stderr, "Error: Command line contains unexpected token '%s', see ravend -h for a list of options.\n", argv[i]); + fprintf(stderr, "Error: Command line contains unexpected token '%s', see blastd -h for a list of options.\n", argv[i]); exit(EXIT_FAILURE); } } - // -server defaults to true for ravend but not for the GUI so do this here + // -server defaults to true for blastd but not for the GUI so do this here gArgs.SoftSetBoolArg("-server", true); // Set this early so that parameter interactions go to console InitLogging(); @@ -152,7 +153,7 @@ bool AppInit(int argc, char* argv[]) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif - fprintf(stdout, "Raven server starting\n"); + fprintf(stdout, "BLAST server starting\n"); // Daemonize if (daemon(1, 0)) { // don't chdir (1), do close FDs (0) @@ -197,7 +198,7 @@ int main(int argc, char* argv[]) { SetupEnvironment(); - // Connect ravend signal handlers + // Connect blastd signal handlers noui_connect(); return (AppInit(argc, argv) ? EXIT_SUCCESS : EXIT_FAILURE); diff --git a/src/blockencodings.h b/src/blockencodings.h index 7b043584db..602ce89fa6 100644 --- a/src/blockencodings.h +++ b/src/blockencodings.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_BLOCK_ENCODINGS_H -#define RAVEN_BLOCK_ENCODINGS_H +#ifndef BITCOIN_BLOCK_ENCODINGS_H +#define BITCOIN_BLOCK_ENCODINGS_H #include "primitives/block.h" diff --git a/src/bloom.h b/src/bloom.h index cce37627bf..c2cfbb83d1 100644 --- a/src/bloom.h +++ b/src/bloom.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_BLOOM_H -#define RAVEN_BLOOM_H +#ifndef BITCOIN_BLOOM_H +#define BITCOIN_BLOOM_H #include "serialize.h" @@ -141,4 +141,4 @@ class CRollingBloomFilter int nHashFuncs; }; -#endif // RAVEN_BLOOM_H +#endif // BITCOIN_BLOOM_H diff --git a/src/chain.h b/src/chain.h index 65ec843299..e55276b822 100644 --- a/src/chain.h +++ b/src/chain.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CHAIN_H -#define RAVEN_CHAIN_H +#ifndef BITCOIN_CHAIN_H +#define BITCOIN_CHAIN_H #include "arith_uint256.h" #include "auxpow/auxpow.h" @@ -518,4 +518,4 @@ class CChain { CBlockIndex* FindEarliestAtLeast(int64_t nTime) const; }; -#endif // RAVEN_CHAIN_H +#endif // BITCOIN_CHAIN_H diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 41a8eea6f0..b78dc3dc49 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -231,7 +231,7 @@ class CMainParams : public CChainParams { 2700.0 // * estimated number of transactions per second after that timestamp }; - /** RVN Start **/ + /** BLAST Start **/ // Burn Amounts nIssueAssetBurnAmount = 500 * COIN; nReissueAssetBurnAmount = 100 * COIN; @@ -253,7 +253,7 @@ class CMainParams : public CChainParams { nMaxReorganizationDepth = 60; // 60 at 32 second block timespan is +/- 32 minutes. nMinReorganizationPeers = 4; nMinReorganizationAge = 60 * 60 * 12; // 12 hours - /** RVN End **/ + /** BLAST End **/ } }; @@ -299,7 +299,7 @@ class CTestNetParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008 consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008 consensus.vDeployments[Consensus::DEPLOYMENT_ASSETS].bit = 6; - consensus.vDeployments[Consensus::DEPLOYMENT_ASSETS].nStartTime = 1553495467; // GMT: Monday, March 25, 2019 6:31:07 AM + consensus.vDeployments[Consensus::DEPLOYMENT_ASSETS].nStartTime = 1553835600; // GMT: Friday, March 29, 2019 5:00:00 AM consensus.vDeployments[Consensus::DEPLOYMENT_ASSETS].nTimeout = 1584403653; // GMT: Tuesday, March 17, 2020 12:07:33 AM // Deployment of BIP68, BIP112, and BIP113. @@ -429,7 +429,7 @@ class CTestNetParams : public CChainParams { 1 // * estimated number of transactions per second after that timestamp }; - /** RVN Start **/ + /** BLAST Start **/ // Burn Amounts nIssueAssetBurnAmount = 2 * COIN; nReissueAssetBurnAmount = 1 * COIN; @@ -437,13 +437,13 @@ class CTestNetParams : public CChainParams { nIssueUniqueAssetBurnAmount = 1 * COIN; // Burn Addresses - strIssueAssetBurnAddress = "8bFeRHiDB7osjka9yHKt4nJquokEzrFya8"; // "n1issueAssetXXXXXXXXXXXXXXXXWdnemQ"; - strReissueAssetBurnAddress = "8bFeRHiDB7osjka9yHKt4nJquokEzrFya8"; // "n1ReissueAssetXXXXXXXXXXXXXXWG9NLd"; - strIssueSubAssetBurnAddress = "8bFeRHiDB7osjka9yHKt4nJquokEzrFya8"; // "n1issueSubAssetXXXXXXXXXXXXXbNiH6v"; - strIssueUniqueAssetBurnAddress = "8bFeRHiDB7osjka9yHKt4nJquokEzrFya8"; // "n1issueUniqueAssetXXXXXXXXXXS4695i"; + strIssueAssetBurnAddress = "8R6xzzuVcDWM4KM1xC47AgvWF3nGSp5E4b"; // "n1issueAssetXXXXXXXXXXXXXXXXWdnemQ"; + strReissueAssetBurnAddress = "8R6xzzuVcDWM4KM1xC47AgvWF3nGSp5E4b"; // "n1ReissueAssetXXXXXXXXXXXXXXWG9NLd"; + strIssueSubAssetBurnAddress = "8R6xzzuVcDWM4KM1xC47AgvWF3nGSp5E4b"; // "n1issueSubAssetXXXXXXXXXXXXXbNiH6v"; + strIssueUniqueAssetBurnAddress = "8R6xzzuVcDWM4KM1xC47AgvWF3nGSp5E4b"; // "n1issueUniqueAssetXXXXXXXXXXS4695i"; // Global Burn Address - strGlobalBurnAddress = "8bFeRHiDB7osjka9yHKt4nJquokEzrFya8"; // "n1BurnXXXXXXXXXXXXXXXXXXXXXXU1qejP"; + strGlobalBurnAddress = "8R6xzzuVcDWM4KM1xC47AgvWF3nGSp5E4b"; // "n1BurnXXXXXXXXXXXXXXXXXXXXXXU1qejP"; // DGW Activation nDGWActivationBlock = 0; @@ -451,7 +451,7 @@ class CTestNetParams : public CChainParams { nMaxReorganizationDepth = 60; // 60 at 32 second block timespan is +/- 32 minutes. nMinReorganizationPeers = 4; nMinReorganizationAge = 60 * 60 * 12; // 12 hours - /** RVN End **/ + /** BLAST End **/ } }; @@ -606,7 +606,7 @@ class CRegTestParams : public CChainParams { base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94}; - /** RVN Start **/ + /** BLAST Start **/ // Burn Amounts nIssueAssetBurnAmount = 500 * COIN; nReissueAssetBurnAmount = 100 * COIN; @@ -628,7 +628,7 @@ class CRegTestParams : public CChainParams { nMaxReorganizationDepth = 60; // 60 at 32 second block timespan is +/- 32 minutes. nMinReorganizationPeers = 4; nMinReorganizationAge = 60 * 60 * 12; // 12 hours - /** RVN End **/ + /** BLAST End **/ } }; diff --git a/src/chainparams.h b/src/chainparams.h index 01c903eb84..ff70a3487b 100644 --- a/src/chainparams.h +++ b/src/chainparams.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CHAINPARAMS_H -#define RAVEN_CHAINPARAMS_H +#ifndef BITCOIN_CHAINPARAMS_H +#define BITCOIN_CHAINPARAMS_H #include "chainparamsbase.h" #include "consensus/params.h" @@ -40,7 +40,7 @@ struct ChainTxData { /** * CChainParams defines various tweakable parameters of a given instance of the - * Raven system. There are three: the main network on which people trade goods + * BLAST system. There are three: the main network on which people trade goods * and services, the public test network which gets reset from time to time and * a regression test mode which is intended for private networks only. It has * minimal difficulty to ensure that blocks can be found instantly. @@ -89,7 +89,7 @@ class CChainParams bool BIP66(); bool CSVEnabled() const; - /** RVN Start **/ + /** BLAST Start **/ const CAmount& IssueAssetBurnAmount() const { return nIssueAssetBurnAmount; } const CAmount& ReissueAssetBurnAmount() const { return nReissueAssetBurnAmount; } const CAmount& IssueSubAssetBurnAmount() const { return nIssueSubAssetBurnAmount; } @@ -106,7 +106,7 @@ class CChainParams int MaxReorganizationDepth() const { return nMaxReorganizationDepth; } int MinReorganizationPeers() const { return nMinReorganizationPeers; } int MinReorganizationAge() const { return nMinReorganizationAge; } - /** RVN End **/ + /** BLAST End **/ protected: CChainParams() {} @@ -127,7 +127,7 @@ class CChainParams CCheckpointData checkpointData; ChainTxData chainTxData; - /** RVN Start **/ + /** BLAST Start **/ // Burn Amounts CAmount nIssueAssetBurnAmount; CAmount nReissueAssetBurnAmount; @@ -148,7 +148,7 @@ class CChainParams int nMaxReorganizationDepth; int nMinReorganizationPeers; int nMinReorganizationAge; - /** RVN End **/ + /** BLAST End **/ }; /** @@ -185,4 +185,4 @@ void TurnOffBIP66(); void TurnOffCSV(); -#endif // RAVEN_CHAINPARAMS_H +#endif // BITCOIN_CHAINPARAMS_H diff --git a/src/chainparamsbase.h b/src/chainparamsbase.h index de328a62e9..7f4ce0f596 100644 --- a/src/chainparamsbase.h +++ b/src/chainparamsbase.h @@ -3,16 +3,16 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CHAINPARAMSBASE_H -#define RAVEN_CHAINPARAMSBASE_H +#ifndef BITCOIN_CHAINPARAMSBASE_H +#define BITCOIN_CHAINPARAMSBASE_H #include #include #include /** - * CBaseChainParams defines the base parameters (shared between raven-cli and ravend) - * of a given instance of the Raven system. + * CBaseChainParams defines the base parameters (shared between blast-cli and blastd) + * of a given instance of the BLAST system. */ class CBaseChainParams { @@ -61,4 +61,4 @@ void SelectBaseParams(const std::string& chain); */ std::string ChainNameFromCommandLine(); -#endif // RAVEN_CHAINPARAMSBASE_H +#endif // BITCOIN_CHAINPARAMSBASE_H diff --git a/src/chainparamsseeds.h b/src/chainparamsseeds.h index 2a48da990f..455e3df5c1 100644 --- a/src/chainparamsseeds.h +++ b/src/chainparamsseeds.h @@ -1,7 +1,7 @@ -#ifndef RAVEN_CHAINPARAMSSEEDS_H -#define RAVEN_CHAINPARAMSSEEDS_H +#ifndef BITCOIN_CHAINPARAMSSEEDS_H +#define BITCOIN_CHAINPARAMSSEEDS_H /** - * List of fixed seed nodes for the raven network + * List of fixed seed nodes for the BLAST network * AUTOGENERATED by contrib/seeds/generate-seeds.py * * Each line contains a 16-byte IPv6 address and a port. @@ -21,4 +21,4 @@ static SeedSpec6 pnSeed6_test[] = { }; -#endif // RAVEN_CHAINPARAMSSEEDS_H +#endif // BITCOIN_CHAINPARAMSSEEDS_H diff --git a/src/checkpoints.h b/src/checkpoints.h index f15bad44a3..96e199e4b2 100644 --- a/src/checkpoints.h +++ b/src/checkpoints.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CHECKPOINTS_H -#define RAVEN_CHECKPOINTS_H +#ifndef BITCOIN_CHECKPOINTS_H +#define BITCOIN_CHECKPOINTS_H #include "uint256.h" @@ -25,4 +25,4 @@ CBlockIndex* GetLastCheckpoint(const CCheckpointData& data); } //namespace Checkpoints -#endif // RAVEN_CHECKPOINTS_H +#endif // BITCOIN_CHECKPOINTS_H diff --git a/src/checkqueue.h b/src/checkqueue.h index 56c7971aac..6bd4087e81 100644 --- a/src/checkqueue.h +++ b/src/checkqueue.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CHECKQUEUE_H -#define RAVEN_CHECKQUEUE_H +#ifndef BITCOIN_CHECKQUEUE_H +#define BITCOIN_CHECKQUEUE_H #include "sync.h" @@ -215,4 +215,4 @@ class CCheckQueueControl } }; -#endif // RAVEN_CHECKQUEUE_H +#endif // BITCOIN_CHECKQUEUE_H diff --git a/src/clientversion.h b/src/clientversion.h index aa2650ae34..f0dd2c52bd 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -3,16 +3,16 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CLIENTVERSION_H -#define RAVEN_CLIENTVERSION_H +#ifndef BITCOIN_CLIENTVERSION_H +#define BITCOIN_CLIENTVERSION_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif //HAVE_CONFIG_H // Check that required client information is defined #if !defined(CLIENT_VERSION_MAJOR) || !defined(CLIENT_VERSION_MINOR) || !defined(CLIENT_VERSION_REVISION) || !defined(CLIENT_VERSION_BUILD) || !defined(CLIENT_VERSION_IS_RELEASE) || !defined(COPYRIGHT_YEAR) -#error Client version information missing: version is not defined by raven-config.h or in any other way +#error Client version information missing: version is not defined by bitcoin-config.h or in any other way #endif /** @@ -26,7 +26,7 @@ #define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " " COPYRIGHT_HOLDERS_FINAL /** - * ravend-res.rc includes this file, but it cannot cope with real c++ code. + * bitcoind-res.rc includes this file, but it cannot cope with real c++ code. * WINDRES_PREPROC is defined to indicate that its pre-processor is running. * Anything other than a define should be guarded below. */ diff --git a/src/coins.cpp b/src/coins.cpp index cba38436cb..fe09da6add 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -97,7 +97,7 @@ void AddCoins(CCoinsViewCache& cache, const CTransaction &tx, int nHeight, uint2 bool fCoinbase = tx.IsCoinBase(); const uint256& txid = tx.GetHash(); - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (assetsCache) { if (tx.IsNewAsset()) { @@ -162,7 +162,7 @@ void AddCoins(CCoinsViewCache& cache, const CTransaction &tx, int nHeight, uint2 } } } - /** RVN END */ + /** BLAST END */ for (size_t i = 0; i < tx.vout.size(); ++i) { bool overwrite = check ? cache.HaveCoin(COutPoint(txid, i)) : fCoinbase; @@ -170,7 +170,7 @@ void AddCoins(CCoinsViewCache& cache, const CTransaction &tx, int nHeight, uint2 // deal with the pre-BIP30 occurrences of duplicate coinbase transactions. cache.AddCoin(COutPoint(txid, i), Coin(tx.vout[i], nHeight, fCoinbase), overwrite); - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (assetsCache) { if (tx.vout[i].scriptPubKey.IsTransferAsset() && !tx.vout[i].scriptPubKey.IsUnspendable()) { @@ -187,7 +187,7 @@ void AddCoins(CCoinsViewCache& cache, const CTransaction &tx, int nHeight, uint2 } } } - /** RVN END */ + /** BLAST END */ } } @@ -198,9 +198,9 @@ bool CCoinsViewCache::SpendCoin(const COutPoint &outpoint, Coin* moveout, CAsset return false; cachedCoinsUsage -= it->second.coin.DynamicMemoryUsage(); - /** RVN START */ + /** BLAST START */ Coin tempCoin = it->second.coin; - /** RVN END */ + /** BLAST END */ if (moveout) { *moveout = std::move(it->second.coin); @@ -212,7 +212,7 @@ bool CCoinsViewCache::SpendCoin(const COutPoint &outpoint, Coin* moveout, CAsset it->second.coin.Clear(); } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (assetsCache) { if (!assetsCache->TrySpendCoin(outpoint, tempCoin.out)) { @@ -220,7 +220,7 @@ bool CCoinsViewCache::SpendCoin(const COutPoint &outpoint, Coin* moveout, CAsset } } } - /** RVN END */ + /** BLAST END */ return true; } diff --git a/src/coins.h b/src/coins.h index 168c97d9f3..63c730e4e3 100644 --- a/src/coins.h +++ b/src/coins.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_COINS_H -#define RAVEN_COINS_H +#ifndef BITCOIN_COINS_H +#define BITCOIN_COINS_H #include "primitives/transaction.h" #include "compressor.h" @@ -288,7 +288,7 @@ class CCoinsViewCache : public CCoinsViewBacked size_t DynamicMemoryUsage() const; /** - * Amount of ravens coming in to a transaction + * Amount of BLAST 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. * @@ -318,4 +318,4 @@ void AddCoins(CCoinsViewCache& cache, const CTransaction& tx, int nHeight, uint2 // lookups to database, so it should be used with care. const Coin& AccessByTxid(const CCoinsViewCache& cache, const uint256& txid); -#endif // RAVEN_COINS_H +#endif // BITCOIN_COINS_H diff --git a/src/compat.h b/src/compat.h index 38df14634f..b0b7d8ff38 100644 --- a/src/compat.h +++ b/src/compat.h @@ -4,11 +4,11 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_COMPAT_H -#define RAVEN_COMPAT_H +#ifndef BITCOIN_COMPAT_H +#define BITCOIN_COMPAT_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #ifdef WIN32 @@ -101,4 +101,4 @@ bool static inline IsSelectableSocket(const SOCKET& s) { #endif } -#endif // RAVEN_COMPAT_H +#endif // BITCOIN_COMPAT_H diff --git a/src/compat/byteswap.h b/src/compat/byteswap.h index c97f73f5d8..b04ee284ee 100644 --- a/src/compat/byteswap.h +++ b/src/compat/byteswap.h @@ -3,11 +3,11 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_COMPAT_BYTESWAP_H -#define RAVEN_COMPAT_BYTESWAP_H +#ifndef BITCOIN_COMPAT_BYTESWAP_H +#define BITCOIN_COMPAT_BYTESWAP_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include @@ -64,4 +64,4 @@ inline uint64_t bswap_64(uint64_t x) #endif // defined(__APPLE__) -#endif // RAVEN_COMPAT_BYTESWAP_H +#endif // BITCOIN_COMPAT_BYTESWAP_H diff --git a/src/compat/endian.h b/src/compat/endian.h index 8a9a17cdba..2cf7c511dd 100644 --- a/src/compat/endian.h +++ b/src/compat/endian.h @@ -3,11 +3,11 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_COMPAT_ENDIAN_H -#define RAVEN_COMPAT_ENDIAN_H +#ifndef BITCOIN_COMPAT_ENDIAN_H +#define BITCOIN_COMPAT_ENDIAN_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "compat/byteswap.h" @@ -194,4 +194,4 @@ inline uint64_t le64toh(uint64_t little_endian_64bits) #endif // WORDS_BIGENDIAN -#endif // RAVEN_COMPAT_ENDIAN_H +#endif // BITCOIN_COMPAT_ENDIAN_H diff --git a/src/compat/glibc_compat.cpp b/src/compat/glibc_compat.cpp index 01e4f7e663..c0e8d7cd62 100644 --- a/src/compat/glibc_compat.cpp +++ b/src/compat/glibc_compat.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include diff --git a/src/compat/glibc_sanity.cpp b/src/compat/glibc_sanity.cpp index 3a02369b31..6d159b653b 100644 --- a/src/compat/glibc_sanity.cpp +++ b/src/compat/glibc_sanity.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include diff --git a/src/compat/sanity.h b/src/compat/sanity.h index deed4c29e6..999379f064 100644 --- a/src/compat/sanity.h +++ b/src/compat/sanity.h @@ -3,10 +3,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_COMPAT_SANITY_H -#define RAVEN_COMPAT_SANITY_H +#ifndef BITCOIN_COMPAT_SANITY_H +#define BITCOIN_COMPAT_SANITY_H bool glibc_sanity_test(); bool glibcxx_sanity_test(); -#endif // RAVEN_COMPAT_SANITY_H +#endif // BITCOIN_COMPAT_SANITY_H diff --git a/src/compat/strnlen.cpp b/src/compat/strnlen.cpp index be6fe34df0..90d01edc74 100644 --- a/src/compat/strnlen.cpp +++ b/src/compat/strnlen.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include diff --git a/src/compressor.h b/src/compressor.h index f8ac595046..88f6ab8447 100644 --- a/src/compressor.h +++ b/src/compressor.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_COMPRESSOR_H -#define RAVEN_COMPRESSOR_H +#ifndef BITCOIN_COMPRESSOR_H +#define BITCOIN_COMPRESSOR_H #include "primitives/transaction.h" #include "script/script.h" @@ -119,4 +119,4 @@ class CTxOutCompressor } }; -#endif // RAVEN_COMPRESSOR_H +#endif // BITCOIN_COMPRESSOR_H diff --git a/src/consensus/consensus.h b/src/consensus/consensus.h index 75d708aa6d..1a1d969865 100644 --- a/src/consensus/consensus.h +++ b/src/consensus/consensus.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CONSENSUS_CONSENSUS_H -#define RAVEN_CONSENSUS_CONSENSUS_H +#ifndef BITCOIN_CONSENSUS_CONSENSUS_H +#define BITCOIN_CONSENSUS_CONSENSUS_H #include #include @@ -48,4 +49,4 @@ enum { LOCKTIME_MEDIAN_TIME_PAST = (1 << 1), }; -#endif // RAVEN_CONSENSUS_CONSENSUS_H +#endif // BITCOIN_CONSENSUS_CONSENSUS_H diff --git a/src/consensus/merkle.h b/src/consensus/merkle.h index 8f85c7e76a..7d82632b53 100644 --- a/src/consensus/merkle.h +++ b/src/consensus/merkle.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_MERKLE -#define RAVEN_MERKLE +#ifndef BITCOIN_MERKLE +#define BITCOIN_MERKLE #include #include diff --git a/src/consensus/params.h b/src/consensus/params.h index 0da0ddc920..304b57ba32 100644 --- a/src/consensus/params.h +++ b/src/consensus/params.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CONSENSUS_PARAMS_H -#define RAVEN_CONSENSUS_PARAMS_H +#ifndef BITCOIN_CONSENSUS_PARAMS_H +#define BITCOIN_CONSENSUS_PARAMS_H #include "uint256.h" #include @@ -57,7 +58,7 @@ struct Params { /** Block height at which BIP66 becomes active */ // int BIP66Height; - /** AuxPow starting height for Ravencoin */ + /** AuxPow starting height for BLAST */ int nAuxPowStartHeight; /** @@ -94,4 +95,4 @@ struct Params { }; } // namespace Consensus -#endif // RAVEN_CONSENSUS_PARAMS_H +#endif // BITCOIN_CONSENSUS_PARAMS_H diff --git a/src/consensus/tx_verify.cpp b/src/consensus/tx_verify.cpp index e92091097c..921040ba77 100644 --- a/src/consensus/tx_verify.cpp +++ b/src/consensus/tx_verify.cpp @@ -185,14 +185,14 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state, CAssetsCa if (!MoneyRange(nValueOut)) return state.DoS(100, false, REJECT_INVALID, "bad-txns-txouttotal-toolarge"); - /** RVN START */ + /** BLAST START */ bool isAsset = false; int nType; bool fIsOwner; if (txout.scriptPubKey.IsAssetScript(nType, fIsOwner)) isAsset = true; - // Make sure that all asset tx have a nValue of zero RVN + // Make sure that all asset tx have a nValue of zero BLAST if (isAsset && txout.nValue != 0) return state.DoS(100, false, REJECT_INVALID, "bad-txns-asset-tx-amount-isn't-zero"); @@ -231,7 +231,7 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state, CAssetsCa } } } - /** RVN END */ + /** BLAST END */ if (fCheckDuplicateInputs) { std::set vInOutPoints; @@ -254,7 +254,7 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state, CAssetsCa return state.DoS(10, false, REJECT_INVALID, "bad-txns-prevout-null"); } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (assetCache) { if (tx.IsNewAsset()) { @@ -314,7 +314,7 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state, CAssetsCa } } else { // Fail if transaction contains any non-transfer asset scripts and hasn't conformed to one of the - // above transaction types. Also fail if it contains OP_RVN_ASSET opcode but wasn't a valid script. + // above transaction types. Also fail if it contains OP_BLAST_ASSET opcode but wasn't a valid script. for (auto out : tx.vout) { int nType; bool _isOwner; @@ -323,7 +323,7 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state, CAssetsCa return state.DoS(100, false, REJECT_INVALID, "bad-txns-bad-asset-transaction"); } } else { - if (out.scriptPubKey.Find(OP_RVN_ASSET) > 0) { + if (out.scriptPubKey.Find(OP_BLAST_ASSET) > 0) { return state.DoS(100, false, REJECT_INVALID, "bad-txns-bad-asset-script"); } } @@ -331,7 +331,7 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state, CAssetsCa } } } - /** RVN END */ + /** BLAST END */ return true; } diff --git a/src/consensus/tx_verify.h b/src/consensus/tx_verify.h index 530d006da8..abc91932b3 100644 --- a/src/consensus/tx_verify.h +++ b/src/consensus/tx_verify.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CONSENSUS_TX_VERIFY_H -#define RAVEN_CONSENSUS_TX_VERIFY_H +#ifndef BITCOIN_CONSENSUS_TX_VERIFY_H +#define BITCOIN_CONSENSUS_TX_VERIFY_H #include "amount.h" @@ -34,9 +34,9 @@ namespace Consensus { */ bool CheckTxInputs(const CTransaction& tx, CValidationState& state, const CCoinsViewCache& inputs, int nSpendHeight, CAmount& txfee); -/** RVN START */ +/** BLAST START */ bool CheckTxAssets(const CTransaction& tx, CValidationState& state, const CCoinsViewCache& inputs, std::vector >& vPairReissueAssets, const bool fRunningUnitTests = false); -/** RVN END */ +/** BLAST END */ } // namespace Consensus /** Auxiliary functions for transaction validation (ideally should not be exposed) */ @@ -87,4 +87,4 @@ bool EvaluateSequenceLocks(const CBlockIndex& block, std::pair loc */ bool SequenceLocks(const CTransaction &tx, int flags, std::vector* prevHeights, const CBlockIndex& block); -#endif // RAVEN_CONSENSUS_TX_VERIFY_H +#endif // BITCOIN_CONSENSUS_TX_VERIFY_H diff --git a/src/consensus/validation.h b/src/consensus/validation.h index 76d78708b3..496b6aec69 100644 --- a/src/consensus/validation.h +++ b/src/consensus/validation.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CONSENSUS_VALIDATION_H -#define RAVEN_CONSENSUS_VALIDATION_H +#ifndef BITCOIN_CONSENSUS_VALIDATION_H +#define BITCOIN_CONSENSUS_VALIDATION_H #include #include "version.h" @@ -22,9 +22,9 @@ static const unsigned char REJECT_NONSTANDARD = 0x40; // static const unsigned char REJECT_DUST = 0x41; // part of BIP 61 static const unsigned char REJECT_INSUFFICIENTFEE = 0x42; static const unsigned char REJECT_CHECKPOINT = 0x43; -/** RVN START */ +/** BLAST START */ static const unsigned char REJECT_MAXREORGDEPTH = 0x44; -/** RVN END */ +/** BLAST END */ /** Capture information about block/transaction validation */ class CValidationState { @@ -106,4 +106,4 @@ static inline int64_t GetBlockWeight(const CBlock& block) return ::GetSerializeSize(block, SER_NETWORK, PROTOCOL_VERSION | SERIALIZE_TRANSACTION_NO_WITNESS) * (WITNESS_SCALE_FACTOR - 1) + ::GetSerializeSize(block, SER_NETWORK, PROTOCOL_VERSION); } -#endif // RAVEN_CONSENSUS_VALIDATION_H +#endif // BITCOIN_CONSENSUS_VALIDATION_H diff --git a/src/core_io.h b/src/core_io.h index 03645fa2c8..429188c6ad 100644 --- a/src/core_io.h +++ b/src/core_io.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CORE_IO_H -#define RAVEN_CORE_IO_H +#ifndef BITCOIN_CORE_IO_H +#define BITCOIN_CORE_IO_H #include "amount.h" @@ -36,4 +36,4 @@ std::string EncodeHexTx(const CTransaction& tx, const int serializeFlags = 0); void ScriptPubKeyToUniv(const CScript& scriptPubKey, UniValue& out, bool fIncludeHex); void TxToUniv(const CTransaction& tx, const uint256& hashBlock, UniValue& entry, bool include_hex = true, int serialize_flags = 0); -#endif // RAVEN_CORE_IO_H +#endif // BITCOIN_CORE_IO_H diff --git a/src/core_memusage.h b/src/core_memusage.h index cc0856ced3..fcfa9cbb26 100644 --- a/src/core_memusage.h +++ b/src/core_memusage.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CORE_MEMUSAGE_H -#define RAVEN_CORE_MEMUSAGE_H +#ifndef BITCOIN_CORE_MEMUSAGE_H +#define BITCOIN_CORE_MEMUSAGE_H #include "primitives/transaction.h" #include "primitives/block.h" @@ -69,4 +69,4 @@ static inline size_t RecursiveDynamicUsage(const std::shared_ptr& p) { return p ? memusage::DynamicUsage(p) + RecursiveDynamicUsage(*p) : 0; } -#endif // RAVEN_CORE_MEMUSAGE_H +#endif // BITCOIN_CORE_MEMUSAGE_H diff --git a/src/core_write.cpp b/src/core_write.cpp index b74e0b1302..b62c6ce72d 100644 --- a/src/core_write.cpp +++ b/src/core_write.cpp @@ -166,7 +166,7 @@ void ScriptPubKeyToUniv(const CScript& scriptPubKey, out.pushKV("reqSigs", nRequired); out.pushKV("type", GetTxnOutputType(type)); - /** RVN START */ + /** BLAST START */ if (type == TX_NEW_ASSET || type == TX_TRANSFER_ASSET || type == TX_REISSUE_ASSET) { UniValue assetInfo(UniValue::VOBJ); @@ -212,7 +212,7 @@ void ScriptPubKeyToUniv(const CScript& scriptPubKey, out.pushKV("asset", assetInfo); } - /** RVN END */ + /** BLAST END */ UniValue a(UniValue::VARR); for (const CTxDestination& addr : addresses) { diff --git a/src/crypto/aes.h b/src/crypto/aes.h index c1a898816c..6c4d4d3836 100644 --- a/src/crypto/aes.h +++ b/src/crypto/aes.h @@ -5,8 +5,8 @@ // // C++ wrapper around ctaes, a constant-time AES implementation -#ifndef RAVEN_CRYPTO_AES_H -#define RAVEN_CRYPTO_AES_H +#ifndef BITCOIN_CRYPTO_AES_H +#define BITCOIN_CRYPTO_AES_H extern "C" { #include "crypto/ctaes/ctaes.h" @@ -116,4 +116,4 @@ class AES128CBCDecrypt unsigned char iv[AES_BLOCKSIZE]; }; -#endif // RAVEN_CRYPTO_AES_H +#endif // BITCOIN_CRYPTO_AES_H diff --git a/src/crypto/chacha20.h b/src/crypto/chacha20.h index 159a196418..4d036fc8c0 100644 --- a/src/crypto/chacha20.h +++ b/src/crypto/chacha20.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_CHACHA20_H -#define RAVEN_CRYPTO_CHACHA20_H +#ifndef BITCOIN_CRYPTO_CHACHA20_H +#define BITCOIN_CRYPTO_CHACHA20_H #include #include @@ -24,4 +24,4 @@ class ChaCha20 void Output(unsigned char* output, size_t bytes); }; -#endif // RAVEN_CRYPTO_CHACHA20_H +#endif // BITCOIN_CRYPTO_CHACHA20_H diff --git a/src/crypto/common.h b/src/crypto/common.h index a5fd980ccc..ab0bad8a14 100644 --- a/src/crypto/common.h +++ b/src/crypto/common.h @@ -3,11 +3,11 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_COMMON_H -#define RAVEN_CRYPTO_COMMON_H +#ifndef BITCOIN_CRYPTO_COMMON_H +#define BITCOIN_CRYPTO_COMMON_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include @@ -101,4 +101,4 @@ uint64_t static inline CountBits(uint64_t x) return ret; } -#endif // RAVEN_CRYPTO_COMMON_H +#endif // BITCOIN_CRYPTO_COMMON_H diff --git a/src/crypto/hmac_sha256.h b/src/crypto/hmac_sha256.h index d5a5005ca0..02ebd661de 100644 --- a/src/crypto/hmac_sha256.h +++ b/src/crypto/hmac_sha256.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_HMAC_SHA256_H -#define RAVEN_CRYPTO_HMAC_SHA256_H +#ifndef BITCOIN_CRYPTO_HMAC_SHA256_H +#define BITCOIN_CRYPTO_HMAC_SHA256_H #include "crypto/sha256.h" @@ -30,4 +30,4 @@ class CHMAC_SHA256 void Finalize(unsigned char hash[OUTPUT_SIZE]); }; -#endif // RAVEN_CRYPTO_HMAC_SHA256_H +#endif // BITCOIN_CRYPTO_HMAC_SHA256_H diff --git a/src/crypto/hmac_sha512.h b/src/crypto/hmac_sha512.h index 922079feb4..38604ed9b4 100644 --- a/src/crypto/hmac_sha512.h +++ b/src/crypto/hmac_sha512.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_HMAC_SHA512_H -#define RAVEN_CRYPTO_HMAC_SHA512_H +#ifndef BITCOIN_CRYPTO_HMAC_SHA512_H +#define BITCOIN_CRYPTO_HMAC_SHA512_H #include "crypto/sha512.h" @@ -30,4 +30,4 @@ class CHMAC_SHA512 void Finalize(unsigned char hash[OUTPUT_SIZE]); }; -#endif // RAVEN_CRYPTO_HMAC_SHA512_H +#endif // BITCOIN_CRYPTO_HMAC_SHA512_H diff --git a/src/crypto/ripemd160.h b/src/crypto/ripemd160.h index ac58404279..77f463d856 100644 --- a/src/crypto/ripemd160.h +++ b/src/crypto/ripemd160.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_RIPEMD160_H -#define RAVEN_CRYPTO_RIPEMD160_H +#ifndef BITCOIN_CRYPTO_RIPEMD160_H +#define BITCOIN_CRYPTO_RIPEMD160_H #include #include @@ -26,4 +26,4 @@ class CRIPEMD160 CRIPEMD160& Reset(); }; -#endif // RAVEN_CRYPTO_RIPEMD160_H +#endif // BITCOIN_CRYPTO_RIPEMD160_H diff --git a/src/crypto/sha1.h b/src/crypto/sha1.h index 5409736782..400dcd1421 100644 --- a/src/crypto/sha1.h +++ b/src/crypto/sha1.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_SHA1_H -#define RAVEN_CRYPTO_SHA1_H +#ifndef BITCOIN_CRYPTO_SHA1_H +#define BITCOIN_CRYPTO_SHA1_H #include #include @@ -26,4 +26,4 @@ class CSHA1 CSHA1& Reset(); }; -#endif // RAVEN_CRYPTO_SHA1_H +#endif // BITCOIN_CRYPTO_SHA1_H diff --git a/src/crypto/sha256.h b/src/crypto/sha256.h index f546e4c735..45d107bb95 100644 --- a/src/crypto/sha256.h +++ b/src/crypto/sha256.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_SHA256_H -#define RAVEN_CRYPTO_SHA256_H +#ifndef BITCOIN_CRYPTO_SHA256_H +#define BITCOIN_CRYPTO_SHA256_H #include #include @@ -32,4 +32,4 @@ class CSHA256 */ std::string SHA256AutoDetect(); -#endif // RAVEN_CRYPTO_SHA256_H +#endif // BITCOIN_CRYPTO_SHA256_H diff --git a/src/crypto/sha512.h b/src/crypto/sha512.h index db75fed04e..ba7db8fe79 100644 --- a/src/crypto/sha512.h +++ b/src/crypto/sha512.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CRYPTO_SHA512_H -#define RAVEN_CRYPTO_SHA512_H +#ifndef BITCOIN_CRYPTO_SHA512_H +#define BITCOIN_CRYPTO_SHA512_H #include #include @@ -26,4 +26,4 @@ class CSHA512 CSHA512& Reset(); }; -#endif // RAVEN_CRYPTO_SHA512_H +#endif // BITCOIN_CRYPTO_SHA512_H diff --git a/src/cuckoocache.h b/src/cuckoocache.h index 72c69d31e7..947e1a7185 100644 --- a/src/cuckoocache.h +++ b/src/cuckoocache.h @@ -2,8 +2,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CUCKOOCACHE_H -#define RAVEN_CUCKOOCACHE_H +#ifndef BITCOIN_CUCKOOCACHE_H +#define BITCOIN_CUCKOOCACHE_H #include #include @@ -478,4 +478,4 @@ class cache }; } // namespace CuckooCache -#endif // RAVEN_CUCKOOCACHE_H +#endif // BITCOIN_CUCKOOCACHE_H diff --git a/src/dbwrapper.cpp b/src/dbwrapper.cpp index 4c02318387..f905268c1f 100644 --- a/src/dbwrapper.cpp +++ b/src/dbwrapper.cpp @@ -16,7 +16,7 @@ #include #include -class CRavenLevelDBLogger : public leveldb::Logger { +class CBitcoinLevelDBLogger : public leveldb::Logger { public: // This code is adapted from posix_logger.h, which is why it is using vsprintf. // Please do not do this in normal code @@ -106,7 +106,7 @@ static leveldb::Options GetOptions(size_t nCacheSize, size_t maxFileSize) options.write_buffer_size = nCacheSize / 4; // up to two write buffers may be held in memory simultaneously options.filter_policy = leveldb::NewBloomFilterPolicy(10); options.compression = leveldb::kNoCompression; - options.info_log = new CRavenLevelDBLogger(); + options.info_log = new CBitcoinLevelDBLogger(); options.max_file_size = maxFileSize; if (leveldb::kMajorVersion > 1 || (leveldb::kMajorVersion == 1 && leveldb::kMinorVersion >= 16)) { // LevelDB versions before 1.16 consider short writes to be corruption. Only trigger error diff --git a/src/dbwrapper.h b/src/dbwrapper.h index d537bf18d9..d98b351db5 100644 --- a/src/dbwrapper.h +++ b/src/dbwrapper.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_DBWRAPPER_H -#define RAVEN_DBWRAPPER_H +#ifndef BITCOIN_DBWRAPPER_H +#define BITCOIN_DBWRAPPER_H #include "clientversion.h" #include "fs.h" @@ -341,4 +341,4 @@ class CDBWrapper }; -#endif // RAVEN_DBWRAPPER_H +#endif // BITCOIN_DBWRAPPER_H diff --git a/src/fs.h b/src/fs.h index e619ed257d..b489ad2c35 100644 --- a/src/fs.h +++ b/src/fs.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_FS_H -#define RAVEN_FS_H +#ifndef BITCOIN_FS_H +#define BITCOIN_FS_H #include #include @@ -22,4 +22,4 @@ namespace fsbridge { FILE *freopen(const fs::path& p, const char *mode, FILE *stream); }; -#endif // RAVEN_FS_H +#endif // BITCOIN_FS_H diff --git a/src/hash.h b/src/hash.h index f986932569..0d00d46942 100644 --- a/src/hash.h +++ b/src/hash.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_HASH_H -#define RAVEN_HASH_H +#ifndef BITCOIN_HASH_H +#define BITCOIN_HASH_H #include #include #include "crypto/ripemd160.h" @@ -72,7 +72,7 @@ GLOBAL sph_echo512_context z_echo; #define ZJH (memcpy(&ctx_jh, &z_jh, sizeof(z_jh))) #define ZKECCAK (memcpy(&ctx_keccak, &z_keccak, sizeof(z_keccak))) #define ZSKEIN (memcpy(&ctx_skein, &z_skein, sizeof(z_skein))) -/** A hasher class for Raven's 256-bit hash (double SHA-256). */ +/** A hasher class for Bitcoin's 256-bit hash (double SHA-256). */ class CHash256 { private: CSHA256 sha; @@ -96,7 +96,7 @@ class CHash256 { } }; -/** A hasher class for Raven's 160-bit hash (SHA-256 + RIPEMD-160). */ +/** A hasher class for Bitcoin's 160-bit hash (SHA-256 + RIPEMD-160). */ class CHash160 { private: CSHA256 sha; @@ -486,4 +486,4 @@ inline uint256 HashX16R(const T1 pbegin, const T1 pend, const uint256 PrevBlockH } -#endif // RAVEN_HASH_H +#endif // BITCOIN_HASH_H diff --git a/src/httprpc.h b/src/httprpc.h index b3697f51ca..3922c3e0d3 100644 --- a/src/httprpc.h +++ b/src/httprpc.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_HTTPRPC_H -#define RAVEN_HTTPRPC_H +#ifndef BITCOIN_HTTPRPC_H +#define BITCOIN_HTTPRPC_H #include #include diff --git a/src/httpserver.h b/src/httpserver.h index 702a9f55dc..78b990fb42 100644 --- a/src/httpserver.h +++ b/src/httpserver.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_HTTPSERVER_H -#define RAVEN_HTTPSERVER_H +#ifndef BITCOIN_HTTPSERVER_H +#define BITCOIN_HTTPSERVER_H #include #include @@ -151,4 +151,4 @@ class HTTPEvent std::string urlDecode(const std::string &urlEncoded); -#endif // RAVEN_HTTPSERVER_H +#endif // BITCOIN_HTTPSERVER_H diff --git a/src/indirectmap.h b/src/indirectmap.h index 52599e8f7b..17ad2f7c52 100644 --- a/src/indirectmap.h +++ b/src/indirectmap.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_INDIRECTMAP_H -#define RAVEN_INDIRECTMAP_H +#ifndef BITCOIN_INDIRECTMAP_H +#define BITCOIN_INDIRECTMAP_H template struct DereferencingComparator { bool operator()(const T a, const T b) const { return *a < *b; } }; @@ -54,4 +54,4 @@ class indirectmap { const_iterator cend() const { return m.cend(); } }; -#endif // RAVEN_INDIRECTMAP_H +#endif // BITCOIN_INDIRECTMAP_H diff --git a/src/init.cpp b/src/init.cpp index 5f7978da71..1eb78dbead 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -5,7 +5,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "init.h" @@ -135,7 +135,7 @@ bool ShutdownRequested() /** * This is a minimally invasive approach to shutdown on LevelDB read errors from the * chainstate, while keeping user interface out of the common library, which is shared - * between ravend, and raven-qt and non-server tools. + * between blastd, and blast-qt and non-server tools. */ class CCoinsViewErrorCatcher final : public CCoinsViewBacked { @@ -184,7 +184,7 @@ void Shutdown() /// for example if the data directory was found to be locked. /// Be sure that anything that writes files or flushes caches only does this if the respective /// module was initialized. - RenameThread("raven-shutoff"); + RenameThread("blast-shutoff"); mempool.AddTransactionsUpdated(1); StopHTTPRPC(); @@ -194,7 +194,7 @@ void Shutdown() #ifdef ENABLE_WALLET FlushWallets(); #endif - GenerateRavens(false, 0, Params()); + GenerateBitcoins(false, 0, Params()); MapPort(false); @@ -343,8 +343,8 @@ std::string HelpMessage(HelpMessageMode mode) if (showDebug) strUsage += HelpMessageOpt("-blocksonly", strprintf(_("Whether to operate in a blocks only mode (default: %u)"), DEFAULT_BLOCKSONLY)); strUsage +=HelpMessageOpt("-assumevalid=", strprintf(_("If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: %s, testnet: %s)"), defaultChainParams->GetConsensus().defaultAssumeValid.GetHex(), testnetChainParams->GetConsensus().defaultAssumeValid.GetHex())); - strUsage += HelpMessageOpt("-conf=", strprintf(_("Specify configuration file (default: %s)"), RAVEN_CONF_FILENAME)); - if (mode == HMM_RAVEND) + strUsage += HelpMessageOpt("-conf=", strprintf(_("Specify configuration file (default: %s)"), BITCOIN_CONF_FILENAME)); + if (mode == HMM_BITCOIND) { #if HAVE_DECL_DAEMON strUsage += HelpMessageOpt("-daemon", _("Run in the background as a daemon and accept commands")); @@ -372,7 +372,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-par=", strprintf(_("Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)"), -GetNumCores(), MAX_SCRIPTCHECK_THREADS, DEFAULT_SCRIPTCHECK_THREADS)); #ifndef WIN32 - strUsage += HelpMessageOpt("-pid=", strprintf(_("Specify pid file (default: %s)"), RAVEN_PID_FILENAME)); + strUsage += HelpMessageOpt("-pid=", strprintf(_("Specify pid file (default: %s)"), BITCOIN_PID_FILENAME)); #endif strUsage += HelpMessageOpt("-prune=", strprintf(_("Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. " "Warning: Reverting this setting requires re-downloading the entire blockchain. " @@ -531,8 +531,8 @@ std::string HelpMessage(HelpMessageMode mode) std::string LicenseInfo() { - const std::string URL_SOURCE_CODE = ""; - const std::string URL_WEBSITE = ""; + const std::string URL_SOURCE_CODE = ""; + const std::string URL_WEBSITE = ""; return CopyrightHolders(strprintf(_("Copyright (C) %i-%i"), 2009, COPYRIGHT_YEAR) + " ") + "\n" + "\n" + @@ -636,7 +636,7 @@ void CleanupBlockRevFiles() void ThreadImport(std::vector vImportFiles) { const CChainParams& chainparams = Params(); - RenameThread("raven-loadblk"); + RenameThread("blast-loadblk"); { CImportingNow imp; @@ -706,7 +706,7 @@ void ThreadImport(std::vector vImportFiles) } /** Sanity checks - * Ensure that Raven is running in a usable environment with all + * Ensure that BLAST is running in a usable environment with all * necessary library support. */ bool InitSanityCheck(void) @@ -830,7 +830,7 @@ void InitLogging() fLogIPs = gArgs.GetBoolArg("-logips", DEFAULT_LOGIPS); LogPrintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); - LogPrintf("Raven version %s\n", FormatFullVersion()); + LogPrintf("BLAST version %s\n", FormatFullVersion()); } namespace { // Variables internal to initialization process only @@ -1171,7 +1171,7 @@ static bool LockDataDirectory(bool probeOnly) { std::string strDataDir = GetDataDir().string(); - // Make sure only a single Raven process is using the data directory. + // Make sure only a single BLAST process is using the data directory. fs::path pathLockFile = GetDataDir() / ".lock"; FILE* file = fsbridge::fopen(pathLockFile, "a"); // empty lock file; created if it doesn't exist. if (file) fclose(file); @@ -1243,7 +1243,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler) LogPrintf("Startup time: %s\n", DateTimeStrFormat("%Y-%m-%d %H:%M:%S", GetTime())); LogPrintf("Default data directory %s\n", GetDefaultDataDir().string()); LogPrintf("Using data directory %s\n", GetDataDir().string()); - LogPrintf("Using config file %s\n", GetConfigFile(gArgs.GetArg("-conf", RAVEN_CONF_FILENAME)).string()); + LogPrintf("Using config file %s\n", GetConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME)).string()); LogPrintf("Using at most %i automatic connections (%i file descriptors available)\n", nMaxConnections, nFD); InitSignatureCache(); @@ -1283,7 +1283,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler) bool fGenerate = gArgs.GetBoolArg("-regtest", false) ? false : DEFAULT_GENERATE; // Generate coins in the background - GenerateRavens(fGenerate, gArgs.GetArg("-genproclimit", DEFAULT_GENERATE_THREADS), chainparams); + GenerateBitcoins(fGenerate, gArgs.GetArg("-genproclimit", DEFAULT_GENERATE_THREADS), chainparams); // ********************************************************* Step 6: network initialization // Note that we absolutely cannot open any actual connections diff --git a/src/init.h b/src/init.h index 343273edba..b4cbb52fb6 100644 --- a/src/init.h +++ b/src/init.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_INIT_H -#define RAVEN_INIT_H +#ifndef BITCOIN_INIT_H +#define BITCOIN_INIT_H #include @@ -33,7 +33,7 @@ void InitLogging(); //!Parameter interaction: change current parameters depending on various rules void InitParameterInteraction(); -/** Initialize raven core: Basic context setup. +/** Initialize BLAST core: Basic context setup. * @note This can be done before daemonization. Do not call Shutdown() if this function fails. * @pre Parameters should be parsed and config file should be read. */ @@ -54,14 +54,14 @@ bool AppInitParameterInteraction(); bool AppInitSanityChecks(); /** - * Lock raven core data directory. + * Lock BLAST core data directory. * @note This should only be done after daemonization. Do not call Shutdown() if this function fails. * @pre Parameters should be parsed and config file should be read, AppInitSanityChecks should have been called. */ bool AppInitLockDataDirectory(); /** - * Raven core main initialization. + * BLAST core main initialization. * @note This should only be done after daemonization. Call Shutdown() if this function fails. * @pre Parameters should be parsed and config file should be read, AppInitLockDataDirectory should have been called. */ @@ -70,8 +70,8 @@ bool AppInitMain(boost::thread_group &threadGroup, CScheduler &scheduler); /** The help message mode determines what help message to show */ enum HelpMessageMode { - HMM_RAVEND, - HMM_RAVEN_QT + HMM_BITCOIND, + HMM_BITCOIN_QT }; /** Help for options shared between UI and daemon (for -help) */ @@ -80,4 +80,4 @@ std::string HelpMessage(HelpMessageMode mode); /** Returns licensing information (for -version) */ std::string LicenseInfo(); -#endif // RAVEN_INIT_H +#endif // BITCOIN_INIT_H diff --git a/src/key.h b/src/key.h index d72402c0c3..95619ee0c5 100644 --- a/src/key.h +++ b/src/key.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_KEY_H -#define RAVEN_KEY_H +#ifndef BITCOIN_KEY_H +#define BITCOIN_KEY_H #include "pubkey.h" #include "serialize.h" @@ -184,4 +184,4 @@ void ECC_Stop(void); /** Check that required EC support is available at runtime. */ bool ECC_InitSanityCheck(void); -#endif // RAVEN_KEY_H +#endif // BITCOIN_KEY_H diff --git a/src/keystore.h b/src/keystore.h index 37eef289b2..88d582db69 100644 --- a/src/keystore.h +++ b/src/keystore.h @@ -4,8 +4,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_KEYSTORE_H -#define RAVEN_KEYSTORE_H +#ifndef BITCOIN_KEYSTORE_H +#define BITCOIN_KEYSTORE_H #include "key.h" #include "pubkey.h" @@ -34,7 +34,7 @@ class CKeyStore virtual std::set GetKeys() const =0; virtual bool GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const =0; - //! Support for BIP 0013 : see https://github.com/raven/bips/blob/master/bip-0013.mediawiki + //! Support for BIP 0013 : see https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki virtual bool AddCScript(const CScript& redeemScript) =0; virtual bool HaveCScript(const CScriptID &hash) const =0; virtual bool GetCScript(const CScriptID &hash, CScript& redeemScriptOut) const =0; @@ -107,4 +107,4 @@ class CBasicKeyStore : public CKeyStore typedef std::vector > CKeyingMaterial; typedef std::map > > CryptedKeyMap; -#endif // RAVEN_KEYSTORE_H +#endif // BITCOIN_KEYSTORE_H diff --git a/src/limitedmap.h b/src/limitedmap.h index 89d8b86fb7..3ad5d0422e 100644 --- a/src/limitedmap.h +++ b/src/limitedmap.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_LIMITEDMAP_H -#define RAVEN_LIMITEDMAP_H +#ifndef BITCOIN_LIMITEDMAP_H +#define BITCOIN_LIMITEDMAP_H #include #include @@ -98,4 +98,4 @@ class limitedmap } }; -#endif // RAVEN_LIMITEDMAP_H +#endif // BITCOIN_LIMITEDMAP_H diff --git a/src/memusage.h b/src/memusage.h index b430c9fc68..9525899337 100644 --- a/src/memusage.h +++ b/src/memusage.h @@ -1,10 +1,11 @@ // Copyright (c) 2015-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_MEMUSAGE_H -#define RAVEN_MEMUSAGE_H +#ifndef BITCOIN_MEMUSAGE_H +#define BITCOIN_MEMUSAGE_H #include "indirectmap.h" @@ -167,4 +168,4 @@ static inline size_t DynamicUsage(const std::unordered_map& m) } -#endif // RAVEN_MEMUSAGE_H +#endif // BITCOIN_MEMUSAGE_H diff --git a/src/merkleblock.h b/src/merkleblock.h index c55e16bdcd..9e4aa9fb80 100644 --- a/src/merkleblock.h +++ b/src/merkleblock.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_MERKLEBLOCK_H -#define RAVEN_MERKLEBLOCK_H +#ifndef BITCOIN_MERKLEBLOCK_H +#define BITCOIN_MERKLEBLOCK_H #include "serialize.h" #include "uint256.h" @@ -165,4 +166,4 @@ class CMerkleBlock CMerkleBlock(const CBlock& block, CBloomFilter* filter, const std::set* txids); }; -#endif // RAVEN_MERKLEBLOCK_H +#endif // BITCOIN_MERKLEBLOCK_H diff --git a/src/miner.cpp b/src/miner.cpp index 1b1751af7e..a7720b307c 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -671,7 +671,7 @@ void static RavenMiner(const CChainParams& chainparams) } } -int GenerateRavens(bool fGenerate, int nThreads, const CChainParams& chainparams) +int GenerateBitcoins(bool fGenerate, int nThreads, const CChainParams& chainparams) { static boost::thread_group* minerThreads = NULL; diff --git a/src/miner.h b/src/miner.h index ca058943f9..a49877bd61 100644 --- a/src/miner.h +++ b/src/miner.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_MINER_H -#define RAVEN_MINER_H +#ifndef BITCOIN_MINER_H +#define BITCOIN_MINER_H #include "primitives/block.h" #include "txmempool.h" @@ -206,5 +207,5 @@ class BlockAssembler void IncrementExtraNonce(CBlock* pblock, const CBlockIndex* pindexPrev, unsigned int& nExtraNonce); int64_t UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams, const CBlockIndex* pindexPrev); -int GenerateRavens(bool fGenerate, int nThreads, const CChainParams& chainparams); -#endif // RAVEN_MINER_H +int GenerateBitcoins(bool fGenerate, int nThreads, const CChainParams& chainparams); +#endif // BITCOIN_MINER_H diff --git a/src/net.cpp b/src/net.cpp index 7be4158bab..8dd796455e 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -5,7 +5,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "net.h" diff --git a/src/net.h b/src/net.h index 435cd41730..62204c276c 100644 --- a/src/net.h +++ b/src/net.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_NET_H -#define RAVEN_NET_H +#ifndef BITCOIN_NET_H +#define BITCOIN_NET_H #include "addrdb.h" #include "addrman.h" @@ -853,4 +854,4 @@ class CNode /** Return a timestamp in the future (in microseconds) for exponentially distributed events. */ int64_t PoissonNextSend(int64_t nNow, int average_interval_seconds); -#endif // RAVEN_NET_H +#endif // BITCOIN_NET_H diff --git a/src/net_processing.h b/src/net_processing.h index 2c633f8dd0..d4a9c348df 100644 --- a/src/net_processing.h +++ b/src/net_processing.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_NET_PROCESSING_H -#define RAVEN_NET_PROCESSING_H +#ifndef BITCOIN_NET_PROCESSING_H +#define BITCOIN_NET_PROCESSING_H #include "net.h" #include "validationinterface.h" @@ -70,4 +71,4 @@ bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats); /** Increase a node's misbehavior score. */ void Misbehaving(NodeId nodeid, int howmuch); -#endif // RAVEN_NET_PROCESSING_H +#endif // BITCOIN_NET_PROCESSING_H diff --git a/src/netaddress.cpp b/src/netaddress.cpp index 30bce4a580..b636886570 100644 --- a/src/netaddress.cpp +++ b/src/netaddress.cpp @@ -5,7 +5,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifdef HAVE_CONFIG_H -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "netaddress.h" diff --git a/src/netaddress.h b/src/netaddress.h index 0e493b7303..a2191e0ffe 100644 --- a/src/netaddress.h +++ b/src/netaddress.h @@ -1,13 +1,14 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_NETADDRESS_H -#define RAVEN_NETADDRESS_H +#ifndef BITCOIN_NETADDRESS_H +#define BITCOIN_NETADDRESS_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "compat.h" @@ -175,4 +176,4 @@ class CService : public CNetAddr } }; -#endif // RAVEN_NETADDRESS_H +#endif // BITCOIN_NETADDRESS_H diff --git a/src/netbase.cpp b/src/netbase.cpp index 149cc0f410..a904d11d63 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -5,7 +5,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifdef HAVE_CONFIG_H -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "netbase.h" diff --git a/src/netbase.h b/src/netbase.h index bc6550a639..4a9e13fb73 100644 --- a/src/netbase.h +++ b/src/netbase.h @@ -1,13 +1,14 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_NETBASE_H -#define RAVEN_NETBASE_H +#ifndef BITCOIN_NETBASE_H +#define BITCOIN_NETBASE_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "compat.h" @@ -68,4 +69,4 @@ bool SetSocketNoDelay(const SOCKET& hSocket); struct timeval MillisToTimeval(int64_t nTimeout); void InterruptSocks5(bool interrupt); -#endif // RAVEN_NETBASE_H +#endif // BITCOIN_NETBASE_H diff --git a/src/netmessagemaker.h b/src/netmessagemaker.h index 2ec667198c..1329cc5552 100644 --- a/src/netmessagemaker.h +++ b/src/netmessagemaker.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_NETMESSAGEMAKER_H -#define RAVEN_NETMESSAGEMAKER_H +#ifndef BITCOIN_NETMESSAGEMAKER_H +#define BITCOIN_NETMESSAGEMAKER_H #include "net.h" #include "serialize.h" @@ -34,4 +35,4 @@ class CNetMsgMaker const int nVersion; }; -#endif // RAVEN_NETMESSAGEMAKER_H +#endif // BITCOIN_NETMESSAGEMAKER_H diff --git a/src/noui.h b/src/noui.h index ba7b9e9d31..1ee7fa2534 100644 --- a/src/noui.h +++ b/src/noui.h @@ -1,11 +1,12 @@ // Copyright (c) 2013-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_NOUI_H -#define RAVEN_NOUI_H +#ifndef BITCOIN_NOUI_H +#define BITCOIN_NOUI_H extern void noui_connect(); -#endif // RAVEN_NOUI_H +#endif // BITCOIN_NOUI_H diff --git a/src/policy/feerate.cpp b/src/policy/feerate.cpp index 5fe701f2be..5373ba2538 100644 --- a/src/policy/feerate.cpp +++ b/src/policy/feerate.cpp @@ -8,7 +8,7 @@ #include "tinyformat.h" -const std::string CURRENCY_UNIT = "RVN"; +const std::string CURRENCY_UNIT = "BLAST"; CFeeRate::CFeeRate(const CAmount& nFeePaid, size_t nBytes_) { diff --git a/src/policy/feerate.h b/src/policy/feerate.h index 628d4b5b39..cbfa83fbae 100644 --- a/src/policy/feerate.h +++ b/src/policy/feerate.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_POLICY_FEERATE_H -#define RAVEN_POLICY_FEERATE_H +#ifndef BITCOIN_POLICY_FEERATE_H +#define BITCOIN_POLICY_FEERATE_H #include "amount.h" #include "serialize.h" @@ -57,4 +58,4 @@ class CFeeRate } }; -#endif // RAVEN_POLICY_FEERATE_H +#endif // BITCOIN_POLICY_FEERATE_H diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp index 3b40bbfc5c..42d6b862e5 100644 --- a/src/policy/fees.cpp +++ b/src/policy/fees.cpp @@ -588,7 +588,7 @@ void CBlockPolicyEstimator::processTransaction(const CTxMemPoolEntry& entry, boo } trackedTxs++; - // Feerates are stored and reported as RVN-per-kb: + // Feerates are stored and reported as BLAST-per-kb: CFeeRate feeRate(entry.GetFee(), entry.GetTxSize()); mapMemPoolTxs[hash].blockHeight = txHeight; @@ -618,7 +618,7 @@ bool CBlockPolicyEstimator::processBlockTx(unsigned int nBlockHeight, const CTxM return false; } - // Feerates are stored and reported as RVN-per-kb: + // Feerates are stored and reported as BLAST-per-kb: CFeeRate feeRate(entry->GetFee(), entry->GetTxSize()); feeStats->Record(blocksToConfirm, (double)feeRate.GetFeePerK()); diff --git a/src/policy/fees.h b/src/policy/fees.h index ee0c905f06..f64f36a6d5 100644 --- a/src/policy/fees.h +++ b/src/policy/fees.h @@ -1,10 +1,11 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_POLICYESTIMATOR_H -#define RAVEN_POLICYESTIMATOR_H +#ifndef BITCOIN_POLICYESTIMATOR_H +#define BITCOIN_POLICYESTIMATOR_H #include "amount.h" #include "feerate.h" @@ -301,4 +302,4 @@ static const std::array confTargets = { {2, 4, 6, 12, 24, 48, 144, 504, int getConfTargetForIndex(int index); int getIndexForConfTarget(int target); -#endif /*RAVEN_POLICYESTIMATOR_H */ +#endif /*BITCOIN_POLICYESTIMATOR_H */ diff --git a/src/policy/policy.h b/src/policy/policy.h index a2c14f6ae2..2437cfaa4a 100644 --- a/src/policy/policy.h +++ b/src/policy/policy.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_POLICY_POLICY_H -#define RAVEN_POLICY_POLICY_H +#ifndef BITCOIN_POLICY_POLICY_H +#define BITCOIN_POLICY_POLICY_H #include "consensus/consensus.h" #include "feerate.h" @@ -105,4 +106,4 @@ extern unsigned int nBytesPerSigOp; int64_t GetVirtualTransactionSize(int64_t nWeight, int64_t nSigOpCost); int64_t GetVirtualTransactionSize(const CTransaction& tx, int64_t nSigOpCost = 0); -#endif // RAVEN_POLICY_POLICY_H +#endif // BITCOIN_POLICY_POLICY_H diff --git a/src/policy/rbf.h b/src/policy/rbf.h index a1bd4f1aac..a9a2b5dd8d 100644 --- a/src/policy/rbf.h +++ b/src/policy/rbf.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_POLICY_RBF_H -#define RAVEN_POLICY_RBF_H +#ifndef BITCOIN_POLICY_RBF_H +#define BITCOIN_POLICY_RBF_H #include "txmempool.h" @@ -26,4 +27,4 @@ bool SignalsOptInRBF(const CTransaction &tx); // as the sequence numbers of all in-mempool ancestors. RBFTransactionState IsRBFOptIn(const CTransaction &tx, CTxMemPool &pool); -#endif // RAVEN_POLICY_RBF_H +#endif // BITCOIN_POLICY_RBF_H diff --git a/src/pow.h b/src/pow.h index 1a30508b61..16e16389e4 100644 --- a/src/pow.h +++ b/src/pow.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_POW_H -#define RAVEN_POW_H +#ifndef BITCOIN_POW_H +#define BITCOIN_POW_H #include "consensus/params.h" @@ -24,4 +25,4 @@ bool CheckBlockProofOfWork(const CBlockHeader *pblock, const Consensus::Params&) bool CheckAuxPowValidity(const CBlockHeader *pblock, const Consensus::Params&); -#endif // RAVEN_POW_H +#endif // BITCOIN_POW_H diff --git a/src/prevector.h b/src/prevector.h index 00d5392e9a..26011ca2dd 100644 --- a/src/prevector.h +++ b/src/prevector.h @@ -1,10 +1,11 @@ // Copyright (c) 2015-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_PREVECTOR_H -#define RAVEN_PREVECTOR_H +#ifndef BITCOIN_PREVECTOR_H +#define BITCOIN_PREVECTOR_H #include #include @@ -515,4 +516,4 @@ class prevector { }; #pragma pack(pop) -#endif // RAVEN_PREVECTOR_H +#endif // BITCOIN_PREVECTOR_H diff --git a/src/primitives/block.h b/src/primitives/block.h index a4833dab0f..21f2c343ca 100644 --- a/src/primitives/block.h +++ b/src/primitives/block.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_PRIMITIVES_BLOCK_H -#define RAVEN_PRIMITIVES_BLOCK_H +#ifndef BITCOIN_PRIMITIVES_BLOCK_H +#define BITCOIN_PRIMITIVES_BLOCK_H #include "primitives/transaction.h" #include "primitives/blockheader.h" @@ -97,4 +98,4 @@ struct CBlockLocator } }; -#endif // RAVEN_PRIMITIVES_BLOCK_H +#endif // BITCOIN_PRIMITIVES_BLOCK_H diff --git a/src/primitives/blockheader.h b/src/primitives/blockheader.h index 6a1b0c221a..fba644199c 100644 --- a/src/primitives/blockheader.h +++ b/src/primitives/blockheader.h @@ -1,5 +1,5 @@ -#ifndef RAVEN_BLOCKHEADER_H -#define RAVEN_BLOCKHEADER_H +#ifndef BITCOIN_BLOCKHEADER_H +#define BITCOIN_BLOCKHEADER_H #include "auxpow/consensus.h" #include "auxpow/serialize.h" @@ -136,4 +136,4 @@ class CBlockHeader }; -#endif //RAVEN_BLOCKHEADER_H +#endif //BITCOIN_BLOCKHEADER_H diff --git a/src/primitives/transaction.h b/src/primitives/transaction.h index 91b07ca099..cb126cb098 100644 --- a/src/primitives/transaction.h +++ b/src/primitives/transaction.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_PRIMITIVES_TRANSACTION_H -#define RAVEN_PRIMITIVES_TRANSACTION_H +#ifndef BITCOIN_PRIMITIVES_TRANSACTION_H +#define BITCOIN_PRIMITIVES_TRANSACTION_H #include #include "amount.h" @@ -326,14 +327,14 @@ class CTransaction // GetValueIn() is a method on CCoinsViewCache, because // inputs must be known to compute value in. - /** RVN START */ + /** BLAST START */ bool IsNewAsset() const; bool VerifyNewAsset(std::string& strError) const; bool IsNewUniqueAsset() const; bool VerifyNewUniqueAsset(std::string& strError) const; bool IsReissueAsset() const; bool VerifyReissueAsset(std::string& strError) const; - /** RVN END */ + /** BLAST END */ /** * Get the total transaction size in bytes, including witness data. @@ -422,4 +423,4 @@ typedef std::shared_ptr CTransactionRef; static inline CTransactionRef MakeTransactionRef() { return std::make_shared(); } template static inline CTransactionRef MakeTransactionRef(Tx&& txIn) { return std::make_shared(std::forward(txIn)); } -#endif // RAVEN_PRIMITIVES_TRANSACTION_H +#endif // BITCOIN_PRIMITIVES_TRANSACTION_H diff --git a/src/protocol.h b/src/protocol.h index 23abd9eba9..df13e6623d 100644 --- a/src/protocol.h +++ b/src/protocol.h @@ -1,6 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -8,8 +9,8 @@ #error This header can only be compiled as C++. #endif -#ifndef RAVEN_PROTOCOL_H -#define RAVEN_PROTOCOL_H +#ifndef BITCOIN_PROTOCOL_H +#define BITCOIN_PROTOCOL_H #include "netaddress.h" #include "serialize.h" @@ -64,7 +65,7 @@ class CMessageHeader }; /** - * Raven protocol message types. When adding new message types, don't forget + * BLAST protocol message types. When adding new message types, don't forget * to update allNetMessageTypes in protocol.cpp. */ namespace NetMsgType { @@ -72,100 +73,100 @@ namespace NetMsgType { /** * The version message provides information about the transmitting node to the * receiving node at the beginning of a connection. - * @see https://raven.org/en/developer-reference#version + * @see https://bitcoin.org/en/developer-reference#version */ extern const char *VERSION; /** * The verack message acknowledges a previously-received version message, * informing the connecting node that it can begin to send other messages. - * @see https://raven.org/en/developer-reference#verack + * @see https://bitcoin.org/en/developer-reference#verack */ extern const char *VERACK; /** * The addr (IP address) message relays connection information for peers on the * network. - * @see https://raven.org/en/developer-reference#addr + * @see https://bitcoin.org/en/developer-reference#addr */ extern const char *ADDR; /** * The inv message (inventory message) transmits one or more inventories of * objects known to the transmitting peer. - * @see https://raven.org/en/developer-reference#inv + * @see https://bitcoin.org/en/developer-reference#inv */ extern const char *INV; /** * The getdata message requests one or more data objects from another node. - * @see https://raven.org/en/developer-reference#getdata + * @see https://bitcoin.org/en/developer-reference#getdata */ extern const char *GETDATA; /** * The merkleblock message is a reply to a getdata message which requested a * block using the inventory type MSG_MERKLEBLOCK. * @since protocol version 70001 as described by BIP37. - * @see https://raven.org/en/developer-reference#merkleblock + * @see https://bitcoin.org/en/developer-reference#merkleblock */ extern const char *MERKLEBLOCK; /** * The getblocks message requests an inv message that provides block header * hashes starting from a particular point in the block chain. - * @see https://raven.org/en/developer-reference#getblocks + * @see https://bitcoin.org/en/developer-reference#getblocks */ extern const char *GETBLOCKS; /** * The getheaders message requests a headers message that provides block * headers starting from a particular point in the block chain. * @since protocol version 31800. - * @see https://raven.org/en/developer-reference#getheaders + * @see https://bitcoin.org/en/developer-reference#getheaders */ extern const char *GETHEADERS; /** * The tx message transmits a single transaction. - * @see https://raven.org/en/developer-reference#tx + * @see https://bitcoin.org/en/developer-reference#tx */ extern const char *TX; /** * The headers message sends one or more block headers to a node which * previously requested certain headers with a getheaders message. * @since protocol version 31800. - * @see https://raven.org/en/developer-reference#headers + * @see https://bitcoin.org/en/developer-reference#headers */ extern const char *HEADERS; /** * The block message transmits a single serialized block. - * @see https://raven.org/en/developer-reference#block + * @see https://bitcoin.org/en/developer-reference#block */ extern const char *BLOCK; /** * The getaddr message requests an addr message from the receiving node, * preferably one with lots of IP addresses of other receiving nodes. - * @see https://raven.org/en/developer-reference#getaddr + * @see https://bitcoin.org/en/developer-reference#getaddr */ extern const char *GETADDR; /** * The mempool message requests the TXIDs of transactions that the receiving * node has verified as valid but which have not yet appeared in a block. * @since protocol version 60002. - * @see https://raven.org/en/developer-reference#mempool + * @see https://bitcoin.org/en/developer-reference#mempool */ extern const char *MEMPOOL; /** * The ping message is sent periodically to help confirm that the receiving * peer is still connected. - * @see https://raven.org/en/developer-reference#ping + * @see https://bitcoin.org/en/developer-reference#ping */ extern const char *PING; /** * The pong message replies to a ping message, proving to the pinging node that * the ponging node is still alive. * @since protocol version 60001 as described by BIP31. - * @see https://raven.org/en/developer-reference#pong + * @see https://bitcoin.org/en/developer-reference#pong */ extern const char *PONG; /** * The notfound message is a reply to a getdata message which requested an * object the receiving node does not have available for relay. * @since protocol version 70001. - * @see https://raven.org/en/developer-reference#notfound + * @see https://bitcoin.org/en/developer-reference#notfound */ extern const char *NOTFOUND; /** @@ -174,7 +175,7 @@ extern const char *NOTFOUND; * @since protocol version 70001 as described by BIP37. * Only available with service bit NODE_BLOOM since protocol version * 70011 as described by BIP111. - * @see https://raven.org/en/developer-reference#filterload + * @see https://bitcoin.org/en/developer-reference#filterload */ extern const char *FILTERLOAD; /** @@ -183,7 +184,7 @@ extern const char *FILTERLOAD; * @since protocol version 70001 as described by BIP37. * Only available with service bit NODE_BLOOM since protocol version * 70011 as described by BIP111. - * @see https://raven.org/en/developer-reference#filteradd + * @see https://bitcoin.org/en/developer-reference#filteradd */ extern const char *FILTERADD; /** @@ -192,21 +193,21 @@ extern const char *FILTERADD; * @since protocol version 70001 as described by BIP37. * Only available with service bit NODE_BLOOM since protocol version * 70011 as described by BIP111. - * @see https://raven.org/en/developer-reference#filterclear + * @see https://bitcoin.org/en/developer-reference#filterclear */ extern const char *FILTERCLEAR; /** * The reject message informs the receiving node that one of its previous * messages has been rejected. * @since protocol version 70002 as described by BIP61. - * @see https://raven.org/en/developer-reference#reject + * @see https://bitcoin.org/en/developer-reference#reject */ extern const char *REJECT; /** * Indicates that a node prefers to receive new block announcements via a * "headers" message rather than an "inv". * @since protocol version 70012 as described by BIP130. - * @see https://raven.org/en/developer-reference#sendheaders + * @see https://bitcoin.org/en/developer-reference#sendheaders */ extern const char *SENDHEADERS; /** @@ -272,15 +273,15 @@ enum ServiceFlags : uint64_t { // Nothing NODE_NONE = 0, // NODE_NETWORK means that the node is capable of serving the block chain. It is currently - // set by all Raven Core nodes, and is unset by SPV clients or other peers that just want + // set by all BLAST Core nodes, and is unset by SPV clients or other peers that just want // network services but don't provide them. NODE_NETWORK = (1 << 0), // NODE_GETUTXO means the node is capable of responding to the getutxo protocol request. - // Raven Core does not support this but a patch set called Raven XT does. + // BLAST Core does not support this but a patch set called BLAST XT does. // See BIP 64 for details on how this is implemented. NODE_GETUTXO = (1 << 1), // NODE_BLOOM means the node is capable and willing to handle bloom-filtered connections. - // Raven Core nodes used to support this by default, without advertising this bit, + // BLAST Core nodes used to support this by default, without advertising this bit, // but no longer do as of protocol version 70011 (= NO_BLOOM_VERSION) NODE_BLOOM = (1 << 2), // NODE_WITNESS indicates that a node can be asked for blocks and transactions including @@ -292,7 +293,7 @@ enum ServiceFlags : uint64_t { // Bits 24-31 are reserved for temporary experiments. Just pick a bit that // isn't getting used, or one not being used much, and notify the - // raven-development mailing list. Remember that service bits are just + // blast-development mailing list. Remember that service bits are just // unauthenticated advertisements, so your code must be robust against // collisions and other cases where nodes may be advertising a service they // do not actually support. Other service bits should be allocated via the @@ -443,4 +444,4 @@ class CInvAsset std::string name; // block height that asset data should come from }; -#endif // RAVEN_PROTOCOL_H +#endif // BITCOIN_PROTOCOL_H diff --git a/src/pubkey.h b/src/pubkey.h index ebd3878b3e..e47ea7a298 100644 --- a/src/pubkey.h +++ b/src/pubkey.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_PUBKEY_H -#define RAVEN_PUBKEY_H +#ifndef BLAST_PUBKEY_H +#define BLAST_PUBKEY_H #include "hash.h" #include "serialize.h" @@ -248,4 +249,4 @@ class ECCVerifyHandle ~ECCVerifyHandle(); }; -#endif // RAVEN_PUBKEY_H +#endif // BLAST_PUBKEY_H diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index c9c6fb6370..d47cba82b3 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -4,14 +4,14 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "addressbookpage.h" #include "ui_addressbookpage.h" #include "addresstablemodel.h" -#include "ravengui.h" +#include "bitcoingui.h" #include "csvmodelwriter.h" #include "editaddressdialog.h" #include "guiutil.h" @@ -68,11 +68,11 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode, switch(tab) { case SendingTab: - ui->labelExplanation->setText(tr("These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins.")); + ui->labelExplanation->setText(tr("These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins.")); ui->deleteAddress->setVisible(true); break; case ReceivingTab: - ui->labelExplanation->setText(tr("These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction.")); + ui->labelExplanation->setText(tr("These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction.")); ui->deleteAddress->setVisible(false); break; } diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index 2b176933ad..3ef6ed115e 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ADDRESSBOOKPAGE_H -#define RAVEN_QT_ADDRESSBOOKPAGE_H +#ifndef BITCOIN_QT_ADDRESSBOOKPAGE_H +#define BITCOIN_QT_ADDRESSBOOKPAGE_H #include @@ -84,4 +85,4 @@ private Q_SLOTS: void sendCoins(QString addr); }; -#endif // RAVEN_QT_ADDRESSBOOKPAGE_H +#endif // BITCOIN_QT_ADDRESSBOOKPAGE_H diff --git a/src/qt/addresstablemodel.h b/src/qt/addresstablemodel.h index baee8688b5..e91478ac31 100644 --- a/src/qt/addresstablemodel.h +++ b/src/qt/addresstablemodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ADDRESSTABLEMODEL_H -#define RAVEN_QT_ADDRESSTABLEMODEL_H +#ifndef BITCOIN_QT_ADDRESSTABLEMODEL_H +#define BITCOIN_QT_ADDRESSTABLEMODEL_H #include #include @@ -27,7 +28,7 @@ class AddressTableModel : public QAbstractTableModel enum ColumnIndex { Label = 0, /**< User specified label */ - Address = 1 /**< Raven address */ + Address = 1 /**< BLAST address */ }; enum RoleIndex { @@ -93,4 +94,4 @@ public Q_SLOTS: friend class AddressTablePriv; }; -#endif // RAVEN_QT_ADDRESSTABLEMODEL_H +#endif // BITCOIN_QT_ADDRESSTABLEMODEL_H diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp index b4be11a184..cce5ef83e4 100644 --- a/src/qt/askpassphrasedialog.cpp +++ b/src/qt/askpassphrasedialog.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "askpassphrasedialog.h" @@ -125,7 +125,7 @@ void AskPassphraseDialog::accept() "" + tr("%1 will close now to finish the encryption process. " "Remember that encrypting your wallet cannot fully protect " - "your ravens from being stolen by malware infecting your computer.").arg(tr(PACKAGE_NAME)) + + "your BLAST from being stolen by malware infecting your computer.").arg(tr(PACKAGE_NAME)) + "

" + tr("IMPORTANT: Any previous backups you have made of your wallet file " "should be replaced with the newly generated, encrypted wallet file. " diff --git a/src/qt/askpassphrasedialog.h b/src/qt/askpassphrasedialog.h index 77fc3171b1..7b8c70d32c 100644 --- a/src/qt/askpassphrasedialog.h +++ b/src/qt/askpassphrasedialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ASKPASSPHRASEDIALOG_H -#define RAVEN_QT_ASKPASSPHRASEDIALOG_H +#ifndef BITCOIN_QT_ASKPASSPHRASEDIALOG_H +#define BITCOIN_QT_ASKPASSPHRASEDIALOG_H #include @@ -50,4 +51,4 @@ private Q_SLOTS: bool eventFilter(QObject *object, QEvent *event); }; -#endif // RAVEN_QT_ASKPASSPHRASEDIALOG_H +#endif // BITCOIN_QT_ASKPASSPHRASEDIALOG_H diff --git a/src/qt/assetcontroldialog.cpp b/src/qt/assetcontroldialog.cpp index 14cd2cfdfb..03eab417e4 100644 --- a/src/qt/assetcontroldialog.cpp +++ b/src/qt/assetcontroldialog.cpp @@ -7,7 +7,7 @@ #include "ui_assetcontroldialog.h" #include "addresstablemodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "optionsmodel.h" #include "platformstyle.h" @@ -130,7 +130,7 @@ AssetControlDialog::AssetControlDialog(const PlatformStyle *_platformStyle, QWid connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked())); // change coin control first column label due Qt4 bug. - // see https://github.com/RavenProject/Ravencoin/issues/5716 + // see https://github.com/bitcoin/bitcoin/issues/5716 ui->treeWidget->headerItem()->setText(COLUMN_CHECKBOX, QString()); ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 84); @@ -266,7 +266,7 @@ void AssetControlDialog::showMenu(const QPoint &point) // context menu action: copy amount void AssetControlDialog::copyAmount() { - GUIUtil::setClipboard(RavenUnits::removeSpaces(contextMenuItem->text(COLUMN_AMOUNT))); + GUIUtil::setClipboard(BitcoinUnits::removeSpaces(contextMenuItem->text(COLUMN_AMOUNT))); } // context menu action: copy label @@ -559,7 +559,7 @@ void AssetControlDialog::updateLabels(WalletModel *model, QDialog* dialog) } // actually update labels - int nDisplayUnit = RavenUnits::RVN; + int nDisplayUnit = BitcoinUnits::BLAST; if (model && model->getOptionsModel()) nDisplayUnit = model->getOptionsModel()->getDisplayUnit(); @@ -579,12 +579,12 @@ void AssetControlDialog::updateLabels(WalletModel *model, QDialog* dialog) // stats l1->setText(QString::number(nQuantity)); // Quantity - l2->setText(RavenUnits::formatWithCustomName(QString::fromStdString(strAssetName), nAssetAmount)); // Amount - l3->setText(RavenUnits::formatWithUnit(nDisplayUnit, nPayFee)); // Fee - l4->setText(RavenUnits::formatWithUnit(nDisplayUnit, nAfterFee)); // After Fee + l2->setText(BitcoinUnits::formatWithCustomName(QString::fromStdString(strAssetName), nAssetAmount)); // Amount + l3->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nPayFee)); // Fee + l4->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAfterFee)); // After Fee l5->setText(((nBytes > 0) ? ASYMP_UTF8 : "") + QString::number(nBytes)); // Bytes l7->setText(fDust ? tr("yes") : tr("no")); // Dust - l8->setText(RavenUnits::formatWithCustomName(QString::fromStdString(strAssetName), nChange)); // Change + l8->setText(BitcoinUnits::formatWithCustomName(QString::fromStdString(strAssetName), nChange)); // Change if (nPayFee > 0) { l3->setText(ASYMP_UTF8 + l3->text()); @@ -697,7 +697,7 @@ void AssetControlDialog::updateView() if (ExtractDestination(out.tx->tx->vout[out.i].scriptPubKey, outputAddress)) { sAddress = QString::fromStdString(EncodeDestination(outputAddress)); - // if listMode or change => show raven address. In tree mode, address is not shown again for direct wallet address outputs + // if listMode or change => show blast address. In tree mode, address is not shown again for direct wallet address outputs if (!treeMode || (!(sAddress == sWalletAddress))) { itemOutput->setText(COLUMN_ADDRESS, sAddress); // asset name @@ -720,7 +720,7 @@ void AssetControlDialog::updateView() } // amount - itemOutput->setText(COLUMN_AMOUNT, RavenUnits::format(nDisplayUnit, nAmount)); + itemOutput->setText(COLUMN_AMOUNT, BitcoinUnits::format(nDisplayUnit, nAmount)); itemOutput->setData(COLUMN_AMOUNT, Qt::UserRole, QVariant((qlonglong) nAmount)); // padding so that sorting works correctly @@ -755,7 +755,7 @@ void AssetControlDialog::updateView() // amount if (treeMode) { itemWalletAddress->setText(COLUMN_CHECKBOX, "(" + QString::number(nChildren) + ")"); - itemWalletAddress->setText(COLUMN_AMOUNT, RavenUnits::format(nDisplayUnit, nSum)); + itemWalletAddress->setText(COLUMN_AMOUNT, BitcoinUnits::format(nDisplayUnit, nSum)); itemWalletAddress->setData(COLUMN_AMOUNT, Qt::UserRole, QVariant((qlonglong) nSum)); } } diff --git a/src/qt/assetcontroldialog.h b/src/qt/assetcontroldialog.h index 40c4f5bde9..a7d51365dc 100644 --- a/src/qt/assetcontroldialog.h +++ b/src/qt/assetcontroldialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ASSETCONTROLDIALOG_H -#define RAVEN_QT_ASSETCONTROLDIALOG_H +#ifndef BITCOIN_QT_ASSETCONTROLDIALOG_H +#define BITCOIN_QT_ASSETCONTROLDIALOG_H #include "amount.h" @@ -125,4 +126,4 @@ private Q_SLOTS: void onAssetSelected(QString name); }; -#endif // RAVEN_QT_ASSETCONTROLDIALOG_H +#endif // BITCOIN_QT_ASSETCONTROLDIALOG_H diff --git a/src/qt/assetcontroltreewidget.h b/src/qt/assetcontroltreewidget.h index 99db4e7359..7853f0290b 100644 --- a/src/qt/assetcontroltreewidget.h +++ b/src/qt/assetcontroltreewidget.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ASSETCONTROLTREEWIDGET_H -#define RAVEN_QT_ASSETCONTROLTREEWIDGET_H +#ifndef BITCOIN_QT_ASSETCONTROLTREEWIDGET_H +#define BITCOIN_QT_ASSETCONTROLTREEWIDGET_H #include #include @@ -20,4 +21,4 @@ class AssetControlTreeWidget : public QTreeWidget virtual void keyPressEvent(QKeyEvent *event); }; -#endif // RAVEN_QT_ASSETCONTROLTREEWIDGET_H +#endif // BITCOIN_QT_ASSETCONTROLTREEWIDGET_H diff --git a/src/qt/assetrecord.h b/src/qt/assetrecord.h index 59791ea067..ddfa4e9227 100644 --- a/src/qt/assetrecord.h +++ b/src/qt/assetrecord.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ASSETRECORD_H -#define RAVEN_QT_ASSETRECORD_H +#ifndef BITCOIN_QT_ASSETRECORD_H +#define BITCOIN_QT_ASSETRECORD_H #include "math.h" #include "amount.h" @@ -52,4 +53,4 @@ class AssetRecord }; -#endif // RAVEN_QT_ASSETRECORD_H +#endif // BITCOIN_QT_ASSETRECORD_H diff --git a/src/qt/assetsdialog.cpp b/src/qt/assetsdialog.cpp index 21adc13601..76ae215340 100644 --- a/src/qt/assetsdialog.cpp +++ b/src/qt/assetsdialog.cpp @@ -8,7 +8,7 @@ #include "ui_assetsdialog.h" #include "addresstablemodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "clientmodel.h" #include "assetcontroldialog.h" #include "guiutil.h" @@ -118,11 +118,11 @@ AssetsDialog::AssetsDialog(const PlatformStyle *_platformStyle, QWidget *parent) ui->checkBoxMinimumFee->setChecked(settings.value("fPayOnlyMinFee").toBool()); minimizeFeeSection(settings.value("fFeeSectionMinimized").toBool()); - /** RVN START */ + /** BLAST START */ setupAssetControlFrame(platformStyle); setupScrollView(platformStyle); setupFeeControl(platformStyle); - /** RVN END */ + /** BLAST END */ } void AssetsDialog::setClientModel(ClientModel *_clientModel) @@ -428,7 +428,7 @@ void AssetsDialog::on_sendButton_clicked() { // append fee string if a fee is required questionString.append("
"); - questionString.append(RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), nFeeRequired)); + questionString.append(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), nFeeRequired)); questionString.append(" "); questionString.append(tr("added as transaction fee")); @@ -638,7 +638,7 @@ void AssetsDialog::setBalance(const CAmount& balance, const CAmount& unconfirmed if(model && model->getOptionsModel()) { - ui->labelBalance->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); + ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); } } @@ -685,7 +685,7 @@ void AssetsDialog::processSendCoinsReturn(const WalletModel::SendCoinsReturn &se msgParams.second = CClientUIInterface::MSG_ERROR; break; case WalletModel::AbsurdFee: - msgParams.first = tr("A fee higher than %1 is considered an absurdly high fee.").arg(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), maxTxFee)); + msgParams.first = tr("A fee higher than %1 is considered an absurdly high fee.").arg(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), maxTxFee)); break; case WalletModel::PaymentRequestExpired: msgParams.first = tr("Payment request expired."); @@ -747,7 +747,7 @@ void AssetsDialog::updateFeeMinimizedLabel() if (ui->radioSmartFee->isChecked()) ui->labelFeeMinimized->setText(ui->labelSmartFee->text()); else { - ui->labelFeeMinimized->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); + ui->labelFeeMinimized->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); } } @@ -755,7 +755,7 @@ void AssetsDialog::updateMinFeeLabel() { if (model && model->getOptionsModel()) ui->checkBoxMinimumFee->setText(tr("Pay only the required fee of %1").arg( - RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") ); } @@ -782,7 +782,7 @@ void AssetsDialog::updateSmartFeeLabel() FeeCalculation feeCalc; CFeeRate feeRate = CFeeRate(GetMinimumFee(1000, coin_control, ::mempool, ::feeEstimator, &feeCalc)); - ui->labelSmartFee->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); + ui->labelSmartFee->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); if (feeCalc.reason == FeeReason::FALLBACK) { ui->labelSmartFee2->show(); // (Smart fee not initialized yet. This usually takes a few blocks...) @@ -903,7 +903,7 @@ void AssetsDialog::assetControlChangeEdited(const QString& text) } else if (!IsValidDestination(dest)) // Invalid address { - ui->labelAssetControlChangeLabel->setText(tr("Warning: Invalid Raven address")); + ui->labelAssetControlChangeLabel->setText(tr("Warning: Invalid BLAST address")); } else // Valid address { @@ -982,7 +982,7 @@ void AssetsDialog::assetControlUpdateLabels() } } -/** RVN START */ +/** BLAST START */ void AssetsDialog::assetControlUpdateSendCoinsDialog() { for(int i = 0; i < ui->entries->count(); ++i) @@ -1047,4 +1047,4 @@ void AssetsDialog::handleFirstSelection() entry->refreshAssetList(); } } -/** RVN END */ +/** BLAST END */ diff --git a/src/qt/assetsdialog.h b/src/qt/assetsdialog.h index 02f23ec2b8..0032c6d6ad 100644 --- a/src/qt/assetsdialog.h +++ b/src/qt/assetsdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ASSETSDIALOG_H -#define RAVEN_QT_ASSETSDIALOG_H +#ifndef BITCOIN_QT_ASSETSDIALOG_H +#define BITCOIN_QT_ASSETSDIALOG_H #include "walletmodel.h" @@ -26,7 +27,7 @@ QT_BEGIN_NAMESPACE class QUrl; QT_END_NAMESPACE -/** Dialog for sending ravens */ +/** Dialog for sending BLAST */ class AssetsDialog : public QDialog { Q_OBJECT @@ -108,14 +109,14 @@ private Q_SLOTS: void customFeeFeatureChanged(bool); - /** RVN START */ + /** BLAST START */ void assetControlUpdateSendCoinsDialog(); void focusAsset(const QModelIndex& index); - /** RVN END */ + /** BLAST END */ Q_SIGNALS: // Fired when a message should be reported to the user void message(const QString &title, const QString &message, unsigned int style); }; -#endif // RAVEN_QT_ASSETSSDIALOG_H +#endif // BITCOIN_QT_ASSETSSDIALOG_H diff --git a/src/qt/assettablemodel.h b/src/qt/assettablemodel.h index 0f97a07256..4e20886210 100644 --- a/src/qt/assettablemodel.h +++ b/src/qt/assettablemodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_ASSETTABLEMODEL_H -#define RAVEN_QT_ASSETTABLEMODEL_H +#ifndef BITCOIN_QT_ASSETTABLEMODEL_H +#define BITCOIN_QT_ASSETTABLEMODEL_H #include "amount.h" @@ -38,7 +39,7 @@ class AssetTableModel : public QAbstractTableModel enum RoleIndex { /** Net amount of transaction */ AmountRole = 100, - /** RVN or name of an asset */ + /** BLAST or name of an asset */ AssetNameRole = 101, /** Formatted amount, without brackets when unconfirmed */ FormattedAmountRole = 102, @@ -65,4 +66,4 @@ class AssetTableModel : public QAbstractTableModel friend class AssetTablePriv; }; -#endif // RAVEN_QT_ASSETTABLEMODEL_H +#endif // BITCOIN_QT_ASSETTABLEMODEL_H diff --git a/src/qt/bantablemodel.h b/src/qt/bantablemodel.h index 06f0930f10..12d47f491a 100644 --- a/src/qt/bantablemodel.h +++ b/src/qt/bantablemodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_BANTABLEMODEL_H -#define RAVEN_QT_BANTABLEMODEL_H +#ifndef BITCOIN_QT_BANTABLEMODEL_H +#define BITCOIN_QT_BANTABLEMODEL_H #include "net.h" @@ -71,4 +72,4 @@ public Q_SLOTS: std::unique_ptr priv; }; -#endif // RAVEN_QT_BANTABLEMODEL_H +#endif // BITCOIN_QT_BANTABLEMODEL_H diff --git a/src/qt/raven-qt.config b/src/qt/bitcoin-qt.config similarity index 100% rename from src/qt/raven-qt.config rename to src/qt/bitcoin-qt.config diff --git a/src/qt/raven-qt.creator b/src/qt/bitcoin-qt.creator similarity index 100% rename from src/qt/raven-qt.creator rename to src/qt/bitcoin-qt.creator diff --git a/src/qt/raven-qt.creator.user b/src/qt/bitcoin-qt.creator.user similarity index 100% rename from src/qt/raven-qt.creator.user rename to src/qt/bitcoin-qt.creator.user diff --git a/src/qt/raven-qt.files b/src/qt/bitcoin-qt.files similarity index 91% rename from src/qt/raven-qt.files rename to src/qt/bitcoin-qt.files index 7dece0a1ba..f5daedfbee 100644 --- a/src/qt/raven-qt.files +++ b/src/qt/bitcoin-qt.files @@ -50,16 +50,16 @@ qvalidatedlineedit.cpp qvalidatedlineedit.h qvaluecombobox.cpp qvaluecombobox.h -raven.cpp -ravenaddressvalidator.cpp -ravenaddressvalidator.h -ravenamountfield.cpp -ravenamountfield.h -ravengui.cpp -ravengui.h -ravenstrings.cpp -ravenunits.cpp -ravenunits.h +bitcoin.cpp +bitcoinaddressvalidator.cpp +bitcoinaddressvalidator.h +bitcoinamountfield.cpp +bitcoinamountfield.h +bitcoingui.cpp +bitcoingui.h +bitcoinstrings.cpp +bitcoinunits.cpp +bitcoinunits.h receivecoinsdialog.cpp receivecoinsdialog.h receiverequestdialog.cpp diff --git a/src/qt/raven-qt.includes b/src/qt/bitcoin-qt.includes similarity index 100% rename from src/qt/raven-qt.includes rename to src/qt/bitcoin-qt.includes diff --git a/src/qt/raven.cpp b/src/qt/bitcoin.cpp similarity index 88% rename from src/qt/raven.cpp rename to src/qt/bitcoin.cpp index 5b2bd19bcc..8e303f6750 100644 --- a/src/qt/raven.cpp +++ b/src/qt/bitcoin.cpp @@ -1,13 +1,14 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif -#include "ravengui.h" +#include "bitcoingui.h" #include "chainparams.h" #include "clientmodel.h" @@ -96,7 +97,7 @@ static void InitMessage(const std::string &message) */ static std::string Translate(const char* psz) { - return QCoreApplication::translate("raven-core", psz).toStdString(); + return QCoreApplication::translate("blast-core", psz).toStdString(); } static QString GetLangTerritory() @@ -143,11 +144,11 @@ static void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTrans if (qtTranslator.load("qt_" + lang_territory, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) QApplication::installTranslator(&qtTranslator); - // Load e.g. raven_de.qm (shortcut "de" needs to be defined in raven.qrc) + // Load e.g. bitcoin_de.qm (shortcut "de" needs to be defined in bitcoin.qrc) if (translatorBase.load(lang, ":/translations/")) QApplication::installTranslator(&translatorBase); - // Load e.g. raven_de_DE.qm (shortcut "de_DE" needs to be defined in raven.qrc) + // Load e.g. bitcoin_de_DE.qm (shortcut "de_DE" needs to be defined in bitcoin.qrc) if (translator.load(lang_territory, ":/translations/")) QApplication::installTranslator(&translator); } @@ -174,14 +175,14 @@ void DebugMessageHandler(QtMsgType type, const QMessageLogContext& context, cons } #endif -/** Class encapsulating Raven Core startup and shutdown. +/** Class encapsulating BLAST Core startup and shutdown. * Allows running startup and shutdown in a different thread from the UI thread. */ -class RavenCore: public QObject +class BitcoinCore: public QObject { Q_OBJECT public: - explicit RavenCore(); + explicit BitcoinCore(); /** Basic initialization, before starting initialization/shutdown thread. * Return true on success. */ @@ -204,13 +205,13 @@ public Q_SLOTS: void handleRunawayException(const std::exception *e); }; -/** Main Raven application object */ -class RavenApplication: public QApplication +/** Main BLAST application object */ +class BitcoinApplication: public QApplication { Q_OBJECT public: - explicit RavenApplication(int &argc, char **argv); - ~RavenApplication(); + explicit BitcoinApplication(int &argc, char **argv); + ~BitcoinApplication(); #ifdef ENABLE_WALLET /// Create payment server @@ -233,7 +234,7 @@ class RavenApplication: public QApplication /// Get process return value int getReturnValue() const { return returnValue; } - /// Get window identifier of QMainWindow (RavenGUI) + /// Get window identifier of QMainWindow (BitcoinGUI) WId getMainWinId() const; OptionsModel* getOptionsModel() const { return optionsModel; } @@ -254,7 +255,7 @@ public Q_SLOTS: QThread *coreThread; OptionsModel *optionsModel; ClientModel *clientModel; - RavenGUI *window; + BitcoinGUI *window; QTimer *pollShutdownTimer; #ifdef ENABLE_WALLET PaymentServer* paymentServer; @@ -267,20 +268,20 @@ public Q_SLOTS: void startThread(); }; -#include "raven.moc" +#include "bitcoin.moc" -RavenCore::RavenCore(): +BitcoinCore::BitcoinCore(): QObject() { } -void RavenCore::handleRunawayException(const std::exception *e) +void BitcoinCore::handleRunawayException(const std::exception *e) { PrintExceptionContinue(e, "Runaway exception"); Q_EMIT runawayException(QString::fromStdString(GetWarnings("gui"))); } -bool RavenCore::baseInitialize() +bool BitcoinCore::baseInitialize() { if (!AppInitBasicSetup()) { @@ -301,7 +302,7 @@ bool RavenCore::baseInitialize() return true; } -void RavenCore::initialize() +void BitcoinCore::initialize() { try { @@ -315,7 +316,7 @@ void RavenCore::initialize() } } -void RavenCore::shutdown() +void BitcoinCore::shutdown() { try { @@ -332,7 +333,7 @@ void RavenCore::shutdown() } } -RavenApplication::RavenApplication(int &argc, char **argv): +BitcoinApplication::BitcoinApplication(int &argc, char **argv): QApplication(argc, argv), coreThread(0), optionsModel(0), @@ -348,17 +349,17 @@ RavenApplication::RavenApplication(int &argc, char **argv): setQuitOnLastWindowClosed(false); // UI per-platform customization - // This must be done inside the RavenApplication constructor, or after it, because + // This must be done inside the BitcoinApplication constructor, or after it, because // PlatformStyle::instantiate requires a QApplication std::string platformName; - platformName = gArgs.GetArg("-uiplatform", RavenGUI::DEFAULT_UIPLATFORM); + platformName = gArgs.GetArg("-uiplatform", BitcoinGUI::DEFAULT_UIPLATFORM); platformStyle = PlatformStyle::instantiate(QString::fromStdString(platformName)); if (!platformStyle) // Fall back to "other" if specified name not found platformStyle = PlatformStyle::instantiate("other"); assert(platformStyle); } -RavenApplication::~RavenApplication() +BitcoinApplication::~BitcoinApplication() { if(coreThread) { @@ -381,20 +382,20 @@ RavenApplication::~RavenApplication() } #ifdef ENABLE_WALLET -void RavenApplication::createPaymentServer() +void BitcoinApplication::createPaymentServer() { paymentServer = new PaymentServer(this); } #endif -void RavenApplication::createOptionsModel(bool resetSettings) +void BitcoinApplication::createOptionsModel(bool resetSettings) { optionsModel = new OptionsModel(nullptr, resetSettings); } -void RavenApplication::createWindow(const NetworkStyle *networkStyle) +void BitcoinApplication::createWindow(const NetworkStyle *networkStyle) { - window = new RavenGUI(platformStyle, networkStyle, 0); + window = new BitcoinGUI(platformStyle, networkStyle, 0); window->setMinimumSize(200,200); window->setBaseSize(640,640); @@ -403,7 +404,7 @@ void RavenApplication::createWindow(const NetworkStyle *networkStyle) pollShutdownTimer->start(200); } -void RavenApplication::createSplashScreen(const NetworkStyle *networkStyle) +void BitcoinApplication::createSplashScreen(const NetworkStyle *networkStyle) { SplashScreen *splash = new SplashScreen(0, networkStyle); // We don't hold a direct pointer to the splash screen after creation, but the splash @@ -413,12 +414,12 @@ void RavenApplication::createSplashScreen(const NetworkStyle *networkStyle) connect(this, SIGNAL(requestedShutdown()), splash, SLOT(close())); } -void RavenApplication::startThread() +void BitcoinApplication::startThread() { if(coreThread) return; coreThread = new QThread(this); - RavenCore *executor = new RavenCore(); + BitcoinCore *executor = new BitcoinCore(); executor->moveToThread(coreThread); /* communication to and from thread */ @@ -434,20 +435,20 @@ void RavenApplication::startThread() coreThread->start(); } -void RavenApplication::parameterSetup() +void BitcoinApplication::parameterSetup() { InitLogging(); InitParameterInteraction(); } -void RavenApplication::requestInitialize() +void BitcoinApplication::requestInitialize() { qDebug() << __func__ << ": Requesting initialize"; startThread(); Q_EMIT requestedInitialize(); } -void RavenApplication::requestShutdown() +void BitcoinApplication::requestShutdown() { // Show a simple window indicating shutdown status // Do this first as some of the steps may take some time below, @@ -474,7 +475,7 @@ void RavenApplication::requestShutdown() Q_EMIT requestedShutdown(); } -void RavenApplication::initializeResult(bool success) +void BitcoinApplication::initializeResult(bool success) { qDebug() << __func__ << ": Initialization result: " << success; // Set exit result. @@ -497,8 +498,8 @@ void RavenApplication::initializeResult(bool success) { walletModel = new WalletModel(platformStyle, vpwallets[0], optionsModel); - window->addWallet(RavenGUI::DEFAULT_WALLET, walletModel); - window->setCurrentWallet(RavenGUI::DEFAULT_WALLET); + window->addWallet(BitcoinGUI::DEFAULT_WALLET, walletModel); + window->setCurrentWallet(BitcoinGUI::DEFAULT_WALLET); connect(walletModel, SIGNAL(coinsSent(CWallet*,SendCoinsRecipient,QByteArray)), paymentServer, SLOT(fetchPaymentACK(CWallet*,const SendCoinsRecipient&,QByteArray))); @@ -518,7 +519,7 @@ void RavenApplication::initializeResult(bool success) #ifdef ENABLE_WALLET // Now that initialization/startup is done, process any command-line - // raven: URIs or payment requests: + // blast: URIs or payment requests: connect(paymentServer, SIGNAL(receivedPaymentRequest(SendCoinsRecipient)), window, SLOT(handlePaymentRequest(SendCoinsRecipient))); connect(window, SIGNAL(receivedURI(QString)), @@ -532,18 +533,18 @@ void RavenApplication::initializeResult(bool success) } } -void RavenApplication::shutdownResult() +void BitcoinApplication::shutdownResult() { quit(); // Exit main loop after shutdown finished } -void RavenApplication::handleRunawayException(const QString &message) +void BitcoinApplication::handleRunawayException(const QString &message) { - QMessageBox::critical(0, "Runaway exception", RavenGUI::tr("A fatal error occurred. Raven can no longer continue safely and will quit.") + QString("\n\n") + message); + QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. BLAST can no longer continue safely and will quit.") + QString("\n\n") + message); ::exit(EXIT_FAILURE); } -WId RavenApplication::getMainWinId() const +WId BitcoinApplication::getMainWinId() const { if (!window) return 0; @@ -551,7 +552,7 @@ WId RavenApplication::getMainWinId() const return window->winId(); } -#ifndef RAVEN_QT_TEST +#ifndef BITCOIN_QT_TEST int main(int argc, char *argv[]) { SetupEnvironment(); @@ -569,10 +570,10 @@ int main(int argc, char *argv[]) QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); #endif - Q_INIT_RESOURCE(raven); - Q_INIT_RESOURCE(raven_locale); + Q_INIT_RESOURCE(bitcoin); + Q_INIT_RESOURCE(bitcoin_locale); - RavenApplication app(argc, argv); + BitcoinApplication app(argc, argv); #if QT_VERSION > 0x050100 // Generate high-dpi pixmaps QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); @@ -626,7 +627,7 @@ int main(int argc, char *argv[]) if (!Intro::pickDataDirectory()) return EXIT_SUCCESS; - /// 6. Determine availability of data directory and parse raven.conf + /// 6. Determine availability of data directory and parse blast.conf /// - Do not call GetDataDir(true) before this step finishes if (!fs::is_directory(GetDataDir(false))) { @@ -635,7 +636,7 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } try { - gArgs.ReadConfigFile(gArgs.GetArg("-conf", RAVEN_CONF_FILENAME)); + gArgs.ReadConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME)); } catch (const std::exception& e) { QMessageBox::critical(0, QObject::tr(PACKAGE_NAME), QObject::tr("Error: Cannot parse configuration file: %1. Only use key=value syntax.").arg(e.what())); @@ -678,7 +679,7 @@ int main(int argc, char *argv[]) exit(EXIT_SUCCESS); // Start up the payment server early, too, so impatient users that click on - // raven: links repeatedly have their payment requests routed to this process: + // blast: links repeatedly have their payment requests routed to this process: app.createPaymentServer(); #endif @@ -721,7 +722,7 @@ int main(int argc, char *argv[]) // Perform base initialization before spinning up initialization/shutdown thread // This is acceptable because this function only contains steps that are quick to execute, // so the GUI thread won't be held up. - if (RavenCore::baseInitialize()) { + if (BitcoinCore::baseInitialize()) { app.requestInitialize(); #if defined(Q_OS_WIN) && QT_VERSION >= 0x050000 WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("%1 didn't yet exit safely...").arg(QObject::tr(PACKAGE_NAME)), (HWND)app.getMainWinId()); @@ -743,4 +744,4 @@ int main(int argc, char *argv[]) } return rv; } -#endif // RAVEN_QT_TEST +#endif // BITCOIN_QT_TEST diff --git a/src/qt/raven.qrc b/src/qt/bitcoin.qrc similarity index 91% rename from src/qt/raven.qrc rename to src/qt/bitcoin.qrc index 9689a299f5..52ed48f16a 100644 --- a/src/qt/raven.qrc +++ b/src/qt/bitcoin.qrc @@ -1,6 +1,6 @@ - res/icons/raven.png + res/icons/bitcoin.png res/icons/address-book.png res/icons/quit.png res/icons/send.png @@ -68,7 +68,8 @@ res/icons/asset_manage_selected.png res/icons/asset_transfer.png res/icons/asset_transfer_selected.png - res/icons/ravencointext.png + + res/icons/blasttext.png res/movies/spinner-000.png @@ -135,6 +136,17 @@ res/darkstyle/icon_radiobutton_unchecked_disabled.png + res/fonts/Exo2-Bold.otf + res/fonts/Exo2-BoldItalic.otf + res/fonts/Exo2-ExtraBold.otf + res/fonts/Exo2-ExtraBoldItalic.otf + res/fonts/Exo2-Italic.otf + res/fonts/Exo2-Light.otf + res/fonts/Exo2-LightItalic.otf + res/fonts/Exo2-Regular.otf + res/fonts/Exo2-SemiBold.otf + res/fonts/Exo2-SemiBoldItalic.otf + res/fonts/OpenSans-Bold.ttf res/fonts/OpenSans-BoldItalic.ttf res/fonts/OpenSans-ExtraBold.ttf diff --git a/src/qt/bitcoin_locale.qrc b/src/qt/bitcoin_locale.qrc new file mode 100644 index 0000000000..f195b23d81 --- /dev/null +++ b/src/qt/bitcoin_locale.qrc @@ -0,0 +1,90 @@ + + + locale/bitcoin_af.qm + locale/bitcoin_af_ZA.qm + locale/bitcoin_ar.qm + locale/bitcoin_be_BY.qm + locale/bitcoin_bg_BG.qm + locale/bitcoin_bg.qm + locale/bitcoin_ca_ES.qm + locale/bitcoin_ca.qm + locale/bitcoin_ca@valencia.qm + locale/bitcoin_cs.qm + locale/bitcoin_cy.qm + locale/bitcoin_da.qm + locale/bitcoin_de.qm + locale/bitcoin_el_GR.qm + locale/bitcoin_el.qm + locale/bitcoin_en_GB.qm + locale/bitcoin_en.qm + locale/bitcoin_eo.qm + locale/bitcoin_es_AR.qm + locale/bitcoin_es_CL.qm + locale/bitcoin_es_CO.qm + locale/bitcoin_es_DO.qm + locale/bitcoin_es_ES.qm + locale/bitcoin_es_MX.qm + locale/bitcoin_es.qm + locale/bitcoin_es_UY.qm + locale/bitcoin_es_VE.qm + locale/bitcoin_et_EE.qm + locale/bitcoin_et.qm + locale/bitcoin_eu_ES.qm + locale/bitcoin_fa_IR.qm + locale/bitcoin_fa.qm + locale/bitcoin_fi.qm + locale/bitcoin_fr_CA.qm + locale/bitcoin_fr_FR.qm + locale/bitcoin_fr.qm + locale/bitcoin_gl.qm + locale/bitcoin_he.qm + locale/bitcoin_hi_IN.qm + locale/bitcoin_hr.qm + locale/bitcoin_hu.qm + locale/bitcoin_id_ID.qm + locale/bitcoin_it_IT.qm + locale/bitcoin_it.qm + locale/bitcoin_ja.qm + locale/bitcoin_ka.qm + locale/bitcoin_kk_KZ.qm + locale/bitcoin_ko_KR.qm + locale/bitcoin_ku_IQ.qm + locale/bitcoin_ky.qm + locale/bitcoin_la.qm + locale/bitcoin_lt.qm + locale/bitcoin_lv_LV.qm + locale/bitcoin_mk_MK.qm + locale/bitcoin_mn.qm + locale/bitcoin_ms_MY.qm + locale/bitcoin_nb.qm + locale/bitcoin_ne.qm + locale/bitcoin_nl.qm + locale/bitcoin_pam.qm + locale/bitcoin_pl.qm + locale/bitcoin_pt_BR.qm + locale/bitcoin_pt_PT.qm + locale/bitcoin_ro_RO.qm + locale/bitcoin_ro.qm + locale/bitcoin_ru_RU.qm + locale/bitcoin_ru.qm + locale/bitcoin_sk.qm + locale/bitcoin_sl_SI.qm + locale/bitcoin_sq.qm + locale/bitcoin_sr@latin.qm + locale/bitcoin_sr.qm + locale/bitcoin_sv.qm + locale/bitcoin_ta.qm + locale/bitcoin_th_TH.qm + locale/bitcoin_tr_TR.qm + locale/bitcoin_tr.qm + locale/bitcoin_uk.qm + locale/bitcoin_ur_PK.qm + locale/bitcoin_uz@Cyrl.qm + locale/bitcoin_vi.qm + locale/bitcoin_vi_VN.qm + locale/bitcoin_zh_CN.qm + locale/bitcoin_zh_HK.qm + locale/bitcoin_zh.qm + locale/bitcoin_zh_TW.qm + + diff --git a/src/qt/ravenaddressvalidator.cpp b/src/qt/bitcoinaddressvalidator.cpp similarity index 85% rename from src/qt/ravenaddressvalidator.cpp rename to src/qt/bitcoinaddressvalidator.cpp index 02b6a5845a..e3f49d8c89 100644 --- a/src/qt/ravenaddressvalidator.cpp +++ b/src/qt/bitcoinaddressvalidator.cpp @@ -3,7 +3,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "ravenaddressvalidator.h" +#include "bitcoinaddressvalidator.h" #include "base58.h" @@ -16,12 +16,12 @@ - All lower-case letters except for 'l' */ -RavenAddressEntryValidator::RavenAddressEntryValidator(QObject *parent) : +BitcoinAddressEntryValidator::BitcoinAddressEntryValidator(QObject *parent) : QValidator(parent) { } -QValidator::State RavenAddressEntryValidator::validate(QString &input, int &pos) const +QValidator::State BitcoinAddressEntryValidator::validate(QString &input, int &pos) const { Q_UNUSED(pos); @@ -81,12 +81,12 @@ QValidator::State RavenAddressEntryValidator::validate(QString &input, int &pos) return state; } -RavenAddressCheckValidator::RavenAddressCheckValidator(QObject *parent) : +BitcoinAddressCheckValidator::BitcoinAddressCheckValidator(QObject *parent) : QValidator(parent) { } -QValidator::State RavenAddressCheckValidator::validate(QString &input, int &pos) const +QValidator::State BitcoinAddressCheckValidator::validate(QString &input, int &pos) const { Q_UNUSED(pos); // Validate the passed Raven address diff --git a/src/qt/ravenaddressvalidator.h b/src/qt/bitcoinaddressvalidator.h similarity index 51% rename from src/qt/ravenaddressvalidator.h rename to src/qt/bitcoinaddressvalidator.h index 4443e257ac..814bf7fd38 100644 --- a/src/qt/ravenaddressvalidator.h +++ b/src/qt/bitcoinaddressvalidator.h @@ -1,36 +1,37 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RAVENADDRESSVALIDATOR_H -#define RAVEN_QT_RAVENADDRESSVALIDATOR_H +#ifndef BITCOIN_QT_BITCOINADDRESSVALIDATOR_H +#define BITCOIN_QT_BITCOINADDRESSVALIDATOR_H #include /** Base58 entry widget validator, checks for valid characters and * removes some whitespace. */ -class RavenAddressEntryValidator : public QValidator +class BitcoinAddressEntryValidator : public QValidator { Q_OBJECT public: - explicit RavenAddressEntryValidator(QObject *parent); + explicit BitcoinAddressEntryValidator(QObject *parent); State validate(QString &input, int &pos) const; }; -/** Raven address widget validator, checks for a valid raven address. +/** Bitcoin address widget validator, checks for a valid bitcoin address. */ -class RavenAddressCheckValidator : public QValidator +class BitcoinAddressCheckValidator : public QValidator { Q_OBJECT public: - explicit RavenAddressCheckValidator(QObject *parent); + explicit BitcoinAddressCheckValidator(QObject *parent); State validate(QString &input, int &pos) const; }; -#endif // RAVEN_QT_RAVENADDRESSVALIDATOR_H +#endif // BITCOIN_QT_BITCOINADDRESSVALIDATOR_H diff --git a/src/qt/ravenamountfield.cpp b/src/qt/bitcoinamountfield.cpp similarity index 84% rename from src/qt/ravenamountfield.cpp rename to src/qt/bitcoinamountfield.cpp index 62764f2b7c..4d2a782e6f 100644 --- a/src/qt/ravenamountfield.cpp +++ b/src/qt/bitcoinamountfield.cpp @@ -3,9 +3,9 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "ravenamountfield.h" +#include "bitcoinamountfield.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiconstants.h" #include "qvaluecombobox.h" #include "platformstyle.h" @@ -27,7 +27,7 @@ class AmountSpinBox: public QAbstractSpinBox public: explicit AmountSpinBox(QWidget *parent): QAbstractSpinBox(parent), - currentUnit(RavenUnits::RVN), + currentUnit(BitcoinUnits::BLAST), singleStep(100000), // satoshis assetUnit(-1) { @@ -52,7 +52,7 @@ class AmountSpinBox: public QAbstractSpinBox CAmount val = parse(input, &valid); if(valid) { - input = RavenUnits::format(currentUnit, val, false, RavenUnits::separatorAlways, assetUnit); + input = BitcoinUnits::format(currentUnit, val, false, BitcoinUnits::separatorAlways, assetUnit); lineEdit()->setText(input); } } @@ -64,7 +64,7 @@ class AmountSpinBox: public QAbstractSpinBox void setValue(const CAmount& value) { - lineEdit()->setText(RavenUnits::format(currentUnit, value, false, RavenUnits::separatorAlways, assetUnit)); + lineEdit()->setText(BitcoinUnits::format(currentUnit, value, false, BitcoinUnits::separatorAlways, assetUnit)); Q_EMIT valueChanged(); } @@ -73,7 +73,7 @@ class AmountSpinBox: public QAbstractSpinBox bool valid = false; CAmount val = value(&valid); val = val + steps * singleStep; - val = qMin(qMax(val, CAmount(0)), RavenUnits::maxMoney()); + val = qMin(qMax(val, CAmount(0)), BitcoinUnits::maxMoney()); setValue(val); } @@ -119,7 +119,7 @@ class AmountSpinBox: public QAbstractSpinBox const QFontMetrics fm(fontMetrics()); int h = lineEdit()->minimumSizeHint().height(); - int w = fm.width(RavenUnits::format(RavenUnits::RVN, RavenUnits::maxMoney(), false, RavenUnits::separatorAlways, assetUnit)); + int w = fm.width(BitcoinUnits::format(BitcoinUnits::BLAST, BitcoinUnits::maxMoney(), false, BitcoinUnits::separatorAlways, assetUnit)); w += 2; // cursor blinking space QStyleOptionSpinBox opt; @@ -162,14 +162,14 @@ class AmountSpinBox: public QAbstractSpinBox // Update parsing function to work with asset parsing units bool valid = false; if (assetUnit >= 0) { - valid = RavenUnits::assetParse(assetUnit, text, &val); + valid = BitcoinUnits::assetParse(assetUnit, text, &val); } else - valid = RavenUnits::parse(currentUnit, text, &val); + valid = BitcoinUnits::parse(currentUnit, text, &val); if(valid) { - if(val < 0 || val > RavenUnits::maxMoney()) + if(val < 0 || val > BitcoinUnits::maxMoney()) valid = false; } if(valid_out) @@ -207,7 +207,7 @@ class AmountSpinBox: public QAbstractSpinBox { if(val > 0) rv |= StepDownEnabled; - if(val < RavenUnits::maxMoney()) + if(val < BitcoinUnits::maxMoney()) rv |= StepUpEnabled; } return rv; @@ -217,9 +217,9 @@ class AmountSpinBox: public QAbstractSpinBox void valueChanged(); }; -#include "ravenamountfield.moc" +#include "bitcoinamountfield.moc" -RavenAmountField::RavenAmountField(QWidget *parent) : +BitcoinAmountField::BitcoinAmountField(QWidget *parent) : QWidget(parent), amount(0) { @@ -231,7 +231,7 @@ RavenAmountField::RavenAmountField(QWidget *parent) : QHBoxLayout *layout = new QHBoxLayout(this); layout->addWidget(amount); unit = new QValueComboBox(); - unit->setModel(new RavenUnits(this)); + unit->setModel(new BitcoinUnits(this)); layout->addWidget(unit); layout->addStretch(1); layout->setContentsMargins(0,0,0,0); @@ -250,19 +250,19 @@ RavenAmountField::RavenAmountField(QWidget *parent) : } -void RavenAmountField::clear() +void BitcoinAmountField::clear() { amount->clear(); unit->setCurrentIndex(0); } -void RavenAmountField::setEnabled(bool fEnabled) +void BitcoinAmountField::setEnabled(bool fEnabled) { amount->setEnabled(fEnabled); unit->setEnabled(fEnabled); } -bool RavenAmountField::validate() +bool BitcoinAmountField::validate() { bool valid = false; value(&valid); @@ -270,7 +270,7 @@ bool RavenAmountField::validate() return valid; } -void RavenAmountField::setValid(bool valid) +void BitcoinAmountField::setValid(bool valid) { if (valid) { amount->setStyleSheet(""); @@ -279,7 +279,7 @@ void RavenAmountField::setValid(bool valid) } } -bool RavenAmountField::eventFilter(QObject *object, QEvent *event) +bool BitcoinAmountField::eventFilter(QObject *object, QEvent *event) { if (event->type() == QEvent::FocusIn) { @@ -289,45 +289,45 @@ bool RavenAmountField::eventFilter(QObject *object, QEvent *event) return QWidget::eventFilter(object, event); } -QWidget *RavenAmountField::setupTabChain(QWidget *prev) +QWidget *BitcoinAmountField::setupTabChain(QWidget *prev) { QWidget::setTabOrder(prev, amount); QWidget::setTabOrder(amount, unit); return unit; } -CAmount RavenAmountField::value(bool *valid_out) const +CAmount BitcoinAmountField::value(bool *valid_out) const { return amount->value(valid_out); } -void RavenAmountField::setValue(const CAmount& value) +void BitcoinAmountField::setValue(const CAmount& value) { amount->setValue(value); } -void RavenAmountField::setReadOnly(bool fReadOnly) +void BitcoinAmountField::setReadOnly(bool fReadOnly) { amount->setReadOnly(fReadOnly); } -void RavenAmountField::unitChanged(int idx) +void BitcoinAmountField::unitChanged(int idx) { // Use description tooltip for current unit for the combobox unit->setToolTip(unit->itemData(idx, Qt::ToolTipRole).toString()); // Determine new unit ID - int newUnit = unit->itemData(idx, RavenUnits::UnitRole).toInt(); + int newUnit = unit->itemData(idx, BitcoinUnits::UnitRole).toInt(); amount->setDisplayUnit(newUnit); } -void RavenAmountField::setDisplayUnit(int newUnit) +void BitcoinAmountField::setDisplayUnit(int newUnit) { unit->setValue(newUnit); } -void RavenAmountField::setSingleStep(const CAmount& step) +void BitcoinAmountField::setSingleStep(const CAmount& step) { amount->setSingleStep(step); } @@ -398,7 +398,7 @@ bool AssetAmountField::eventFilter(QObject *object, QEvent *event) CAmount AssetAmountField::value(bool *valid_out) const { - return amount->value(valid_out) * RavenUnits::factorAsset(8 - assetUnit); + return amount->value(valid_out) * BitcoinUnits::factorAsset(8 - assetUnit); } void AssetAmountField::setValue(const CAmount& value) diff --git a/src/qt/ravenamountfield.h b/src/qt/bitcoinamountfield.h similarity index 87% rename from src/qt/ravenamountfield.h rename to src/qt/bitcoinamountfield.h index 3faf5f6e0f..e92d669c89 100644 --- a/src/qt/ravenamountfield.h +++ b/src/qt/bitcoinamountfield.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RAVENAMOUNTFIELD_H -#define RAVEN_QT_RAVENAMOUNTFIELD_H +#ifndef BITCOIN_QT_BITCOINAMOUNTFIELD_H +#define BITCOIN_QT_BITCOINAMOUNTFIELD_H #include "amount.h" @@ -16,18 +17,18 @@ QT_BEGIN_NAMESPACE class QValueComboBox; QT_END_NAMESPACE -/** Widget for entering raven amounts. +/** Widget for entering bitcoin amounts. */ -class RavenAmountField: public QWidget +class BitcoinAmountField: public QWidget { Q_OBJECT // ugly hack: for some unknown reason CAmount (instead of qint64) does not work here as expected - // discussion: https://github.com/RavenProject/Ravencoin/pull/5117 + // discussion: https://github.com/bitcoin/bitcoin/pull/5117 Q_PROPERTY(qint64 value READ value WRITE setValue NOTIFY valueChanged USER true) public: - explicit RavenAmountField(QWidget *parent = 0); + explicit BitcoinAmountField(QWidget *parent = 0); CAmount value(bool *value=0) const; void setValue(const CAmount& value); @@ -81,7 +82,7 @@ class AssetAmountField: public QWidget Q_OBJECT // ugly hack: for some unknown reason CAmount (instead of qint64) does not work here as expected - // discussion: https://github.com/RavenProject/Ravencoin/pull/5117 + // discussion: https://github.com/bitcoin/bitcoin/pull/5117 Q_PROPERTY(qint64 value READ value WRITE setValue NOTIFY valueChanged USER true) public: @@ -127,4 +128,4 @@ Q_OBJECT }; -#endif // RAVEN_QT_RAVENAMOUNTFIELD_H +#endif // BITCOIN_QT_BITCOINAMOUNTFIELD_H diff --git a/src/qt/ravengui.cpp b/src/qt/bitcoingui.cpp similarity index 88% rename from src/qt/ravengui.cpp rename to src/qt/bitcoingui.cpp index d682aa7211..92a7e646e1 100644 --- a/src/qt/ravengui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1,15 +1,16 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif -#include "ravengui.h" +#include "bitcoingui.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "clientmodel.h" #include "guiconstants.h" #include "guiutil.h" @@ -79,7 +80,7 @@ #endif -const std::string RavenGUI::DEFAULT_UIPLATFORM = +const std::string BitcoinGUI::DEFAULT_UIPLATFORM = #if defined(Q_OS_MAC) "macosx" #elif defined(Q_OS_WIN) @@ -91,9 +92,9 @@ const std::string RavenGUI::DEFAULT_UIPLATFORM = /** Display name for default wallet name. Uses tilde to avoid name * collisions in the future with additional wallets */ -const QString RavenGUI::DEFAULT_WALLET = "~Default"; +const QString BitcoinGUI::DEFAULT_WALLET = "~Default"; -RavenGUI::RavenGUI(const PlatformStyle *_platformStyle, const NetworkStyle *networkStyle, QWidget *parent) : +BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, const NetworkStyle *networkStyle, QWidget *parent) : QMainWindow(parent), enableWallet(false), clientModel(0), @@ -198,14 +199,14 @@ RavenGUI::RavenGUI(const PlatformStyle *_platformStyle, const NetworkStyle *netw setCentralWidget(rpcConsole); } - /** RVN START */ + /** BLAST START */ labelCurrentMarket = new QLabel(); labelCurrentPrice = new QLabel(); headerWidget = new QWidget(); pricingTimer = new QTimer(); networkManager = new QNetworkAccessManager(); request = new QNetworkRequest(); - /** RVN END */ + /** BLAST END */ // Accept D&D of URIs setAcceptDrops(true); @@ -213,7 +214,7 @@ RavenGUI::RavenGUI(const PlatformStyle *_platformStyle, const NetworkStyle *netw loadFonts(); #if !defined(Q_OS_MAC) - this->setFont(QFont("Open Sans")); + this->setFont(QFont("Open Sans")); // this->setFont(QFont("Exo2")); #endif // Create actions for the toolbar, menu bar and tray/dock icon @@ -306,7 +307,7 @@ RavenGUI::RavenGUI(const PlatformStyle *_platformStyle, const NetworkStyle *netw #endif } -RavenGUI::~RavenGUI() +BitcoinGUI::~BitcoinGUI() { // Unsubscribe from notifications from core unsubscribeFromCoreSignals(); @@ -323,8 +324,18 @@ RavenGUI::~RavenGUI() delete rpcConsole; } -void RavenGUI::loadFonts() -{ +void BitcoinGUI::loadFonts() +{ + QFontDatabase::addApplicationFont(":/fonts/exo2-bold"); + QFontDatabase::addApplicationFont(":/fonts/exo2-bolditalic"); + QFontDatabase::addApplicationFont(":/fonts/exo2-extrabold"); + QFontDatabase::addApplicationFont(":/fonts/exo2-extrabolditalic"); + QFontDatabase::addApplicationFont(":/fonts/exo2-italic"); + QFontDatabase::addApplicationFont(":/fonts/exo2-light"); + QFontDatabase::addApplicationFont(":/fonts/exo2-lightitalic"); + QFontDatabase::addApplicationFont(":/fonts/exo2-regular"); + QFontDatabase::addApplicationFont(":/fonts/exo2-semibold"); + QFontDatabase::addApplicationFont(":/fonts/exo2-semibolditalic"); QFontDatabase::addApplicationFont(":/fonts/opensans-bold"); QFontDatabase::addApplicationFont(":/fonts/opensans-bolditalic"); QFontDatabase::addApplicationFont(":/fonts/opensans-extrabold"); @@ -338,15 +349,20 @@ void RavenGUI::loadFonts() } -void RavenGUI::createActions() +void BitcoinGUI::createActions() { QFont font = QFont(); font.setPixelSize(22); font.setLetterSpacing(QFont::SpacingType::AbsoluteSpacing, -0.43); + QFont fontAlt = QFont(); + fontAlt.setPixelSize(22); + fontAlt.setLetterSpacing(QFont::SpacingType::AbsoluteSpacing, -0.43); #if !defined(Q_OS_MAC) font.setFamily("Open Sans"); + fontAlt.setFamily("Exo2"); #endif font.setWeight(QFont::Weight::ExtraLight); + fontAlt.setWeight(QFont::Weight::ExtraLight); QActionGroup *tabGroup = new QActionGroup(this); @@ -355,15 +371,15 @@ void RavenGUI::createActions() overviewAction->setToolTip(overviewAction->statusTip()); overviewAction->setCheckable(true); overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1)); - overviewAction->setFont(font); + overviewAction->setFont(fontAlt); tabGroup->addAction(overviewAction); sendCoinsAction = new QAction(platformStyle->SingleColorIconOnOff(":/icons/send_selected", ":/icons/send"), tr("&Send"), this); - sendCoinsAction->setStatusTip(tr("Send coins to a Raven address")); + sendCoinsAction->setStatusTip(tr("Send coins to a BLAST address")); sendCoinsAction->setToolTip(sendCoinsAction->statusTip()); sendCoinsAction->setCheckable(true); sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2)); - sendCoinsAction->setFont(font); + sendCoinsAction->setFont(fontAlt); tabGroup->addAction(sendCoinsAction); sendCoinsMenuAction = new QAction(platformStyle->TextColorIcon(":/icons/send"), sendCoinsAction->text(), this); @@ -371,11 +387,11 @@ void RavenGUI::createActions() sendCoinsMenuAction->setToolTip(sendCoinsMenuAction->statusTip()); receiveCoinsAction = new QAction(platformStyle->SingleColorIconOnOff(":/icons/receiving_addresses_selected", ":/icons/receiving_addresses"), tr("&Receive"), this); - receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and raven: URIs)")); + receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and blast: URIs)")); receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip()); receiveCoinsAction->setCheckable(true); receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3)); - receiveCoinsAction->setFont(font); + receiveCoinsAction->setFont(fontAlt); tabGroup->addAction(receiveCoinsAction); receiveCoinsMenuAction = new QAction(platformStyle->TextColorIcon(":/icons/receiving_addresses"), receiveCoinsAction->text(), this); @@ -387,24 +403,24 @@ void RavenGUI::createActions() historyAction->setToolTip(historyAction->statusTip()); historyAction->setCheckable(true); historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4)); - historyAction->setFont(font); + historyAction->setFont(fontAlt); tabGroup->addAction(historyAction); - /** RVN START */ + /** BLAST START */ transferAssetAction = new QAction(platformStyle->SingleColorIconOnOff(":/icons/asset_transfer_selected", ":/icons/asset_transfer"), tr("&Transfer Assets"), this); - transferAssetAction->setStatusTip(tr("Transfer assets to RVN addresses")); + transferAssetAction->setStatusTip(tr("Transfer assets to BLAST addresses")); transferAssetAction->setToolTip(transferAssetAction->statusTip()); transferAssetAction->setCheckable(true); transferAssetAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5)); - transferAssetAction->setFont(font); + transferAssetAction->setFont(fontAlt); tabGroup->addAction(transferAssetAction); - createAssetAction = new QAction(platformStyle->SingleColorIconOnOff(":/icons/asset_create_selected", ":/icons/asset_create"), tr("&Create Assets"), this); + createAssetAction = new QAction(platformStyle->SingleColorIconOnOff(":/icons/asset_create_selected", ":/icons/asset_create"), tr("&Create CryptoMech"), this); createAssetAction->setStatusTip(tr("Create new main/sub/unique assets")); createAssetAction->setToolTip(createAssetAction->statusTip()); createAssetAction->setCheckable(true); createAssetAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_6)); - createAssetAction->setFont(font); + createAssetAction->setFont(fontAlt); tabGroup->addAction(createAssetAction); manageAssetAction = new QAction(platformStyle->SingleColorIconOnOff(":/icons/asset_manage_selected", ":/icons/asset_manage"), tr("&Manage Assets"), this); @@ -412,7 +428,7 @@ void RavenGUI::createActions() manageAssetAction->setToolTip(manageAssetAction->statusTip()); manageAssetAction->setCheckable(true); manageAssetAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); - manageAssetAction->setFont(font); + manageAssetAction->setFont(fontAlt); tabGroup->addAction(manageAssetAction); messagingAction = new QAction(platformStyle->SingleColorIcon(":/icons/editcopy"), tr("&Messaging"), this); @@ -420,7 +436,7 @@ void RavenGUI::createActions() messagingAction->setToolTip(messagingAction->statusTip()); messagingAction->setCheckable(true); messagingAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_8)); - messagingAction->setFont(font); + messagingAction->setFont(fontAlt); tabGroup->addAction(messagingAction); votingAction = new QAction(platformStyle->SingleColorIcon(":/icons/edit"), tr("&Voting"), this); @@ -428,10 +444,10 @@ void RavenGUI::createActions() votingAction->setToolTip(votingAction->statusTip()); votingAction->setCheckable(true); votingAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_9)); - votingAction->setFont(font); + votingAction->setFont(fontAlt); tabGroup->addAction(votingAction); - /** RVN END */ + /** BLAST END */ #ifdef ENABLE_WALLET // These showNormalIfMinimized are needed because Send Coins and Receive Coins @@ -484,9 +500,9 @@ void RavenGUI::createActions() changePassphraseAction = new QAction(platformStyle->TextColorIcon(":/icons/key"), tr("&Change Passphrase..."), this); changePassphraseAction->setStatusTip(tr("Change the passphrase used for wallet encryption")); signMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/edit"), tr("Sign &message..."), this); - signMessageAction->setStatusTip(tr("Sign messages with your Raven addresses to prove you own them")); + signMessageAction->setStatusTip(tr("Sign messages with your BLAST addresses to prove you own them")); verifyMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/verify"), tr("&Verify message..."), this); - verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Raven addresses")); + verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified BLAST addresses")); openRPCConsoleAction = new QAction(platformStyle->TextColorIcon(":/icons/debugwindow"), tr("&Debug window"), this); openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console")); @@ -499,11 +515,11 @@ void RavenGUI::createActions() usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels")); openAction = new QAction(platformStyle->TextColorIcon(":/icons/open"), tr("Open &URI..."), this); - openAction->setStatusTip(tr("Open a raven: URI or payment request")); + openAction->setStatusTip(tr("Open a blast: URI or payment request")); showHelpMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/info"), tr("&Command-line options"), this); showHelpMessageAction->setMenuRole(QAction::NoRole); - showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Raven command-line options").arg(tr(PACKAGE_NAME))); + showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible BLAST command-line options").arg(tr(PACKAGE_NAME))); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); @@ -533,7 +549,7 @@ void RavenGUI::createActions() new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D), this, SLOT(showDebugWindow())); } -void RavenGUI::createMenuBar() +void BitcoinGUI::createMenuBar() { #ifdef Q_OS_MAC // Create a decoupled menu bar on Mac which stays even if the window is closed @@ -578,23 +594,23 @@ void RavenGUI::createMenuBar() help->addAction(aboutQtAction); } -void RavenGUI::createToolBars() +void BitcoinGUI::createToolBars() { if(walletFrame) { - /** RVN START */ + /** BLAST START */ // Create the orange background and the vertical tool bar QWidget* toolbarWidget = new QWidget(); QString widgetStyleSheet = ".QWidget {background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 %1, stop: 1 %2);}"; - toolbarWidget->setStyleSheet(widgetStyleSheet.arg(platformStyle->LightBlueColor().name(), platformStyle->DarkBlueColor().name())); + toolbarWidget->setStyleSheet(widgetStyleSheet.arg(platformStyle->LightGreyColor().name(), platformStyle->DarkGreyColor().name())); QLabel* label = new QLabel(); - label->setPixmap(QPixmap::fromImage(QImage(":/icons/ravencointext"))); + label->setPixmap(QPixmap::fromImage(QImage(":/icons/blasttext"))); label->setContentsMargins(0,0,0,50); label->setStyleSheet(".QLabel{background-color: transparent;}"); - /** RVN END */ + /** BLAST END */ QToolBar *toolbar = new QToolBar(); toolbar->setStyle(style()); @@ -611,18 +627,18 @@ void RavenGUI::createToolBars() toolbar->addAction(manageAssetAction); // toolbar->addAction(messagingAction); // toolbar->addAction(votingAction); - + QString exo2FontString = "font: normal 22pt \"Exo2\";"; QString openSansFontString = "font: normal 22pt \"Open Sans\";"; QString normalString = "font: normal 22pt \"Arial\";"; QString stringToUse = ""; #if !defined(Q_OS_MAC) - stringToUse = openSansFontString; + stringToUse = exo2FontString; // stringToUse = openSansFontString; #else stringToUse = normalString; #endif - /** RVN START */ + /** BLAST START */ QString tbStyleSheet = ".QToolBar {background-color : transparent; border-color: transparent; } " ".QToolButton {background-color: transparent; border-color: transparent; width: 249px; color: %1; border: none;} " ".QToolButton:checked {background: none; background-color: none; selection-background-color: none; color: %2; border: none; font: %4} " @@ -642,11 +658,11 @@ void RavenGUI::createToolBars() overviewAction->setChecked(true); - QVBoxLayout* ravenLabelLayout = new QVBoxLayout(toolbarWidget); - ravenLabelLayout->addWidget(label); - ravenLabelLayout->addWidget(toolbar); - ravenLabelLayout->setDirection(QBoxLayout::TopToBottom); - ravenLabelLayout->addStretch(1); + QVBoxLayout* bitcoinLabelLayout = new QVBoxLayout(toolbarWidget); + bitcoinLabelLayout->addWidget(label); + bitcoinLabelLayout->addWidget(toolbar); + bitcoinLabelLayout->setDirection(QBoxLayout::TopToBottom); + bitcoinLabelLayout->addStretch(1); QString mainWalletWidgetStyle = QString(".QWidget{background-color: %1}").arg(platformStyle->MainBackGroundColor().name()); QWidget* mainWalletWidget = new QWidget(); @@ -669,7 +685,7 @@ void RavenGUI::createToolBars() headerWidget->setFixedHeight(75); QFont currentMarketFont; - currentMarketFont.setFamily("Open Sans"); + currentMarketFont.setFamily("Open Sans"); // currentMarketFont.setFamily("Exo2"); currentMarketFont.setWeight(QFont::Weight::Normal); currentMarketFont.setLetterSpacing(QFont::SpacingType::AbsoluteSpacing, -0.6); currentMarketFont.setPixelSize(18); @@ -684,7 +700,7 @@ void RavenGUI::createToolBars() labelCurrentMarket->setAlignment(Qt::AlignVCenter); labelCurrentMarket->setStyleSheet(STRING_LABEL_COLOR); labelCurrentMarket->setFont(currentMarketFont); - labelCurrentMarket->setText(tr("Ravencoin Market Price")); + labelCurrentMarket->setText(tr("BLAST Market Price")); QString currentPriceStyleSheet = ".QLabel{color: %1;}"; labelCurrentPrice->setContentsMargins(25,0,0,0); @@ -693,18 +709,18 @@ void RavenGUI::createToolBars() labelCurrentPrice->setStyleSheet(currentPriceStyleSheet.arg(COLOR_LABELS.name())); labelCurrentPrice->setFont(currentMarketFont); - QLabel* labelBtcRvn = new QLabel(); - labelBtcRvn->setText("BTC / RVN"); - labelBtcRvn->setContentsMargins(15,0,0,0); - labelBtcRvn->setFixedHeight(75); - labelBtcRvn->setAlignment(Qt::AlignVCenter); - labelBtcRvn->setStyleSheet(STRING_LABEL_COLOR); - labelBtcRvn->setFont(currentMarketFont); + QLabel* labelBtcBlast = new QLabel(); + labelBtcBlast->setText("BTC / BLAST"); + labelBtcBlast->setContentsMargins(15,0,0,0); + labelBtcBlast->setFixedHeight(75); + labelBtcBlast->setAlignment(Qt::AlignVCenter); + labelBtcBlast->setStyleSheet(STRING_LABEL_COLOR); + labelBtcBlast->setFont(currentMarketFont); priceLayout->setGeometry(headerWidget->rect()); priceLayout->addWidget(labelCurrentMarket, 0, Qt::AlignVCenter | Qt::AlignLeft); priceLayout->addWidget(labelCurrentPrice, 0, Qt::AlignVCenter | Qt::AlignLeft); - priceLayout->addWidget(labelBtcRvn, 0 , Qt::AlignVCenter | Qt::AlignLeft); + priceLayout->addWidget(labelBtcBlast, 0 , Qt::AlignVCenter | Qt::AlignLeft); priceLayout->addStretch(); // Create the layout for widget to the right of the tool bar @@ -736,7 +752,7 @@ void RavenGUI::createToolBars() QString answer = reply->readAll(); // Create regex expression to find the value with 8 decimals - QRegExp rx("\\d*.\\d\\d\\d\\d\\d\\d\\d\\d"); + QRegExp rx("\\d*(\\.\\d*)?[eE]-\\d*|\\d*.\\d\\d\\d\\d\\d\\d\\d\\d"); rx.indexIn(answer); // List the found values @@ -763,7 +779,7 @@ void RavenGUI::createToolBars() labelCurrentPrice->setStyleSheet(currentPriceStyleSheet.arg(COLOR_LABELS.name())); } labelCurrentPrice->setText(QString("%1").arg(QString().setNum(next, 'f', 8))); - labelCurrentPrice->setToolTip(tr("Brought to you by binance.com")); + labelCurrentPrice->setToolTip(tr("Brought to you by coingecko.com")); } } } @@ -773,11 +789,11 @@ void RavenGUI::createToolBars() connect(pricingTimer, SIGNAL(timeout()), this, SLOT(getPriceInfo())); pricingTimer->start(10000); getPriceInfo(); - /** RVN END */ + /** BLAST END */ } } -void RavenGUI::setClientModel(ClientModel *_clientModel) +void BitcoinGUI::setClientModel(ClientModel *_clientModel) { this->clientModel = _clientModel; if(_clientModel) @@ -840,7 +856,7 @@ void RavenGUI::setClientModel(ClientModel *_clientModel) } #ifdef ENABLE_WALLET -bool RavenGUI::addWallet(const QString& name, WalletModel *walletModel) +bool BitcoinGUI::addWallet(const QString& name, WalletModel *walletModel) { if(!walletFrame) return false; @@ -848,14 +864,14 @@ bool RavenGUI::addWallet(const QString& name, WalletModel *walletModel) return walletFrame->addWallet(name, walletModel); } -bool RavenGUI::setCurrentWallet(const QString& name) +bool BitcoinGUI::setCurrentWallet(const QString& name) { if(!walletFrame) return false; return walletFrame->setCurrentWallet(name); } -void RavenGUI::removeAllWallets() +void BitcoinGUI::removeAllWallets() { if(!walletFrame) return; @@ -864,7 +880,7 @@ void RavenGUI::removeAllWallets() } #endif // ENABLE_WALLET -void RavenGUI::setWalletActionsEnabled(bool enabled) +void BitcoinGUI::setWalletActionsEnabled(bool enabled) { overviewAction->setEnabled(enabled); sendCoinsAction->setEnabled(enabled); @@ -881,16 +897,16 @@ void RavenGUI::setWalletActionsEnabled(bool enabled) usedReceivingAddressesAction->setEnabled(enabled); openAction->setEnabled(enabled); - /** RVN START */ + /** BLAST START */ transferAssetAction->setEnabled(false); createAssetAction->setEnabled(false); manageAssetAction->setEnabled(false); messagingAction->setEnabled(false); votingAction->setEnabled(false); - /** RVN END */ + /** BLAST END */ } -void RavenGUI::createTrayIcon(const NetworkStyle *networkStyle) +void BitcoinGUI::createTrayIcon(const NetworkStyle *networkStyle) { #ifndef Q_OS_MAC trayIcon = new QSystemTrayIcon(this); @@ -903,7 +919,7 @@ void RavenGUI::createTrayIcon(const NetworkStyle *networkStyle) notificator = new Notificator(QApplication::applicationName(), trayIcon, this); } -void RavenGUI::createTrayIconMenu() +void BitcoinGUI::createTrayIconMenu() { #ifndef Q_OS_MAC // return if trayIcon is unset (only on non-Mac OSes) @@ -940,7 +956,7 @@ void RavenGUI::createTrayIconMenu() } #ifndef Q_OS_MAC -void RavenGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) +void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) { if(reason == QSystemTrayIcon::Trigger) { @@ -950,7 +966,7 @@ void RavenGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) } #endif -void RavenGUI::optionsClicked() +void BitcoinGUI::optionsClicked() { if(!clientModel || !clientModel->getOptionsModel()) return; @@ -960,7 +976,7 @@ void RavenGUI::optionsClicked() dlg.exec(); } -void RavenGUI::aboutClicked() +void BitcoinGUI::aboutClicked() { if(!clientModel) return; @@ -969,7 +985,7 @@ void RavenGUI::aboutClicked() dlg.exec(); } -void RavenGUI::showDebugWindow() +void BitcoinGUI::showDebugWindow() { rpcConsole->showNormal(); rpcConsole->show(); @@ -977,19 +993,19 @@ void RavenGUI::showDebugWindow() rpcConsole->activateWindow(); } -void RavenGUI::showDebugWindowActivateConsole() +void BitcoinGUI::showDebugWindowActivateConsole() { rpcConsole->setTabFocus(RPCConsole::TAB_CONSOLE); showDebugWindow(); } -void RavenGUI::showHelpMessageClicked() +void BitcoinGUI::showHelpMessageClicked() { helpMessageDialog->show(); } #ifdef ENABLE_WALLET -void RavenGUI::openClicked() +void BitcoinGUI::openClicked() { OpenURIDialog dlg(this); if(dlg.exec()) @@ -998,62 +1014,62 @@ void RavenGUI::openClicked() } } -void RavenGUI::gotoOverviewPage() +void BitcoinGUI::gotoOverviewPage() { overviewAction->setChecked(true); if (walletFrame) walletFrame->gotoOverviewPage(); } -void RavenGUI::gotoHistoryPage() +void BitcoinGUI::gotoHistoryPage() { historyAction->setChecked(true); if (walletFrame) walletFrame->gotoHistoryPage(); } -void RavenGUI::gotoReceiveCoinsPage() +void BitcoinGUI::gotoReceiveCoinsPage() { receiveCoinsAction->setChecked(true); if (walletFrame) walletFrame->gotoReceiveCoinsPage(); } -void RavenGUI::gotoSendCoinsPage(QString addr) +void BitcoinGUI::gotoSendCoinsPage(QString addr) { sendCoinsAction->setChecked(true); if (walletFrame) walletFrame->gotoSendCoinsPage(addr); } -void RavenGUI::gotoSignMessageTab(QString addr) +void BitcoinGUI::gotoSignMessageTab(QString addr) { if (walletFrame) walletFrame->gotoSignMessageTab(addr); } -void RavenGUI::gotoVerifyMessageTab(QString addr) +void BitcoinGUI::gotoVerifyMessageTab(QString addr) { if (walletFrame) walletFrame->gotoVerifyMessageTab(addr); } -/** RVN START */ -void RavenGUI::gotoAssetsPage() +/** BLAST START */ +void BitcoinGUI::gotoAssetsPage() { transferAssetAction->setChecked(true); if (walletFrame) walletFrame->gotoAssetsPage(); }; -void RavenGUI::gotoCreateAssetsPage() +void BitcoinGUI::gotoCreateAssetsPage() { createAssetAction->setChecked(true); if (walletFrame) walletFrame->gotoCreateAssetsPage(); }; -void RavenGUI::gotoManageAssetsPage() +void BitcoinGUI::gotoManageAssetsPage() { manageAssetAction->setChecked(true); if (walletFrame) walletFrame->gotoManageAssetsPage(); }; -/** RVN END */ +/** BLAST END */ #endif // ENABLE_WALLET -void RavenGUI::updateNetworkState() +void BitcoinGUI::updateNetworkState() { int count = clientModel->getNumConnections(); QString icon; @@ -1069,7 +1085,7 @@ void RavenGUI::updateNetworkState() QString tooltip; if (clientModel->getNetworkActive()) { - tooltip = tr("%n active connection(s) to Raven network", "", count) + QString(".
") + tr("Click to disable network activity."); + tooltip = tr("%n active connection(s) to BLAST network", "", count) + QString(".
") + tr("Click to disable network activity."); } else { tooltip = tr("Network activity disabled.") + QString("
") + tr("Click to enable network activity again."); icon = ":/icons/network_disabled"; @@ -1082,17 +1098,17 @@ void RavenGUI::updateNetworkState() connectionsControl->setPixmap(platformStyle->SingleColorIcon(icon).pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); } -void RavenGUI::setNumConnections(int count) +void BitcoinGUI::setNumConnections(int count) { updateNetworkState(); } -void RavenGUI::setNetworkActive(bool networkActive) +void BitcoinGUI::setNetworkActive(bool networkActive) { updateNetworkState(); } -void RavenGUI::updateHeadersSyncProgressLabel() +void BitcoinGUI::updateHeadersSyncProgressLabel() { int64_t headersTipTime = clientModel->getHeaderTipTime(); int headersTipHeight = clientModel->getHeaderTipHeight(); @@ -1101,7 +1117,7 @@ void RavenGUI::updateHeadersSyncProgressLabel() progressBarLabel->setText(tr("Syncing Headers (%1%)...").arg(QString::number(100.0 / (headersTipHeight+estHeadersLeft)*headersTipHeight, 'f', 1))); } -void RavenGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVerificationProgress, bool header) +void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVerificationProgress, bool header) { if (modalOverlay) { @@ -1212,9 +1228,9 @@ void RavenGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVerif progressBar->setToolTip(tooltip); } -void RavenGUI::message(const QString &title, const QString &message, unsigned int style, bool *ret) +void BitcoinGUI::message(const QString &title, const QString &message, unsigned int style, bool *ret) { - QString strTitle = tr("Raven"); // default title + QString strTitle = tr("BLAST"); // default title // Default to information icon int nMBoxIcon = QMessageBox::Information; int nNotifyIcon = Notificator::Information; @@ -1240,7 +1256,7 @@ void RavenGUI::message(const QString &title, const QString &message, unsigned in break; } } - // Append title to "Raven - " + // Append title to "BLAST - " if (!msgType.isEmpty()) strTitle += " - " + msgType; @@ -1271,7 +1287,7 @@ void RavenGUI::message(const QString &title, const QString &message, unsigned in notificator->notify((Notificator::Class)nNotifyIcon, strTitle, message); } -void RavenGUI::changeEvent(QEvent *e) +void BitcoinGUI::changeEvent(QEvent *e) { QMainWindow::changeEvent(e); #ifndef Q_OS_MAC // Ignored on Mac @@ -1290,7 +1306,7 @@ void RavenGUI::changeEvent(QEvent *e) #endif } -void RavenGUI::closeEvent(QCloseEvent *event) +void BitcoinGUI::closeEvent(QCloseEvent *event) { #ifndef Q_OS_MAC // Ignored on Mac if(clientModel && clientModel->getOptionsModel()) @@ -1313,7 +1329,7 @@ void RavenGUI::closeEvent(QCloseEvent *event) #endif } -void RavenGUI::showEvent(QShowEvent *event) +void BitcoinGUI::showEvent(QShowEvent *event) { // enable the debug window when the main window shows up openRPCConsoleAction->setEnabled(true); @@ -1322,14 +1338,14 @@ void RavenGUI::showEvent(QShowEvent *event) } #ifdef ENABLE_WALLET -void RavenGUI::incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label, const QString& assetName) +void BitcoinGUI::incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label, const QString& assetName) { // On new transaction, make an info balloon QString msg = tr("Date: %1\n").arg(date); - if (assetName == "RVN") - msg += tr("Amount: %1\n").arg(RavenUnits::formatWithUnit(unit, amount, true)); + if (assetName == "BLAST") + msg += tr("Amount: %1\n").arg(BitcoinUnits::formatWithUnit(unit, amount, true)); else - msg += tr("Amount: %1\n").arg(RavenUnits::formatWithCustomName(assetName, amount, MAX_ASSET_UNITS, true)); + msg += tr("Amount: %1\n").arg(BitcoinUnits::formatWithCustomName(assetName, amount, MAX_ASSET_UNITS, true)); msg += tr("Type: %1\n").arg(type); @@ -1341,12 +1357,12 @@ void RavenGUI::incomingTransaction(const QString& date, int unit, const CAmount& msg, CClientUIInterface::MSG_INFORMATION); } -void RavenGUI::checkAssets() +void BitcoinGUI::checkAssets() { // Check that status of RIP2 and activate the assets icon if it is active if(AreAssetsDeployed()) { transferAssetAction->setDisabled(false); - transferAssetAction->setToolTip(tr("Transfer assets to RVN addresses")); + transferAssetAction->setToolTip(tr("Transfer assets to BLAST addresses")); createAssetAction->setDisabled(false); createAssetAction->setToolTip(tr("Create new main/sub/unique assets")); manageAssetAction->setDisabled(false); @@ -1361,14 +1377,14 @@ void RavenGUI::checkAssets() } #endif // ENABLE_WALLET -void RavenGUI::dragEnterEvent(QDragEnterEvent *event) +void BitcoinGUI::dragEnterEvent(QDragEnterEvent *event) { // Accept only URIs if(event->mimeData()->hasUrls()) event->acceptProposedAction(); } -void RavenGUI::dropEvent(QDropEvent *event) +void BitcoinGUI::dropEvent(QDropEvent *event) { if(event->mimeData()->hasUrls()) { @@ -1380,7 +1396,7 @@ void RavenGUI::dropEvent(QDropEvent *event) event->acceptProposedAction(); } -bool RavenGUI::eventFilter(QObject *object, QEvent *event) +bool BitcoinGUI::eventFilter(QObject *object, QEvent *event) { // Catch status tip events if (event->type() == QEvent::StatusTip) @@ -1393,7 +1409,7 @@ bool RavenGUI::eventFilter(QObject *object, QEvent *event) } #ifdef ENABLE_WALLET -bool RavenGUI::handlePaymentRequest(const SendCoinsRecipient& recipient) +bool BitcoinGUI::handlePaymentRequest(const SendCoinsRecipient& recipient) { // URI has to be valid if (walletFrame && walletFrame->handlePaymentRequest(recipient)) @@ -1405,7 +1421,7 @@ bool RavenGUI::handlePaymentRequest(const SendCoinsRecipient& recipient) return false; } -void RavenGUI::setHDStatus(int hdEnabled) +void BitcoinGUI::setHDStatus(int hdEnabled) { labelWalletHDStatusIcon->setPixmap(platformStyle->SingleColorIcon(hdEnabled ? ":/icons/hd_enabled" : ":/icons/hd_disabled").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelWalletHDStatusIcon->setToolTip(hdEnabled ? tr("HD key generation is enabled") : tr("HD key generation is disabled")); @@ -1414,7 +1430,7 @@ void RavenGUI::setHDStatus(int hdEnabled) labelWalletHDStatusIcon->setEnabled(hdEnabled); } -void RavenGUI::setEncryptionStatus(int status) +void BitcoinGUI::setEncryptionStatus(int status) { switch(status) { @@ -1444,7 +1460,7 @@ void RavenGUI::setEncryptionStatus(int status) } #endif // ENABLE_WALLET -void RavenGUI::showNormalIfMinimized(bool fToggleHidden) +void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden) { if(!clientModel) return; @@ -1469,12 +1485,12 @@ void RavenGUI::showNormalIfMinimized(bool fToggleHidden) hide(); } -void RavenGUI::toggleHidden() +void BitcoinGUI::toggleHidden() { showNormalIfMinimized(true); } -void RavenGUI::detectShutdown() +void BitcoinGUI::detectShutdown() { if (ShutdownRequested()) { @@ -1484,7 +1500,7 @@ void RavenGUI::detectShutdown() } } -void RavenGUI::showProgress(const QString &title, int nProgress) +void BitcoinGUI::showProgress(const QString &title, int nProgress) { if (nProgress == 0) { @@ -1507,7 +1523,7 @@ void RavenGUI::showProgress(const QString &title, int nProgress) progressDialog->setValue(nProgress); } -void RavenGUI::setTrayIconVisible(bool fHideTrayIcon) +void BitcoinGUI::setTrayIconVisible(bool fHideTrayIcon) { if (trayIcon) { @@ -1515,13 +1531,13 @@ void RavenGUI::setTrayIconVisible(bool fHideTrayIcon) } } -void RavenGUI::showModalOverlay() +void BitcoinGUI::showModalOverlay() { if (modalOverlay && (progressBar->isVisible() || modalOverlay->isLayerVisible())) modalOverlay->toggleVisibility(); } -static bool ThreadSafeMessageBox(RavenGUI *gui, const std::string& message, const std::string& caption, unsigned int style) +static bool ThreadSafeMessageBox(BitcoinGUI *gui, const std::string& message, const std::string& caption, unsigned int style) { bool modal = (style & CClientUIInterface::MODAL); // The SECURE flag has no effect in the Qt GUI. @@ -1538,21 +1554,21 @@ static bool ThreadSafeMessageBox(RavenGUI *gui, const std::string& message, cons return ret; } -void RavenGUI::subscribeToCoreSignals() +void BitcoinGUI::subscribeToCoreSignals() { // Connect signals to client uiInterface.ThreadSafeMessageBox.connect(boost::bind(ThreadSafeMessageBox, this, _1, _2, _3)); uiInterface.ThreadSafeQuestion.connect(boost::bind(ThreadSafeMessageBox, this, _1, _3, _4)); } -void RavenGUI::unsubscribeFromCoreSignals() +void BitcoinGUI::unsubscribeFromCoreSignals() { // Disconnect signals from client uiInterface.ThreadSafeMessageBox.disconnect(boost::bind(ThreadSafeMessageBox, this, _1, _2, _3)); uiInterface.ThreadSafeQuestion.disconnect(boost::bind(ThreadSafeMessageBox, this, _1, _3, _4)); } -void RavenGUI::toggleNetworkActive() +void BitcoinGUI::toggleNetworkActive() { if (clientModel) { clientModel->setNetworkActive(!clientModel->getNetworkActive()); @@ -1565,12 +1581,12 @@ UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *pl { createContextMenu(platformStyle); setToolTip(tr("Unit to show amounts in. Click to select another unit.")); - QList units = RavenUnits::availableUnits(); + QList units = BitcoinUnits::availableUnits(); int max_width = 0; const QFontMetrics fm(font()); - for (const RavenUnits::Unit unit : units) + for (const BitcoinUnits::Unit unit : units) { - max_width = qMax(max_width, fm.width(RavenUnits::name(unit))); + max_width = qMax(max_width, fm.width(BitcoinUnits::name(unit))); } setMinimumSize(max_width, 0); setAlignment(Qt::AlignRight | Qt::AlignVCenter); @@ -1587,9 +1603,9 @@ void UnitDisplayStatusBarControl::mousePressEvent(QMouseEvent *event) void UnitDisplayStatusBarControl::createContextMenu(const PlatformStyle *platformStyle) { menu = new QMenu(this); - for (RavenUnits::Unit u : RavenUnits::availableUnits()) + for (BitcoinUnits::Unit u : BitcoinUnits::availableUnits()) { - QAction *menuAction = new QAction(QString(RavenUnits::name(u)), this); + QAction *menuAction = new QAction(QString(BitcoinUnits::name(u)), this); menuAction->setData(QVariant(u)); menu->addAction(menuAction); } @@ -1615,7 +1631,7 @@ void UnitDisplayStatusBarControl::setOptionsModel(OptionsModel *_optionsModel) /** When Display Units are changed on OptionsModel it will refresh the display text of the control on the status bar */ void UnitDisplayStatusBarControl::updateDisplayUnit(int newUnits) { - setText(RavenUnits::name(newUnits)); + setText(BitcoinUnits::name(newUnits)); } /** Shows context menu with Display Unit options by the mouse coordinates */ @@ -1634,8 +1650,8 @@ void UnitDisplayStatusBarControl::onMenuSelection(QAction* action) } } -void RavenGUI::getPriceInfo() +void BitcoinGUI::getPriceInfo() { - request->setUrl(QUrl("https://api.binance.com/api/v1/ticker/price?symbol=RVNBTC")); + request->setUrl(QUrl("https://api.coingecko.com/api/v3/simple/price?ids=blast&vs_currencies=btc")); networkManager->get(*request); } diff --git a/src/qt/ravengui.h b/src/qt/bitcoingui.h similarity index 93% rename from src/qt/ravengui.h rename to src/qt/bitcoingui.h index 2f206316b0..9c70fc5c54 100644 --- a/src/qt/ravengui.h +++ b/src/qt/bitcoingui.h @@ -1,13 +1,14 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RAVENGUI_H -#define RAVEN_QT_RAVENGUI_H +#ifndef BITCOIN_QT_BITCOINGUI_H +#define BITCOIN_QT_BITCOINGUI_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "amount.h" @@ -41,10 +42,10 @@ class QNetworkRequest; QT_END_NAMESPACE /** - Raven GUI main class. This class represents the main window of the Raven UI. It communicates with both the client and + Bitcoin GUI main class. This class represents the main window of the Bitcoin UI. It communicates with both the client and wallet models to give the user an up-to-date view of the current core state. */ -class RavenGUI : public QMainWindow +class BitcoinGUI : public QMainWindow { Q_OBJECT @@ -52,8 +53,8 @@ class RavenGUI : public QMainWindow static const QString DEFAULT_WALLET; static const std::string DEFAULT_UIPLATFORM; - explicit RavenGUI(const PlatformStyle *platformStyle, const NetworkStyle *networkStyle, QWidget *parent = 0); - ~RavenGUI(); + explicit BitcoinGUI(const PlatformStyle *platformStyle, const NetworkStyle *networkStyle, QWidget *parent = 0); + ~BitcoinGUI(); /** Set the client model. The client model represents the part of the core that communicates with the P2P network, and is wallet-agnostic. @@ -62,7 +63,7 @@ class RavenGUI : public QMainWindow #ifdef ENABLE_WALLET /** Set the wallet model. - The wallet model represents a raven wallet, and offers access to the list of transactions, address book and sending + The wallet model represents a bitcoin wallet, and offers access to the list of transactions, address book and sending functionality. */ bool addWallet(const QString& name, WalletModel *walletModel); @@ -115,7 +116,7 @@ class RavenGUI : public QMainWindow QAction *openAction; QAction *showHelpMessageAction; - /** RVN START */ + /** BLAST START */ QAction *transferAssetAction; QAction *createAssetAction; QAction *manageAssetAction; @@ -127,7 +128,7 @@ class RavenGUI : public QMainWindow QTimer *pricingTimer; QNetworkAccessManager* networkManager; QNetworkRequest* request; - /** RVN END */ + /** BLAST END */ QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; @@ -232,12 +233,12 @@ private Q_SLOTS: /** Show open dialog */ void openClicked(); - /** RVN START */ + /** BLAST START */ /** Switch to assets page */ void gotoAssetsPage(); void gotoCreateAssetsPage(); void gotoManageAssetsPage(); - /** RVN END */ + /** BLAST END */ #endif // ENABLE_WALLET /** Show configuration dialog */ @@ -304,4 +305,4 @@ private Q_SLOTS: void onMenuSelection(QAction* action); }; -#endif // RAVEN_QT_RAVENGUI_H +#endif // BITCOIN_QT_BITCOINGUI_H diff --git a/src/qt/bitcoinstrings.cpp b/src/qt/bitcoinstrings.cpp new file mode 100644 index 0000000000..da2a7d3ee9 --- /dev/null +++ b/src/qt/bitcoinstrings.cpp @@ -0,0 +1,421 @@ + + +#include + +// Automatically generated by extract_strings_qt.py +#ifdef __GNUC__ +#define UNUSED __attribute__((unused)) +#else +#define UNUSED +#endif +static const char UNUSED *bitcoin_strings[] = { +QT_TRANSLATE_NOOP("bitcoin-core", "BLAST Core"), +QT_TRANSLATE_NOOP("bitcoin-core", "The %s developers"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"(1 = keep tx meta data e.g. account owner and payment request information, 2 " +"= drop tx meta data)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"-maxtxfee is set very high! Fees this large could be paid on a single " +"transaction."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"A fee rate (in %s/kB) that will be used when fee estimation has insufficient " +"data (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Accept relayed transactions received from whitelisted peers even when not " +"relaying transactions (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Allow JSON-RPC connections from specified source. Valid for 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"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Bind to given address and always listen on it. Use [host]:port notation for " +"IPv6"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Bind to given address and whitelist peers connecting to it. Use [host]:port " +"notation for IPv6"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Bind to given address to listen for JSON-RPC connections. This option is " +"ignored unless -rpcallowip is also passed. Port is optional and overrides -" +"rpcport. Use [host]:port notation for IPv6. This option can be specified " +"multiple times (default: 127.0.0.1 and ::1 i.e., localhost, or if -" +"rpcallowip has been specified, 0.0.0.0 and :: i.e., all addresses)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Cannot obtain a lock on data directory %s. %s is probably already running."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Connect only to the specified node(s); -connect=0 disables automatic " +"connections"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Create new files with system default permissions, instead of umask 077 (only " +"effective with disabled wallet functionality)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Delete all wallet transactions and only recover those parts of the " +"blockchain through -rescan on startup"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Discover own IP addresses (default: 1 when listening and no -externalip or -" +"proxy)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Distributed under the MIT software license, see the accompanying file %s or " +"%s"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Do not keep transactions in the mempool longer than hours (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Equivalent bytes per sigop in transactions for relay and mining (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Error loading %s: You can't enable HD on an already existing non-HD wallet"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Error loading wallet %s. -wallet parameter must only specify a filename (not " +"a path)."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Error reading %s! All keys read correctly, but transaction data or address " +"book entries might be missing or incorrect."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Error: Listening for incoming connections failed (listen returned error %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Exclude debugging information for a category. Can be used in conjunction " +"with -debug=1 to output debug logs for all categories except one or more " +"specified categories."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Execute command when a relevant alert is received or we see a really long " +"fork (%s in cmd is replaced by message)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Execute command when a wallet transaction changes (%s in cmd is replaced by " +"TxID)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Execute command when the best block changes (%s in cmd is replaced by block " +"hash)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Extra transactions to keep in memory for compact block reconstructions " +"(default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Fees (in %s/kB) smaller than this are considered zero fee for relaying, " +"mining and transaction creation (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Fees (in %s/kB) smaller than this are considered zero fee for transaction " +"creation (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Force relay of transactions from whitelisted peers even if they violate " +"local relay policy (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"How thorough the block verification of -checkblocks is (0-4, default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"If is not supplied or if = 1, output all debugging " +"information."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"If paytxfee is not set, include enough fee so transactions begin " +"confirmation on average within n blocks (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"If this block is in the chain assume that it and its ancestors are valid and " +"potentially skip their script verification (0 to verify all, default: %s, " +"testnet: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Invalid amount for -maxtxfee=: '%s' (must be at least the minrelay " +"fee of %s to prevent stuck transactions)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Maintain a full transaction index, used by the getrawtransaction rpc call " +"(default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Maximum allowed median peer time offset adjustment. Local perspective of " +"time may be influenced by peers forward or backward by this amount. " +"(default: %u seconds)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Maximum size of data in data carrier transactions we relay and mine " +"(default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Maximum total fees (in %s) to use in a single wallet transaction or raw " +"transaction; setting this too low may abort large transactions (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Number of seconds to keep misbehaving peers from reconnecting (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Output debugging information (default: %u, supplying is optional)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Please check that your computer's date and time are correct! If your clock " +"is wrong, %s will not work properly."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Please contribute if you find %s useful. Visit %s for further information " +"about the software."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Prune configured below the minimum of %d MiB. Please use a higher number."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Prune: last wallet synchronisation goes beyond pruned data. You need to -" +"reindex (download the whole blockchain again in case of pruned node)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Query for peer addresses via DNS lookup, if low on addresses (default: 1 " +"unless -connect used)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Randomize credentials for every proxy connection. This enables Tor stream " +"isolation (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Reduce storage requirements by enabling pruning (deleting) of old blocks. " +"This allows the pruneblockchain RPC to be called to delete specific blocks, " +"and enables automatic pruning of old blocks if a target size in MiB is " +"provided. This mode is incompatible with -txindex and -rescan. Warning: " +"Reverting this setting requires re-downloading the entire blockchain. " +"(default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >%u " +"= automatically prune block files to stay under the specified target size in " +"MiB)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Rescans are not possible in pruned mode. You will need to use -reindex which " +"will download the whole blockchain again."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Set lowest fee rate (in %s/kB) for transactions to be included in block " +"creation. (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Set the number of script verification threads (%u to %d, 0 = auto, <0 = " +"leave that many cores free, default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Sets the serialization of raw transaction or block hex returned in non-" +"verbose mode, non-segwit(0) or segwit(1) (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Support filtering of blocks and transaction with bloom filters (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-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("bitcoin-core", "" +"The fee rate (in %s/kB) that indicates your tolerance for discarding change " +"by adding it to the fee (default: %s). Note: An output is discarded if it is " +"dust at this rate, but we will always discard up to the dust relay fee and a " +"discard fee above that is limited by the fee estimate for the longest target"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"The transaction amount is too small to send after the fee has been deducted"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"This is a pre-release test build - use at your own risk - do not use for " +"mining or merchant applications"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"This is the transaction fee you may discard if change is smaller than dust " +"at this level"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"This is the transaction fee you may pay when fee estimates are not available."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"This product includes software developed by the OpenSSL Project for use in " +"the OpenSSL Toolkit %s and cryptographic software written by Eric Young and " +"UPnP software written by Thomas Bernard."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Total length of network version string (%i) exceeds maximum length (%i). " +"Reduce the number or size of uacomments."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = " +"no limit (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Unable to replay blocks. You will need to rebuild the database using -" +"reindex-chainstate."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Unable to rewind the database to a pre-fork state. You will need to " +"redownload the blockchain"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Unsupported argument -socks found. Setting SOCKS version isn't possible " +"anymore, only SOCKS5 proxies are supported."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/" +"or -whitelistforcerelay."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Use UPnP to map the listening port (default: 1 when listening and no -proxy)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Use hierarchical deterministic key generation (HD) after BIP32. Only has " +"effect during wallet creation/first start"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: " +"%s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Username and hashed password for JSON-RPC connections. The field " +"comes in the format: :$. A canonical python script is " +"included in share/rpcuser. The client then connects normally using the " +"rpcuser=/rpcpassword= pair of arguments. This option can " +"be specified multiple times"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Wallet will not create transactions that violate mempool chain limits " +"(default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Warning: The network does not appear to fully agree! Some miners appear to " +"be experiencing issues."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Warning: Unknown block versions being mined! It's possible unknown rules are " +"in effect"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; " +"if your balance or transactions are incorrect you should restore from a " +"backup."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Warning: We do not appear to fully agree with our peers! You may need to " +"upgrade, or other nodes may need to upgrade."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Whether to save the mempool on shutdown and load on restart (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or CIDR " +"notated network (e.g. 1.2.3.0/24). Can be specified multiple times."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"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"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"You need to rebuild the database using -reindex to go back to unpruned " +"mode. This will redownload the entire blockchain"), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"You need to rebuild the database using -reindex-chainstate to change -txindex"), +QT_TRANSLATE_NOOP("bitcoin-core", "%d of last 100 blocks have unexpected version"), +QT_TRANSLATE_NOOP("bitcoin-core", "%s corrupt, salvage failed"), +QT_TRANSLATE_NOOP("bitcoin-core", "%s is set very high!"), +QT_TRANSLATE_NOOP("bitcoin-core", "(default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "(default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "(press q to shutdown and continue later)"), +QT_TRANSLATE_NOOP("bitcoin-core", "-maxmempool must be at least %d MB"), +QT_TRANSLATE_NOOP("bitcoin-core", " can be:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Accept command line and JSON-RPC commands"), +QT_TRANSLATE_NOOP("bitcoin-core", "Accept connections from outside (default: 1 if no -proxy or -connect)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Accept public REST requests (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Add a node to connect to and attempt to keep the connection open"), +QT_TRANSLATE_NOOP("bitcoin-core", "Allow DNS lookups for -addnode, -seednode and -connect"), +QT_TRANSLATE_NOOP("bitcoin-core", "Always query for peer addresses via DNS lookup (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Append comment to the user agent string"), +QT_TRANSLATE_NOOP("bitcoin-core", "Attempt to recover private keys from a corrupt wallet on startup"), +QT_TRANSLATE_NOOP("bitcoin-core", "Automatically create Tor hidden service (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Block creation options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Cannot downgrade wallet"), +QT_TRANSLATE_NOOP("bitcoin-core", "Cannot resolve -%s address: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Cannot write default address"), +QT_TRANSLATE_NOOP("bitcoin-core", "Chain selection options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Change index out of range"), +QT_TRANSLATE_NOOP("bitcoin-core", "Connect through SOCKS5 proxy"), +QT_TRANSLATE_NOOP("bitcoin-core", "Connect to a node to retrieve peer addresses, and disconnect"), +QT_TRANSLATE_NOOP("bitcoin-core", "Connection options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Copyright (C) %i-%i"), +QT_TRANSLATE_NOOP("bitcoin-core", "Corrupted block database detected"), +QT_TRANSLATE_NOOP("bitcoin-core", "Debugging/Testing options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Do not load the wallet and disable wallet RPC calls"), +QT_TRANSLATE_NOOP("bitcoin-core", "Do you want to rebuild the block database now?"), +QT_TRANSLATE_NOOP("bitcoin-core", "Done loading"), +QT_TRANSLATE_NOOP("bitcoin-core", "Enable publish hash block in
"), +QT_TRANSLATE_NOOP("bitcoin-core", "Enable publish hash transaction in
"), +QT_TRANSLATE_NOOP("bitcoin-core", "Enable publish raw block in
"), +QT_TRANSLATE_NOOP("bitcoin-core", "Enable publish raw transaction in
"), +QT_TRANSLATE_NOOP("bitcoin-core", "Enable transaction replacement in the memory pool (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing block database"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error initializing wallet database environment %s!"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: Wallet corrupted"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: Wallet requires newer version of %s"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading %s: You can't disable HD on an already existing HD wallet"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading block database"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet %s. -wallet filename must be a regular file."), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet %s. Duplicate -wallet filename specified."), +QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet %s. Invalid characters in -wallet filename."), +QT_TRANSLATE_NOOP("bitcoin-core", "Error opening block database"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error reading from database, shutting down."), +QT_TRANSLATE_NOOP("bitcoin-core", "Error upgrading chainstate database"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error: A fatal internal error occurred, see debug.log for details"), +QT_TRANSLATE_NOOP("bitcoin-core", "Error: Disk space is low!"), +QT_TRANSLATE_NOOP("bitcoin-core", "Failed to listen on any port. Use -listen=0 if you want this."), +QT_TRANSLATE_NOOP("bitcoin-core", "Fee (in %s/kB) to add to transactions you send (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "How many blocks to check at startup (default: %u, 0 = all)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Importing..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Imports blocks from external blk000??.dat file on startup"), +QT_TRANSLATE_NOOP("bitcoin-core", "Include IP addresses in debug output (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Incorrect or no genesis block found. Wrong datadir for network?"), +QT_TRANSLATE_NOOP("bitcoin-core", "Information"), +QT_TRANSLATE_NOOP("bitcoin-core", "Initialization sanity check failed. %s is shutting down."), +QT_TRANSLATE_NOOP("bitcoin-core", "Insufficient funds"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -onion address or hostname: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -proxy address or hostname: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -%s=: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -discardfee=: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -fallbackfee=: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=: '%s' (must be at least %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Invalid netmask specified in -whitelist: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Keep at most unconnectable transactions in memory (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Keep the transaction memory pool below megabytes (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Keypool ran out, please call keypoolrefill first"), +QT_TRANSLATE_NOOP("bitcoin-core", "Listen for JSON-RPC connections on (default: %u or testnet: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Listen for connections on (default: %u or testnet: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Loading P2P addresses..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Loading banlist..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Loading block index..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Loading wallet..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Location of the auth cookie (default: data dir)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Maintain at most connections to peers (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Make the wallet broadcast transactions"), +QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection receive buffer, *1000 bytes (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection send buffer, *1000 bytes (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Need to specify a port with -whitebind: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Node relay options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Not enough file descriptors available."), +QT_TRANSLATE_NOOP("bitcoin-core", "Only connect to nodes in network (ipv4, ipv6 or onion)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Password for JSON-RPC connections"), +QT_TRANSLATE_NOOP("bitcoin-core", "Prepend debug output with timestamp (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Print this help message and exit"), +QT_TRANSLATE_NOOP("bitcoin-core", "Print version and exit"), +QT_TRANSLATE_NOOP("bitcoin-core", "Prune cannot be configured with a negative value."), +QT_TRANSLATE_NOOP("bitcoin-core", "Prune mode is incompatible with -txindex."), +QT_TRANSLATE_NOOP("bitcoin-core", "Pruning blockstore..."), +QT_TRANSLATE_NOOP("bitcoin-core", "RPC server options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Rebuild chain state and block index from the blk*.dat files on disk"), +QT_TRANSLATE_NOOP("bitcoin-core", "Rebuild chain state from the currently indexed blocks"), +QT_TRANSLATE_NOOP("bitcoin-core", "Reducing -maxconnections from %d to %d, because of system limitations."), +QT_TRANSLATE_NOOP("bitcoin-core", "Relay and mine data carrier transactions (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Relay non-P2SH multisig (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Replaying blocks..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Rescan the block chain for missing wallet transactions on startup"), +QT_TRANSLATE_NOOP("bitcoin-core", "Rescanning..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Rewinding blocks..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Run in the background as a daemon and accept commands"), +QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to console instead of debug.log file"), +QT_TRANSLATE_NOOP("bitcoin-core", "Send transactions with full-RBF opt-in enabled (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Set database cache size in megabytes (%d to %d, default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Set key pool size to (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Set maximum BIP141 block weight (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Set maximum block size in bytes (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Set the number of threads to service RPC calls (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Show all debugging options (usage: --help -help-debug)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Shrink debug.log file on client startup (default: 1 when no -debug)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Signing transaction failed"), +QT_TRANSLATE_NOOP("bitcoin-core", "Specify configuration file (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Specify connection timeout in milliseconds (minimum: 1, default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Specify data directory"), +QT_TRANSLATE_NOOP("bitcoin-core", "Specify pid file (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Specify wallet file (within data directory)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Specify your own public address"), +QT_TRANSLATE_NOOP("bitcoin-core", "Spend unconfirmed change when sending transactions (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Starting network threads..."), +QT_TRANSLATE_NOOP("bitcoin-core", "The source code is available from %s."), +QT_TRANSLATE_NOOP("bitcoin-core", "The transaction amount is too small to pay the fee"), +QT_TRANSLATE_NOOP("bitcoin-core", "The wallet will avoid paying less than the minimum relay fee."), +QT_TRANSLATE_NOOP("bitcoin-core", "This is experimental software."), +QT_TRANSLATE_NOOP("bitcoin-core", "This is the minimum transaction fee you pay on every transaction."), +QT_TRANSLATE_NOOP("bitcoin-core", "This is the transaction fee you will pay if you send a transaction."), +QT_TRANSLATE_NOOP("bitcoin-core", "Threshold for disconnecting misbehaving peers (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Tor control port password (default: empty)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Tor control port to use if onion listening enabled (default: %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction amount too small"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction amounts must not be negative"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction fee and change calculation failed"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction has too long of a mempool chain"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction must have at least one recipient"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction too large for fee policy"), +QT_TRANSLATE_NOOP("bitcoin-core", "Transaction too large"), +QT_TRANSLATE_NOOP("bitcoin-core", "Unable to bind to %s on this computer (bind returned error %s)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Unable to bind to %s on this computer. %s is probably already running."), +QT_TRANSLATE_NOOP("bitcoin-core", "Unable to start HTTP server. See debug log for details."), +QT_TRANSLATE_NOOP("bitcoin-core", "Unknown network specified in -onlynet: '%s'"), +QT_TRANSLATE_NOOP("bitcoin-core", "Unsupported argument -benchmark ignored, use -debug=bench."), +QT_TRANSLATE_NOOP("bitcoin-core", "Unsupported argument -debugnet ignored, use -debug=net."), +QT_TRANSLATE_NOOP("bitcoin-core", "Unsupported argument -tor found, use -onion."), +QT_TRANSLATE_NOOP("bitcoin-core", "Unsupported logging category %s=%s."), +QT_TRANSLATE_NOOP("bitcoin-core", "Upgrade wallet to latest format on startup"), +QT_TRANSLATE_NOOP("bitcoin-core", "Upgrading UTXO database"), +QT_TRANSLATE_NOOP("bitcoin-core", "Use UPnP to map the listening port (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Use the test chain"), +QT_TRANSLATE_NOOP("bitcoin-core", "User Agent comment (%s) contains unsafe characters."), +QT_TRANSLATE_NOOP("bitcoin-core", "Username for JSON-RPC connections"), +QT_TRANSLATE_NOOP("bitcoin-core", "Verifying blocks..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Verifying wallet(s)..."), +QT_TRANSLATE_NOOP("bitcoin-core", "Wallet %s resides outside data directory %s"), +QT_TRANSLATE_NOOP("bitcoin-core", "Wallet debugging/testing options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Wallet needed to be rewritten: restart %s to complete"), +QT_TRANSLATE_NOOP("bitcoin-core", "Wallet options:"), +QT_TRANSLATE_NOOP("bitcoin-core", "Warning"), +QT_TRANSLATE_NOOP("bitcoin-core", "Warning: unknown new rules activated (versionbit %i)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Whether to operate in a blocks only mode (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Zapping all transactions from wallet..."), +QT_TRANSLATE_NOOP("bitcoin-core", "ZeroMQ notification options:"), +}; diff --git a/src/qt/ravenunits.cpp b/src/qt/bitcoinunits.cpp similarity index 70% rename from src/qt/ravenunits.cpp rename to src/qt/bitcoinunits.cpp index cfd050562d..bc9b8c72db 100644 --- a/src/qt/ravenunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -1,76 +1,77 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "ravenunits.h" +#include "bitcoinunits.h" #include "primitives/transaction.h" #include -RavenUnits::RavenUnits(QObject *parent): +BitcoinUnits::BitcoinUnits(QObject *parent): QAbstractListModel(parent), unitlist(availableUnits()) { } -QList RavenUnits::availableUnits() +QList BitcoinUnits::availableUnits() { - QList unitlist; - unitlist.append(RVN); - unitlist.append(mRVN); - unitlist.append(uRVN); + QList unitlist; + unitlist.append(BLAST); + unitlist.append(mBLAST); + unitlist.append(uBLAST); return unitlist; } -bool RavenUnits::valid(int unit) +bool BitcoinUnits::valid(int unit) { switch(unit) { - case RVN: - case mRVN: - case uRVN: + case BLAST: + case mBLAST: + case uBLAST: return true; default: return false; } } -QString RavenUnits::name(int unit) +QString BitcoinUnits::name(int unit) { switch(unit) { - case RVN: return QString("RVN"); - case mRVN: return QString("mRVN"); - case uRVN: return QString::fromUtf8("μRVN"); + case BLAST: return QString("BLAST"); + case mBLAST: return QString("mBLAST"); + case uBLAST: return QString::fromUtf8("μBLAST"); default: return QString("???"); } } -QString RavenUnits::description(int unit) +QString BitcoinUnits::description(int unit) { switch(unit) { - case RVN: return QString("Ravens"); - case mRVN: return QString("Milli-Ravens (1 / 1" THIN_SP_UTF8 "000)"); - case uRVN: return QString("Micro-Ravens (1 / 1" THIN_SP_UTF8 "000" THIN_SP_UTF8 "000)"); + case BLAST: return QString("BLAST"); + case mBLAST: return QString("Milli-BLAST (1 / 1" THIN_SP_UTF8 "000)"); + case uBLAST: return QString("Micro-BLAST (1 / 1" THIN_SP_UTF8 "000" THIN_SP_UTF8 "000)"); default: return QString("???"); } } -qint64 RavenUnits::factor(int unit) +qint64 BitcoinUnits::factor(int unit) { switch(unit) { - case RVN: return 100000000; - case mRVN: return 100000; - case uRVN: return 100; + case BLAST: return 100000000; + case mBLAST: return 100000; + case uBLAST: return 100; default: return 100000000; } } -qint64 RavenUnits::factorAsset(int unit) +qint64 BitcoinUnits::factorAsset(int unit) { switch(unit) { @@ -87,18 +88,18 @@ qint64 RavenUnits::factorAsset(int unit) } } -int RavenUnits::decimals(int unit) +int BitcoinUnits::decimals(int unit) { switch(unit) { - case RVN: return 8; - case mRVN: return 5; - case uRVN: return 2; + case BLAST: return 8; + case mBLAST: return 5; + case uBLAST: return 2; default: return 0; } } -QString RavenUnits::format(int unit, const CAmount& nIn, bool fPlus, SeparatorStyle separators, const int nAssetUnit) +QString BitcoinUnits::format(int unit, const CAmount& nIn, bool fPlus, SeparatorStyle separators, const int nAssetUnit) { // Note: not using straight sprintf here because we do NOT want // localized number formatting. @@ -143,17 +144,17 @@ QString RavenUnits::format(int unit, const CAmount& nIn, bool fPlus, SeparatorSt // Please take care to use formatHtmlWithUnit instead, when // appropriate. -QString RavenUnits::formatWithUnit(int unit, const CAmount& amount, bool plussign, SeparatorStyle separators) +QString BitcoinUnits::formatWithUnit(int unit, const CAmount& amount, bool plussign, SeparatorStyle separators) { return format(unit, amount, plussign, separators) + QString(" ") + name(unit); } -QString RavenUnits::formatWithCustomName(QString customName, const CAmount& amount, int unit, bool plussign, SeparatorStyle separators) +QString BitcoinUnits::formatWithCustomName(QString customName, const CAmount& amount, int unit, bool plussign, SeparatorStyle separators) { - return format(RVN, amount / factorAsset(MAX_ASSET_UNITS - unit), plussign, separators, unit) + QString(" ") + customName; + return format(BLAST, amount / factorAsset(MAX_ASSET_UNITS - unit), plussign, separators, unit) + QString(" ") + customName; } -QString RavenUnits::formatHtmlWithUnit(int unit, const CAmount& amount, bool plussign, SeparatorStyle separators) +QString BitcoinUnits::formatHtmlWithUnit(int unit, const CAmount& amount, bool plussign, SeparatorStyle separators) { QString str(formatWithUnit(unit, amount, plussign, separators)); str.replace(QChar(THIN_SP_CP), QString(THIN_SP_HTML)); @@ -161,7 +162,7 @@ QString RavenUnits::formatHtmlWithUnit(int unit, const CAmount& amount, bool plu } -bool RavenUnits::parse(int unit, const QString &value, CAmount *val_out) +bool BitcoinUnits::parse(int unit, const QString &value, CAmount *val_out) { if(!valid(unit) || value.isEmpty()) return false; // Refuse to parse invalid unit or empty string @@ -200,7 +201,7 @@ bool RavenUnits::parse(int unit, const QString &value, CAmount *val_out) return ok; } -bool RavenUnits::assetParse(int assetUnit, const QString &value, CAmount *val_out) +bool BitcoinUnits::assetParse(int assetUnit, const QString &value, CAmount *val_out) { if(!(assetUnit >= 0 && assetUnit <= 8) || value.isEmpty()) return false; // Refuse to parse invalid unit or empty string @@ -239,23 +240,23 @@ bool RavenUnits::assetParse(int assetUnit, const QString &value, CAmount *val_ou return ok; } -QString RavenUnits::getAmountColumnTitle(int unit) +QString BitcoinUnits::getAmountColumnTitle(int unit) { QString amountTitle = QObject::tr("Amount"); - if (RavenUnits::valid(unit)) + if (BitcoinUnits::valid(unit)) { - amountTitle += " ("+RavenUnits::name(unit) + ")"; + amountTitle += " ("+BitcoinUnits::name(unit) + ")"; } return amountTitle; } -int RavenUnits::rowCount(const QModelIndex &parent) const +int BitcoinUnits::rowCount(const QModelIndex &parent) const { Q_UNUSED(parent); return unitlist.size(); } -QVariant RavenUnits::data(const QModelIndex &index, int role) const +QVariant BitcoinUnits::data(const QModelIndex &index, int role) const { int row = index.row(); if(row >= 0 && row < unitlist.size()) @@ -275,7 +276,7 @@ QVariant RavenUnits::data(const QModelIndex &index, int role) const return QVariant(); } -CAmount RavenUnits::maxMoney() +CAmount BitcoinUnits::maxMoney() { return MAX_MONEY; } diff --git a/src/qt/ravenunits.h b/src/qt/bitcoinunits.h similarity index 88% rename from src/qt/ravenunits.h rename to src/qt/bitcoinunits.h index 7916799202..4178be92ed 100644 --- a/src/qt/ravenunits.h +++ b/src/qt/bitcoinunits.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RAVENUNITS_H -#define RAVEN_QT_RAVENUNITS_H +#ifndef BITCOIN_QT_BITCOINUNITS_H +#define BITCOIN_QT_BITCOINUNITS_H #include "amount.h" @@ -47,24 +48,24 @@ #define THIN_SP_UTF8 REAL_THIN_SP_UTF8 #define THIN_SP_HTML HTML_HACK_SP -/** Raven unit definitions. Encapsulates parsing and formatting +/** Bitcoin unit definitions. Encapsulates parsing and formatting and serves as list model for drop-down selection boxes. */ -class RavenUnits: public QAbstractListModel +class BitcoinUnits: public QAbstractListModel { Q_OBJECT public: - explicit RavenUnits(QObject *parent); + explicit BitcoinUnits(QObject *parent); - /** Raven units. - @note Source: https://en.raven.it/wiki/Units . Please add only sensible ones + /** Bitcoin units. + @note Source: https://en.bitcoin.it/wiki/Units . Please add only sensible ones */ enum Unit { - RVN, - mRVN, - uRVN + BLAST, + mBLAST, + uBLAST }; enum SeparatorStyle @@ -132,8 +133,8 @@ class RavenUnits: public QAbstractListModel static CAmount maxMoney(); private: - QList unitlist; + QList unitlist; }; -typedef RavenUnits::Unit RavenUnit; +typedef BitcoinUnits::Unit BitcoinUnit; -#endif // RAVEN_QT_RAVENUNITS_H +#endif // BITCOIN_QT_BITCOINUNITS_H diff --git a/src/qt/callback.h b/src/qt/callback.h index 350c710b8d..da6b0c4c2e 100644 --- a/src/qt/callback.h +++ b/src/qt/callback.h @@ -1,5 +1,5 @@ -#ifndef RAVEN_QT_CALLBACK_H -#define RAVEN_QT_CALLBACK_H +#ifndef BITCOIN_QT_CALLBACK_H +#define BITCOIN_QT_CALLBACK_H #include @@ -27,4 +27,4 @@ FunctionCallback* makeCallback(F f) return new FunctionCallback(std::move(f)); } -#endif // RAVEN_QT_CALLBACK_H +#endif // BITCOIN_QT_CALLBACK_H diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index b38fb8a1f6..065fa66095 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_CLIENTMODEL_H -#define RAVEN_QT_CLIENTMODEL_H +#ifndef BITCOIN_QT_CLIENTMODEL_H +#define BITCOIN_QT_CLIENTMODEL_H #include #include @@ -35,7 +36,7 @@ enum NumConnections { CONNECTIONS_ALL = (CONNECTIONS_IN | CONNECTIONS_OUT), }; -/** Model for Raven network client. */ +/** Model for BLAST network client. */ class ClientModel : public QObject { Q_OBJECT @@ -117,4 +118,4 @@ public Q_SLOTS: void updateBanlist(); }; -#endif // RAVEN_QT_CLIENTMODEL_H +#endif // BITCOIN_QT_CLIENTMODEL_H diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 27cd5e10f0..d2a91c686f 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -7,7 +7,7 @@ #include "ui_coincontroldialog.h" #include "addresstablemodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "optionsmodel.h" #include "platformstyle.h" @@ -126,7 +126,7 @@ CoinControlDialog::CoinControlDialog(const PlatformStyle *_platformStyle, QWidge connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked())); // change coin control first column label due Qt4 bug. - // see https://github.com/RavenProject/Ravencoin/issues/5716 + // see https://github.com/bitcoin/bitcoin/issues/5716 ui->treeWidget->headerItem()->setText(COLUMN_CHECKBOX, QString()); ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 84); @@ -238,7 +238,7 @@ void CoinControlDialog::showMenu(const QPoint &point) // context menu action: copy amount void CoinControlDialog::copyAmount() { - GUIUtil::setClipboard(RavenUnits::removeSpaces(contextMenuItem->text(COLUMN_AMOUNT))); + GUIUtil::setClipboard(BitcoinUnits::removeSpaces(contextMenuItem->text(COLUMN_AMOUNT))); } // context menu action: copy label @@ -541,7 +541,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) } // actually update labels - int nDisplayUnit = RavenUnits::RVN; + int nDisplayUnit = BitcoinUnits::BLAST; if (model && model->getOptionsModel()) nDisplayUnit = model->getOptionsModel()->getDisplayUnit(); @@ -561,12 +561,12 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) // stats l1->setText(QString::number(nQuantity)); // Quantity - l2->setText(RavenUnits::formatWithUnit(nDisplayUnit, nAmount)); // Amount - l3->setText(RavenUnits::formatWithUnit(nDisplayUnit, nPayFee)); // Fee - l4->setText(RavenUnits::formatWithUnit(nDisplayUnit, nAfterFee)); // After Fee + l2->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAmount)); // Amount + l3->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nPayFee)); // Fee + l4->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nAfterFee)); // After Fee l5->setText(((nBytes > 0) ? ASYMP_UTF8 : "") + QString::number(nBytes)); // Bytes l7->setText(fDust ? tr("yes") : tr("no")); // Dust - l8->setText(RavenUnits::formatWithUnit(nDisplayUnit, nChange)); // Change + l8->setText(BitcoinUnits::formatWithUnit(nDisplayUnit, nChange)); // Change if (nPayFee > 0) { l3->setText(ASYMP_UTF8 + l3->text()); @@ -662,7 +662,7 @@ void CoinControlDialog::updateView() { sAddress = QString::fromStdString(EncodeDestination(outputAddress)); - // if listMode or change => show raven address. In tree mode, address is not shown again for direct wallet address outputs + // if listMode or change => show blast address. In tree mode, address is not shown again for direct wallet address outputs if (!treeMode || (!(sAddress == sWalletAddress))) itemOutput->setText(COLUMN_ADDRESS, sAddress); } @@ -683,7 +683,7 @@ void CoinControlDialog::updateView() } // amount - itemOutput->setText(COLUMN_AMOUNT, RavenUnits::format(nDisplayUnit, out.tx->tx->vout[out.i].nValue)); + itemOutput->setText(COLUMN_AMOUNT, BitcoinUnits::format(nDisplayUnit, out.tx->tx->vout[out.i].nValue)); itemOutput->setData(COLUMN_AMOUNT, Qt::UserRole, QVariant((qlonglong)out.tx->tx->vout[out.i].nValue)); // padding so that sorting works correctly // date @@ -719,7 +719,7 @@ void CoinControlDialog::updateView() if (treeMode) { itemWalletAddress->setText(COLUMN_CHECKBOX, "(" + QString::number(nChildren) + ")"); - itemWalletAddress->setText(COLUMN_AMOUNT, RavenUnits::format(nDisplayUnit, nSum)); + itemWalletAddress->setText(COLUMN_AMOUNT, BitcoinUnits::format(nDisplayUnit, nSum)); itemWalletAddress->setData(COLUMN_AMOUNT, Qt::UserRole, QVariant((qlonglong)nSum)); } } diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h index 02ff35241a..0691226ef8 100644 --- a/src/qt/coincontroldialog.h +++ b/src/qt/coincontroldialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_COINCONTROLDIALOG_H -#define RAVEN_QT_COINCONTROLDIALOG_H +#ifndef BITCOIN_QT_COINCONTROLDIALOG_H +#define BITCOIN_QT_COINCONTROLDIALOG_H #include "amount.h" @@ -110,4 +111,4 @@ private Q_SLOTS: void updateLabelLocked(); }; -#endif // RAVEN_QT_COINCONTROLDIALOG_H +#endif // BITCOIN_QT_COINCONTROLDIALOG_H diff --git a/src/qt/coincontroltreewidget.h b/src/qt/coincontroltreewidget.h index 49f363bdb8..3e974d7c9d 100644 --- a/src/qt/coincontroltreewidget.h +++ b/src/qt/coincontroltreewidget.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_COINCONTROLTREEWIDGET_H -#define RAVEN_QT_COINCONTROLTREEWIDGET_H +#ifndef BITCOIN_QT_COINCONTROLTREEWIDGET_H +#define BITCOIN_QT_COINCONTROLTREEWIDGET_H #include #include @@ -20,4 +21,4 @@ class CoinControlTreeWidget : public QTreeWidget virtual void keyPressEvent(QKeyEvent *event); }; -#endif // RAVEN_QT_COINCONTROLTREEWIDGET_H +#endif // BITCOIN_QT_COINCONTROLTREEWIDGET_H diff --git a/src/qt/createassetdialog.cpp b/src/qt/createassetdialog.cpp index 9dd7f721b8..4e065ba7ca 100644 --- a/src/qt/createassetdialog.cpp +++ b/src/qt/createassetdialog.cpp @@ -11,7 +11,7 @@ #include "sendcoinsdialog.h" #include "coincontroldialog.h" #include "guiutil.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "clientmodel.h" #include "optionsmodel.h" #include "guiconstants.h" @@ -45,7 +45,7 @@ CreateAssetDialog::CreateAssetDialog(const PlatformStyle *_platformStyle, QWidge platformStyle(_platformStyle) { ui->setupUi(this); - setWindowTitle("Create Assets"); + setWindowTitle("Create CryptoMech"); connect(ui->ipfsBox, SIGNAL(clicked()), this, SLOT(ipfsStateChanged())); connect(ui->availabilityButton, SIGNAL(clicked()), this, SLOT(checkAvailabilityClicked())); connect(ui->nameText, SIGNAL(textChanged(QString)), this, SLOT(onNameChanged(QString))); @@ -252,9 +252,9 @@ void CreateAssetDialog::setUpValues() // Setup the asset types QStringList list; - list.append(tr("Main Asset") + " (" + RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetBurnAmount(AssetType::ROOT)) + ")"); - list.append(tr("Sub Asset") + " (" + RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetBurnAmount(AssetType::SUB)) + ")"); - list.append(tr("Unique Asset") + " (" + RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetBurnAmount(AssetType::UNIQUE)) + ")"); + list.append(tr("Main Asset") + " (" + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetBurnAmount(AssetType::ROOT)) + ")"); + list.append(tr("Sub Asset") + " (" + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetBurnAmount(AssetType::SUB)) + ")"); + list.append(tr("Unique Asset") + " (" + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetBurnAmount(AssetType::UNIQUE)) + ")"); ui->assetType->addItems(list); type = IntFromAssetType(AssetType::ROOT); ui->assetTypeLabel->setText(tr("Asset Type") + ":"); @@ -388,7 +388,7 @@ void CreateAssetDialog::setBalance(const CAmount& balance, const CAmount& unconf if(model && model->getOptionsModel()) { - ui->labelBalance->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); + ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); } } @@ -506,7 +506,7 @@ void CreateAssetDialog::CheckFormState() if (!(ui->addressText->text().isEmpty() || IsValidDestination(dest)) && assetNameValid) { ui->addressText->setStyleSheet(STYLE_INVALID); - showMessage(tr("Warning: Invalid Raven address")); + showMessage(tr("Warning: Invalid BLAST address")); return; } @@ -682,7 +682,7 @@ void CreateAssetDialog::onCreateAssetClicked() QStringList formatted; // generate bold amount string - QString amount = "" + QString::fromStdString(ValueFromAmountString(GetBurnAmount(type), 8)) + " RVN"; + QString amount = "" + QString::fromStdString(ValueFromAmountString(GetBurnAmount(type), 8)) + " BLAST"; amount.append(""); // generate monospace address string QString addressburn = "" + QString::fromStdString(GetBurnAddress(type)); @@ -711,7 +711,7 @@ void CreateAssetDialog::onCreateAssetClicked() { // append fee string if a fee is required questionString.append("
"); - questionString.append(RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), nFeeRequired)); + questionString.append(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), nFeeRequired)); questionString.append(" "); questionString.append(tr("added as transaction fee")); @@ -723,13 +723,13 @@ void CreateAssetDialog::onCreateAssetClicked() questionString.append("
"); CAmount totalAmount = GetBurnAmount(type) + nFeeRequired; QStringList alternativeUnits; - for (RavenUnits::Unit u : RavenUnits::availableUnits()) + for (BitcoinUnits::Unit u : BitcoinUnits::availableUnits()) { if(u != model->getOptionsModel()->getDisplayUnit()) - alternativeUnits.append(RavenUnits::formatHtmlWithUnit(u, totalAmount)); + alternativeUnits.append(BitcoinUnits::formatHtmlWithUnit(u, totalAmount)); } questionString.append(tr("Total Amount %1") - .arg(RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount))); + .arg(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount))); questionString.append(QString("
(=%2)
") .arg(alternativeUnits.join(" " + tr("or") + "
"))); @@ -919,7 +919,7 @@ void CreateAssetDialog::updateSmartFeeLabel() FeeCalculation feeCalc; CFeeRate feeRate = CFeeRate(GetMinimumFee(1000, coin_control, ::mempool, ::feeEstimator, &feeCalc)); - ui->labelSmartFee->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); + ui->labelSmartFee->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); if (feeCalc.reason == FeeReason::FALLBACK) { ui->labelSmartFee2->show(); // (Smart fee not initialized yet. This usually takes a few blocks...) @@ -1042,7 +1042,7 @@ void CreateAssetDialog::coinControlChangeEdited(const QString& text) } else if (!IsValidDestination(dest)) // Invalid address { - ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid Raven address")); + ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid BLAST address")); } else // Valid address { @@ -1158,7 +1158,7 @@ void CreateAssetDialog::updateFeeMinimizedLabel() if (ui->radioSmartFee->isChecked()) ui->labelFeeMinimized->setText(ui->labelSmartFee->text()); else { - ui->labelFeeMinimized->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); + ui->labelFeeMinimized->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); } } @@ -1166,7 +1166,7 @@ void CreateAssetDialog::updateMinFeeLabel() { if (model && model->getOptionsModel()) ui->checkBoxMinimumFee->setText(tr("Pay only the required fee of %1").arg( - RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") ); } diff --git a/src/qt/createassetdialog.h b/src/qt/createassetdialog.h index 085aa63126..930774a813 100644 --- a/src/qt/createassetdialog.h +++ b/src/qt/createassetdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_CREATEASSETDIALOG_H -#define RAVEN_QT_CREATEASSETDIALOG_H +#ifndef BITCOIN_QT_CREATEASSETDIALOG_H +#define BITCOIN_QT_CREATEASSETDIALOG_H #include "walletmodel.h" @@ -143,4 +144,4 @@ private Q_SLOTS: void message(const QString &title, const QString &message, unsigned int style); }; -#endif // RAVEN_QT_CREATEASSETDIALOG_H +#endif // BITCOIN_QT_CREATEASSETDIALOG_H diff --git a/src/qt/csvmodelwriter.h b/src/qt/csvmodelwriter.h index 1372af57c1..2cbed32c33 100644 --- a/src/qt/csvmodelwriter.h +++ b/src/qt/csvmodelwriter.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_CSVMODELWRITER_H -#define RAVEN_QT_CSVMODELWRITER_H +#ifndef BITCOIN_QT_CSVMODELWRITER_H +#define BITCOIN_QT_CSVMODELWRITER_H #include #include @@ -44,4 +45,4 @@ class CSVModelWriter : public QObject QList columns; }; -#endif // RAVEN_QT_CSVMODELWRITER_H +#endif // BITCOIN_QT_CSVMODELWRITER_H diff --git a/src/qt/darkstyle.h b/src/qt/darkstyle.h index 3d8fc629c0..ee7c8a290f 100644 --- a/src/qt/darkstyle.h +++ b/src/qt/darkstyle.h @@ -11,8 +11,8 @@ ############################################################################### */ -#ifndef RAVENCOIN_DARKSTYLE_H -#define RAVENCOIN_DARKSTYLE_H +#ifndef BITCOIN_DARKSTYLE_H +#define BITCOIN_DARKSTYLE_H #include #include @@ -37,4 +37,4 @@ Q_OBJECT QStyle *styleBase(QStyle *style = Q_NULLPTR) const; }; -#endif //RAVENCOIN_DARKSTYLE_H +#endif //BITCOIN_DARKSTYLE_H diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp index fd5bdec6bd..913903bef6 100644 --- a/src/qt/editaddressdialog.cpp +++ b/src/qt/editaddressdialog.cpp @@ -108,7 +108,7 @@ void EditAddressDialog::accept() break; case AddressTableModel::INVALID_ADDRESS: QMessageBox::warning(this, windowTitle(), - tr("The entered address \"%1\" is not a valid Raven address.").arg(ui->addressEdit->text()), + tr("The entered address \"%1\" is not a valid BLAST address.").arg(ui->addressEdit->text()), QMessageBox::Ok, QMessageBox::Ok); break; case AddressTableModel::DUPLICATE_ADDRESS: diff --git a/src/qt/editaddressdialog.h b/src/qt/editaddressdialog.h index cb10d7e09f..f98611ab2b 100644 --- a/src/qt/editaddressdialog.h +++ b/src/qt/editaddressdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_EDITADDRESSDIALOG_H -#define RAVEN_QT_EDITADDRESSDIALOG_H +#ifndef BITCOIN_QT_EDITADDRESSDIALOG_H +#define BITCOIN_QT_EDITADDRESSDIALOG_H #include @@ -55,4 +56,4 @@ public Q_SLOTS: QString address; }; -#endif // RAVEN_QT_EDITADDRESSDIALOG_H +#endif // BITCOIN_QT_EDITADDRESSDIALOG_H diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 422790b4b4..264edeb720 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -60,7 +60,7 @@ &New - + :/icons/add:/icons/add @@ -77,7 +77,7 @@ &Copy - + :/icons/editcopy:/icons/editcopy @@ -94,7 +94,7 @@ &Delete - + :/icons/remove:/icons/remove @@ -124,7 +124,7 @@ &Export - + :/icons/export:/icons/export @@ -153,7 +153,7 @@ - + diff --git a/src/qt/forms/assetcontroldialog.ui b/src/qt/forms/assetcontroldialog.ui index e8df076bc4..239480cc6c 100644 --- a/src/qt/forms/assetcontroldialog.ui +++ b/src/qt/forms/assetcontroldialog.ui @@ -132,7 +132,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -212,7 +212,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -257,7 +257,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -292,7 +292,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse diff --git a/src/qt/forms/assetsdialog.ui b/src/qt/forms/assetsdialog.ui index ffe44aafe0..210cc7fc13 100644 --- a/src/qt/forms/assetsdialog.ui +++ b/src/qt/forms/assetsdialog.ui @@ -341,7 +341,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -421,7 +421,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -472,7 +472,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -501,7 +501,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -873,7 +873,7 @@ - + @@ -895,7 +895,7 @@ - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. @@ -908,7 +908,7 @@ true - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. (read the tooltip) @@ -1170,7 +1170,7 @@ S&end - + :/icons/send:/icons/send @@ -1196,7 +1196,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -1213,7 +1213,7 @@ Add &Recipient - + :/icons/add:/icons/add @@ -1264,7 +1264,7 @@ IBeamCursor - 123.456 RVN + 123.456 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -1286,14 +1286,14 @@
qvalidatedlineedit.h
- RavenAmountField + BitcoinAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
1
- + diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index 5214eff9e2..aed3bc6d35 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -132,7 +132,7 @@ Qt::ActionsContextMenu
- 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -212,7 +212,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -257,7 +257,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -292,7 +292,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse diff --git a/src/qt/forms/createassetdialog.ui b/src/qt/forms/createassetdialog.ui index 57a337f9ff..097861d247 100644 --- a/src/qt/forms/createassetdialog.ui +++ b/src/qt/forms/createassetdialog.ui @@ -335,7 +335,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -415,7 +415,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -466,7 +466,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -495,7 +495,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -688,7 +688,7 @@ - The RVN address that will hold this asset (You must own this address). Leave blank to create a new address. + The BLAST address that will hold this asset (You must own this address). Leave blank to create a new address.
@@ -1056,7 +1056,7 @@
- + @@ -1078,7 +1078,7 @@ - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. @@ -1091,7 +1091,7 @@ true - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. (read the tooltip) @@ -1350,7 +1350,7 @@ - Create Asset + Create CryptoMech @@ -1395,7 +1395,7 @@ Qt::RightToLeft
- 123.456 RVN + 123.456 BLAST @@ -1414,9 +1414,9 @@
qvalidatedlineedit.h
- RavenAmountField + BitcoinAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
1
diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index ea6ad2ae91..093e644bdc 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -440,7 +440,7 @@ Decrease font size - + :/icons/fontsmaller:/icons/fontsmaller @@ -472,7 +472,7 @@ - + :/icons/fontbigger:/icons/fontbigger @@ -507,7 +507,7 @@ - + :/icons/remove:/icons/remove @@ -562,7 +562,7 @@ - + :/icons/prompticon :/icons/prompticon:/icons/prompticon @@ -1432,7 +1432,7 @@ - + diff --git a/src/qt/forms/helpmessagedialog.ui b/src/qt/forms/helpmessagedialog.ui index 6aadc0a576..b7f941f70b 100644 --- a/src/qt/forms/helpmessagedialog.ui +++ b/src/qt/forms/helpmessagedialog.ui @@ -52,7 +52,7 @@ - :/icons/raven + :/icons/bitcoin true @@ -150,7 +150,7 @@ - + diff --git a/src/qt/forms/modaloverlay.ui b/src/qt/forms/modaloverlay.ui index 6ff0981e81..e68c68c444 100644 --- a/src/qt/forms/modaloverlay.ui +++ b/src/qt/forms/modaloverlay.ui @@ -130,7 +130,7 @@ QLabel { color: rgb(40,40,40); } - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. Qt::RichText @@ -149,7 +149,7 @@ QLabel { color: rgb(40,40,40); } - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. Qt::RichText diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui index b5dabc91c3..e4a9bea336 100644 --- a/src/qt/forms/optionsdialog.ui +++ b/src/qt/forms/optionsdialog.ui @@ -28,7 +28,7 @@ - + Automatically start %1 after logging in to the system. @@ -196,7 +196,7 @@ - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. Map port using &UPnP @@ -216,7 +216,7 @@ - Connect to the Raven network through a SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. &Connect through SOCKS5 proxy (default proxy): @@ -403,7 +403,7 @@ - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. Use separate SOCKS&5 proxy to reach peers via Tor hidden services: @@ -711,7 +711,7 @@ - + Open the %1 configuration file from the working directory. diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index 34deeb10a1..d54a8ea76f 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -86,7 +86,7 @@ - + 75 @@ -94,7 +94,7 @@ - RVN Balances + BLAST Balances @@ -110,7 +110,7 @@ - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. @@ -173,7 +173,7 @@ Mined balance in watch-only addresses that has not yet matured - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -218,7 +218,7 @@ Your current balance in watch-only addresses - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -243,7 +243,7 @@ Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -304,7 +304,7 @@ Current total balance in watch-only addresses - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -346,7 +346,7 @@ Your current total balance - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -371,7 +371,7 @@ Your current spendable balance - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -410,7 +410,7 @@ Mined balance that has not yet matured - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -435,7 +435,7 @@ Unconfirmed transactions to watch-only addresses - 0.000 000 00 RVN + 0.000 000 00 BLAST Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -517,7 +517,7 @@ - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. @@ -697,7 +697,7 @@ - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui index 21e6ccbbb6..649ad70f83 100644 --- a/src/qt/forms/receivecoinsdialog.ui +++ b/src/qt/forms/receivecoinsdialog.ui @@ -65,7 +65,7 @@ - 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 Raven 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 BLAST network. &Message: @@ -88,7 +88,7 @@ - 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 Raven 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 BLAST network. @@ -132,7 +132,7 @@ - + 80 @@ -158,7 +158,7 @@ &Request payment - + :/icons/receiving_addresses:/icons/receiving_addresses @@ -178,7 +178,7 @@ Clear - + :/icons/remove:/icons/remove @@ -268,7 +268,7 @@ Show - + :/icons/edit:/icons/edit @@ -288,7 +288,7 @@ Remove - + :/icons/remove:/icons/remove @@ -320,9 +320,9 @@ - RavenAmountField + BitcoinAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
1
@@ -338,7 +338,7 @@ removeRequestButton - + diff --git a/src/qt/forms/reissueassetdialog.ui b/src/qt/forms/reissueassetdialog.ui index ac6bd42d86..e305d9974a 100644 --- a/src/qt/forms/reissueassetdialog.ui +++ b/src/qt/forms/reissueassetdialog.ui @@ -320,7 +320,7 @@ Qt::ActionsContextMenu
- 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -400,7 +400,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -451,7 +451,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -480,7 +480,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -638,7 +638,7 @@ - The RVN address that will hold this asset (You must own this address). Leave blank to create a new address. + The BLAST address that will hold this asset (You must own this address). Leave blank to create a new address.
@@ -1198,7 +1198,7 @@
- + @@ -1220,7 +1220,7 @@ - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. @@ -1233,7 +1233,7 @@ true - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. (read the tooltip) @@ -1531,7 +1531,7 @@ - 123.456 RVN + 123.456 BLAST @@ -1550,9 +1550,9 @@
qvalidatedlineedit.h
- RavenAmountField + BitcoinAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
1
diff --git a/src/qt/forms/sendassetsentry.ui b/src/qt/forms/sendassetsentry.ui index b70d7e120d..a94e63dab0 100644 --- a/src/qt/forms/sendassetsentry.ui +++ b/src/qt/forms/sendassetsentry.ui @@ -161,7 +161,7 @@ - The Raven address to send the payment to + The BLAST address to send the payment to @@ -174,7 +174,7 @@
- + :/icons/address-book:/icons/address-book @@ -197,7 +197,7 @@ - + :/icons/editpaste:/icons/editpaste @@ -220,7 +220,7 @@ - + :/icons/remove:/icons/remove @@ -243,7 +243,7 @@ - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. Qt::PlainText @@ -708,7 +708,7 @@ - + :/icons/remove:/icons/remove @@ -1241,7 +1241,7 @@ - + :/icons/remove:/icons/remove
@@ -1279,7 +1279,7 @@
- + false @@ -1295,15 +1295,15 @@
qvalidatedlineedit.h
- RavenAmountField + BitcoinAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
1
AssetAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
@@ -1318,7 +1318,7 @@ deleteButton_s - + diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index d0d41977b7..053a8cedc3 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -341,7 +341,7 @@ Qt::ActionsContextMenu
- 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -421,7 +421,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -472,7 +472,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -501,7 +501,7 @@ Qt::ActionsContextMenu - 0.00 RVN + 0.00 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -873,7 +873,7 @@
- + @@ -895,7 +895,7 @@ - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. @@ -908,7 +908,7 @@ true - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. (read the tooltip) @@ -1170,7 +1170,7 @@ S&end - + :/icons/send:/icons/send @@ -1196,7 +1196,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -1213,7 +1213,7 @@ Add &Recipient - + :/icons/add:/icons/add @@ -1264,7 +1264,7 @@ IBeamCursor - 123.456 RVN + 123.456 BLAST Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse @@ -1286,14 +1286,14 @@
qvalidatedlineedit.h
- RavenAmountField + BitcoinAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
1
- + diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui index d4b3e804b6..781f560733 100644 --- a/src/qt/forms/sendcoinsentry.ui +++ b/src/qt/forms/sendcoinsentry.ui @@ -39,12 +39,12 @@ - + - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. S&ubtract fee from amount @@ -56,7 +56,7 @@ - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. Qt::PlainText @@ -84,7 +84,7 @@ - The Raven address to send the payment to + The BLAST address to send the payment to @@ -97,7 +97,7 @@ - + :/icons/address-book:/icons/address-book @@ -120,7 +120,7 @@ - + :/icons/editpaste:/icons/editpaste @@ -143,7 +143,7 @@ - + :/icons/remove:/icons/remove @@ -657,7 +657,7 @@ - + :/icons/remove:/icons/remove @@ -695,7 +695,7 @@ - + false @@ -1190,7 +1190,7 @@
- + :/icons/remove:/icons/remove
@@ -1228,7 +1228,7 @@
- + false @@ -1244,9 +1244,9 @@
qvalidatedlineedit.h
- RavenAmountField + BitcoinAmountField QLineEdit -
ravenamountfield.h
+
bitcoinamountfield.h
1
@@ -1263,7 +1263,7 @@ deleteButton_s - + diff --git a/src/qt/forms/signverifymessagedialog.ui b/src/qt/forms/signverifymessagedialog.ui index f3b49ac0cb..7139cdd484 100644 --- a/src/qt/forms/signverifymessagedialog.ui +++ b/src/qt/forms/signverifymessagedialog.ui @@ -30,7 +30,7 @@ - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Qt::PlainText @@ -48,7 +48,7 @@ - The Raven address to sign the message with + The BLAST address to sign the message with @@ -61,7 +61,7 @@ - + :/icons/address-book:/icons/address-book @@ -81,7 +81,7 @@ - + :/icons/editpaste:/icons/editpaste @@ -137,7 +137,7 @@ - + :/icons/editcopy:/icons/editcopy @@ -152,13 +152,13 @@ - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Sign &Message - + :/icons/edit:/icons/edit @@ -175,7 +175,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -258,7 +258,7 @@ - The Raven address the message was signed with + The BLAST address the message was signed with @@ -271,7 +271,7 @@ - + :/icons/address-book:/icons/address-book @@ -295,13 +295,13 @@ - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address Verify &Message - + :/icons/transaction_0:/icons/transaction_0 @@ -318,7 +318,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -384,7 +384,7 @@ - + diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index b14cd2b23c..1af4776098 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_GUICONSTANTS_H -#define RAVEN_QT_GUICONSTANTS_H +#ifndef BITCOIN_QT_GUICONSTANTS_H +#define BITCOIN_QT_GUICONSTANTS_H /* Milliseconds between model updates */ static const int MODEL_UPDATE_DELAY = 250; @@ -12,7 +13,7 @@ static const int MODEL_UPDATE_DELAY = 250; /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; -/* RavenGUI -- Size of icons in status bar */ +/* BLASTGUI -- Size of icons in status bar */ static const int STATUSBAR_ICONSIZE = 16; static const bool DEFAULT_SPLASHSCREEN = true; @@ -41,44 +42,50 @@ static const bool DEFAULT_SPLASHSCREEN = true; #define COLOR_WALLETFRAME_SHADOW QColor(0,0,0,71) /* Color of labels */ +//#define COLOR_LABELS QColor("#c8c8c8") #define COLOR_LABELS QColor("#4960ad") /** LIGHT MODE */ /* Background color, very light gray */ #define COLOR_BACKGROUND_LIGHT QColor("#fbfbfe") -/* Ravencoin dark orange */ +/* BLAST dark orange */ #define COLOR_DARK_ORANGE QColor("#f05339") -/* Ravencoin light orange */ +/* BLAST light orange */ #define COLOR_LIGHT_ORANGE QColor("#f79433") -/* Ravencoin dark blue */ +/* BLAST dark blue */ #define COLOR_DARK_BLUE QColor("#475eaa") -/* Ravencoin light blue */ +/* BLAST light blue */ #define COLOR_LIGHT_BLUE QColor("#5874cf") -/* Ravencoin asset text */ +/* BLAST asset text */ #define COLOR_ASSET_TEXT QColor(255, 255, 255) -/* Ravencoin shadow color - light mode */ +/* BLAST shadow color - light mode */ #define COLOR_SHADOW_LIGHT QColor("#e1e6f3") /* Toolbar not selected text color */ #define COLOR_TOOLBAR_NOT_SELECTED_TEXT QColor("#a5b7f3") +// #define COLOR_TOOLBAR_NOT_SELECTED_TEXT QColor("#c8c8c8") /* Toolbar selected text color */ #define COLOR_TOOLBAR_SELECTED_TEXT COLOR_WHITE +/* BLAST light grey */ +#define COLOR_LIGHT_GREY QColor("#2b3e50") +/* BLAST dark grey */ +#define COLOR_DARK_GREY QColor("#39384a") /** DARK MODE */ /* Widget background color, dark mode */ #define COLOR_WIDGET_BACKGROUND_DARK QColor("#1c2535") -/* Ravencoin shadow color - dark mode */ +/* BLAST shadow color - dark mode */ #define COLOR_SHADOW_DARK QColor("#0c1b3d") -/* Ravencoin Light blue - dark mode - dark mode */ +/* BLAST Light blue - dark mode - dark mode */ #define COLOR_LIGHT_BLUE_DARK QColor("#1e2636") -/* Ravencoin Dark blue - dark mode - dark mode */ +/* BLAST Dark blue - dark mode - dark mode */ #define COLOR_DARK_BLUE_DARK QColor("#0b1018") /* Pricing widget background color */ #define COLOR_PRICING_WIDGET QColor("#161e2d") -/* Ravencoin dark mode administrator background color */ +/* BLAST dark mode administrator background color */ #define COLOR_ADMIN_CARD_DARK COLOR_BLACK -/* Ravencoin dark mode regular asset background color */ +/* BLAST dark mode regular asset background color */ #define COLOR_REGULAR_CARD_DARK_BLUE_DARK_MODE QColor("#06132a") -/* Ravencoin dark mode regular asset background color */ +/* BLAST dark mode regular asset background color */ #define COLOR_REGULAR_CARD_LIGHT_BLUE_DARK_MODE QColor("#0e1b3b") /* Toolbar not selected text color */ #define COLOR_TOOLBAR_NOT_SELECTED_TEXT_DARK_MODE QColor("#6c80c5") @@ -86,9 +93,9 @@ static const bool DEFAULT_SPLASHSCREEN = true; #define COLOR_TOOLBAR_SELECTED_TEXT_DARK_MODE QColor("#c5ccdf") -/* Ravencoin label color as a string */ +/* BLAST label color as a string */ #define STRING_LABEL_COLOR "color: #4960ad" - +// #define STRING_LABEL_COLOR "color: #c8c8c8" @@ -110,9 +117,9 @@ static const int MAX_URI_LENGTH = 255; /* Number of frames in spinner animation */ #define SPINNER_FRAMES 36 -#define QAPP_ORG_NAME "Raven" -#define QAPP_ORG_DOMAIN "raven.org" -#define QAPP_APP_NAME_DEFAULT "Raven-Qt" -#define QAPP_APP_NAME_TESTNET "Raven-Qt-testnet" +#define QAPP_ORG_NAME "Blast" +#define QAPP_ORG_DOMAIN "blastblastblast.com" +#define QAPP_APP_NAME_DEFAULT "Blast-Qt" +#define QAPP_APP_NAME_TESTNET "Blast-Qt-testnet" -#endif // RAVEN_QT_GUICONSTANTS_H +#endif // BLAST_QT_GUICONSTANTS_H diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 985fa2e677..8727116966 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -1,12 +1,13 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "guiutil.h" -#include "ravenaddressvalidator.h" -#include "ravenunits.h" +#include "bitcoinaddressvalidator.h" +#include "bitcoinunits.h" #include "qvalidatedlineedit.h" #include "walletmodel.h" @@ -203,11 +204,11 @@ void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent) #if QT_VERSION >= 0x040700 // We don't want translators to use own addresses in translations // and this is the only place, where this address is supplied. - widget->setPlaceholderText(QObject::tr("Enter a Raven address (e.g. %1)").arg( + widget->setPlaceholderText(QObject::tr("Enter a BLAST address (e.g. %1)").arg( QString::fromStdString(DummyAddress(Params())))); #endif - widget->setValidator(new RavenAddressEntryValidator(parent)); - widget->setCheckValidator(new RavenAddressCheckValidator(parent)); + widget->setValidator(new BitcoinAddressEntryValidator(parent)); + widget->setCheckValidator(new BitcoinAddressCheckValidator(parent)); } void setupAmountWidget(QLineEdit *widget, QWidget *parent) @@ -219,10 +220,10 @@ void setupAmountWidget(QLineEdit *widget, QWidget *parent) widget->setAlignment(Qt::AlignRight|Qt::AlignVCenter); } -bool parseRavenURI(const QUrl &uri, SendCoinsRecipient *out) +bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out) { - // return if URI is not valid or is no raven: URI - if(!uri.isValid() || uri.scheme() != QString("raven")) + // return if URI is not valid or is no blast: URI + if(!uri.isValid() || uri.scheme() != QString("blast")) return false; SendCoinsRecipient rv; @@ -262,7 +263,7 @@ bool parseRavenURI(const QUrl &uri, SendCoinsRecipient *out) { if(!i->second.isEmpty()) { - if(!RavenUnits::parse(RavenUnits::RVN, i->second, &rv.amount)) + if(!BitcoinUnits::parse(BitcoinUnits::BLAST, i->second, &rv.amount)) { return false; } @@ -280,28 +281,28 @@ bool parseRavenURI(const QUrl &uri, SendCoinsRecipient *out) return true; } -bool parseRavenURI(QString uri, SendCoinsRecipient *out) +bool parseBitcoinURI(QString uri, SendCoinsRecipient *out) { - // Convert raven:// to raven: + // Convert blast:// to blast: // - // Cannot handle this later, because raven:// will cause Qt to see the part after // as host, + // Cannot handle this later, because blast:// will cause Qt to see the part after // as host, // which will lower-case it (and thus invalidate the address). - if(uri.startsWith("raven://", Qt::CaseInsensitive)) + if(uri.startsWith("blast://", Qt::CaseInsensitive)) { - uri.replace(0, 10, "raven:"); + uri.replace(0, 10, "blast:"); } QUrl uriInstance(uri); - return parseRavenURI(uriInstance, out); + return parseBitcoinURI(uriInstance, out); } -QString formatRavenURI(const SendCoinsRecipient &info) +QString formatBitcoinURI(const SendCoinsRecipient &info) { - QString ret = QString("raven:%1").arg(info.address); + QString ret = QString("blast:%1").arg(info.address); int paramCount = 0; if (info.amount) { - ret += QString("?amount=%1").arg(RavenUnits::format(RavenUnits::RVN, info.amount, false, RavenUnits::separatorNever)); + ret += QString("?amount=%1").arg(BitcoinUnits::format(BitcoinUnits::BLAST, info.amount, false, BitcoinUnits::separatorNever)); paramCount++; } @@ -491,9 +492,9 @@ void openDebugLogfile() QDesktopServices::openUrl(QUrl::fromLocalFile(boostPathToQString(pathDebug))); } -bool openRavenConf() +bool openBitcoinConf() { - boost::filesystem::path pathConfig = GetConfigFile(RAVEN_CONF_FILENAME); + boost::filesystem::path pathConfig = GetConfigFile(BITCOIN_CONF_FILENAME); /* Create the file */ boost::filesystem::ofstream configFile(pathConfig, std::ios_base::app); @@ -503,7 +504,7 @@ bool openRavenConf() configFile.close(); - /* Open raven.conf with the associated application */ + /* Open blast.conf with the associated application */ return QDesktopServices::openUrl(QUrl::fromLocalFile(boostPathToQString(pathConfig))); } @@ -692,15 +693,15 @@ fs::path static StartupShortcutPath() { std::string chain = ChainNameFromCommandLine(); if (chain == CBaseChainParams::MAIN) - return GetSpecialFolderPath(CSIDL_STARTUP) / "Raven.lnk"; + return GetSpecialFolderPath(CSIDL_STARTUP) / "BLAST.lnk"; if (chain == CBaseChainParams::TESTNET) // Remove this special case when CBaseChainParams::TESTNET = "testnet4" - return GetSpecialFolderPath(CSIDL_STARTUP) / "Raven (testnet).lnk"; - return GetSpecialFolderPath(CSIDL_STARTUP) / strprintf("Raven (%s).lnk", chain); + return GetSpecialFolderPath(CSIDL_STARTUP) / "BLAST (testnet).lnk"; + return GetSpecialFolderPath(CSIDL_STARTUP) / strprintf("BLAST (%s).lnk", chain); } bool GetStartOnSystemStartup() { - // check for Raven*.lnk + // check for BLAST*.lnk return fs::exists(StartupShortcutPath()); } @@ -790,8 +791,8 @@ fs::path static GetAutostartFilePath() { std::string chain = ChainNameFromCommandLine(); if (chain == CBaseChainParams::MAIN) - return GetAutostartDir() / "raven.desktop"; - return GetAutostartDir() / strprintf("raven-%s.lnk", chain); + return GetAutostartDir() / "blast.desktop"; + return GetAutostartDir() / strprintf("blast-%s.lnk", chain); } bool GetStartOnSystemStartup() @@ -831,13 +832,13 @@ bool SetStartOnSystemStartup(bool fAutoStart) if (!optionFile.good()) return false; std::string chain = ChainNameFromCommandLine(); - // Write a raven.desktop file to the autostart directory: + // Write a blast.desktop file to the autostart directory: optionFile << "[Desktop Entry]\n"; optionFile << "Type=Application\n"; if (chain == CBaseChainParams::MAIN) - optionFile << "Name=Raven\n"; + optionFile << "Name=BLAST\n"; else - optionFile << strprintf("Name=Raven (%s)\n", chain); + optionFile << strprintf("Name=BLAST (%s)\n", chain); optionFile << "Exec=" << pszExePath << strprintf(" -min -testnet=%d -regtest=%d\n", gArgs.GetBoolArg("-testnet", false), gArgs.GetBoolArg("-regtest", false)); optionFile << "Terminal=false\n"; optionFile << "Hidden=false\n"; @@ -863,7 +864,7 @@ LSSharedFileListItemRef findStartupItemInList(LSSharedFileListRef list, CFURLRef return nullptr; } - // loop through the list of startup items and try to find the raven app + // loop through the list of startup items and try to find the blast app for(int i = 0; i < CFArrayGetCount(listSnapshot); i++) { LSSharedFileListItemRef item = (LSSharedFileListItemRef)CFArrayGetValueAtIndex(listSnapshot, i); UInt32 resolutionFlags = kLSSharedFileListNoUserInteraction | kLSSharedFileListDoNotMountVolumes; @@ -897,38 +898,38 @@ LSSharedFileListItemRef findStartupItemInList(LSSharedFileListRef list, CFURLRef bool GetStartOnSystemStartup() { - CFURLRef ravenAppUrl = CFBundleCopyBundleURL(CFBundleGetMainBundle()); - if (ravenAppUrl == nullptr) { + CFURLRef blastAppUrl = CFBundleCopyBundleURL(CFBundleGetMainBundle()); + if (blastAppUrl == nullptr) { return false; } LSSharedFileListRef loginItems = LSSharedFileListCreate(nullptr, kLSSharedFileListSessionLoginItems, nullptr); - LSSharedFileListItemRef foundItem = findStartupItemInList(loginItems, ravenAppUrl); + LSSharedFileListItemRef foundItem = findStartupItemInList(loginItems, blastAppUrl); - CFRelease(ravenAppUrl); + CFRelease(blastAppUrl); return !!foundItem; // return boolified object } bool SetStartOnSystemStartup(bool fAutoStart) { - CFURLRef ravenAppUrl = CFBundleCopyBundleURL(CFBundleGetMainBundle()); - if (ravenAppUrl == nullptr) { + CFURLRef blastAppUrl = CFBundleCopyBundleURL(CFBundleGetMainBundle()); + if (blastAppUrl == nullptr) { return false; } LSSharedFileListRef loginItems = LSSharedFileListCreate(nullptr, kLSSharedFileListSessionLoginItems, nullptr); - LSSharedFileListItemRef foundItem = findStartupItemInList(loginItems, ravenAppUrl); + LSSharedFileListItemRef foundItem = findStartupItemInList(loginItems, blastAppUrl); if(fAutoStart && !foundItem) { - // add raven app to startup item list - LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemBeforeFirst, nullptr, nullptr, ravenAppUrl, nullptr, nullptr); + // add blast app to startup item list + LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemBeforeFirst, nullptr, nullptr, blastAppUrl, nullptr, nullptr); } else if(!fAutoStart && foundItem) { // remove item LSSharedFileListItemRemove(loginItems, foundItem); } - CFRelease(ravenAppUrl); + CFRelease(blastAppUrl); return true; } #pragma GCC diagnostic pop diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 6a9454f918..102d99de98 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_GUIUTIL_H -#define RAVEN_QT_GUIUTIL_H +#ifndef BITCOIN_QT_GUIUTIL_H +#define BITCOIN_QT_GUIUTIL_H #include "amount.h" #include "fs.h" @@ -31,7 +32,7 @@ class QWidget; class QGraphicsDropShadowEffect; QT_END_NAMESPACE -/** Utility functions used by the Raven Qt UI. +/** Utility functions used by the Blast Qt UI. */ namespace GUIUtil { @@ -57,10 +58,10 @@ namespace GUIUtil void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent); void setupAmountWidget(QLineEdit *widget, QWidget *parent); - // Parse "raven:" URI into recipient object, return true on successful parsing - bool parseRavenURI(const QUrl &uri, SendCoinsRecipient *out); - bool parseRavenURI(QString uri, SendCoinsRecipient *out); - QString formatRavenURI(const SendCoinsRecipient &info); + // Parse "blast:" URI into recipient object, return true on successful parsing + bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out); + bool parseBitcoinURI(QString uri, SendCoinsRecipient *out); + QString formatBitcoinURI(const SendCoinsRecipient &info); // Returns true if given address+amount meets "dust" definition bool isDust(const QString& address, const CAmount& amount); @@ -127,7 +128,7 @@ namespace GUIUtil void openDebugLogfile(); // Open the config file - bool openRavenConf(); + bool openBitcoinConf(); // Replace invalid default fonts with known good ones void SubstituteFonts(const QString& language); @@ -260,4 +261,4 @@ namespace GUIUtil } // namespace GUIUtil -#endif // RAVEN_QT_GUIUTIL_H +#endif // BITCOIN_QT_GUIUTIL_H diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp index be5ce93165..757deb43e3 100644 --- a/src/qt/intro.cpp +++ b/src/qt/intro.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "fs.h" @@ -128,7 +128,7 @@ Intro::Intro(QWidget *parent) : .arg(tr(PACKAGE_NAME)) .arg(BLOCK_CHAIN_SIZE) .arg(2018) - .arg(tr("Raven")) + .arg(tr("BLAST")) ); ui->lblExplanation2->setText(ui->lblExplanation2->text().arg(tr(PACKAGE_NAME))); @@ -147,7 +147,7 @@ Intro::Intro(QWidget *parent) : } requiredSpace += CHAIN_STATE_SIZE; ui->sizeWarningLabel->setText( - tr("%1 will download and store a copy of the Raven block chain.").arg(tr(PACKAGE_NAME)) + " " + + tr("%1 will download and store a copy of the BLAST block chain.").arg(tr(PACKAGE_NAME)) + " " + storageRequiresMsg.arg(requiredSpace) + " " + tr("The wallet will also be stored in this directory.") ); @@ -204,7 +204,7 @@ bool Intro::pickDataDirectory() /* If current default data directory does not exist, let the user choose one */ Intro intro; intro.setDataDirectory(dataDir); - intro.setWindowIcon(QIcon(":icons/raven")); + intro.setWindowIcon(QIcon(":icons/bitcoin")); while(true) { @@ -228,8 +228,8 @@ bool Intro::pickDataDirectory() settings.setValue("fReset", false); } /* Only override -datadir if different from the default, to make it possible to - * override -datadir in the raven.conf file in the default data directory - * (to be consistent with ravend behavior) + * override -datadir in the blast.conf file in the default data directory + * (to be consistent with blastd behavior) */ if(dataDir != getDefaultDataDirectory()) gArgs.SoftSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); // use OS locale for path setting diff --git a/src/qt/intro.h b/src/qt/intro.h index c244c63f41..e9b6fdb7f0 100644 --- a/src/qt/intro.h +++ b/src/qt/intro.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_INTRO_H -#define RAVEN_QT_INTRO_H +#ifndef BITCOIN_QT_INTRO_H +#define BITCOIN_QT_INTRO_H #include #include @@ -76,4 +77,4 @@ private Q_SLOTS: friend class FreespaceChecker; }; -#endif // RAVEN_QT_INTRO_H +#endif // BITCOIN_QT_INTRO_H diff --git a/src/qt/locale/raven_af.ts b/src/qt/locale/bitcoin_af.ts similarity index 96% rename from src/qt/locale/raven_af.ts rename to src/qt/locale/bitcoin_af.ts index b8b41c9e3e..e305b5a903 100644 --- a/src/qt/locale/raven_af.ts +++ b/src/qt/locale/bitcoin_af.ts @@ -62,12 +62,12 @@ Ontvanger adresse - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Hierdie is die adresse vanwaar u Raven betalings stuur. U moet altyd die bedrag en die adres van die ontvanger nagaan voordat u enige munte stuur. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Hierdie is die adresse vanwaar u BLAST betalings stuur. U moet altyd die bedrag en die adres van die ontvanger nagaan voordat u enige munte stuur. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Hierdie is die adresse waar u Ravens sal ontvang. Ons beveel aan dat u 'n nuwe adres kies vir elke transaksie + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Hierdie is die adresse waar u BLASTs sal ontvang. Ons beveel aan dat u 'n nuwe adres kies vir elke transaksie &Copy Address @@ -228,7 +228,7 @@ - RavenGUI + BlastGUI Sign &message... Teken &boodskap... @@ -330,8 +330,8 @@ Besig met herindeksering van blokke op hardeskyf... - Send coins to a Raven address - Stuur munte na 'n Raven adres + Send coins to a BLAST address + Stuur munte na 'n BLAST adres Backup wallet to another location @@ -350,8 +350,8 @@ Maak ontfouting en diagnostiese konsole oop - Raven - Raven + BLAST + BLAST Wallet @@ -378,12 +378,12 @@ Kodifiseer die private sleutes wat aan jou beursie gekoppel is. - Sign messages with your Raven addresses to prove you own them - Onderteken boodskappe met u Raven adresse om u eienaarskap te bewys + Sign messages with your BLAST addresses to prove you own them + Onderteken boodskappe met u BLAST adresse om u eienaarskap te bewys - Verify messages to ensure they were signed with specified Raven addresses - Verifieër boodskappe om seker te maak dat dit met die gespesifiseerde Raven adresse + Verify messages to ensure they were signed with specified BLAST addresses + Verifieër boodskappe om seker te maak dat dit met die gespesifiseerde BLAST adresse &File @@ -398,8 +398,8 @@ Orebalk - Request payments (generates QR codes and raven: URIs) - Versoek betalings (genereer QR-kodes en raven: URI's) + Request payments (generates QR codes and blast: URIs) + Versoek betalings (genereer QR-kodes en blast: URI's) Show the list of used sending addresses and labels @@ -410,8 +410,8 @@ Vertoon die lys van gebruikte ontvangers-adresse en etikette - Open a raven: URI or payment request - Skep 'n raven: URI of betalingsversoek + Open a blast: URI or payment request + Skep 'n blast: URI of betalingsversoek Indexing blocks on disk... @@ -1010,10 +1010,10 @@ - raven-core + blast-core - Raven Core - Raven Kern + BLAST Core + BLAST Kern Information diff --git a/src/qt/locale/raven_af_ZA.ts b/src/qt/locale/bitcoin_af_ZA.ts similarity index 100% rename from src/qt/locale/raven_af_ZA.ts rename to src/qt/locale/bitcoin_af_ZA.ts diff --git a/src/qt/locale/raven_ar.ts b/src/qt/locale/bitcoin_ar.ts similarity index 98% rename from src/qt/locale/raven_ar.ts rename to src/qt/locale/bitcoin_ar.ts index c9b00fbce4..f7a6f0ed64 100644 --- a/src/qt/locale/raven_ar.ts +++ b/src/qt/locale/bitcoin_ar.ts @@ -62,11 +62,11 @@ استقبال العناوين - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. هذه هي عناوين Bitcion التابعة لك من أجل إرسال الدفعات. تحقق دائما من المبلغ و عنوان المرسل المستقبل قبل إرسال العملات - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. هذه هي عناوين Bitcion التابعة لك من أجل إستقبال الدفعات. ينصح استخدام عنوان جديد من أجل كل صفقة @@ -228,7 +228,7 @@ - RavenGUI + BlastGUI Sign &message... التوقيع و الرسائل @@ -330,7 +330,7 @@ إعادة الفهرسة الكتل على القرص ... - Send coins to a Raven address + Send coins to a BLAST address ارسل عملات الى عنوان بيتكوين @@ -354,7 +354,7 @@ &التحقق من الرسالة... - Raven + BLAST بت كوين @@ -382,12 +382,12 @@ تشفير المفتاح الخاص بمحفظتك - Sign messages with your Raven addresses to prove you own them - وقَع الرسائل بواسطة ال: Raven الخاص بك لإثبات امتلاكك لهم + Sign messages with your BLAST addresses to prove you own them + وقَع الرسائل بواسطة ال: BLAST الخاص بك لإثبات امتلاكك لهم - Verify messages to ensure they were signed with specified Raven addresses - تحقق من الرسائل للتأكد من أنَها وُقعت برسائل Raven محدَدة + Verify messages to ensure they were signed with specified BLAST addresses + تحقق من الرسائل للتأكد من أنَها وُقعت برسائل BLAST محدَدة &File @@ -406,7 +406,7 @@ شريط أدوات علامات التبويب - Request payments (generates QR codes and raven: URIs) + Request payments (generates QR codes and blast: URIs) أطلب دفعات (يولد كودات الرمز المربع وبيت كوين: العناوين المعطاة) @@ -418,8 +418,8 @@ عرض قائمة عناوين الإستقبال المستخدمة والملصقات - Open a raven: URI or payment request - فتح URI : Raven أو طلب دفع + Open a blast: URI or payment request + فتح URI : BLAST أو طلب دفع &Command-line options @@ -462,7 +462,7 @@ محدث - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options بين اشارة المساعدة %1 للحصول على قائمة من خيارات اوامر البت كوين المحتملة @@ -522,7 +522,7 @@ المحفظة <b>مشفرة</b> و <b>مقفلة</b> حاليا - A fatal error occurred. Raven can no longer continue safely and will quit. + A fatal error occurred. BLAST can no longer continue safely and will quit. خطأ فادح حدث . لا يمكن اتمام بيتكوين بامان سيتم الخروج @@ -688,7 +688,7 @@ تعديل عنوان الارسال - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. العنوان المدخل "%1" ليس عنوان بيت كوين صحيح. @@ -1446,7 +1446,7 @@ هذا دفع اعتيادي - The Raven address to send the payment to + The BLAST address to send the payment to عنوان البت كوين المرسل اليه الدفع @@ -1523,7 +1523,7 @@ التوقيع - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address وقع الرسالة لتثبت انك تمتلك عنوان البت كوين هذا @@ -1950,7 +1950,7 @@ - raven-core + blast-core Options: خيارات: @@ -1960,7 +1960,7 @@ حدد مجلد المعلومات - Raven Core + BLAST Core جوهر البيت كوين diff --git a/src/qt/locale/raven_be_BY.ts b/src/qt/locale/bitcoin_be_BY.ts similarity index 98% rename from src/qt/locale/raven_be_BY.ts rename to src/qt/locale/bitcoin_be_BY.ts index a33046aaae..5816df2ba5 100644 --- a/src/qt/locale/raven_be_BY.ts +++ b/src/qt/locale/bitcoin_be_BY.ts @@ -62,11 +62,11 @@ адрасы Прымання - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. Тут знаходзяцца Біткойн-адрасы для высылання плацяжоў. Заўсёды спраўджвайце колькасць і адрас прызначэння перад здзяйсненнем транзакцыі. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. Тут знаходзяцца Біткойн-адрасы для прымання плацяжоў. Пажадана выкарыстоўваць новы адрас для кожнай транзакцыі. @@ -220,7 +220,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Падпісаць паведамленне... @@ -298,7 +298,7 @@ Пераіндэксацыя блокаў на дыску... - Send coins to a Raven address + Send coins to a BLAST address Даслаць манеты на Біткойн-адрас @@ -322,7 +322,7 @@ Праверыць паведамленне... - Raven + BLAST Біткойн @@ -350,11 +350,11 @@ Зашыфраваць прыватныя ключы, якия належаць вашаму гаманцу - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them Падпісаць паведамленне з дапамогай Біткойн-адраса каб даказаць, што яно належыць вам - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses Спраўдзіць паведамленне з дапамогай Біткойн-адраса каб даказаць, што яно належыць вам @@ -370,7 +370,7 @@ Дапамога - Request payments (generates QR codes and raven: URIs) + Request payments (generates QR codes and blast: URIs) Запатрабаваць плацёж (генеруецца QR-код для біткойн URI) @@ -382,7 +382,7 @@ Паказаць спіс адрасоў і метак для прымання - Open a raven: URI or payment request + Open a blast: URI or payment request Адкрыць біткойн: URI ці запыт плацяжу @@ -1240,7 +1240,7 @@ - raven-core + blast-core Options: Опцыі: @@ -1258,8 +1258,8 @@ Запусціць у фоне як дэман і прымаць каманды - Raven Core - Raven Core + BLAST Core + BLAST Core Do you want to rebuild the block database now? diff --git a/src/qt/locale/raven_bg.ts b/src/qt/locale/bitcoin_bg.ts similarity index 98% rename from src/qt/locale/raven_bg.ts rename to src/qt/locale/bitcoin_bg.ts index 52efc56656..72eefae78e 100644 --- a/src/qt/locale/raven_bg.ts +++ b/src/qt/locale/bitcoin_bg.ts @@ -62,11 +62,11 @@ Адреси за получаване - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. Това са адресите на получателите на плащания. Винаги проверявайте размера на сумата и адреса на получателя, преди да изпратите монети. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. Това са Вашите Биткойн адреси,благодарение на които ще получавате плащания.Препоръчително е да използвате нови адреси за получаване на всяка транзакция. @@ -228,7 +228,7 @@ - RavenGUI + BlastGUI Sign &message... Подписване на &съобщение... @@ -330,7 +330,7 @@ Повторно индексиране на блоковете на диска... - Send coins to a Raven address + Send coins to a BLAST address Изпращане към Биткоин адрес @@ -354,7 +354,7 @@ &Проверка на съобщение... - Raven + BLAST Биткоин @@ -382,11 +382,11 @@ Шифроване на личните ключове,които принадлежат на портфейла Ви. - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them Пишете съобщения със своя Биткойн адрес за да докажете,че е ваш. - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses Потвърждаване на съобщения за да се знае,че са написани с дадените Биткойн адреси. @@ -406,7 +406,7 @@ Раздели - Request payments (generates QR codes and raven: URIs) + Request payments (generates QR codes and blast: URIs) Изискване на плащания(генерира QR кодове и биткойн: URIs) @@ -418,7 +418,7 @@ Покажи списък с използваните адреси и имена. - Open a raven: URI or payment request + Open a blast: URI or payment request Отворете биткойн: URI или заявка за плащане @@ -462,7 +462,7 @@ Синхронизиран - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options Покажи %1 помощно съобщение за да получиш лист с възможни Биткойн команди @@ -706,7 +706,7 @@ Редактиране на адрес за изпращане - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. "%1" не е валиден Биткоин адрес. @@ -928,15 +928,15 @@ &Похарчете непотвърденото ресто - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Автоматично отваряне на входящия Raven порт. Работи само с рутери поддържащи UPnP. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Автоматично отваряне на входящия BLAST порт. Работи само с рутери поддържащи UPnP. Map port using &UPnP Отваряне на входящия порт чрез &UPnP - Connect to the Raven network through a SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. Свързване с Биткойн мрежата чрез SOCKS5 прокси. @@ -1031,7 +1031,7 @@ Формуляр - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. Текущата информация на екрана може да не е актуална. Вашият портфейл ще се синхронизира автоматично с мрежата на Биткоин, щом поне една връзката с нея се установи; този процес все още не е приключил. @@ -1086,7 +1086,7 @@ Възникна грешка по време назаявката за плащане - Cannot start raven: click-to-pay handler + Cannot start blast: click-to-pay handler Биткойн не можe да се стартира: click-to-pay handler @@ -1160,7 +1160,7 @@ Сума - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) Въведете Биткойн адрес (например: %1) @@ -1713,7 +1713,7 @@ Заявката за плащане е изтекла. - Warning: Invalid Raven address + Warning: Invalid BLAST address Внимание: Невалиден Биткойн адрес @@ -1833,7 +1833,7 @@ Копиране на текущия подпис - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Подпишете съобщение като доказателство, че притежавате определен адрес @@ -1849,7 +1849,7 @@ &Провери - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address Проверете съобщение, за да сте сигурни че е подписано с определен Биткоин адрес @@ -2352,7 +2352,7 @@ - raven-core + blast-core Options: Опции: @@ -2370,7 +2370,7 @@ Въведете Ваш публичен адрес - Raven Core + BLAST Core Биткойн ядро diff --git a/src/qt/locale/raven_bg_BG.ts b/src/qt/locale/bitcoin_bg_BG.ts similarity index 98% rename from src/qt/locale/raven_bg_BG.ts rename to src/qt/locale/bitcoin_bg_BG.ts index 39ceee84f3..19aec44bde 100644 --- a/src/qt/locale/raven_bg_BG.ts +++ b/src/qt/locale/bitcoin_bg_BG.ts @@ -62,11 +62,11 @@ Адрес за получаване - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. Тези са вашите Биткойн адреси за изпращане на монети. Винаги проверявайте количеството и получаващия адрес преди изпращане. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. Това са вашите Биткойн адреси за получаване на монети. Препоръчително е да ползвате нов адрес на всяка транзакция. @@ -172,7 +172,7 @@ - RavenGUI + BlastGUI Sign &message... Подпиши съобщение... @@ -418,9 +418,9 @@ - raven-core + blast-core - Raven Core + BLAST Core Биткойн ядро diff --git a/src/qt/locale/raven_ca.ts b/src/qt/locale/bitcoin_ca.ts similarity index 96% rename from src/qt/locale/raven_ca.ts rename to src/qt/locale/bitcoin_ca.ts index 2fd1a1ae4c..8427969691 100644 --- a/src/qt/locale/raven_ca.ts +++ b/src/qt/locale/bitcoin_ca.ts @@ -62,12 +62,12 @@ Adreces de recepció - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Aquestes són les vostres adreces de Raven per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Aquestes són les vostres adreces de BLAST per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Aquestes són les vostres adreces Raven per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Aquestes són les vostres adreces BLAST per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció. &Copy Address @@ -180,8 +180,8 @@ Moneder encriptat - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres ravens no puguin ser robades per programari maliciós que infecti l'ordinador. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres BLAST no puguin ser robades per programari maliciós que infecti l'ordinador. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Signa el &missatge... @@ -334,8 +334,8 @@ S'estan reindexant els blocs al disc... - Send coins to a Raven address - Envia monedes a una adreça Raven + Send coins to a BLAST address + Envia monedes a una adreça BLAST Backup wallet to another location @@ -358,8 +358,8 @@ &Verifica el missatge... - Raven - Raven + BLAST + BLAST Wallet @@ -386,12 +386,12 @@ Encripta les claus privades pertanyents al moneder - Sign messages with your Raven addresses to prove you own them - Signa el missatges amb la seva adreça de Raven per provar que les poseeixes + Sign messages with your BLAST addresses to prove you own them + Signa el missatges amb la seva adreça de BLAST per provar que les poseeixes - Verify messages to ensure they were signed with specified Raven addresses - Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça Raven específica. + Verify messages to ensure they were signed with specified BLAST addresses + Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça BLAST específica. &File @@ -410,8 +410,8 @@ Barra d'eines de les pestanyes - Request payments (generates QR codes and raven: URIs) - Sol·licita pagaments (genera codis QR i raven: URI) + Request payments (generates QR codes and blast: URIs) + Sol·licita pagaments (genera codis QR i blast: URI) Show the list of used sending addresses and labels @@ -422,16 +422,16 @@ Mostra la llista d'adreces de recepció i etiquetes utilitzades - Open a raven: URI or payment request - Obre una raven: sol·licitud d'URI o pagament + Open a blast: URI or payment request + Obre una blast: sol·licitud d'URI o pagament &Command-line options Opcions de la &línia d'ordres - %n active connection(s) to Raven network - %n connexió activa a la xarxa Raven%n connexions actives a la xarxa Raven + %n active connection(s) to BLAST network + %n connexió activa a la xarxa BLAST%n connexions actives a la xarxa BLAST Indexing blocks on disk... @@ -474,8 +474,8 @@ Al dia - Show the %1 help message to get a list with possible Raven command-line options - Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de Raven + Show the %1 help message to get a list with possible BLAST command-line options + Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de BLAST %1 client @@ -540,8 +540,8 @@ El moneder està <b>encriptat</b> i actualment <b>bloquejat</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - S'ha produït un error fatal. Raven no pot continuar amb seguretat i finalitzarà. + A fatal error occurred. BLAST can no longer continue safely and will quit. + S'ha produït un error fatal. BLAST no pot continuar amb seguretat i finalitzarà. @@ -734,8 +734,8 @@ Edita l'adreça d'enviament - The entered address "%1" is not a valid Raven address. - L'adreça introduïda «%1» no és una adreça de Raven vàlida. + The entered address "%1" is not a valid BLAST address. + L'adreça introduïda «%1» no és una adreça de BLAST vàlida. The entered address "%1" is already in the address book. @@ -843,8 +843,8 @@ Com és la primera vegada que s'executa el programa, podeu triar on %1 emmagatzemarà les dades. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 baixarà i emmagatzemarà una còpia de la cadena de blocs de Raven. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 baixarà i emmagatzemarà una còpia de la cadena de blocs de BLAST. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori. Use the default data directory @@ -1020,16 +1020,16 @@ &Gasta el canvi sense confirmar - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Obre el port del client de Raven al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Obre el port del client de BLAST al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada. Map port using &UPnP Port obert amb &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Connecta a la xarxa Raven a través d'un proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Connecta a la xarxa BLAST a través d'un proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1068,8 +1068,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Conectar a la red de Raven a través de un proxy SOCKS5 per als serveis ocults de Tor + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Conectar a la red de BLAST a través de un proxy SOCKS5 per als serveis ocults de Tor Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1167,8 +1167,8 @@ Formulari - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa Raven un cop s'ha establert connexió, però aquest proces no s'ha completat encara. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa BLAST un cop s'ha establert connexió, però aquest proces no s'ha completat encara. Watch-only: @@ -1242,8 +1242,8 @@ Error de la sol·licitud de pagament - Cannot start raven: click-to-pay handler - No es pot iniciar raven: controlador click-to-pay + Cannot start blast: click-to-pay handler + No es pot iniciar blast: controlador click-to-pay URI handling @@ -1258,8 +1258,8 @@ Adreça de pagament no vàlida %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de Raven no vàlida o per paràmetres URI amb mal format. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de BLAST no vàlida o per paràmetres URI amb mal format. Payment request file handling @@ -1344,8 +1344,8 @@ Import - Enter a Raven address (e.g. %1) - Introduïu una adreça de Raven (p. ex. %1) + Enter a BLAST address (e.g. %1) + Introduïu una adreça de BLAST (p. ex. %1) %1 d @@ -1688,8 +1688,8 @@ R&eutilitza una adreça de recepció anterior (no recomanat) - 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 Raven network. - Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa Raven. + 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 BLAST network. + Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa BLAST. An optional label to associate with the new receiving address. @@ -1917,8 +1917,8 @@ total com a mínim - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de ravens que la xarxa pugui processar. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de BLAST que la xarxa pugui processar. (read the tooltip) @@ -2065,8 +2065,8 @@ Paga només la comissió necessària de %1 - Warning: Invalid Raven address - Avís: adreça Raven no vàlida + Warning: Invalid BLAST address + Avís: adreça BLAST no vàlida Warning: Unknown change address @@ -2100,8 +2100,8 @@ Això és un pagament normal. - The Raven address to send the payment to - L'adreça Raven on enviar el pagament + The BLAST address to send the payment to + L'adreça BLAST on enviar el pagament Alt+A @@ -2120,8 +2120,8 @@ Elimina aquesta entrada - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys ravens que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys BLAST que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual. S&ubtract fee from amount @@ -2144,8 +2144,8 @@ Introduïu una etiqueta per a aquesta adreça per afegir-la a la llista d'adreces utilitzades - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Un missatge que s'ha adjuntat al raven: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Un missatge que s'ha adjuntat al blast: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa BLAST. Pay To: @@ -2185,12 +2185,12 @@ &Signa el missatge - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les ravens que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les BLAST que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. - The Raven address to sign the message with - L'adreça Raven amb què signar el missatge + The BLAST address to sign the message with + L'adreça BLAST amb què signar el missatge Choose previously used address @@ -2221,8 +2221,8 @@ Copia la signatura actual al porta-retalls del sistema - Sign the message to prove you own this Raven address - Signa el missatge per provar que ets propietari d'aquesta adreça Raven + Sign the message to prove you own this BLAST address + Signa el missatge per provar que ets propietari d'aquesta adreça BLAST Sign &Message @@ -2245,12 +2245,12 @@ Introduïu l'adreça del receptor, el missatge (assegureu-vos de copiar els salts de línia, espais, tabuladors, etc. exactament) i signatura de sota per verificar el missatge. Tingueu cura de no llegir més en la signatura del que està al missatge signat, per evitar ser enganyat per un atac d'home-en-el-mig. Tingueu en compte que això només demostra que la part que signa rep amb l'adreça, i no es pot provar l'enviament de qualsevol transacció! - The Raven address the message was signed with - L'adreça Raven amb què va ser signat el missatge + The BLAST address the message was signed with + L'adreça BLAST amb què va ser signat el missatge - Verify the message to ensure it was signed with the specified Raven address - Verificar el missatge per assegurar-se que ha estat signat amb una adreça Raven específica + Verify the message to ensure it was signed with the specified BLAST address + Verificar el missatge per assegurar-se que ha estat signat amb una adreça BLAST específica Verify &Message @@ -2784,7 +2784,7 @@ - raven-core + blast-core Options: Opcions: @@ -2842,8 +2842,8 @@ No s'ha pogut iniciar el servidor HTTP. Vegeu debug.log per a més detalls. - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_ca@valencia.ts b/src/qt/locale/bitcoin_ca@valencia.ts similarity index 96% rename from src/qt/locale/raven_ca@valencia.ts rename to src/qt/locale/bitcoin_ca@valencia.ts index 06941fc765..8bee8ae24b 100644 --- a/src/qt/locale/raven_ca@valencia.ts +++ b/src/qt/locale/bitcoin_ca@valencia.ts @@ -62,12 +62,12 @@ S'estan rebent les adreces - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Estes són les vostres adreces de Raven per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Estes són les vostres adreces de BLAST per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Estes són les vostres adreces Raven per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Estes són les vostres adreces BLAST per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció. &Copy Address @@ -220,7 +220,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Signa el &missatge... @@ -298,8 +298,8 @@ S'estan reindexant els blocs al disc... - Send coins to a Raven address - Envia monedes a una adreça Raven + Send coins to a BLAST address + Envia monedes a una adreça BLAST Backup wallet to another location @@ -322,8 +322,8 @@ &Verifica el missatge... - Raven - Raven + BLAST + BLAST Wallet @@ -350,12 +350,12 @@ Encripta les claus privades pertanyents al moneder - Sign messages with your Raven addresses to prove you own them - Signa el missatges amb la seua adreça de Raven per provar que les poseeixes + Sign messages with your BLAST addresses to prove you own them + Signa el missatges amb la seua adreça de BLAST per provar que les poseeixes - Verify messages to ensure they were signed with specified Raven addresses - Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça Raven específica. + Verify messages to ensure they were signed with specified BLAST addresses + Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça BLAST específica. &File @@ -374,8 +374,8 @@ Barra d'eines de les pestanyes - Request payments (generates QR codes and raven: URIs) - Sol·licita pagaments (genera codis QR i raven: URI) + Request payments (generates QR codes and blast: URIs) + Sol·licita pagaments (genera codis QR i blast: URI) Show the list of used sending addresses and labels @@ -386,8 +386,8 @@ Mostra la llista d'adreces de recepció i etiquetes utilitzades - Open a raven: URI or payment request - Obri una raven: sol·licitud d'URI o pagament + Open a blast: URI or payment request + Obri una blast: sol·licitud d'URI o pagament &Command-line options @@ -658,8 +658,8 @@ Edita les adreces d'enviament - The entered address "%1" is not a valid Raven address. - L'adreça introduïda «%1» no és una adreça de Raven vàlida. + The entered address "%1" is not a valid BLAST address. + L'adreça introduïda «%1» no és una adreça de BLAST vàlida. The entered address "%1" is already in the address book. @@ -884,16 +884,16 @@ &Gasta el canvi sense confirmar - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Obri el port del client de Raven al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Obri el port del client de BLAST al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada. Map port using &UPnP Port obert amb &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Connecta a la xarxa Raven a través d'un proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Connecta a la xarxa BLAST a través d'un proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -995,8 +995,8 @@ Formulari - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa Raven un cop s'ha establit connexió, però este proces no s'ha completat encara. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa BLAST un cop s'ha establit connexió, però este proces no s'ha completat encara. Watch-only: @@ -1070,8 +1070,8 @@ Error en la sol·licitud de pagament - Cannot start raven: click-to-pay handler - No es pot iniciar raven: gestor clica-per-pagar + Cannot start blast: click-to-pay handler + No es pot iniciar blast: gestor clica-per-pagar URI handling @@ -1086,8 +1086,8 @@ Adreça de pagament no vàlida %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de Raven no vàlida o per paràmetres URI amb mal format. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de BLAST no vàlida o per paràmetres URI amb mal format. Payment request file handling @@ -1172,8 +1172,8 @@ Import - Enter a Raven address (e.g. %1) - Introduïu una adreça de Raven (p. ex. %1) + Enter a BLAST address (e.g. %1) + Introduïu una adreça de BLAST (p. ex. %1) %1 d @@ -1452,8 +1452,8 @@ R&eutilitza una adreça de recepció anterior (no recomanat) - 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 Raven network. - Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'òbriga la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa Raven. + 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 BLAST network. + Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'òbriga la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa BLAST. An optional label to associate with the new receiving address. @@ -1673,8 +1673,8 @@ total com a mínim - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - No hi ha cap problema en pagar només la comissió mínima sempre que hi haja menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirme una vegada hi haja més demanda de transaccions de ravens que la xarxa puga processar. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + No hi ha cap problema en pagar només la comissió mínima sempre que hi haja menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirme una vegada hi haja més demanda de transaccions de BLAST que la xarxa puga processar. (read the tooltip) @@ -1813,8 +1813,8 @@ La sol·licitud de pagament ha vençut. - Warning: Invalid Raven address - Avís: adreça Raven no vàlida + Warning: Invalid BLAST address + Avís: adreça BLAST no vàlida Warning: Unknown change address @@ -1848,8 +1848,8 @@ Això és un pagament normal. - The Raven address to send the payment to - L'adreça Raven on enviar el pagament + The BLAST address to send the payment to + L'adreça BLAST on enviar el pagament Alt+A @@ -1868,8 +1868,8 @@ Elimina esta entrada - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys ravens que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys BLAST que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual. S&ubtract fee from amount @@ -1892,8 +1892,8 @@ Introduïu una etiqueta per a esta adreça per afegir-la a la llista d'adreces utilitzades - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Un missatge que s'ha adjuntat al raven: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Un missatge que s'ha adjuntat al blast: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa BLAST. Pay To: @@ -1933,12 +1933,12 @@ &Signa el missatge - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les ravens que s'hi envien. Aneu amb compte no signar res que siga vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les BLAST que s'hi envien. Aneu amb compte no signar res que siga vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. - The Raven address to sign the message with - L'adreça Raven amb què signar el missatge + The BLAST address to sign the message with + L'adreça BLAST amb què signar el missatge Choose previously used address @@ -1969,8 +1969,8 @@ Copia la signatura actual al porta-retalls del sistema - Sign the message to prove you own this Raven address - Signa el missatge per provar que ets propietari d'esta adreça Raven + Sign the message to prove you own this BLAST address + Signa el missatge per provar que ets propietari d'esta adreça BLAST Sign &Message @@ -1993,12 +1993,12 @@ Introduïu l'adreça del receptor, el missatge (assegureu-vos de copiar els salts de línia, espais, tabuladors, etc. exactament) i signatura de sota per verificar el missatge. Tingueu cura de no llegir més en la signatura del que està al missatge signat, per evitar ser enganyat per un atac d'home-en-el-mig. Tingueu en compte que això només demostra que la part que signa rep amb l'adreça, i no es pot provar l'enviament de qualsevol transacció! - The Raven address the message was signed with - L'adreça Raven amb què va ser signat el missatge + The BLAST address the message was signed with + L'adreça BLAST amb què va ser signat el missatge - Verify the message to ensure it was signed with the specified Raven address - Verificar el missatge per assegurar-se que ha estat signat amb una adreça Raven específica + Verify the message to ensure it was signed with the specified BLAST address + Verificar el missatge per assegurar-se que ha estat signat amb una adreça BLAST específica Verify &Message @@ -2524,7 +2524,7 @@ - raven-core + blast-core Options: Opcions: @@ -2558,8 +2558,8 @@ Executa en segon pla com a programa dimoni i accepta ordes - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_ca_ES.ts b/src/qt/locale/bitcoin_ca_ES.ts similarity index 96% rename from src/qt/locale/raven_ca_ES.ts rename to src/qt/locale/bitcoin_ca_ES.ts index 789f2adec4..9e6d73c88c 100644 --- a/src/qt/locale/raven_ca_ES.ts +++ b/src/qt/locale/bitcoin_ca_ES.ts @@ -62,12 +62,12 @@ Adreces de recepció - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Aquestes són les vostres adreces de Raven per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Aquestes són les vostres adreces de BLAST per enviar els pagaments. Sempre reviseu l'import i l'adreça del destinatari abans de transferir monedes. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Aquestes són les vostres adreces Raven per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Aquestes són les vostres adreces BLAST per rebre pagaments. Es recomana utilitzar una adreça nova de recepció per a cada transacció. &Copy Address @@ -180,8 +180,8 @@ Moneder encriptat - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres ravens no puguin ser robades per programari maliciós que infecti l'ordinador. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + Ara es tancarà el %1 per finalitzar el procés d'encriptació. Recordeu que encriptar el vostre moneder no garanteix que les vostres BLAST no puguin ser robades per programari maliciós que infecti l'ordinador. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Signa el &missatge... @@ -334,8 +334,8 @@ S'estan reindexant els blocs al disc... - Send coins to a Raven address - Envia monedes a una adreça Raven + Send coins to a BLAST address + Envia monedes a una adreça BLAST Backup wallet to another location @@ -358,8 +358,8 @@ &Verifica el missatge... - Raven - Raven + BLAST + BLAST Wallet @@ -386,12 +386,12 @@ Encripta les claus privades pertanyents al moneder - Sign messages with your Raven addresses to prove you own them - Signa el missatges amb la seva adreça de Raven per provar que les poseeixes + Sign messages with your BLAST addresses to prove you own them + Signa el missatges amb la seva adreça de BLAST per provar que les poseeixes - Verify messages to ensure they were signed with specified Raven addresses - Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça Raven específica. + Verify messages to ensure they were signed with specified BLAST addresses + Verifiqueu els missatges per assegurar-vos que han estat signats amb una adreça BLAST específica. &File @@ -410,8 +410,8 @@ Barra d'eines de les pestanyes - Request payments (generates QR codes and raven: URIs) - Sol·licita pagaments (genera codis QR i raven: URI) + Request payments (generates QR codes and blast: URIs) + Sol·licita pagaments (genera codis QR i blast: URI) Show the list of used sending addresses and labels @@ -422,16 +422,16 @@ Mostra la llista d'adreces de recepció i etiquetes utilitzades - Open a raven: URI or payment request - Obre una raven: sol·licitud d'URI o pagament + Open a blast: URI or payment request + Obre una blast: sol·licitud d'URI o pagament &Command-line options Opcions de la &línia d'ordres - %n active connection(s) to Raven network - %n connexió activa a la xarxa Raven%n connexions actives a la xarxa Raven + %n active connection(s) to BLAST network + %n connexió activa a la xarxa BLAST%n connexions actives a la xarxa BLAST Indexing blocks on disk... @@ -474,8 +474,8 @@ Al dia - Show the %1 help message to get a list with possible Raven command-line options - Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de Raven + Show the %1 help message to get a list with possible BLAST command-line options + Mostra el missatge d'ajuda del %1 per obtenir una llista amb les possibles opcions de línia d'ordres de BLAST %1 client @@ -540,8 +540,8 @@ El moneder està <b>encriptat</b> i actualment <b>bloquejat</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - S'ha produït un error fatal. Raven no pot continuar amb seguretat i finalitzarà. + A fatal error occurred. BLAST can no longer continue safely and will quit. + S'ha produït un error fatal. BLAST no pot continuar amb seguretat i finalitzarà. @@ -734,8 +734,8 @@ Edita l'adreça d'enviament - The entered address "%1" is not a valid Raven address. - L'adreça introduïda «%1» no és una adreça de Raven vàlida. + The entered address "%1" is not a valid BLAST address. + L'adreça introduïda «%1» no és una adreça de BLAST vàlida. The entered address "%1" is already in the address book. @@ -843,8 +843,8 @@ Com és la primera vegada que s'executa el programa, podeu triar on %1 emmagatzemarà les dades. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 baixarà i emmagatzemarà una còpia de la cadena de blocs de Raven. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 baixarà i emmagatzemarà una còpia de la cadena de blocs de BLAST. Com a mínim %2GB de dades s'emmagatzemaran en aquest directori, i augmentarà al llarg del temps. El moneder també s'emmagatzemarà en aquest directori. Use the default data directory @@ -1024,16 +1024,16 @@ &Gasta el canvi sense confirmar - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Obre el port del client de Raven al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Obre el port del client de BLAST al router de forma automàtica. Això només funciona quan el router implementa UPnP i l'opció està activada. Map port using &UPnP Port obert amb &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Connecta a la xarxa Raven a través d'un proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Connecta a la xarxa BLAST a través d'un proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1072,8 +1072,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Conectar a la red de Raven a través de un proxy SOCKS5 per als serveis ocults de Tor + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Conectar a la red de BLAST a través de un proxy SOCKS5 per als serveis ocults de Tor Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1171,8 +1171,8 @@ Formulari - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa Raven un cop s'ha establert connexió, però aquest proces no s'ha completat encara. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + La informació mostrada pot no estar al día. El teu moneder es sincronitza automàticament amb la xarxa BLAST un cop s'ha establert connexió, però aquest proces no s'ha completat encara. Watch-only: @@ -1246,8 +1246,8 @@ Error de la sol·licitud de pagament - Cannot start raven: click-to-pay handler - No es pot iniciar raven: controlador click-to-pay + Cannot start blast: click-to-pay handler + No es pot iniciar blast: controlador click-to-pay URI handling @@ -1262,8 +1262,8 @@ Adreça de pagament no vàlida %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de Raven no vàlida o per paràmetres URI amb mal format. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + L'URI no pot ser analitzat! Això pot ser a causa d'una adreça de BLAST no vàlida o per paràmetres URI amb mal format. Payment request file handling @@ -1348,8 +1348,8 @@ Import - Enter a Raven address (e.g. %1) - Introduïu una adreça de Raven (p. ex. %1) + Enter a BLAST address (e.g. %1) + Introduïu una adreça de BLAST (p. ex. %1) %1 d @@ -1696,8 +1696,8 @@ R&eutilitza una adreça de recepció anterior (no recomanat) - 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 Raven network. - Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa Raven. + 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 BLAST network. + Un missatge opcional que s'adjuntarà a la sol·licitud de pagament, que es mostrarà quan s'obri la sol·licitud. Nota: El missatge no s'enviarà amb el pagament per la xarxa BLAST. An optional label to associate with the new receiving address. @@ -1925,8 +1925,8 @@ total com a mínim - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de ravens que la xarxa pugui processar. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + No hi ha cap problema en pagar només la comissió mínima sempre que hi hagi menys volum de transacció que espai en els blocs. Però tingueu present que això pot acabar en una transacció que mai es confirmi una vegada hi hagi més demanda de transaccions de BLAST que la xarxa pugui processar. (read the tooltip) @@ -2073,8 +2073,8 @@ Paga només la comissió necessària de %1 - Warning: Invalid Raven address - Avís: adreça Raven no vàlida + Warning: Invalid BLAST address + Avís: adreça BLAST no vàlida Warning: Unknown change address @@ -2108,8 +2108,8 @@ Això és un pagament normal. - The Raven address to send the payment to - L'adreça Raven on enviar el pagament + The BLAST address to send the payment to + L'adreça BLAST on enviar el pagament Alt+A @@ -2128,8 +2128,8 @@ Elimina aquesta entrada - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys ravens que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + La comissió es deduirà de l'import que s'enviarà. El destinatari rebrà menys BLAST que les que introduïu al camp d'import. Si se seleccionen múltiples destinataris, la comissió es dividirà per igual. S&ubtract fee from amount @@ -2152,8 +2152,8 @@ Introduïu una etiqueta per a aquesta adreça per afegir-la a la llista d'adreces utilitzades - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Un missatge que s'ha adjuntat al raven: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Un missatge que s'ha adjuntat al blast: URI que s'emmagatzemarà amb la transacció per a la vostra referència. Nota: el missatge no s'enviarà a través de la xarxa BLAST. Pay To: @@ -2193,12 +2193,12 @@ &Signa el missatge - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les ravens que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Podeu signar missatges/acords amb les vostres adreces per provar que rebeu les BLAST que s'hi envien. Aneu amb compte no signar res que sigui vague o aleatori, perquè en alguns atacs de suplantació es pot provar que hi signeu la vostra identitat. Només signeu aquelles declaracions completament detallades en què hi esteu d'acord. - The Raven address to sign the message with - L'adreça Raven amb què signar el missatge + The BLAST address to sign the message with + L'adreça BLAST amb què signar el missatge Choose previously used address @@ -2229,8 +2229,8 @@ Copia la signatura actual al porta-retalls del sistema - Sign the message to prove you own this Raven address - Signa el missatge per provar que ets propietari d'aquesta adreça Raven + Sign the message to prove you own this BLAST address + Signa el missatge per provar que ets propietari d'aquesta adreça BLAST Sign &Message @@ -2253,12 +2253,12 @@ Introduïu l'adreça del receptor, el missatge (assegureu-vos de copiar els salts de línia, espais, tabuladors, etc. exactament) i signatura de sota per verificar el missatge. Tingueu cura de no llegir més en la signatura del que està al missatge signat, per evitar ser enganyat per un atac d'home-en-el-mig. Tingueu en compte que això només demostra que la part que signa rep amb l'adreça, i no es pot provar l'enviament de qualsevol transacció! - The Raven address the message was signed with - L'adreça Raven amb què va ser signat el missatge + The BLAST address the message was signed with + L'adreça BLAST amb què va ser signat el missatge - Verify the message to ensure it was signed with the specified Raven address - Verificar el missatge per assegurar-se que ha estat signat amb una adreça Raven específica + Verify the message to ensure it was signed with the specified BLAST address + Verificar el missatge per assegurar-se que ha estat signat amb una adreça BLAST específica Verify &Message @@ -2804,7 +2804,7 @@ - raven-core + blast-core Options: Opcions: @@ -2862,8 +2862,8 @@ No s'ha pogut iniciar el servidor HTTP. Vegeu debug.log per a més detalls. - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_cs.ts b/src/qt/locale/bitcoin_cs.ts similarity index 97% rename from src/qt/locale/raven_cs.ts rename to src/qt/locale/bitcoin_cs.ts index 424fd72d0e..4ba20a507a 100644 --- a/src/qt/locale/raven_cs.ts +++ b/src/qt/locale/bitcoin_cs.ts @@ -62,12 +62,12 @@ Přijímací adresy - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Tohle jsou tvé ravenové adresy pro posílání plateb. Před odesláním mincí si vždy zkontroluj částku a cílovou adresu. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Tohle jsou tvé blastové adresy pro posílání plateb. Před odesláním mincí si vždy zkontroluj částku a cílovou adresu. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Tohle jsou tvé ravenové adresy pro příjem plateb. Nezapomeň si pro každou transakci vždy vygenerovat novou adresu. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Tohle jsou tvé blastové adresy pro příjem plateb. Nezapomeň si pro každou transakci vždy vygenerovat novou adresu. &Copy Address @@ -180,8 +180,8 @@ Peněženka je zašifrována - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 se teď ukončí, aby dokončil zašifrování. Pamatuj však, že pouhé zašifrování peněženky nemůže zabránit krádeži tvých ravenů malwarem, kterým se může počítač nakazit. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 se teď ukončí, aby dokončil zašifrování. Pamatuj však, že pouhé zašifrování peněženky nemůže zabránit krádeži tvých blastů malwarem, kterým se může počítač nakazit. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Po&depiš zprávu... @@ -338,8 +338,8 @@ Vytvářím nový index bloků na disku... - Send coins to a Raven address - Pošli mince na ravenovou adresu + Send coins to a BLAST address + Pošli mince na blastovou adresu Backup wallet to another location @@ -362,8 +362,8 @@ &Ověř zprávu... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Zašifruj soukromé klíče ve své peněžence - Sign messages with your Raven addresses to prove you own them - Podepiš zprávy svými ravenovými adresami, čímž prokážeš, že jsi jejich vlastníkem + Sign messages with your BLAST addresses to prove you own them + Podepiš zprávy svými blastovými adresami, čímž prokážeš, že jsi jejich vlastníkem - Verify messages to ensure they were signed with specified Raven addresses - Ověř zprávy, aby ses ujistil, že byly podepsány danými ravenovými adresami + Verify messages to ensure they were signed with specified BLAST addresses + Ověř zprávy, aby ses ujistil, že byly podepsány danými blastovými adresami &File @@ -414,8 +414,8 @@ Panel s listy - Request payments (generates QR codes and raven: URIs) - Požaduj platby (generuje QR kódy a raven: URI) + Request payments (generates QR codes and blast: URIs) + Požaduj platby (generuje QR kódy a blast: URI) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Ukaž seznam použitých přijímacích adres a jejich označení - Open a raven: URI or payment request - Načti raven: URI nebo platební požadavek + Open a blast: URI or payment request + Načti blast: URI nebo platební požadavek &Command-line options Ar&gumenty příkazové řádky - %n active connection(s) to Raven network - %n aktivní spojení do ravenové sítě%n aktivní spojení do ravenové sítě%n aktivních spojení do ravenové sítě + %n active connection(s) to BLAST network + %n aktivní spojení do blastové sítě%n aktivní spojení do blastové sítě%n aktivních spojení do blastové sítě Indexing blocks on disk... @@ -478,8 +478,8 @@ Aktuální - Show the %1 help message to get a list with possible Raven command-line options - Seznam argumentů Ravenu pro příkazovou řádku získáš v nápovědě %1 + Show the %1 help message to get a list with possible BLAST command-line options + Seznam argumentů Blastu pro příkazovou řádku získáš v nápovědě %1 %1 client @@ -548,8 +548,8 @@ Peněženka je <b>zašifrovaná</b> a momentálně <b>zamčená</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Stala se fatální chyba. Raven nemůže bezpečně pokračovat v činnosti, a proto skončí. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Stala se fatální chyba. BLAST nemůže bezpečně pokračovat v činnosti, a proto skončí. @@ -742,8 +742,8 @@ Uprav odesílací adresu - The entered address "%1" is not a valid Raven address. - Zadaná adresa „%1“ není platná ravenová adresa. + The entered address "%1" is not a valid BLAST address. + Zadaná adresa „%1“ není platná blastová adresa. The entered address "%1" is already in the address book. @@ -851,7 +851,7 @@ Tohle je poprvé, co spouštíš %1, takže si můžeš zvolit, kam bude ukládat svá data. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. %1 bude stahovat kopii řetězce bloků. Proto bude potřeba do tohoto adresáře uložit nejméně %2 GB dat – toto číslo bude navíc v průběhu času růst. Tvá peněženka bude rovněž uložena v tomto adresáři. @@ -886,12 +886,12 @@ Formulář - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Nedávné transakce ještě nemusí být vidět, takže stav tvého účtu nemusí být platný. Jakmile se však tvá peněženka dosynchronizuje s ravenovou sítí (viz informace níže), tak už bude stav správně. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Nedávné transakce ještě nemusí být vidět, takže stav tvého účtu nemusí být platný. Jakmile se však tvá peněženka dosynchronizuje s blastovou sítí (viz informace níže), tak už bude stav správně. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Utrácení ravenů, které už utratily zatím nezobrazené transakce, nebude ravenovou sítí umožněno. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Utrácení blastů, které už utratily zatím nezobrazené transakce, nebude blastovou sítí umožněno. Number of blocks left @@ -1048,7 +1048,7 @@ &Utrácet i ještě nepotvrzené drobné - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. Automaticky otevře potřebný port na routeru. Tohle funguje jen za předpokladu, že tvůj router podporuje UPnP a že je UPnP povolené. @@ -1056,8 +1056,8 @@ Namapovat port přes &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Připojí se do ravenové sítě přes SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Připojí se do blastové sítě přes SOCKS5 proxy. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Připojí se do ravenové sítě přes SOCKS5 proxy vyhrazenou pro skryté služby v Tor síti. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Připojí se do blastové sítě přes SOCKS5 proxy vyhrazenou pro skryté služby v Tor síti. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1195,8 +1195,8 @@ Formulář - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Zobrazené informace nemusí být aktuální. Tvá peněženka se automaticky sesynchronizuje s ravenovou sítí, jakmile se s ní spojí. Zatím ale ještě není synchronizace dokončena. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Zobrazené informace nemusí být aktuální. Tvá peněženka se automaticky sesynchronizuje s blastovou sítí, jakmile se s ní spojí. Zatím ale ještě není synchronizace dokončena. Watch-only: @@ -1270,8 +1270,8 @@ Chyba platebního požadavku - Cannot start raven: click-to-pay handler - Nemůžu spustit raven: obsluha click-to-pay + Cannot start blast: click-to-pay handler + Nemůžu spustit blast: obsluha click-to-pay URI handling @@ -1286,8 +1286,8 @@ Neplatná platební adresa %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - Nepodařilo se analyzovat URI! Důvodem může být neplatná ravenová adresa nebo poškozené parametry URI. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + Nepodařilo se analyzovat URI! Důvodem může být neplatná blastová adresa nebo poškozené parametry URI. Payment request file handling @@ -1380,8 +1380,8 @@ Částka - Enter a Raven address (e.g. %1) - Zadej ravenovou adresu (např. %1) + Enter a BLAST address (e.g. %1) + Zadej blastovou adresu (např. %1) %1 d @@ -1804,8 +1804,8 @@ &Recyklovat již existující adresy (nedoporučeno) - 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 Raven network. - Volitelná zpráva, která se připojí k platebnímu požadavku a která se zobrazí, když se požadavek otevře. Poznámka: tahle zpráva se neposílá s platbou po ravenové síti. + 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 BLAST network. + Volitelná zpráva, která se připojí k platebnímu požadavku a která se zobrazí, když se požadavek otevře. Poznámka: tahle zpráva se neposílá s platbou po blastové síti. An optional label to associate with the new receiving address. @@ -2037,8 +2037,8 @@ přinejmenším - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Platit jen minimální poplatek je v pořádku, pokud je zrovna méně transakcí než místa v blocích. Ale počítej s tím, že to také může skončit transakcí, která nikdy nebude potvrzena, pokud je větší poptávka po ravenových transakcích, než síť zvládne zpracovat. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Platit jen minimální poplatek je v pořádku, pokud je zrovna méně transakcí než místa v blocích. Ale počítej s tím, že to také může skončit transakcí, která nikdy nebude potvrzena, pokud je větší poptávka po blastových transakcích, než síť zvládne zpracovat. (read the tooltip) @@ -2201,8 +2201,8 @@ Potvrzování by podle odhadu mělo začít během %n bloku.Potvrzování by podle odhadu mělo začít během %n bloků.Potvrzování by podle odhadu mělo začít během %n bloků. - Warning: Invalid Raven address - Upozornění: Neplatná ravenová adresa + Warning: Invalid BLAST address + Upozornění: Neplatná blastová adresa Warning: Unknown change address @@ -2244,8 +2244,8 @@ Tohle je normální platba. - The Raven address to send the payment to - Ravenová adresa příjemce + The BLAST address to send the payment to + Blastová adresa příjemce Alt+A @@ -2264,8 +2264,8 @@ Smaž tento záznam - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Poplatek se odečte od posílané částky. Příjemce tak dostane méně ravenů, než zadáš do pole Částka. Pokud vybereš více příjemců, tak se poplatek rovnoměrně rozloží. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Poplatek se odečte od posílané částky. Příjemce tak dostane méně blastů, než zadáš do pole Částka. Pokud vybereš více příjemců, tak se poplatek rovnoměrně rozloží. S&ubtract fee from amount @@ -2288,8 +2288,8 @@ Zadej označení této adresy; obojí se ti pak uloží do adresáře - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Zpráva, která byla připojena k raven: URI a která se ti pro přehled uloží k transakci. Poznámka: Tahle zpráva se neposílá s platbou po ravenové síti. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Zpráva, která byla připojena k blast: URI a která se ti pro přehled uloží k transakci. Poznámka: Tahle zpráva se neposílá s platbou po blastové síti. Pay To: @@ -2333,12 +2333,12 @@ &Podepiš zprávu - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Podepsáním zprávy/smlouvy svými adresami můžeš prokázat, že jsi na ně schopen přijmout raveny. Buď opatrný a nepodepisuj nic vágního nebo náhodného; například při phishingových útocích můžeš být lákán, abys něco takového podepsal. Podepisuj pouze naprosto úplná a detailní prohlášení, se kterými souhlasíš. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Podepsáním zprávy/smlouvy svými adresami můžeš prokázat, že jsi na ně schopen přijmout blasty. Buď opatrný a nepodepisuj nic vágního nebo náhodného; například při phishingových útocích můžeš být lákán, abys něco takového podepsal. Podepisuj pouze naprosto úplná a detailní prohlášení, se kterými souhlasíš. - The Raven address to sign the message with - Ravenová adresa, kterou se zpráva podepíše + The BLAST address to sign the message with + Blastová adresa, kterou se zpráva podepíše Choose previously used address @@ -2369,8 +2369,8 @@ Zkopíruj tento podpis do schránky - Sign the message to prove you own this Raven address - Podepiš zprávu, čímž prokážeš, že jsi vlastníkem této ravenové adresy + Sign the message to prove you own this BLAST address + Podepiš zprávu, čímž prokážeš, že jsi vlastníkem této blastové adresy Sign &Message @@ -2393,12 +2393,12 @@ K ověření podpisu zprávy zadej adresu příjemce, zprávu (ověř si, že správně kopíruješ zalomení řádků, mezery, tabulátory apod.) a podpis. Dávej pozor na to, abys nezkopíroval do podpisu víc, než co je v samotné podepsané zprávě, abys nebyl napálen man-in-the-middle útokem. Poznamenejme však, že takto lze pouze prokázat, že podepisující je schopný na dané adrese přijmout platbu, ale není možnéprokázat, že odeslal jakoukoli transakci! - The Raven address the message was signed with - Ravenová adresa, kterou je zpráva podepsána + The BLAST address the message was signed with + Blastová adresa, kterou je zpráva podepsána - Verify the message to ensure it was signed with the specified Raven address - Ověř zprávu, aby ses ujistil, že byla podepsána danou ravenovou adresou + Verify the message to ensure it was signed with the specified BLAST address + Ověř zprávu, aby ses ujistil, že byla podepsána danou blastovou adresou Verify &Message @@ -2988,7 +2988,7 @@ - raven-core + blast-core Options: Možnosti: @@ -3058,8 +3058,8 @@ Nemohu spustit HTTP server. Detaily viz v debug.log. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_cy.ts b/src/qt/locale/bitcoin_cy.ts similarity index 98% rename from src/qt/locale/raven_cy.ts rename to src/qt/locale/bitcoin_cy.ts index 7f92be3137..daf48d0ccf 100644 --- a/src/qt/locale/raven_cy.ts +++ b/src/qt/locale/bitcoin_cy.ts @@ -52,7 +52,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... Cysoni â'r rhwydwaith... @@ -114,8 +114,8 @@ Newid y cyfrinymadrodd a ddefnyddiwyd ar gyfer amgryptio'r waled - Raven - Raven + BLAST + BLAST Wallet @@ -478,14 +478,14 @@ WalletView - raven-core + blast-core Options: Opsiynau: - Raven Core - Craidd Raven + BLAST Core + Craidd BLAST Information diff --git a/src/qt/locale/raven_da.ts b/src/qt/locale/bitcoin_da.ts similarity index 96% rename from src/qt/locale/raven_da.ts rename to src/qt/locale/bitcoin_da.ts index b05afd41e8..1674ac4f7a 100644 --- a/src/qt/locale/raven_da.ts +++ b/src/qt/locale/bitcoin_da.ts @@ -43,11 +43,11 @@ Choose the address to send coins to - Vælg adresse at sende ravens til + Vælg adresse at sende BLAST til Choose the address to receive coins with - Vælg adresse at modtage ravens med + Vælg adresse at modtage BLAST med C&hoose @@ -62,12 +62,12 @@ Modtagelsesadresser - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Disse er dine Raven-adresser til afsendelse af betalinger. Tjek altid beløb og modtagelsesadresse, inden du sender ravens. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Disse er dine BLAST-adresser til afsendelse af betalinger. Tjek altid beløb og modtagelsesadresse, inden du sender BLAST. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Dette er dine Raven-adresser til modtagelse af betalinger. Det anbefales at bruge en ny modtagelsesadresse for hver transaktion. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Dette er dine BLAST-adresser til modtagelse af betalinger. Det anbefales at bruge en ny modtagelsesadresse for hver transaktion. &Copy Address @@ -180,7 +180,7 @@ Tegnebog krypteret - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 vil nu lukke for at færdiggøre krypteringsprocessen. Husk at kryptering af din tegnebog kan ikke beskytte dine raven fuldt ud mod at blive stjålet af eventuel malware, der måtte have inficeret din computer. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Signér &besked… @@ -338,8 +338,8 @@ Genindekserer blokke på disken… - Send coins to a Raven address - Send ravens til en Raven-adresse + Send coins to a BLAST address + Send BLAST til en BLAST-adresse Backup wallet to another location @@ -362,8 +362,8 @@ &Verificér besked… - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Kryptér de private nøgler, der hører til din tegnebog - Sign messages with your Raven addresses to prove you own them - Signér beskeder med dine Raven-adresser for at bevise, at de tilhører dig + Sign messages with your BLAST addresses to prove you own them + Signér beskeder med dine BLAST-adresser for at bevise, at de tilhører dig - Verify messages to ensure they were signed with specified Raven addresses - Verificér beskeder for at sikre, at de er signeret med de angivne Raven-adresser + Verify messages to ensure they were signed with specified BLAST addresses + Verificér beskeder for at sikre, at de er signeret med de angivne BLAST-adresser &File @@ -414,8 +414,8 @@ Faneværktøjslinje - Request payments (generates QR codes and raven: URIs) - Anmod om betalinger (genererer QR-koder og “raven:”-URI'er) + Request payments (generates QR codes and blast: URIs) + Anmod om betalinger (genererer QR-koder og “blast:”-URI'er) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Vis listen over brugte modtagelsesadresser og -mærkater - Open a raven: URI or payment request - Åbn en “raven:”-URI eller betalingsanmodning + Open a blast: URI or payment request + Åbn en “blast:”-URI eller betalingsanmodning &Command-line options Tilvalg for &kommandolinje - %n active connection(s) to Raven network - %n aktiv forbindelse til Raven-netværket%n aktive forbindelser til Raven-netværket + %n active connection(s) to BLAST network + %n aktiv forbindelse til BLAST-netværket%n aktive forbindelser til BLAST-netværket Indexing blocks on disk... @@ -478,8 +478,8 @@ Opdateret - Show the %1 help message to get a list with possible Raven command-line options - Vis %1 hjælpebesked for at få en liste over mulige tilvalg for Raven kommandolinje + Show the %1 help message to get a list with possible BLAST command-line options + Vis %1 hjælpebesked for at få en liste over mulige tilvalg for BLAST kommandolinje %1 client @@ -548,8 +548,8 @@ Tegnebog er <b>krypteret</b> og i øjeblikket <b>låst</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Der opstod en fatal fejl. Raven kan ikke længere fortsætte sikkert og vil afslutte. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Der opstod en fatal fejl. BLAST kan ikke længere fortsætte sikkert og vil afslutte. @@ -742,8 +742,8 @@ Redigér afsendelsesadresse - The entered address "%1" is not a valid Raven address. - Den indtastede adresse “%1” er ikke en gyldig Raven-adresse. + The entered address "%1" is not a valid BLAST address. + Den indtastede adresse “%1” er ikke en gyldig BLAST-adresse. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Siden dette er første gang, programmet startes, kan du vælge, hvor %1 skal gemme sin data. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 vil downloade og gemme et kopi af Raven-blokkæden. Mindst %2 GB data vil blive gemt i denne mappe, og den vil vokse over tid. Tegnebogen vil også blive gemt i denne mappe. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 vil downloade og gemme et kopi af BLAST-blokkæden. Mindst %2 GB data vil blive gemt i denne mappe, og den vil vokse over tid. Tegnebogen vil også blive gemt i denne mappe. Use the default data directory @@ -890,7 +890,7 @@ Nylige transaktioner er måske ikke synlige endnu, og derfor kan din tegnebogs saldo være ukorrekt. Denne information vil være korrekt, når din tegnebog er færdig med at synkronisere med raven-netværket, som detaljerne herunder viser. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. Forsøg på at bruge raven, som er indeholdt i endnu-ikke-viste transaktioner, accepteres ikke af netværket. @@ -1048,16 +1048,16 @@ &Brug ubekræftede byttepenge - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Åbn automatisk Raven-klientens port på routeren. Dette virker kun, når din router understøtter UPnP, og UPnP er aktiveret. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Åbn automatisk BLAST-klientens port på routeren. Dette virker kun, når din router understøtter UPnP, og UPnP er aktiveret. Map port using &UPnP Konfigurér port vha. &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Forbind til Raven-netværket gennem en SOCKS5-proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Forbind til BLAST-netværket gennem en SOCKS5-proxy. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Forbind til Raven-netværket gennem en separat SOCKS5-proxy for skjulte Tor-tjenester. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Forbind til BLAST-netværket gennem en separat SOCKS5-proxy for skjulte Tor-tjenester. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1145,7 +1145,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Vælg standard for underopdeling af enhed, som skal vises i brugergrænsefladen og ved afsendelse af ravens. + Vælg standard for underopdeling af enhed, som skal vises i brugergrænsefladen og ved afsendelse af BLAST. Whether to show coin control features or not. @@ -1195,8 +1195,8 @@ Formular - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Den viste information kan være forældet. Din tegnebog synkroniserer automatisk med Raven-netværket, når en forbindelse etableres, men denne proces er ikke gennemført endnu. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Den viste information kan være forældet. Din tegnebog synkroniserer automatisk med BLAST-netværket, når en forbindelse etableres, men denne proces er ikke gennemført endnu. Watch-only: @@ -1270,8 +1270,8 @@ Fejl i betalingsanmodning - Cannot start raven: click-to-pay handler - Kan ikke starte raven: click-to-pay-håndtering + Cannot start blast: click-to-pay handler + Kan ikke starte blast: click-to-pay-håndtering URI handling @@ -1286,8 +1286,8 @@ Ugyldig betalingsadresse %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI kan ikke tolkes! Dette kan skyldes en ugyldig Raven-adresse eller forkert udformede URL-parametre. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI kan ikke tolkes! Dette kan skyldes en ugyldig BLAST-adresse eller forkert udformede URL-parametre. Payment request file handling @@ -1380,8 +1380,8 @@ Beløb - Enter a Raven address (e.g. %1) - Indtast en Raven-adresse (fx %1) + Enter a BLAST address (e.g. %1) + Indtast en BLAST-adresse (fx %1) %1 d @@ -1804,8 +1804,8 @@ &Genbrug en eksisterende modtagelsesadresse (anbefales ikke) - 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 Raven network. - En valgfri besked, der føjes til betalingsanmodningen, og som vil vises, når anmodningen åbnes. Bemærk: Beskeden vil ikke sendes sammen med betalingen over Raven-netværket. + 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 BLAST network. + En valgfri besked, der føjes til betalingsanmodningen, og som vil vises, når anmodningen åbnes. Bemærk: Beskeden vil ikke sendes sammen med betalingen over BLAST-netværket. An optional label to associate with the new receiving address. @@ -1958,7 +1958,7 @@ SendCoinsDialog Send Coins - Send ravens + Send BLAST Coin Control Features @@ -2150,7 +2150,7 @@ Confirm send coins - Bekræft afsendelse af ravens + Bekræft afsendelse af BLAST The recipient address is not valid. Please recheck. @@ -2201,8 +2201,8 @@ Bekræftelse estimeret til at begynde om %n blok.Bekræftelse estimeret til at begynde om %n blokke. - Warning: Invalid Raven address - Advarsel: Ugyldig Raven-adresse + Warning: Invalid BLAST address + Advarsel: Ugyldig BLAST-adresse Warning: Unknown change address @@ -2244,8 +2244,8 @@ Dette er en normal betaling. - The Raven address to send the payment to - Raven-adresse, som betalingen skal sendes til + The BLAST address to send the payment to + BLAST-adresse, som betalingen skal sendes til Alt+A @@ -2264,7 +2264,7 @@ Fjern denne indgang - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Gebyret vil blive trukket fra det sendte beløb. Modtageren vil modtage færre raven, end du indtaster i beløbfeltet. Hvis flere modtagere vælges, vil gebyret deles ligeligt. @@ -2288,8 +2288,8 @@ Indtast et mærkat for denne adresse for at føje den til listen over brugte adresser - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - En besked, som blev føjet til “bitcon:”-URI'en, som vil gemmes med transaktionen til din reference. Bemærk: Denne besked vil ikke blive sendt over Raven-netværket. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + En besked, som blev føjet til “bitcon:”-URI'en, som vil gemmes med transaktionen til din reference. Bemærk: Denne besked vil ikke blive sendt over BLAST-netværket. Pay To: @@ -2333,12 +2333,12 @@ &Singér besked - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Du kan signere beskeder/aftaler med dine adresser for at bevise, at du kan modtage raven, der bliver sendt til adresserne. Vær forsigtig med ikke at signere noget vagt eller tilfældigt, da eventuelle phishing-angreb kan snyde dig til at overlade din identitet til dem. Signér kun fuldt ud detaljerede udsagn, som du er enig i. - The Raven address to sign the message with - Raven-adresse, som beskeden skal signeres med + The BLAST address to sign the message with + BLAST-adresse, som beskeden skal signeres med Choose previously used address @@ -2369,8 +2369,8 @@ Kopiér den nuværende signatur til systemets udklipsholder - Sign the message to prove you own this Raven address - Signér denne besked for at bevise, at Raven-adressen tilhører dig + Sign the message to prove you own this BLAST address + Signér denne besked for at bevise, at BLAST-adressen tilhører dig Sign &Message @@ -2393,12 +2393,12 @@ Indtast modtagerens adresse, besked (vær sikker på at kopiere linjeskift, mellemrum, tabuleringer, etc. præcist) og signatur herunder for at verificere beskeden. Vær forsigtig med ikke at læse noget ud fra signaturen, som ikke står i selve beskeden, for at undgå at blive snydt af et eventuelt man-in-the-middle-angreb. Bemærk, at dette kun beviser, at den signerende person kan modtage med adressen; det kan ikke bevise hvem der har sendt en given transaktion! - The Raven address the message was signed with - Raven-adressen, som beskeden blev signeret med + The BLAST address the message was signed with + BLAST-adressen, som beskeden blev signeret med - Verify the message to ensure it was signed with the specified Raven address - Verificér beskeden for at sikre, at den er signeret med den angivne Raven-adresse + Verify the message to ensure it was signed with the specified BLAST address + Verificér beskeden for at sikre, at den er signeret med den angivne BLAST-adresse Verify &Message @@ -2623,7 +2623,7 @@ 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. - Minede ravens skal modne %1 blokke, før de kan bruges. Da du genererede denne blok, blev den transmitteret til netværket for at blive føjet til blokkæden. Hvis det ikke lykkes at få den i kæden, vil dens tilstand ændres til “ikke accepteret”, og den vil ikke kunne bruges. Dette kan ske nu og da, hvis en anden knude udvinder en blok inden for nogle få sekunder fra din. + Minede BLAST skal modne %1 blokke, før de kan bruges. Da du genererede denne blok, blev den transmitteret til netværket for at blive føjet til blokkæden. Hvis det ikke lykkes at få den i kæden, vil dens tilstand ændres til “ikke accepteret”, og den vil ikke kunne bruges. Dette kan ske nu og da, hvis en anden knude udvinder en blok inden for nogle få sekunder fra din. Debug information @@ -2949,7 +2949,7 @@ WalletModel Send Coins - Send ravens + Send BLAST @@ -3058,8 +3058,8 @@ Kunne ikke starte HTTP-server. Se fejlretningslog for detaljer. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_de.ts b/src/qt/locale/bitcoin_de.ts similarity index 96% rename from src/qt/locale/raven_de.ts rename to src/qt/locale/bitcoin_de.ts index 2a29429dbc..c2bf68e2a2 100644 --- a/src/qt/locale/raven_de.ts +++ b/src/qt/locale/bitcoin_de.ts @@ -43,11 +43,11 @@ Choose the address to send coins to - Wählen Sie die Adresse aus, an die Sie Ravens überweisen möchten + Wählen Sie die Adresse aus, an die Sie BLAST überweisen möchten Choose the address to receive coins with - Wählen Sie die Adresse aus, über die Sie Ravens empfangen wollen + Wählen Sie die Adresse aus, über die Sie BLAST empfangen wollen C&hoose @@ -62,12 +62,12 @@ Empfangsadressen - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Dies sind ihre Raven-Adressen zum Tätigen von Überweisungen. Bitte prüfen Sie den Betrag und die Empfangsadresse, bevor Sie Ravens überweisen. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Dies sind ihre BLAST-Adressen zum Tätigen von Überweisungen. Bitte prüfen Sie den Betrag und die Empfangsadresse, bevor Sie BLAST überweisen. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Dies sind Ihre Raven-Adressen zum Empfangen von Zahlungen. Es wird empfohlen, für jede Transaktion eine neue Empfangsadresse zu verwenden. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Dies sind Ihre BLAST-Adressen zum Empfangen von Zahlungen. Es wird empfohlen, für jede Transaktion eine neue Empfangsadresse zu verwenden. &Copy Address @@ -169,7 +169,7 @@ Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Warnung: Wenn Sie Ihre Wallet verschlüsseln und Ihre Passphrase verlieren, werden Sie <b>alle Ihre Ravens verlieren</b>! + Warnung: Wenn Sie Ihre Wallet verschlüsseln und Ihre Passphrase verlieren, werden Sie <b>alle Ihre BLAST verlieren</b>! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Wallet verschlüsselt - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 wird jetzt beendet, um den Verschlüsselungsprozess abzuschließen. Bitte beachten Sie, dass die Wallet-Verschlüsselung nicht vollständig vor Diebstahl Ihrer Ravens durch Schadprogramme schützt, die Ihren Computer befällt. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 wird jetzt beendet, um den Verschlüsselungsprozess abzuschließen. Bitte beachten Sie, dass die Wallet-Verschlüsselung nicht vollständig vor Diebstahl Ihrer BLAST durch Schadprogramme schützt, die Ihren Computer befällt. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Nachricht s&ignieren... @@ -338,8 +338,8 @@ Reindiziere Blöcke auf Datenträger... - Send coins to a Raven address - Ravens an eine Raven-Adresse überweisen + Send coins to a BLAST address + BLAST an eine BLAST-Adresse überweisen Backup wallet to another location @@ -362,8 +362,8 @@ Nachricht &verifizieren... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Verschlüsselt die zu Ihrer Wallet gehörenden privaten Schlüssel - Sign messages with your Raven addresses to prove you own them - Nachrichten signieren, um den Besitz Ihrer Raven-Adressen zu beweisen + Sign messages with your BLAST addresses to prove you own them + Nachrichten signieren, um den Besitz Ihrer BLAST-Adressen zu beweisen - Verify messages to ensure they were signed with specified Raven addresses - Nachrichten verifizieren, um sicherzustellen, dass diese mit den angegebenen Raven-Adressen signiert wurden + Verify messages to ensure they were signed with specified BLAST addresses + Nachrichten verifizieren, um sicherzustellen, dass diese mit den angegebenen BLAST-Adressen signiert wurden &File @@ -414,8 +414,8 @@ Registerkartenleiste - Request payments (generates QR codes and raven: URIs) - Zahlungen anfordern (erzeugt QR-Codes und "raven:"-URIs) + Request payments (generates QR codes and blast: URIs) + Zahlungen anfordern (erzeugt QR-Codes und "blast:"-URIs) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Liste verwendeter Empfangsadressen und Bezeichnungen anzeigen - Open a raven: URI or payment request - Eine "raven:"-URI oder Zahlungsanforderung öffnen + Open a blast: URI or payment request + Eine "blast:"-URI oder Zahlungsanforderung öffnen &Command-line options &Kommandozeilenoptionen - %n active connection(s) to Raven network - %n aktive Verbindung zum Raven-Netzwerk%n aktive Verbindungen zum Raven-Netzwerk + %n active connection(s) to BLAST network + %n aktive Verbindung zum BLAST-Netzwerk%n aktive Verbindungen zum BLAST-Netzwerk Indexing blocks on disk... @@ -478,7 +478,7 @@ Auf aktuellem Stand - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options Zeige den "%1"-Hilfetext, um eine Liste mit möglichen Kommandozeilenoptionen zu erhalten @@ -548,8 +548,8 @@ Wallet ist <b>verschlüsselt</b> und aktuell <b>gesperrt</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Ein schwerer Fehler ist aufgetreten. Raven kann nicht stabil weiter ausgeführt werden und wird beendet. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Ein schwerer Fehler ist aufgetreten. BLAST kann nicht stabil weiter ausgeführt werden und wird beendet. @@ -742,8 +742,8 @@ Zahlungsadresse bearbeiten - The entered address "%1" is not a valid Raven address. - Die eingegebene Adresse "%1" ist keine gültige Raven-Adresse. + The entered address "%1" is not a valid BLAST address. + Die eingegebene Adresse "%1" ist keine gültige BLAST-Adresse. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Da Sie das Programm gerade zum ersten Mal starten, können Sie nun auswählen wo %1 seine Daten ablegen wird. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 wird eine Kopie der Raven Blockchain herunterladen und speichern. Mindestens %2GB Daten werden in diesem Verzeichnis abgelegt und die Datenmenge wächst über die Zeit an. Auch die Wallet wird in diesem Verzeichnis abgelegt. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 wird eine Kopie der BLAST Blockchain herunterladen und speichern. Mindestens %2GB Daten werden in diesem Verzeichnis abgelegt und die Datenmenge wächst über die Zeit an. Auch die Wallet wird in diesem Verzeichnis abgelegt. Use the default data directory @@ -886,12 +886,12 @@ Formular - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Neueste Transaktionen werden eventuell noch nicht angezeigt, daher könnte Ihr Kontostand veraltet sein. Er wird korrigiert, sobald Ihre Wallet die Synchronisation mit dem Raven-Netzwerk erfolgreich abgeschlossen hat. Details dazu finden sich weiter unten. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Neueste Transaktionen werden eventuell noch nicht angezeigt, daher könnte Ihr Kontostand veraltet sein. Er wird korrigiert, sobald Ihre Wallet die Synchronisation mit dem BLAST-Netzwerk erfolgreich abgeschlossen hat. Details dazu finden sich weiter unten. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Versuche, Ravens aus noch nicht angezeigten Transaktionen auszugeben, werden vom Netzwerk nicht akzeptiert. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Versuche, BLAST aus noch nicht angezeigten Transaktionen auszugeben, werden vom Netzwerk nicht akzeptiert. Number of blocks left @@ -1048,16 +1048,16 @@ &Unbestätigtes Wechselgeld darf ausgegeben werden - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Automatisch den Raven-Clientport auf dem Router öffnen. Dies funktioniert nur, wenn Ihr Router UPnP unterstützt und dies aktiviert ist. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Automatisch den BLAST-Clientport auf dem Router öffnen. Dies funktioniert nur, wenn Ihr Router UPnP unterstützt und dies aktiviert ist. Map port using &UPnP Portweiterleitung via &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Über einen SOCKS5-Proxy mit dem Raven-Netzwerk verbinden. + Connect to the BLAST network through a SOCKS5 proxy. + Über einen SOCKS5-Proxy mit dem BLAST-Netzwerk verbinden. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Über einen separaten SOCKS5 Proxy für Tor Services mit dem Raven Netzwerk verbinden. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Über einen separaten SOCKS5 Proxy für Tor Services mit dem BLAST Netzwerk verbinden. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1145,7 +1145,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Wählen Sie die standardmäßige Untereinheit, die in der Benutzeroberfläche und beim Überweisen von Ravens angezeigt werden soll. + Wählen Sie die standardmäßige Untereinheit, die in der Benutzeroberfläche und beim Überweisen von BLAST angezeigt werden soll. Whether to show coin control features or not. @@ -1195,8 +1195,8 @@ Formular - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Die angezeigten Informationen sind möglicherweise nicht mehr aktuell. Ihre Wallet wird automatisch synchronisiert, nachdem eine Verbindung zum Raven-Netzwerk hergestellt wurde. Dieser Prozess ist jedoch derzeit noch nicht abgeschlossen. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Die angezeigten Informationen sind möglicherweise nicht mehr aktuell. Ihre Wallet wird automatisch synchronisiert, nachdem eine Verbindung zum BLAST-Netzwerk hergestellt wurde. Dieser Prozess ist jedoch derzeit noch nicht abgeschlossen. Watch-only: @@ -1270,8 +1270,8 @@ Fehlerhafte Zahlungsanforderung - Cannot start raven: click-to-pay handler - Kann Raven nicht starten: Klicken-zum-Bezahlen-Handler + Cannot start blast: click-to-pay handler + Kann BLAST nicht starten: Klicken-zum-Bezahlen-Handler URI handling @@ -1286,8 +1286,8 @@ Ungültige Zahlungsadresse %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI kann nicht analysiert werden! Dies kann durch eine ungültige Raven-Adresse oder fehlerhafte URI-Parameter verursacht werden. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI kann nicht analysiert werden! Dies kann durch eine ungültige BLAST-Adresse oder fehlerhafte URI-Parameter verursacht werden. Payment request file handling @@ -1380,8 +1380,8 @@ Betrag - Enter a Raven address (e.g. %1) - Raven-Adresse eingeben (z.B. %1) + Enter a BLAST address (e.g. %1) + BLAST-Adresse eingeben (z.B. %1) %1 d @@ -1800,8 +1800,8 @@ Vorhandene Empfangsadresse &wiederverwenden (nicht empfohlen) - 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 Raven network. - Eine optionale Nachricht, die an die Zahlungsanforderung angehängt wird. Sie wird angezeigt, wenn die Anforderung geöffnet wird. Hinweis: Diese Nachricht wird nicht mit der Zahlung über das Raven-Netzwerk gesendet. + 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 BLAST network. + Eine optionale Nachricht, die an die Zahlungsanforderung angehängt wird. Sie wird angezeigt, wenn die Anforderung geöffnet wird. Hinweis: Diese Nachricht wird nicht mit der Zahlung über das BLAST-Netzwerk gesendet. An optional label to associate with the new receiving address. @@ -1954,7 +1954,7 @@ SendCoinsDialog Send Coins - Ravens überweisen + BLAST überweisen Coin Control Features @@ -2033,8 +2033,8 @@ Mindestbetrag - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Nur die minimale Gebühr zu bezahlen ist so lange in Ordnung, wie weniger Transaktionsvolumen als Platz in den Blöcken vorhanden ist. Aber Vorsicht, diese Option kann dazu führen, dass Transaktionen nicht bestätigt werden, wenn mehr Bedarf an Raven-Transaktionen besteht als das Netzwerk verarbeiten kann. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Nur die minimale Gebühr zu bezahlen ist so lange in Ordnung, wie weniger Transaktionsvolumen als Platz in den Blöcken vorhanden ist. Aber Vorsicht, diese Option kann dazu führen, dass Transaktionen nicht bestätigt werden, wenn mehr Bedarf an BLAST-Transaktionen besteht als das Netzwerk verarbeiten kann. (read the tooltip) @@ -2197,8 +2197,8 @@ Voraussichtlicher Beginn der Bestätigung innerhalb von %n Block.Voraussichtlicher Beginn der Bestätigung innerhalb von %n Blöcken. - Warning: Invalid Raven address - Warnung: Ungültige Raven-Adresse + Warning: Invalid BLAST address + Warnung: Ungültige BLAST-Adresse Warning: Unknown change address @@ -2240,7 +2240,7 @@ Dies ist eine normale Überweisung. - The Raven address to send the payment to + The BLAST address to send the payment to Die Zahlungsadresse der Überweisung @@ -2260,8 +2260,8 @@ Diesen Eintrag entfernen - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Die Gebühr wird vom zu überweisenden Betrag abgezogen. Der Empfänger wird also weniger Ravens erhalten, als Sie im Betrags-Feld eingegeben haben. Falls mehrere Empfänger ausgewählt wurden, wird die Gebühr gleichmäßig verteilt. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Die Gebühr wird vom zu überweisenden Betrag abgezogen. Der Empfänger wird also weniger BLAST erhalten, als Sie im Betrags-Feld eingegeben haben. Falls mehrere Empfänger ausgewählt wurden, wird die Gebühr gleichmäßig verteilt. S&ubtract fee from amount @@ -2284,8 +2284,8 @@ Adressbezeichnung eingeben, die dann zusammen mit der Adresse der Liste bereits verwendeter Adressen hinzugefügt wird. - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Eine an die "raven:"-URI angefügte Nachricht, die zusammen mit der Transaktion gespeichert wird. Hinweis: Diese Nachricht wird nicht über das Raven-Netzwerk gesendet. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Eine an die "blast:"-URI angefügte Nachricht, die zusammen mit der Transaktion gespeichert wird. Hinweis: Diese Nachricht wird nicht über das BLAST-Netzwerk gesendet. Pay To: @@ -2329,12 +2329,12 @@ Nachricht &signieren - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Sie können Nachrichten/Vereinbarungen mit Hilfe Ihrer Adressen signieren, um zu beweisen, dass Sie Ravens empfangen können, die an diese Adressen überwiesen werden. Seien Sie vorsichtig und signieren Sie nichts Vages oder Willkürliches, um Ihre Indentität vor Phishingangriffen zu schützen. Signieren Sie nur vollständig-detaillierte Aussagen, mit denen Sie auch einverstanden sind. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Sie können Nachrichten/Vereinbarungen mit Hilfe Ihrer Adressen signieren, um zu beweisen, dass Sie BLAST empfangen können, die an diese Adressen überwiesen werden. Seien Sie vorsichtig und signieren Sie nichts Vages oder Willkürliches, um Ihre Indentität vor Phishingangriffen zu schützen. Signieren Sie nur vollständig-detaillierte Aussagen, mit denen Sie auch einverstanden sind. - The Raven address to sign the message with - Die Raven-Adresse mit der die Nachricht signiert wird + The BLAST address to sign the message with + Die BLAST-Adresse mit der die Nachricht signiert wird Choose previously used address @@ -2365,8 +2365,8 @@ Aktuelle Signatur in die Zwischenablage kopieren - Sign the message to prove you own this Raven address - Die Nachricht signieren, um den Besitz dieser Raven-Adresse zu beweisen + Sign the message to prove you own this BLAST address + Die Nachricht signieren, um den Besitz dieser BLAST-Adresse zu beweisen Sign &Message @@ -2389,12 +2389,12 @@ Geben Sie die Zahlungsadresse des Empfängers, Nachricht (achten Sie darauf Zeilenumbrüche, Leerzeichen, Tabulatoren usw. exakt zu kopieren) und Signatur unten ein, um die Nachricht zu verifizieren. Vorsicht, interpretieren Sie nicht mehr in die Signatur hinein, als in der signierten Nachricht selber enthalten ist, um nicht von einem Man-in-the-middle-Angriff hinters Licht geführt zu werden. Beachten Sie dass dies nur beweist, dass die signierende Partei über diese Adresse Überweisungen empfangen kann. - The Raven address the message was signed with - Die Raven-Adresse mit der die Nachricht signiert wurde + The BLAST address the message was signed with + Die BLAST-Adresse mit der die Nachricht signiert wurde - Verify the message to ensure it was signed with the specified Raven address - Die Nachricht verifizieren, um sicherzustellen, dass diese mit der angegebenen Raven-Adresse signiert wurde + Verify the message to ensure it was signed with the specified BLAST address + Die Nachricht verifizieren, um sicherzustellen, dass diese mit der angegebenen BLAST-Adresse signiert wurde Verify &Message @@ -2619,7 +2619,7 @@ 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. - Erzeugte Ravens müssen %1 Blöcke lang reifen, bevor sie ausgegeben werden können. Als Sie diesen Block erzeugt haben, wurde er an das Netzwerk übertragen, um ihn der Blockchain hinzuzufügen. Falls dies fehlschlägt, wird der Status in "nicht angenommen" geändert und Sie werden keine Ravens gutgeschrieben bekommen. Das kann gelegentlich passieren, wenn ein anderer Knoten einen Block fast zeitgleich erzeugt. + Erzeugte BLAST müssen %1 Blöcke lang reifen, bevor sie ausgegeben werden können. Als Sie diesen Block erzeugt haben, wurde er an das Netzwerk übertragen, um ihn der Blockchain hinzuzufügen. Falls dies fehlschlägt, wird der Status in "nicht angenommen" geändert und Sie werden keine BLAST gutgeschrieben bekommen. Das kann gelegentlich passieren, wenn ein anderer Knoten einen Block fast zeitgleich erzeugt. Debug information @@ -2945,7 +2945,7 @@ WalletModel Send Coins - Ravens überweisen + BLAST überweisen @@ -2984,7 +2984,7 @@ - raven-core + blast-core Options: Optionen: @@ -3054,8 +3054,8 @@ Kann HTTP Server nicht starten. Siehe debug log für Details. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_el.ts b/src/qt/locale/bitcoin_el.ts similarity index 98% rename from src/qt/locale/raven_el.ts rename to src/qt/locale/bitcoin_el.ts index 08d4770204..56f4e4377d 100644 --- a/src/qt/locale/raven_el.ts +++ b/src/qt/locale/bitcoin_el.ts @@ -28,7 +28,7 @@ BanTableModel - RavenGUI + BlastGUI Quit application Κλείσιμο εφαρμογής @@ -190,7 +190,7 @@ WalletView - raven-core + blast-core Insufficient funds Κεφάλαια μη επαρκή diff --git a/src/qt/locale/raven_el_GR.ts b/src/qt/locale/bitcoin_el_GR.ts similarity index 97% rename from src/qt/locale/raven_el_GR.ts rename to src/qt/locale/bitcoin_el_GR.ts index 6479eeba16..1c71dc76c1 100644 --- a/src/qt/locale/raven_el_GR.ts +++ b/src/qt/locale/bitcoin_el_GR.ts @@ -140,7 +140,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Υπογραφή &Μηνύματος... @@ -222,8 +222,8 @@ Φόρτωση ευρετηρίου μπλοκ στον σκληρο δισκο... - Send coins to a Raven address - Στείλε νομίσματα σε μια διεύθυνση raven + Send coins to a BLAST address + Στείλε νομίσματα σε μια διεύθυνση BLAST Backup wallet to another location @@ -246,8 +246,8 @@ &Επιβεβαίωση μηνύματος - Raven - Raven + BLAST + BLAST Wallet @@ -274,12 +274,12 @@ Κρυπτογραφήστε τα ιδιωτικά κλειδιά που ανήκουν στο πορτοφόλι σας - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them Υπογράψτε ένα μήνυμα για να βεβαιώσετε πως είστε ο κάτοχος αυτής της διεύθυνσης - Verify messages to ensure they were signed with specified Raven addresses - Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως ανήκει μια συγκεκριμένη διεύθυνση Raven + Verify messages to ensure they were signed with specified BLAST addresses + Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως ανήκει μια συγκεκριμένη διεύθυνση BLAST &File @@ -298,8 +298,8 @@ Εργαλειοθήκη καρτελών - Request payments (generates QR codes and raven: URIs) - Αίτηση πληρωμών (δημιουργεί QR codes και διευθύνσεις raven: ) + Request payments (generates QR codes and blast: URIs) + Αίτηση πληρωμών (δημιουργεί QR codes και διευθύνσεις blast: ) Show the list of used sending addresses and labels @@ -310,8 +310,8 @@ Προβολή της λίστας των χρησιμοποιημένων διευθύνσεων και ετικετών λήψεως - Open a raven: URI or payment request - Άνοιγμα raven: URI αίτησης πληρωμής + Open a blast: URI or payment request + Άνοιγμα blast: URI αίτησης πληρωμής &Command-line options @@ -720,16 +720,16 @@ &Ξόδεμα μη επικυρωμένων ρέστων - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Αυτόματο άνοιγμα των θυρών Raven στον δρομολογητή. Λειτουργεί μόνο αν ο δρομολογητής σας υποστηρίζει τη λειτουργία UPnP. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Αυτόματο άνοιγμα των θυρών BLAST στον δρομολογητή. Λειτουργεί μόνο αν ο δρομολογητής σας υποστηρίζει τη λειτουργία UPnP. Map port using &UPnP Απόδοση θυρών με χρήστη &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Σύνδεση στο Raven δίκτυο μέσω διαμεσολαβητή SOCKS5 (π.χ. για σύνδεση μέσω Tor) + Connect to the BLAST network through a SOCKS5 proxy. + Σύνδεση στο BLAST δίκτυο μέσω διαμεσολαβητή SOCKS5 (π.χ. για σύνδεση μέσω Tor) &Connect through SOCKS5 proxy (default proxy): @@ -824,8 +824,8 @@ Φόρμα - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Οι πληροφορίες που εμφανίζονται μπορεί να είναι ξεπερασμένες. Το πορτοφόλι σας συγχρονίζεται αυτόματα με το δίκτυο Raven μετά από μια σύνδεση, αλλά αυτή η διαδικασία δεν έχει ακόμη ολοκληρωθεί. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Οι πληροφορίες που εμφανίζονται μπορεί να είναι ξεπερασμένες. Το πορτοφόλι σας συγχρονίζεται αυτόματα με το δίκτυο BLAST μετά από μια σύνδεση, αλλά αυτή η διαδικασία δεν έχει ακόμη ολοκληρωθεί. Watch-only: @@ -905,8 +905,8 @@ Ποσό - Enter a Raven address (e.g. %1) - Εισάγετε μια διεύθυνση Raven (π.χ. %1) + Enter a BLAST address (e.g. %1) + Εισάγετε μια διεύθυνση BLAST (π.χ. %1) %1 d @@ -1373,8 +1373,8 @@ Αυτή είναι μια απλή πληρωμή. - The Raven address to send the payment to - Η διεύθυνση Raven που θα σταλεί η πληρωμή + The BLAST address to send the payment to + Η διεύθυνση BLAST που θα σταλεί η πληρωμή Alt+A @@ -1430,8 +1430,8 @@ &Υπογραφή Μηνύματος - The Raven address to sign the message with - Διεύθυνση Raven που θα σταλεί το μήνυμα + The BLAST address to sign the message with + Διεύθυνση BLAST που θα σταλεί το μήνυμα Choose previously used address @@ -1462,8 +1462,8 @@ Αντέγραφη της επιλεγμενης διεύθυνσης στο πρόχειρο του συστηματος - Sign the message to prove you own this Raven address - Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως σας ανήκει μια συγκεκριμένη διεύθυνση Raven + Sign the message to prove you own this BLAST address + Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως σας ανήκει μια συγκεκριμένη διεύθυνση BLAST Sign &Message @@ -1482,12 +1482,12 @@ &Επιβεβαίωση μηνύματος - The Raven address the message was signed with - Διεύθυνση Raven η οποία το μήνυμα έχει υπογραφεί + The BLAST address the message was signed with + Διεύθυνση BLAST η οποία το μήνυμα έχει υπογραφεί - Verify the message to ensure it was signed with the specified Raven address - Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως υπογραφθηκε απο μια συγκεκριμένη διεύθυνση Raven + Verify the message to ensure it was signed with the specified BLAST address + Υπογράψτε ένα μήνυμα για ν' αποδείξετε πως υπογραφθηκε απο μια συγκεκριμένη διεύθυνση BLAST Verify &Message @@ -1673,7 +1673,7 @@ WalletView - raven-core + blast-core Options: Επιλογές: @@ -1699,8 +1699,8 @@ Εκτέλεση στο παρασκήνιο κι αποδοχή εντολών - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_en.ts b/src/qt/locale/bitcoin_en.ts similarity index 98% rename from src/qt/locale/raven_en.ts rename to src/qt/locale/bitcoin_en.ts index 62f859c338..f50ff8ab70 100644 --- a/src/qt/locale/raven_en.ts +++ b/src/qt/locale/bitcoin_en.ts @@ -80,12 +80,12 @@ - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. @@ -227,7 +227,7 @@ - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. @@ -297,9 +297,9 @@ - RavenGUI + BlastGUI - + Sign &message... Sign &message... @@ -430,8 +430,8 @@ - Send coins to a Raven address - Send coins to a Raven address + Send coins to a BLAST address + Send coins to a BLAST address @@ -460,8 +460,8 @@ - Raven - Raven + BLAST + BLAST @@ -495,13 +495,13 @@ - Sign messages with your Raven addresses to prove you own them - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them - Verify messages to ensure they were signed with specified Raven addresses - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses + Verify messages to ensure they were signed with specified BLAST addresses @@ -525,7 +525,7 @@ - Request payments (generates QR codes and raven: URIs) + Request payments (generates QR codes and blast: URIs) @@ -540,7 +540,7 @@ - Open a raven: URI or payment request + Open a blast: URI or payment request @@ -550,10 +550,10 @@ - %n active connection(s) to Raven network + %n active connection(s) to BLAST network - %n active connection to Raven network - %n active connections to Raven network + %n active connection to BLAST network + %n active connections to BLAST network @@ -611,7 +611,7 @@ - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options @@ -690,8 +690,8 @@ Wallet is <b>encrypted</b> and currently <b>locked</b> - - A fatal error occurred. Raven can no longer continue safely and will quit. + + A fatal error occurred. BLAST can no longer continue safely and will quit. @@ -934,7 +934,7 @@ - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. @@ -1094,8 +1094,8 @@ - Raven - Raven + BLAST + BLAST @@ -1109,7 +1109,7 @@ - %1 will download and store a copy of the Raven block chain. + %1 will download and store a copy of the BLAST block chain. @@ -1153,12 +1153,12 @@ - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. @@ -1376,8 +1376,8 @@ - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. @@ -1386,7 +1386,7 @@ - Connect to the Raven network through a SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. @@ -1434,7 +1434,7 @@ - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. @@ -1579,8 +1579,8 @@ - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. @@ -1677,7 +1677,7 @@ - Cannot start raven: click-to-pay handler + Cannot start blast: click-to-pay handler @@ -1699,7 +1699,7 @@ - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. @@ -1815,13 +1815,13 @@ QObject - + Amount Amount - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) @@ -1915,7 +1915,7 @@ - + %1 didn't yet exit safely... @@ -2407,7 +2407,7 @@ - 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 Raven 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 BLAST network. @@ -2705,7 +2705,7 @@ - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. @@ -2921,7 +2921,7 @@ - Warning: Invalid Raven address + Warning: Invalid BLAST address @@ -2976,7 +2976,7 @@ - The Raven address to send the payment to + The BLAST address to send the payment to @@ -3003,7 +3003,7 @@ - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. @@ -3033,7 +3033,7 @@ - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. @@ -3090,12 +3090,12 @@ - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - The Raven address to sign the message with + The BLAST address to sign the message with @@ -3137,8 +3137,8 @@ - Sign the message to prove you own this Raven address - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address + Sign the message to prove you own this BLAST address @@ -3168,13 +3168,13 @@ - The Raven address the message was signed with + The BLAST address the message was signed with - Verify the message to ensure it was signed with the specified Raven address - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address + Verify the message to ensure it was signed with the specified BLAST address @@ -3876,7 +3876,7 @@ UnitDisplayStatusBarControl - + Unit to show amounts in. Click to select another unit. @@ -3988,9 +3988,9 @@ - raven-core + blast-core - + Options: Options: @@ -4066,8 +4066,8 @@ - Raven Core - Raven Core + BLAST Core + BLAST Core diff --git a/src/qt/locale/raven_en_GB.ts b/src/qt/locale/bitcoin_en_GB.ts similarity index 96% rename from src/qt/locale/raven_en_GB.ts rename to src/qt/locale/bitcoin_en_GB.ts index 813d2faa20..d3e51bebda 100644 --- a/src/qt/locale/raven_en_GB.ts +++ b/src/qt/locale/bitcoin_en_GB.ts @@ -136,7 +136,7 @@ - RavenGUI + BlastGUI Sign &message... Sign &message... @@ -226,8 +226,8 @@ Reindexing blocks on disk... - Send coins to a Raven address - Send coins to a Raven address + Send coins to a BLAST address + Send coins to a BLAST address Backup wallet to another location @@ -250,8 +250,8 @@ &Verify message... - Raven - Raven + BLAST + BLAST Wallet @@ -278,12 +278,12 @@ Encrypt the private keys that belong to your wallet - Sign messages with your Raven addresses to prove you own them - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them - Verify messages to ensure they were signed with specified Raven addresses - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses + Verify messages to ensure they were signed with specified BLAST addresses &File @@ -302,8 +302,8 @@ Tabs toolbar - Request payments (generates QR codes and raven: URIs) - Request payments (generates QR codes and raven: URIs) + Request payments (generates QR codes and blast: URIs) + Request payments (generates QR codes and blast: URIs) Show the list of used sending addresses and labels @@ -314,16 +314,16 @@ Show the list of used receiving addresses and labels - Open a raven: URI or payment request - Open a raven: URI or payment request + Open a blast: URI or payment request + Open a blast: URI or payment request &Command-line options &Command-line options - %n active connection(s) to Raven network - %n active connection to Raven network%n active connections to Raven network + %n active connection(s) to BLAST network + %n active connection to BLAST network%n active connections to BLAST network Indexing blocks on disk... @@ -366,8 +366,8 @@ Up to date - Show the %1 help message to get a list with possible Raven command-line options - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options + Show the %1 help message to get a list with possible BLAST command-line options %1 client @@ -615,8 +615,8 @@ As this is the first time the program is launched, you can choose where %1 will store its data. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB 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 @@ -772,16 +772,16 @@ &Spend unconfirmed change - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. Map port using &UPnP Map port using &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Connect to the Raven network through a SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. &Connect through SOCKS5 proxy (default proxy): @@ -820,8 +820,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -919,8 +919,8 @@ Form - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven 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 Raven Network after a connection is established, but this process has not been completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST 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 BLAST Network after a connection is established, but this process has not been completed yet. Watch-only: @@ -1008,8 +1008,8 @@ Amount - Enter a Raven address (e.g. %1) - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) + Enter a BLAST address (e.g. %1) %1 d @@ -1352,8 +1352,8 @@ R&euse an existing receiving address (not recommended) - 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 Raven 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 Raven 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 BLAST 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 BLAST network. An optional label to associate with the new receiving address. @@ -1521,8 +1521,8 @@ total at least - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. (read the tooltip) @@ -1608,8 +1608,8 @@ This is a normal payment. - The Raven address to send the payment to - The Raven address to send the payment to + The BLAST address to send the payment to + The BLAST address to send the payment to Alt+A @@ -1628,8 +1628,8 @@ Remove this entry - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. S&ubtract fee from amount @@ -1652,8 +1652,8 @@ Enter a label for this address to add it to the list of used addresses - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. Pay To: @@ -1689,12 +1689,12 @@ &Sign Message - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - The Raven address to sign the message with - The Raven address to sign the message with + The BLAST address to sign the message with + The BLAST address to sign the message with Choose previously used address @@ -1725,8 +1725,8 @@ Copy the current signature to the system clipboard - Sign the message to prove you own this Raven address - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address + Sign the message to prove you own this BLAST address Sign &Message @@ -1749,12 +1749,12 @@ Enter the receiver's 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. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction! - The Raven address the message was signed with - The Raven address the message was signed with + The BLAST address the message was signed with + The BLAST address the message was signed with - Verify the message to ensure it was signed with the specified Raven address - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address + Verify the message to ensure it was signed with the specified BLAST address Verify &Message @@ -1836,7 +1836,7 @@ WalletView - raven-core + blast-core Options: Options: @@ -1894,8 +1894,8 @@ Unable to start HTTP server. See debug log for details. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_eo.ts b/src/qt/locale/bitcoin_eo.ts similarity index 98% rename from src/qt/locale/raven_eo.ts rename to src/qt/locale/bitcoin_eo.ts index 0393153e18..6504d3ddc7 100644 --- a/src/qt/locale/raven_eo.ts +++ b/src/qt/locale/bitcoin_eo.ts @@ -62,11 +62,11 @@ Ricevaj adresoj - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. Jen viaj Bitmon-adresoj por sendi pagojn. Zorge kontrolu la sumon kaj la alsendan adreson antaŭ ol sendi. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. Jen viaj bitmonaj adresoj por ricevi pagojn. Estas konsilinde uzi apartan ricevan adreson por ĉiu transakcio. @@ -136,7 +136,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Subskribi &mesaĝon... @@ -214,7 +214,7 @@ Reindeksado de blokoj sur disko... - Send coins to a Raven address + Send coins to a BLAST address Sendi monon al Bitmon-adreso @@ -238,7 +238,7 @@ &Kontroli mesaĝon... - Raven + BLAST Bitmono @@ -266,11 +266,11 @@ Ĉifri la privatajn ŝlosilojn de via monujo - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them Subskribi mesaĝojn per via Bitmon-adresoj por pravigi, ke vi estas la posedanto - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses Kontroli mesaĝojn por kontroli ĉu ili estas subskribitaj per specifaj Bitmon-adresoj @@ -290,8 +290,8 @@ Langeto-breto - Request payments (generates QR codes and raven: URIs) - Peti pagon (kreas QR-kodojn kaj URI-ojn kun prefikso raven:) + Request payments (generates QR codes and blast: URIs) + Peti pagon (kreas QR-kodojn kaj URI-ojn kun prefikso blast:) Show the list of used sending addresses and labels @@ -302,8 +302,8 @@ Vidigi la liston de uzitaj ricevaj adresoj kaj etikedoj - Open a raven: URI or payment request - Malfermi raven:-URI-on aŭ pagpeton + Open a blast: URI or payment request + Malfermi blast:-URI-on aŭ pagpeton &Command-line options @@ -628,7 +628,7 @@ Fakulo - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. Aŭtomate malfermi la kursilan pordon por Bitmono. Tio funkcias nur se via kursilo havas la UPnP-funkcion, kaj se tiu ĉi estas ŝaltita. @@ -723,7 +723,7 @@ Formularo - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. Eblas, ke la informoj videblaj ĉi tie estas eksdataj. Via monujo aŭtomate sinkoniĝas kun la bitmona reto kiam ili konektiĝas, sed tiu procezo ankoraŭ ne finfariĝis. @@ -1213,7 +1213,7 @@ Kopii la aktualan subskribon al la tondejo - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Subskribi la mesaĝon por pravigi, ke vi estas la posedanto de tiu Bitmon-adreso @@ -1233,7 +1233,7 @@ &Kontroli Mesaĝon - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address Kontroli la mesaĝon por pravigi, ke ĝi ja estas subskribita per la specifa Bitmon-adreso @@ -1312,7 +1312,7 @@ WalletView - raven-core + blast-core Options: Agordoj: @@ -1338,7 +1338,7 @@ Ruli fone kiel demono kaj akcepti komandojn - Raven Core + BLAST Core Kerno de Bitmono diff --git a/src/qt/locale/raven_es.ts b/src/qt/locale/bitcoin_es.ts similarity index 96% rename from src/qt/locale/raven_es.ts rename to src/qt/locale/bitcoin_es.ts index caeccf7d57..01f2490a79 100644 --- a/src/qt/locale/raven_es.ts +++ b/src/qt/locale/bitcoin_es.ts @@ -62,12 +62,12 @@ Direcciones de recepción - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Estas son sus direcciones Raven para enviar pagos. Verifique siempre la cantidad y la dirección de recepción antes de enviar ravens. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Estas son sus direcciones BLAST para enviar pagos. Verifique siempre la cantidad y la dirección de recepción antes de enviar BLAST. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Estas son sus direcciones Raven para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Estas son sus direcciones BLAST para recibir pagos. Se recomienda utilizar una nueva dirección de recepción para cada transacción &Copy Address @@ -180,7 +180,7 @@ Monedero cifrado - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 se cerrará ahora para terminar el proceso de cifrado. Recuerde que cifrar su monedero no puede proteger completamente su monedero de ser robado por malware que infecte su ordenador. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Firmar &mensaje... @@ -338,8 +338,8 @@ Reindexando bloques en disco... - Send coins to a Raven address - Enviar ravens a una dirección Raven + Send coins to a BLAST address + Enviar BLAST a una dirección BLAST Backup wallet to another location @@ -362,8 +362,8 @@ &Verificar mensaje... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Cifrar las claves privadas de su monedero - Sign messages with your Raven addresses to prove you own them - Firmar mensajes con sus direcciones Raven para demostrar la propiedad + Sign messages with your BLAST addresses to prove you own them + Firmar mensajes con sus direcciones BLAST para demostrar la propiedad - Verify messages to ensure they were signed with specified Raven addresses - Verificar mensajes comprobando que están firmados con direcciones Raven concretas + Verify messages to ensure they were signed with specified BLAST addresses + Verificar mensajes comprobando que están firmados con direcciones BLAST concretas &File @@ -414,8 +414,8 @@ Barra de pestañas - Request payments (generates QR codes and raven: URIs) - Solicitar pagos (generando códigos QR e identificadores URI "raven:") + Request payments (generates QR codes and blast: URIs) + Solicitar pagos (generando códigos QR e identificadores URI "blast:") Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Muestra la lista de direcciones de recepción y etiquetas - Open a raven: URI or payment request - Abrir un identificador URI "raven:" o una petición de pago + Open a blast: URI or payment request + Abrir un identificador URI "blast:" o una petición de pago &Command-line options &Opciones de consola de comandos - %n active connection(s) to Raven network - %n conexión activa hacia la red Raven%n conexiones activas hacia la red Raven + %n active connection(s) to BLAST network + %n conexión activa hacia la red BLAST%n conexiones activas hacia la red BLAST Indexing blocks on disk... @@ -478,8 +478,8 @@ Actualizado - Show the %1 help message to get a list with possible Raven command-line options - Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de Raven + Show the %1 help message to get a list with possible BLAST command-line options + Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de BLAST %1 client @@ -548,8 +548,8 @@ El monedero está <b>cifrado</b> y actualmente <b>bloqueado</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Ha ocurrido un error fatal. Raven no puede seguir seguro y se cerrará. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Ha ocurrido un error fatal. BLAST no puede seguir seguro y se cerrará. @@ -742,8 +742,8 @@ Editar dirección de envío - The entered address "%1" is not a valid Raven address. - La dirección introducida "%1" no es una dirección Raven válida. + The entered address "%1" is not a valid BLAST address. + La dirección introducida "%1" no es una dirección BLAST válida. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Al ser la primera vez que se ejecuta el programa, puede elegir donde %1 almacenará sus datos. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 va a descargar y almacenar una copia de la cadena de bloques de Raven. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 va a descargar y almacenar una copia de la cadena de bloques de BLAST. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. Use the default data directory @@ -886,12 +886,12 @@ Formulario - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Las transacciones recientes aún no pueden ser visibles, y por lo tanto el saldo de su monedero podría ser incorrecto. Esta información será correcta cuando su monedero haya terminado de sincronizarse con la red de raven, como se detalla abajo. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Las transacciones recientes aún no pueden ser visibles, y por lo tanto el saldo de su monedero podría ser incorrecto. Esta información será correcta cuando su monedero haya terminado de sincronizarse con la red de BLAST, como se detalla abajo. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - La red no aceptará el intentar gastar ravens que están afectados por transacciones aún no mostradas. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + La red no aceptará el intentar gastar BLAST que están afectados por transacciones aún no mostradas. Number of blocks left @@ -1048,16 +1048,16 @@ &Gastar cambio no confirmado - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Abrir automáticamente el puerto del cliente Raven en el router. Esta opción solo funciona si el router admite UPnP y está activado. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Abrir automáticamente el puerto del cliente BLAST en el router. Esta opción solo funciona si el router admite UPnP y está activado. Map port using &UPnP Mapear el puerto mediante &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Conectarse a la red Raven a través de un proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Conectarse a la red BLAST a través de un proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Conectar a la red Raven mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Conectar a la red BLAST mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1145,7 +1145,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían ravens. + Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían BLAST. Whether to show coin control features or not. @@ -1195,8 +1195,8 @@ Formulario - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red Raven después de que se haya establecido una conexión, pero este proceso aún no se ha completado. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red BLAST después de que se haya establecido una conexión, pero este proceso aún no se ha completado. Watch-only: @@ -1270,8 +1270,8 @@ Fallo en la solicitud de pago - Cannot start raven: click-to-pay handler - No se puede iniciar raven: encargado click-para-pagar + Cannot start blast: click-to-pay handler + No se puede iniciar blast: encargado click-para-pagar URI handling @@ -1286,8 +1286,8 @@ Dirección de pago inválida %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI no puede ser analizado! Esto puede ser causado por una dirección Raven inválida o parametros URI mal formados. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI no puede ser analizado! Esto puede ser causado por una dirección BLAST inválida o parametros URI mal formados. Payment request file handling @@ -1380,8 +1380,8 @@ Cantidad - Enter a Raven address (e.g. %1) - Introducir una dirección Raven (p. ej. %1) + Enter a BLAST address (e.g. %1) + Introducir una dirección BLAST (p. ej. %1) %1 d @@ -1804,8 +1804,8 @@ R&eutilizar una dirección existente para recibir (no recomendado) - 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 Raven network. - Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red Raven. + 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 BLAST network. + Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red BLAST. An optional label to associate with the new receiving address. @@ -1958,7 +1958,7 @@ SendCoinsDialog Send Coins - Enviar ravens + Enviar BLAST Coin Control Features @@ -2037,8 +2037,8 @@ total por lo menos - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Pagar solamente la comisión mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones Raven que la red pueda procesar. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Pagar solamente la comisión mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones BLAST que la red pueda procesar. (read the tooltip) @@ -2201,8 +2201,8 @@ Estimado para empezar la confirmación dentro de %n bloque.Estimado para empezar la confirmación dentro de %n bloques. - Warning: Invalid Raven address - Alerta: dirección Raven inválida + Warning: Invalid BLAST address + Alerta: dirección BLAST inválida Warning: Unknown change address @@ -2244,8 +2244,8 @@ Esto es un pago ordinario. - The Raven address to send the payment to - Dirección Raven a la que enviar el pago + The BLAST address to send the payment to + Dirección BLAST a la que enviar el pago Alt+A @@ -2264,8 +2264,8 @@ Eliminar esta transacción - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - La comisión será deducida de la cantidad que sea mandada. El destinatario recibirá menos ravens de la cantidad introducida en el campo Cantidad. Si hay varios destinatarios, la comisión será distribuida a partes iguales. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + La comisión será deducida de la cantidad que sea mandada. El destinatario recibirá menos BLAST de la cantidad introducida en el campo Cantidad. Si hay varios destinatarios, la comisión será distribuida a partes iguales. S&ubtract fee from amount @@ -2288,8 +2288,8 @@ Introduce una etiqueta para esta dirección para añadirla a la lista de direcciones utilizadas - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Un mensaje que se adjuntó a la raven: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Un mensaje que se adjuntó a la blast: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red BLAST. Pay To: @@ -2333,12 +2333,12 @@ &Firmar mensaje - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Puede firmar los mensajes con sus direcciones para demostrar que las posee. Tenga cuidado de no firmar cualquier cosa de manera vaga o aleatoria, pues los ataques de phishing pueden tratar de engañarle firmando su identidad a través de ellos. Sólo firme declaraciones totalmente detalladas con las que usted esté de acuerdo. - The Raven address to sign the message with - Dirección Raven con la que firmar el mensaje + The BLAST address to sign the message with + Dirección BLAST con la que firmar el mensaje Choose previously used address @@ -2369,8 +2369,8 @@ Copiar la firma actual al portapapeles del sistema - Sign the message to prove you own this Raven address - Firmar el mensaje para demostrar que se posee esta dirección Raven + Sign the message to prove you own this BLAST address + Firmar el mensaje para demostrar que se posee esta dirección BLAST Sign &Message @@ -2393,12 +2393,12 @@ Introduzca la dirección para la firma, el mensaje (asegurándose de copiar tal cual los saltos de línea, espacios, tabulaciones, etc.) y la firma a continuación para verificar el mensaje. Tenga cuidado de no asumir más información de lo que dice el propio mensaje firmado para evitar fraudes basados en ataques de tipo man-in-the-middle. - The Raven address the message was signed with - La dirección Raven con la que se firmó el mensaje + The BLAST address the message was signed with + La dirección BLAST con la que se firmó el mensaje - Verify the message to ensure it was signed with the specified Raven address - Verificar el mensaje para comprobar que fue firmado con la dirección Raven indicada + Verify the message to ensure it was signed with the specified BLAST address + Verificar el mensaje para comprobar que fue firmado con la dirección BLAST indicada Verify &Message @@ -2623,7 +2623,7 @@ 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. - Los ravens generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo. + Los BLAST generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo. Debug information @@ -2988,7 +2988,7 @@ - raven-core + blast-core Options: Opciones: @@ -3061,8 +3061,8 @@ No se ha podido comenzar el servidor HTTP. Ver debug log para detalles. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_es_AR.ts b/src/qt/locale/bitcoin_es_AR.ts similarity index 98% rename from src/qt/locale/raven_es_AR.ts rename to src/qt/locale/bitcoin_es_AR.ts index 87b83215f1..a022b6acc6 100644 --- a/src/qt/locale/raven_es_AR.ts +++ b/src/qt/locale/bitcoin_es_AR.ts @@ -68,7 +68,7 @@ BanTableModel - RavenGUI + BlastGUI CoinControlDialog @@ -170,6 +170,6 @@ WalletView - raven-core + blast-core \ No newline at end of file diff --git a/src/qt/locale/raven_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts similarity index 97% rename from src/qt/locale/raven_es_CL.ts rename to src/qt/locale/bitcoin_es_CL.ts index 80fb60e070..66558fea76 100644 --- a/src/qt/locale/raven_es_CL.ts +++ b/src/qt/locale/bitcoin_es_CL.ts @@ -64,7 +64,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Firmar &Mensaje... @@ -142,8 +142,8 @@ Cargando el index de bloques... - Send coins to a Raven address - Enviar monedas a una dirección raven + Send coins to a BLAST address + Enviar monedas a una dirección BLAST Backup wallet to another location @@ -166,8 +166,8 @@ Verificar mensaje.... - Raven - Raven + BLAST + BLAST Wallet @@ -186,7 +186,7 @@ &Mostrar/Ocultar - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them Firmar un mensaje para provar que usted es dueño de esta dirección @@ -206,8 +206,8 @@ Barra de pestañas - Request payments (generates QR codes and raven: URIs) - Pide pagos (genera codigos QR and raven: URls) + Request payments (generates QR codes and blast: URIs) + Pide pagos (genera codigos QR and blast: URls) Error @@ -363,8 +363,8 @@ experto - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Abre automáticamente el puerto del cliente Raven en el router. Esto funciona solo cuando tu router es compatible con UPnP y está habilitado. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Abre automáticamente el puerto del cliente BLAST en el router. Esto funciona solo cuando tu router es compatible con UPnP y está habilitado. Map port using &UPnP @@ -687,7 +687,7 @@ Firma - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Firmar un mensjage para probar que usted es dueño de esta dirección @@ -750,7 +750,7 @@ WalletView - raven-core + blast-core Options: Opciones: @@ -772,8 +772,8 @@ - Raven Core - raven core + BLAST Core + BLAST core Error loading block database diff --git a/src/qt/locale/raven_es_CO.ts b/src/qt/locale/bitcoin_es_CO.ts similarity index 96% rename from src/qt/locale/raven_es_CO.ts rename to src/qt/locale/bitcoin_es_CO.ts index 5400c43168..7065762e5c 100644 --- a/src/qt/locale/raven_es_CO.ts +++ b/src/qt/locale/bitcoin_es_CO.ts @@ -64,7 +64,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... Sincronizando con la red... @@ -126,8 +126,8 @@ Abrir &URL... - Send coins to a Raven address - Enviando monedas a una dirección de Raven + Send coins to a BLAST address + Enviando monedas a una dirección de BLAST Change the passphrase used for wallet encryption @@ -146,8 +146,8 @@ &Verificar Mensaje... - Raven - Raven + BLAST + BLAST Wallet @@ -294,10 +294,10 @@ WalletView - raven-core + blast-core - Raven Core - Raven Core + BLAST Core + BLAST Core Insufficient funds diff --git a/src/qt/locale/raven_es_DO.ts b/src/qt/locale/bitcoin_es_DO.ts similarity index 97% rename from src/qt/locale/raven_es_DO.ts rename to src/qt/locale/bitcoin_es_DO.ts index 61852dd19d..832537edae 100644 --- a/src/qt/locale/raven_es_DO.ts +++ b/src/qt/locale/bitcoin_es_DO.ts @@ -64,7 +64,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Firmar &mensaje... @@ -142,8 +142,8 @@ Reindexando bloques en disco... - Send coins to a Raven address - Enviar monedas a una dirección Raven + Send coins to a BLAST address + Enviar monedas a una dirección BLAST Backup wallet to another location @@ -166,8 +166,8 @@ &Verificar mensaje... - Raven - Raven + BLAST + BLAST Wallet @@ -194,12 +194,12 @@ Cifrar las claves privadas de su monedero - Sign messages with your Raven addresses to prove you own them - Firmar mensajes con sus direcciones Raven para demostrar la propiedad + Sign messages with your BLAST addresses to prove you own them + Firmar mensajes con sus direcciones BLAST para demostrar la propiedad - Verify messages to ensure they were signed with specified Raven addresses - Verificar mensajes comprobando que están firmados con direcciones Raven concretas + Verify messages to ensure they were signed with specified BLAST addresses + Verificar mensajes comprobando que están firmados con direcciones BLAST concretas &File @@ -218,8 +218,8 @@ Barra de pestañas - Request payments (generates QR codes and raven: URIs) - Solicitar pagos (genera codigo QR y URL's de Raven) + Request payments (generates QR codes and blast: URIs) + Solicitar pagos (genera codigo QR y URL's de BLAST) Show the list of used sending addresses and labels @@ -230,8 +230,8 @@ Muestra la lista de direcciones de recepción y etiquetas - Open a raven: URI or payment request - Abrir un raven: URI o petición de pago + Open a blast: URI or payment request + Abrir un blast: URI o petición de pago &Command-line options @@ -494,8 +494,8 @@ Experto - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Abrir automáticamente el puerto del cliente Raven en el router. Esta opción solo funciona si el router admite UPnP y está activado. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Abrir automáticamente el puerto del cliente BLAST en el router. Esta opción solo funciona si el router admite UPnP y está activado. Map port using &UPnP @@ -589,8 +589,8 @@ Desde - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red Raven después de que se haya establecido una conexión, pero este proceso aún no se ha completado. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red BLAST después de que se haya establecido una conexión, pero este proceso aún no se ha completado. Your current spendable balance @@ -1019,8 +1019,8 @@ Copiar la firma actual al portapapeles del sistema - Sign the message to prove you own this Raven address - Firmar el mensaje para demostrar que se posee esta dirección Raven + Sign the message to prove you own this BLAST address + Firmar el mensaje para demostrar que se posee esta dirección BLAST Sign &Message @@ -1039,8 +1039,8 @@ &Verificar mensaje - Verify the message to ensure it was signed with the specified Raven address - Verificar el mensaje para comprobar que fue firmado con la dirección Raven indicada + Verify the message to ensure it was signed with the specified BLAST address + Verificar el mensaje para comprobar que fue firmado con la dirección BLAST indicada Verify &Message @@ -1094,7 +1094,7 @@ WalletView - raven-core + blast-core Options: Opciones: @@ -1123,8 +1123,8 @@ - Raven Core - Núcleo de Raven + BLAST Core + Núcleo de BLAST Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_es_ES.ts b/src/qt/locale/bitcoin_es_ES.ts similarity index 96% rename from src/qt/locale/raven_es_ES.ts rename to src/qt/locale/bitcoin_es_ES.ts index f3581a8555..43f6c1f839 100644 --- a/src/qt/locale/raven_es_ES.ts +++ b/src/qt/locale/bitcoin_es_ES.ts @@ -62,12 +62,12 @@ Recibiendo direcciones - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Estas son sus direcciones Raven para enviar pagos. Verifique siempre la cantidad y la dirección de recibimiento antes de enviar monedas. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Estas son sus direcciones BLAST para enviar pagos. Verifique siempre la cantidad y la dirección de recibimiento antes de enviar monedas. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Estas son sus direcciones Raven para recibir pagos. Se recomienda utilizar una nueva dirección de recibimiento para cada transacción + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Estas son sus direcciones BLAST para recibir pagos. Se recomienda utilizar una nueva dirección de recibimiento para cada transacción &Copy Address @@ -168,8 +168,8 @@ Confirmar encriptación del monedero - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Advertencia: Si encripta su monedero y pierde su frase clave <b>PERDERÁ TODOS SUS RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Advertencia: Si encripta su monedero y pierde su frase clave <b>PERDERÁ TODOS SUS BLAST</b>! Are you sure you wish to encrypt your wallet? @@ -180,7 +180,7 @@ Monedero encriptado - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 se cerrará ahora para terminar el proceso de encriptación. Recuerde que encriptar su monedero no puede proteger completamente su monedero de ser robado por malware que infecte su ordenador. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Firmar &mensaje... @@ -338,8 +338,8 @@ Reindexando bloques en disco... - Send coins to a Raven address - Enviar ravens a una dirección Raven + Send coins to a BLAST address + Enviar BLAST a una dirección BLAST Backup wallet to another location @@ -362,8 +362,8 @@ &Verificar mensaje... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Cifrar las claves privadas de su monedero - Sign messages with your Raven addresses to prove you own them - Firmar mensajes con sus direcciones Raven para demostrar la propiedad + Sign messages with your BLAST addresses to prove you own them + Firmar mensajes con sus direcciones BLAST para demostrar la propiedad - Verify messages to ensure they were signed with specified Raven addresses - Verificar mensajes comprobando que están firmados con direcciones Raven concretas + Verify messages to ensure they were signed with specified BLAST addresses + Verificar mensajes comprobando que están firmados con direcciones BLAST concretas &File @@ -414,8 +414,8 @@ Barra de pestañas - Request payments (generates QR codes and raven: URIs) - Solicitar pagos (generando códigos QR e identificadores URI "raven:") + Request payments (generates QR codes and blast: URIs) + Solicitar pagos (generando códigos QR e identificadores URI "blast:") Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Muestra la lista de direcciones de recepción y etiquetas - Open a raven: URI or payment request - Abrir un identificador URI "raven:" o una petición de pago + Open a blast: URI or payment request + Abrir un identificador URI "blast:" o una petición de pago &Command-line options &Opciones de consola de comandos - %n active connection(s) to Raven network - %n conexión activa hacia la red Raven%n conexiones activas hacia la red Raven + %n active connection(s) to BLAST network + %n conexión activa hacia la red BLAST%n conexiones activas hacia la red BLAST Indexing blocks on disk... @@ -478,8 +478,8 @@ Actualizado - Show the %1 help message to get a list with possible Raven command-line options - Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de Raven + Show the %1 help message to get a list with possible BLAST command-line options + Mostrar el mensaje de ayuda %1 para obtener una lista de los posibles comandos de linea de comandos de BLAST %1 client @@ -540,8 +540,8 @@ El monedero está <b>cifrado</b> y actualmente <b>bloqueado</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Ha ocurrido un error fatal. Raven no puede continuar de manera segura y se cerrará. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Ha ocurrido un error fatal. BLAST no puede continuar de manera segura y se cerrará. @@ -734,8 +734,8 @@ Editar dirección de envío - The entered address "%1" is not a valid Raven address. - La dirección introducida "%1" no es una dirección Raven válida. + The entered address "%1" is not a valid BLAST address. + La dirección introducida "%1" no es una dirección BLAST válida. The entered address "%1" is already in the address book. @@ -843,8 +843,8 @@ Al ser la primera vez que se ejecuta el programa, puede elegir donde %1 almacenara sus datos - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 va a descargar y almacenar una copia de la cadena de bloques de Raven. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 va a descargar y almacenar una copia de la cadena de bloques de BLAST. Al menos %2GB de datos seran almacenados en este directorio, que ira creciendo con el tiempo. El monedero se guardara tambien en ese directorio. Use the default data directory @@ -1032,16 +1032,16 @@ &Gastar cambio no confirmado - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Abrir automáticamente el puerto del cliente Raven en el router. Esta opción solo funciona si el router admite UPnP y está activado. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Abrir automáticamente el puerto del cliente BLAST en el router. Esta opción solo funciona si el router admite UPnP y está activado. Map port using &UPnP Mapear el puerto mediante &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Conectarse a la red Raven a través de un proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Conectarse a la red BLAST a través de un proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1080,8 +1080,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Conectar a la red Raven mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Conectar a la red BLAST mediante un proxy SOCKS5 por separado para los servicios ocultos de Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1129,7 +1129,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían ravens. + Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían BLAST. Whether to show coin control features or not. @@ -1179,8 +1179,8 @@ Formulario - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red Raven después de que se haya establecido una conexión, pero este proceso aún no se ha completado. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + La información mostrada puede estar desactualizada. Su monedero se sincroniza automáticamente con la red BLAST después de que se haya establecido una conexión, pero este proceso aún no se ha completado. Watch-only: @@ -1254,8 +1254,8 @@ Fallo en la solicitud de pago - Cannot start raven: click-to-pay handler - No se puede iniciar raven: encargado click-para-pagar + Cannot start blast: click-to-pay handler + No se puede iniciar blast: encargado click-para-pagar URI handling @@ -1270,8 +1270,8 @@ Dirección de pago inválida %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI no puede ser analizado! Esto puede ser causado por una dirección Raven inválida o parametros URI mal formados. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI no puede ser analizado! Esto puede ser causado por una dirección BLAST inválida o parametros URI mal formados. Payment request file handling @@ -1364,8 +1364,8 @@ Cantidad - Enter a Raven address (e.g. %1) - Introducir una dirección Raven (p. ej. %1) + Enter a BLAST address (e.g. %1) + Introducir una dirección BLAST (p. ej. %1) %1 d @@ -1732,8 +1732,8 @@ R&eutilizar una dirección existente para recibir (no recomendado) - 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 Raven network. - Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red Raven. + 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 BLAST network. + Un mensaje opcional para adjuntar a la solicitud de pago, que se muestra cuando se abre la solicitud. Nota: El mensaje no se enviará con el pago por la red BLAST. An optional label to associate with the new receiving address. @@ -1886,7 +1886,7 @@ SendCoinsDialog Send Coins - Enviar ravens + Enviar BLAST Coin Control Features @@ -1965,8 +1965,8 @@ total por lo menos - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Pagando solamente la cuota mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones Raven que la red pueda procesar. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Pagando solamente la cuota mínima es correcto, siempre y cuando haya menos volumen de transacciones que el espacio en los bloques. Pero tenga en cuenta que esto puede terminar en una transacción nunca confirmada, una vez que haya más demanda para transacciones BLAST que la red pueda procesar. (read the tooltip) @@ -2117,8 +2117,8 @@ Pagar únicamente la cuota solicitada de %1 - Warning: Invalid Raven address - Alerta: dirección Raven inválida + Warning: Invalid BLAST address + Alerta: dirección BLAST inválida Warning: Unknown change address @@ -2152,8 +2152,8 @@ Esto es un pago ordinario. - The Raven address to send the payment to - Dirección Raven a la que enviar el pago + The BLAST address to send the payment to + Dirección BLAST a la que enviar el pago Alt+A @@ -2172,8 +2172,8 @@ Eliminar esta transacción - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - La cuota será deducida de la cantidad que sea mandada. El destinatario recibirá menos ravens de los que entres en el + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + La cuota será deducida de la cantidad que sea mandada. El destinatario recibirá menos BLAST de los que entres en el S&ubtract fee from amount @@ -2196,8 +2196,8 @@ Introduce una etiqueta para esta dirección para añadirla a la lista de direcciones utilizadas - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Un mensaje que se adjuntó a la raven: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Un mensaje que se adjuntó a la blast: URL que será almacenada con la transacción para su referencia. Nota: Este mensaje no se envía a través de la red BLAST. Pay To: @@ -2241,12 +2241,12 @@ &Firmar mensaje - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Puede firmar los mensajes con sus direcciones para demostrar que las posee. Tenga cuidado de no firmar cualquier cosa de manera vaga o aleatoria, pues los ataques de phishing pueden tratar de engañarle firmando su identidad a través de ellos. Sólo firme declaraciones totalmente detalladas con las que usted esté de acuerdo. - The Raven address to sign the message with - Dirección Raven con la que firmar el mensaje + The BLAST address to sign the message with + Dirección BLAST con la que firmar el mensaje Choose previously used address @@ -2277,8 +2277,8 @@ Copiar la firma actual al portapapeles del sistema - Sign the message to prove you own this Raven address - Firmar el mensaje para demostrar que se posee esta dirección Raven + Sign the message to prove you own this BLAST address + Firmar el mensaje para demostrar que se posee esta dirección BLAST Sign &Message @@ -2301,12 +2301,12 @@ Introduzca la dirección para la firma, el mensaje (asegurándose de copiar tal cual los saltos de línea, espacios, tabulaciones, etc.) y la firma a continuación para verificar el mensaje. Tenga cuidado de no asumir más información de lo que dice el propio mensaje firmado para evitar fraudes basados en ataques de tipo man-in-the-middle. - The Raven address the message was signed with - La dirección Raven con la que se firmó el mensaje + The BLAST address the message was signed with + La dirección BLAST con la que se firmó el mensaje - Verify the message to ensure it was signed with the specified Raven address - Verificar el mensaje para comprobar que fue firmado con la dirección Raven indicada + Verify the message to ensure it was signed with the specified BLAST address + Verificar el mensaje para comprobar que fue firmado con la dirección BLAST indicada Verify &Message @@ -2515,7 +2515,7 @@ 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. - Los ravens generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo. + Los BLAST generados deben madurar %1 bloques antes de que puedan gastarse. Cuando generó este bloque, se transmitió a la red para que se añadiera a la cadena de bloques. Si no consigue entrar en la cadena, su estado cambiará a "no aceptado" y ya no se podrá gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque a pocos segundos del suyo. Debug information @@ -2876,7 +2876,7 @@ - raven-core + blast-core Options: Opciones: @@ -2937,8 +2937,8 @@ No se ha podido comenzar el servidor HTTP. Ver debug log para detalles. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_es_MX.ts b/src/qt/locale/bitcoin_es_MX.ts similarity index 97% rename from src/qt/locale/raven_es_MX.ts rename to src/qt/locale/bitcoin_es_MX.ts index ab568cfb36..d74a56001b 100644 --- a/src/qt/locale/raven_es_MX.ts +++ b/src/qt/locale/bitcoin_es_MX.ts @@ -72,7 +72,7 @@ - RavenGUI + BlastGUI Sign &message... Firmar &mensaje @@ -150,8 +150,8 @@ Reindexando bloques en el disco... - Send coins to a Raven address - Enviar monedas a una dirección Raven + Send coins to a BLAST address + Enviar monedas a una dirección BLAST Backup wallet to another location @@ -174,8 +174,8 @@ &Verificar mensaje... - Raven - Raven + BLAST + BLAST Wallet @@ -418,8 +418,8 @@ Mensaje: - 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 Raven network. - Mensaje opcional para agregar a la solicitud de pago, el cual será mostrado cuando la solicitud este abierta. Nota: El mensaje no se manda con el pago a travéz de la red de Raven. + 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 BLAST network. + Mensaje opcional para agregar a la solicitud de pago, el cual será mostrado cuando la solicitud este abierta. Nota: El mensaje no se manda con el pago a travéz de la red de BLAST. Use this form to request payments. All fields are <b>optional</b>. @@ -602,14 +602,14 @@ - raven-core + blast-core Options: Opciones: - Raven Core - nucleo Raven + BLAST Core + nucleo BLAST <category> can be: diff --git a/src/qt/locale/raven_es_UY.ts b/src/qt/locale/bitcoin_es_UY.ts similarity index 98% rename from src/qt/locale/raven_es_UY.ts rename to src/qt/locale/bitcoin_es_UY.ts index 1c35666894..9214770439 100644 --- a/src/qt/locale/raven_es_UY.ts +++ b/src/qt/locale/bitcoin_es_UY.ts @@ -56,7 +56,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... Sincronizando con la red... @@ -110,16 +110,16 @@ Recibiendo direcciones - Send coins to a Raven address - Enviar monedas a una dirección Raven + Send coins to a BLAST address + Enviar monedas a una dirección BLAST Change the passphrase used for wallet encryption Cambie la clave utilizada para el cifrado del monedero - Raven - Raven + BLAST + BLAST Wallet @@ -437,7 +437,7 @@ WalletView - raven-core + blast-core Options: Opciones: diff --git a/src/qt/locale/raven_es_VE.ts b/src/qt/locale/bitcoin_es_VE.ts similarity index 97% rename from src/qt/locale/raven_es_VE.ts rename to src/qt/locale/bitcoin_es_VE.ts index 7017017d2a..55ed4aa7e4 100644 --- a/src/qt/locale/raven_es_VE.ts +++ b/src/qt/locale/bitcoin_es_VE.ts @@ -68,7 +68,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Firmar &mensaje... @@ -114,8 +114,8 @@ Reindexando bloques en el disco... - Send coins to a Raven address - Enviar monedas a una dirección Raven + Send coins to a BLAST address + Enviar monedas a una dirección BLAST Backup wallet to another location @@ -130,8 +130,8 @@ Abre la consola de depuración y diágnostico - Raven - Raven + BLAST + BLAST Wallet @@ -158,12 +158,12 @@ Encriptar las llaves privadas que pertenecen a tu billetera - Sign messages with your Raven addresses to prove you own them - Firma mensajes con tus direcciones Raven para probar que eres dueño de ellas + Sign messages with your BLAST addresses to prove you own them + Firma mensajes con tus direcciones BLAST para probar que eres dueño de ellas - Verify messages to ensure they were signed with specified Raven addresses - Verificar mensajes para asegurar que estaban firmados con direcciones Raven especificas + Verify messages to ensure they were signed with specified BLAST addresses + Verificar mensajes para asegurar que estaban firmados con direcciones BLAST especificas &File @@ -582,7 +582,7 @@ WalletView - raven-core + blast-core Options: Opciones: @@ -608,8 +608,8 @@ Correr en segundo plano como daemon y aceptar comandos - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_et.ts b/src/qt/locale/bitcoin_et.ts similarity index 96% rename from src/qt/locale/raven_et.ts rename to src/qt/locale/bitcoin_et.ts index bd37a0baa6..a833e2fab0 100644 --- a/src/qt/locale/raven_et.ts +++ b/src/qt/locale/bitcoin_et.ts @@ -62,12 +62,12 @@ Vastuvõtvad aadressid - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Need on sinu Raven aadressid maksete saatmiseks. Ennem müntide saatmist kontrolli alati summat ja makse saaja aadressi. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Need on sinu BLAST aadressid maksete saatmiseks. Ennem müntide saatmist kontrolli alati summat ja makse saaja aadressi. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Need on sinu Raven aadressid sisenevate maksete vastu võtmiseks. Soovitav on iga tehingu tarbeks kasutada uut aadressi. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Need on sinu BLAST aadressid sisenevate maksete vastu võtmiseks. Soovitav on iga tehingu tarbeks kasutada uut aadressi. &Copy Address @@ -168,8 +168,8 @@ Kinnita rahakoti krüpteerimine. - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Hoiatus:Kui sa krüpteerid oma rahakoti ja kaotad salafraasi, siis sa<b>KAOTAD OMA RAVENID</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Hoiatus:Kui sa krüpteerid oma rahakoti ja kaotad salafraasi, siis sa<b>KAOTAD OMA BLASTID</b>! Are you sure you wish to encrypt your wallet? @@ -220,7 +220,7 @@ - RavenGUI + BlastGUI Sign &message... Signeeri &sõnum @@ -290,8 +290,8 @@ Kettal olevate blokkide re-indekseerimine... - Send coins to a Raven address - Saada münte Raveni aadressile + Send coins to a BLAST address + Saada münte Blasti aadressile Backup wallet to another location @@ -314,8 +314,8 @@ &Kontrolli sõnumit... - Raven - Raven + BLAST + BLAST Wallet @@ -342,12 +342,12 @@ Krüpteeri oma rahakoti privaatvõtmed - Sign messages with your Raven addresses to prove you own them - Omandi tõestamiseks allkirjasta sõnumid oma Raveni aadressiga + Sign messages with your BLAST addresses to prove you own them + Omandi tõestamiseks allkirjasta sõnumid oma Blasti aadressiga - Verify messages to ensure they were signed with specified Raven addresses - Kinnita sõnumid kindlustamaks et need allkirjastati määratud Raveni aadressiga + Verify messages to ensure they were signed with specified BLAST addresses + Kinnita sõnumid kindlustamaks et need allkirjastati määratud Blasti aadressiga &File @@ -366,20 +366,20 @@ Vahelehe tööriistariba - Request payments (generates QR codes and raven: URIs) - Loo maksepäring (genereerib QR koodid ja raveni: URId) + Request payments (generates QR codes and blast: URIs) + Loo maksepäring (genereerib QR koodid ja blasti: URId) - Open a raven: URI or payment request - Ava raveni: URI või maksepäring + Open a blast: URI or payment request + Ava blasti: URI või maksepäring &Command-line options Käsurea valikud - %n active connection(s) to Raven network - %n aktiivne ühendus Raveni võrku%n aktiivset ühendust Raveni võrku + %n active connection(s) to BLAST network + %n aktiivne ühendus Blasti võrku%n aktiivset ühendust Blasti võrku Indexing blocks on disk... @@ -626,8 +626,8 @@ Muuda saatvat aadressi - The entered address "%1" is not a valid Raven address. - Sisestatud aadress "%1" ei ole korrektne Raven aadress. + The entered address "%1" is not a valid BLAST address. + Sisestatud aadress "%1" ei ole korrektne BLAST aadress. The entered address "%1" is already in the address book. @@ -756,8 +756,8 @@ Ekspert - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Raveni kliendi pordi automaatne avamine ruuteris. Toimib, kui sinu ruuter aktsepteerib UPnP ühendust. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Blasti kliendi pordi automaatne avamine ruuteris. Toimib, kui sinu ruuter aktsepteerib UPnP ühendust. Map port using &UPnP @@ -855,7 +855,7 @@ Vorm - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. Kuvatav info ei pruugi olla ajakohane. Ühenduse loomisel süngitakse sinu rahakott automaatselt Bitconi võrgustikuga, kuid see toiming on hetkel lõpetamata. @@ -1337,8 +1337,8 @@ Maksepäring aegunud. - Warning: Invalid Raven address - Hoiatus: Ebakorrektne Raven aadress + Warning: Invalid BLAST address + Hoiatus: Ebakorrektne BLAST aadress (no label) @@ -1417,8 +1417,8 @@ &Allkirjastamise teade - The Raven address to sign the message with - Raven aadress millega sõnum allkirjastada + The BLAST address to sign the message with + BLAST aadress millega sõnum allkirjastada Choose previously used address @@ -1449,8 +1449,8 @@ Kopeeri praegune signatuur vahemällu - Sign the message to prove you own this Raven address - Allkirjasta sõnum Raveni aadressi sulle kuulumise tõestamiseks + Sign the message to prove you own this BLAST address + Allkirjasta sõnum Blasti aadressi sulle kuulumise tõestamiseks Sign &Message @@ -1469,12 +1469,12 @@ &Kinnita Sõnum - The Raven address the message was signed with - Raven aadress millega sõnum on allkirjastatud + The BLAST address the message was signed with + BLAST aadress millega sõnum on allkirjastatud - Verify the message to ensure it was signed with the specified Raven address - Kinnita sõnum tõestamaks selle allkirjastatust määratud Raveni aadressiga. + Verify the message to ensure it was signed with the specified BLAST address + Kinnita sõnum tõestamaks selle allkirjastatust määratud Blasti aadressiga. Verify &Message @@ -1732,7 +1732,7 @@ WalletView - raven-core + blast-core Options: Valikud: @@ -1758,8 +1758,8 @@ Tööta taustal ning aktsepteeri käsklusi - Raven Core - Raveni tuumik + BLAST Core + Blasti tuumik Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_et_EE.ts b/src/qt/locale/bitcoin_et_EE.ts similarity index 99% rename from src/qt/locale/raven_et_EE.ts rename to src/qt/locale/bitcoin_et_EE.ts index 10a1c07a83..4ff804dd9b 100644 --- a/src/qt/locale/raven_et_EE.ts +++ b/src/qt/locale/bitcoin_et_EE.ts @@ -104,7 +104,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... Võrguga sünkroniseerimine... @@ -130,8 +130,8 @@ Kõvakettal olevate plokkide reindekseerimine... - Raven - Raven + BLAST + BLAST Wallet @@ -754,14 +754,14 @@ - raven-core + blast-core Options: Valikud: - Raven Core - Raven Core + BLAST Core + BLAST Core Information diff --git a/src/qt/locale/raven_eu_ES.ts b/src/qt/locale/bitcoin_eu_ES.ts similarity index 98% rename from src/qt/locale/raven_eu_ES.ts rename to src/qt/locale/bitcoin_eu_ES.ts index 5f1270a50c..427eb9eddf 100644 --- a/src/qt/locale/raven_eu_ES.ts +++ b/src/qt/locale/bitcoin_eu_ES.ts @@ -62,12 +62,12 @@ Helbideak jasotzen - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Hauek dira zure Raven helbideak dirua bidaltzeko. Beti egiaztatu diru-kantitatea eta jasotzeko helbidea bidali baino lehen. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Hauek dira zure BLAST helbideak dirua bidaltzeko. Beti egiaztatu diru-kantitatea eta jasotzeko helbidea bidali baino lehen. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Hauek dira zure Raven helbideak dirua jasotzeko. Gomendagarria da erabiltzea jasotzeko helbide berri bat operazio bakoitzeko. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Hauek dira zure BLAST helbideak dirua jasotzeko. Gomendagarria da erabiltzea jasotzeko helbide berri bat operazio bakoitzeko. &Copy Address @@ -160,8 +160,8 @@ Berretsi zorroaren enkriptazioa - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Abisua: Zuk enkriptatzen baduzu zure diruzorroa eta zure pasahitza galtzen baduzu, <b>RAVEN GUZTIAK GALDUKO DITUZU</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Abisua: Zuk enkriptatzen baduzu zure diruzorroa eta zure pasahitza galtzen baduzu, <b>BLAST GUZTIAK GALDUKO DITUZU</b>! Are you sure you wish to encrypt your wallet? @@ -204,7 +204,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... Sarearekin sinkronizatzen... @@ -239,7 +239,7 @@ Show information about Qt - Erakutsi Raven-i buruzko informazioa + Erakutsi BLAST-i buruzko informazioa &Options... @@ -818,7 +818,7 @@ - raven-core + blast-core Options: Aukerak diff --git a/src/qt/locale/raven_fa.ts b/src/qt/locale/bitcoin_fa.ts similarity index 98% rename from src/qt/locale/raven_fa.ts rename to src/qt/locale/bitcoin_fa.ts index dbc8f630e4..e5048d3ffc 100644 --- a/src/qt/locale/raven_fa.ts +++ b/src/qt/locale/bitcoin_fa.ts @@ -62,7 +62,7 @@ آدرس های گیرنده - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. اینها آدرس های شما برای فرستادن پرداخت هاست. همیشه قبل از فرستادن سکه ها مقدار و آدرس دریافت کننده را چک کنید. @@ -196,7 +196,7 @@ - RavenGUI + BlastGUI Sign &message... &امضای پیام... @@ -298,7 +298,7 @@ بازنشانی بلوک‌ها روی دیسک... - Send coins to a Raven address + Send coins to a BLAST address ارسال وجه به نشانی بیت‌کوین @@ -322,7 +322,7 @@ با&زبینی پیام... - Raven + BLAST بیت‌کوین @@ -350,11 +350,11 @@ رمزنگاری کلیدهای خصوصی متعلق به کیف پول شما - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them برای اثبات اینکه پیام‌ها به شما تعلق دارند، آن‌ها را با نشانی بیت‌کوین خود امضا کنید - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses برای حصول اطمینان از اینکه پیام با نشانی بیت‌کوین مشخص شده امضا است یا خیر، پیام را شناسایی کنید @@ -374,7 +374,7 @@ نوارابزار برگه‌ها - Request payments (generates QR codes and raven: URIs) + Request payments (generates QR codes and blast: URIs) درخواست پرداخت ( تولید کد کیوار و ادرس بیت کوین) @@ -386,7 +386,7 @@ نمایش لیست آدرس های دریافت و لیبل ها - Open a raven: URI or payment request + Open a blast: URI or payment request بازکردن یک بیت کوین: آدرس یا درخواست پرداخت @@ -394,7 +394,7 @@ گزینه‌های خط‌فرمان - %n active connection(s) to Raven network + %n active connection(s) to BLAST network %n ارتباط فعال با شبکهٔ بیت‌کوین @@ -642,7 +642,7 @@ ویرایش آدرس قرستنده - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. نشانی وارد شده "%1" یک نشانی معتبر بیت‌کوین نیست. @@ -852,7 +852,7 @@ استخراج - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. باز کردن خودکار درگاه شبکهٔ بیت‌کوین روی روترها. تنها زمانی کار می‌کند که روتر از پروتکل UPnP پشتیبانی کند و این پروتکل فعال باشد. @@ -951,7 +951,7 @@ فرم - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. اطلاعات نمایش‌داده شده ممکن است قدیمی باشند. بعد از این که یک اتصال با شبکه برقرار شد، کیف پول شما به‌صورت خودکار با شبکهٔ بیت‌کوین همگام‌سازی می‌شود. اما این روند هنوز کامل نشده است. @@ -1016,7 +1016,7 @@ مبلغ - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) یک آدرس بیت‌کوین وارد کنید (مثلاً %1) @@ -1476,7 +1476,7 @@ این یک پرداخت عادی است - The Raven address to send the payment to + The BLAST address to send the payment to نشانی بیت‌کوین برای ارسال پرداخت به آن @@ -1529,7 +1529,7 @@ ا&مضای پیام - The Raven address to sign the message with + The BLAST address to sign the message with نشانی بیت‌کوین برای امضاء پیغام با آن @@ -1561,7 +1561,7 @@ امضای فعلی را به حافظهٔ سیستم کپی کن - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address برای اثبات تعلق این نشانی به شما، پیام را امضا کنید @@ -1581,11 +1581,11 @@ &شناسایی پیام - The Raven address the message was signed with + The BLAST address the message was signed with نشانی بیت‌کوین که پیغام با آن امضاء شده - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address برای حصول اطمینان از اینکه پیام با نشانی بیت‌کوین مشخص شده امضا است یا خیر، پیام را شناسایی کنید @@ -1676,7 +1676,7 @@ WalletView - raven-core + blast-core Options: گزینه‌ها: @@ -1702,8 +1702,8 @@ اجرا در پشت زمینه به‌صورت یک سرویس و پذیرش دستورات - Raven Core - هسته Raven + BLAST Core + هسته BLAST Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_fa_IR.ts b/src/qt/locale/bitcoin_fa_IR.ts similarity index 98% rename from src/qt/locale/raven_fa_IR.ts rename to src/qt/locale/bitcoin_fa_IR.ts index b23b3a45d5..77d2d49f21 100644 --- a/src/qt/locale/raven_fa_IR.ts +++ b/src/qt/locale/bitcoin_fa_IR.ts @@ -62,11 +62,11 @@ آدرس‌های گیرنده - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. اینها آدرس‌های بیتکوین شما برای ارسال وجوه هستند. همیشه قبل از ارسال، مقدار و آدرس گیرنده را بررسی کنید. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. اینها آدرس‌های بیتکوین شما برای دریافت وجوه هستند. توصیه می‌شود برای هر دریافت از یک آدرس جدید استفاده کنید. @@ -144,7 +144,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... امضا و پیام @@ -206,7 +206,7 @@ دریافت آدرس ها - Send coins to a Raven address + Send coins to a BLAST address ارسال کوین به آدرس بیت کوین @@ -226,7 +226,7 @@ تایید پیام - Raven + BLAST بیت کوین @@ -505,8 +505,8 @@ فرم - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - اطلاعات نمایش داده شده ممکن است روزآمد نباشد. wallet شما به صورت خودکار بعد از برقراری اتصال با شبکه raven به روز می شود اما این فرایند هنوز تکمیل نشده است. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + اطلاعات نمایش داده شده ممکن است روزآمد نباشد. wallet شما به صورت خودکار بعد از برقراری اتصال با شبکه BLAST به روز می شود اما این فرایند هنوز تکمیل نشده است. Available: @@ -878,7 +878,7 @@ WalletView - raven-core + blast-core Options: انتخابها: diff --git a/src/qt/locale/raven_fi.ts b/src/qt/locale/bitcoin_fi.ts similarity index 96% rename from src/qt/locale/raven_fi.ts rename to src/qt/locale/bitcoin_fi.ts index 6505dc88ed..b6c5e20f09 100644 --- a/src/qt/locale/raven_fi.ts +++ b/src/qt/locale/bitcoin_fi.ts @@ -62,12 +62,12 @@ Vastaanotto-osoitteet - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Nämä ovat Raven-osoitteesi maksujen lähettämistä varten. Tarkista aina määrä ja vastaanotto-osoite ennen kolikoiden lähettämistä. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Nämä ovat BLAST-osoitteesi maksujen lähettämistä varten. Tarkista aina määrä ja vastaanotto-osoite ennen kolikoiden lähettämistä. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Tässä ovat Raven vastaanotto-osoitteesi. On suositeltavaa käyttää uutta vastaanotto-osoitetta jokaista lähetystä varten. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Tässä ovat BLAST vastaanotto-osoitteesi. On suositeltavaa käyttää uutta vastaanotto-osoitetta jokaista lähetystä varten. &Copy Address @@ -168,8 +168,8 @@ Vahvista lompakon salaaminen - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Varoitus: Jos salaat lompakkosi ja menetät tunnuslauseesi, <b>MENETÄT KAIKKI RAVENISI</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Varoitus: Jos salaat lompakkosi ja menetät tunnuslauseesi, <b>MENETÄT KAIKKI BLASTISI</b>! Are you sure you wish to encrypt your wallet? @@ -180,7 +180,7 @@ Lompakko salattiin - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 sulkeutuu lopettaakseen salausprosessin. Muista, että salattukaan lompakko ei täysin suojaa sitä haittaohjelmien aiheuttamilta varkauksilta. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... &Allekirjoita viesti... @@ -338,8 +338,8 @@ Ladataan lohkoindeksiä... - Send coins to a Raven address - Lähetä kolikoita Raven-osoitteeseen + Send coins to a BLAST address + Lähetä kolikoita BLAST-osoitteeseen Backup wallet to another location @@ -362,8 +362,8 @@ Varmista &viesti... - Raven - Raven + BLAST + BLAST Wallet @@ -383,19 +383,19 @@ Show or hide the main Window - Näytä tai piilota Raven-ikkuna + Näytä tai piilota BLAST-ikkuna Encrypt the private keys that belong to your wallet Suojaa yksityiset avaimet, jotka kuuluvat lompakkoosi - Sign messages with your Raven addresses to prove you own them - Allekirjoita viestisi omalla Raven -osoitteellasi todistaaksesi, että omistat ne + Sign messages with your BLAST addresses to prove you own them + Allekirjoita viestisi omalla BLAST -osoitteellasi todistaaksesi, että omistat ne - Verify messages to ensure they were signed with specified Raven addresses - Varmista, että viestisi on allekirjoitettu määritetyllä Raven -osoitteella + Verify messages to ensure they were signed with specified BLAST addresses + Varmista, että viestisi on allekirjoitettu määritetyllä BLAST -osoitteella &File @@ -414,8 +414,8 @@ Välilehtipalkki - Request payments (generates QR codes and raven: URIs) - Pyydä maksuja (Luo QR koodit ja raven: URIt) + Request payments (generates QR codes and blast: URIs) + Pyydä maksuja (Luo QR koodit ja blast: URIt) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Näytä vastaanottamiseen käytettyjen osoitteiden ja nimien lista - Open a raven: URI or payment request - Avaa raven: URI tai maksupyyntö + Open a blast: URI or payment request + Avaa blast: URI tai maksupyyntö &Command-line options &Komentorivin valinnat - %n active connection(s) to Raven network - %n aktiivinen yhteys Raven-verkkoon%n aktiivista yhteyttä Raven-verkkoon + %n active connection(s) to BLAST network + %n aktiivinen yhteys BLAST-verkkoon%n aktiivista yhteyttä BLAST-verkkoon Indexing blocks on disk... @@ -478,8 +478,8 @@ Rahansiirtohistoria on ajan tasalla - Show the %1 help message to get a list with possible Raven command-line options - Näytä %1 ohjeet saadaksesi listan mahdollisista Ravenin komentorivivalinnoista + Show the %1 help message to get a list with possible BLAST command-line options + Näytä %1 ohjeet saadaksesi listan mahdollisista Blastin komentorivivalinnoista %1 client @@ -548,8 +548,8 @@ Lompakko on <b>salattu</b> ja tällä hetkellä <b>lukittuna</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Peruuttamaton virhe on tapahtunut. Raven ei voi enää jatkaa turvallisesti ja sammutetaan. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Peruuttamaton virhe on tapahtunut. BLAST ei voi enää jatkaa turvallisesti ja sammutetaan. @@ -734,8 +734,8 @@ Muokkaa lähettävää osoitetta - The entered address "%1" is not a valid Raven address. - Antamasi osoite "%1" ei ole kelvollinen Raven-osoite. + The entered address "%1" is not a valid BLAST address. + Antamasi osoite "%1" ei ole kelvollinen BLAST-osoite. The entered address "%1" is already in the address book. @@ -843,8 +843,8 @@ Tämä on ensimmäinen kerta, kun %1 on käynnistetty, joten voit valita data-hakemiston paikan. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 lataa ja tallentaa kopion Ravenin lohkoketjusta. Vähintään %2Gt dataa tullaan tallentamaan tähän hakemistoon, ja tarve kasvaa ajan myötä. Lompakko tullaan myös tallentamaan tähän hakemistoon. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 lataa ja tallentaa kopion Blastin lohkoketjusta. Vähintään %2Gt dataa tullaan tallentamaan tähän hakemistoon, ja tarve kasvaa ajan myötä. Lompakko tullaan myös tallentamaan tähän hakemistoon. Use the default data directory @@ -1020,16 +1020,16 @@ &Käytä varmistamattomia vaihtorahoja - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Avaa Raven-asiakasohjelman portti reitittimellä automaattisesti. Tämä toimii vain, jos reitittimesi tukee UPnP:tä ja se on käytössä. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Avaa BLAST-asiakasohjelman portti reitittimellä automaattisesti. Tämä toimii vain, jos reitittimesi tukee UPnP:tä ja se on käytössä. Map port using &UPnP Portin uudelleenohjaus &UPnP:llä - Connect to the Raven network through a SOCKS5 proxy. - Yhdistä Raven-verkkoon SOCKS5-välityspalvelimen kautta. + Connect to the BLAST network through a SOCKS5 proxy. + Yhdistä BLAST-verkkoon SOCKS5-välityspalvelimen kautta. &Connect through SOCKS5 proxy (default proxy): @@ -1068,8 +1068,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Yhdistä Raven-verkkoon erillisen SOCKS5-välityspalvelimen kautta piilotettuja Tor-palveluja varten. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Yhdistä BLAST-verkkoon erillisen SOCKS5-välityspalvelimen kautta piilotettuja Tor-palveluja varten. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1105,11 +1105,11 @@ &Unit to show amounts in: - Yksikkö jona raven-määrät näytetään + Yksikkö jona BLAST-määrät näytetään Choose the default subdivision unit to show in the interface and when sending coins. - Valitse mitä yksikköä käytetään ensisijaisesti raven-määrien näyttämiseen. + Valitse mitä yksikköä käytetään ensisijaisesti BLAST-määrien näyttämiseen. Whether to show coin control features or not. @@ -1159,8 +1159,8 @@ Lomake - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Näytetyt tiedot eivät välttämättä ole ajantasalla. Lompakkosi synkronoituu Raven-verkon kanssa automaattisesti yhteyden muodostamisen jälkeen, mutta synkronointi on vielä meneillään. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Näytetyt tiedot eivät välttämättä ole ajantasalla. Lompakkosi synkronoituu BLAST-verkon kanssa automaattisesti yhteyden muodostamisen jälkeen, mutta synkronointi on vielä meneillään. Watch-only: @@ -1200,7 +1200,7 @@ Your current total balance - Tililläsi tällä hetkellä olevien Ravenien määrä + Tililläsi tällä hetkellä olevien Blastien määrä Your current balance in watch-only addresses @@ -1252,8 +1252,8 @@ Määrä - Enter a Raven address (e.g. %1) - Syötä Raven-osoite (esim. %1) + Enter a BLAST address (e.g. %1) + Syötä BLAST-osoite (esim. %1) %1 d @@ -1620,8 +1620,8 @@ &Uudelleenkäytä vastaanotto-osoitetta (ei suositella) - 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 Raven network. - Valinnainen viesti liitetään maksupyyntöön ja näytetään avattaessa. Viestiä ei lähetetä Raven-verkkoon. + 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 BLAST network. + Valinnainen viesti liitetään maksupyyntöön ja näytetään avattaessa. Viestiä ei lähetetä BLAST-verkkoon. An optional label to associate with the new receiving address. @@ -1746,7 +1746,7 @@ SendCoinsDialog Send Coins - Lähetä Raveneja + Lähetä Blasteja Coin Control Features @@ -1940,8 +1940,8 @@ Tämä on normaali maksu. - The Raven address to send the payment to - Raven-osoite johon maksu lähetetään + The BLAST address to send the payment to + BLAST-osoite johon maksu lähetetään Alt+A @@ -1960,8 +1960,8 @@ Poista tämä alkio - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Kulu vähennetään lähetettävästä määrästä. Saaja vastaanottaa vähemmän raveneja kuin merkitset Määrä-kenttään. Jos saajia on monia, kulu jaetaan tasan. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Kulu vähennetään lähetettävästä määrästä. Saaja vastaanottaa vähemmän blasteja kuin merkitset Määrä-kenttään. Jos saajia on monia, kulu jaetaan tasan. S&ubtract fee from amount @@ -1984,8 +1984,8 @@ Aseta nimi tälle osoitteelle lisätäksesi sen käytettyjen osoitteiden listalle. - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Viesti joka liitettiin raven: URI:iin tallennetaan rahansiirtoon viitteeksi. Tätä viestiä ei lähetetä Raven-verkkoon. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Viesti joka liitettiin blast: URI:iin tallennetaan rahansiirtoon viitteeksi. Tätä viestiä ei lähetetä BLAST-verkkoon. Pay To: @@ -2025,8 +2025,8 @@ &Allekirjoita viesti - The Raven address to sign the message with - Raven-osoite jolla viesti allekirjoitetaan + The BLAST address to sign the message with + BLAST-osoite jolla viesti allekirjoitetaan Choose previously used address @@ -2057,8 +2057,8 @@ Kopioi tämänhetkinen allekirjoitus leikepöydälle - Sign the message to prove you own this Raven address - Allekirjoita viesti todistaaksesi, että omistat tämän Raven-osoitteen + Sign the message to prove you own this BLAST address + Allekirjoita viesti todistaaksesi, että omistat tämän BLAST-osoitteen Sign &Message @@ -2077,12 +2077,12 @@ &Varmista viesti - The Raven address the message was signed with - Raven-osoite jolla viesti on allekirjoitettu + The BLAST address the message was signed with + BLAST-osoite jolla viesti on allekirjoitettu - Verify the message to ensure it was signed with the specified Raven address - Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä Raven-osoitteella + Verify the message to ensure it was signed with the specified BLAST address + Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä BLAST-osoitteella Verify &Message @@ -2372,7 +2372,7 @@ - raven-core + blast-core Options: Asetukset: @@ -2430,8 +2430,8 @@ HTTP-palvelinta ei voitu käynnistää. Katso debug-lokista lisätietoja. - Raven Core - Raven-ydin + BLAST Core + BLAST-ydin The %s developers diff --git a/src/qt/locale/raven_fr.ts b/src/qt/locale/bitcoin_fr.ts similarity index 96% rename from src/qt/locale/raven_fr.ts rename to src/qt/locale/bitcoin_fr.ts index 70a7ce8977..c0916182c5 100644 --- a/src/qt/locale/raven_fr.ts +++ b/src/qt/locale/bitcoin_fr.ts @@ -62,12 +62,12 @@ Adresses de réception - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Voici vos adresses Raven pour envoyer des paiements. Vérifiez toujours le montant et l'adresse du destinataire avant d'envoyer des pièces. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Voici vos adresses BLAST pour envoyer des paiements. Vérifiez toujours le montant et l'adresse du destinataire avant d'envoyer des pièces. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Voici vos adresses Raven pour recevoir des paiements. Il est recommandé d'utiliser une nouvelle adresse de réception pour chaque transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Voici vos adresses BLAST pour recevoir des paiements. Il est recommandé d'utiliser une nouvelle adresse de réception pour chaque transaction. &Copy Address @@ -168,8 +168,8 @@ Confirmer le chiffrement du porte-monnaie - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Avertissement : si vous chiffrez votre porte-monnaie et perdez votre phrase de passe, vous <b>PERDREZ TOUS VOS RAVENS</b> ! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Avertissement : si vous chiffrez votre porte-monnaie et perdez votre phrase de passe, vous <b>PERDREZ TOUS VOS BLAST</b> ! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Le porte-monnaie est chiffré - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 va maintenant se fermer pour terminer le processus de chiffrement. Souvenez-vous que le chiffrement de votre porte-monnaie ne peut pas protéger entièrement vos ravens contre le vol par des logiciels malveillants qui infecteraient votre ordinateur. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 va maintenant se fermer pour terminer le processus de chiffrement. Souvenez-vous que le chiffrement de votre porte-monnaie ne peut pas protéger entièrement vos BLAST contre le vol par des logiciels malveillants qui infecteraient votre ordinateur. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Signer un &message... @@ -338,8 +338,8 @@ Réindexation des blocs sur le disque... - Send coins to a Raven address - Envoyer des pièces à une adresse Raven + Send coins to a BLAST address + Envoyer des pièces à une adresse BLAST Backup wallet to another location @@ -362,8 +362,8 @@ &Vérifier un message... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Chiffrer les clés privées qui appartiennent à votre porte-monnaie - Sign messages with your Raven addresses to prove you own them - Signer les messages avec vos adresses Raven pour prouver que vous les détenez + Sign messages with your BLAST addresses to prove you own them + Signer les messages avec vos adresses BLAST pour prouver que vous les détenez - Verify messages to ensure they were signed with specified Raven addresses - Vérifier les messages pour s'assurer qu'ils ont été signés avec les adresses Raven spécifiées + Verify messages to ensure they were signed with specified BLAST addresses + Vérifier les messages pour s'assurer qu'ils ont été signés avec les adresses BLAST spécifiées &File @@ -414,8 +414,8 @@ Barre d'outils des onglets - Request payments (generates QR codes and raven: URIs) - Demander des paiements (génère des codes QR et des URI raven:) + Request payments (generates QR codes and blast: URIs) + Demander des paiements (génère des codes QR et des URI blast:) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Afficher la liste d'adresses de réception et d'étiquettes utilisées - Open a raven: URI or payment request - Ouvrir une URI raven: ou une demande de paiement + Open a blast: URI or payment request + Ouvrir une URI blast: ou une demande de paiement &Command-line options Options de ligne de &commande - %n active connection(s) to Raven network - %n connexion active avec le réseau Raven%n connexions actives avec le réseau Raven + %n active connection(s) to BLAST network + %n connexion active avec le réseau BLAST%n connexions actives avec le réseau BLAST Indexing blocks on disk... @@ -478,8 +478,8 @@ À jour - Show the %1 help message to get a list with possible Raven command-line options - Afficher le message d'aide de %1 pour obtenir la liste des options de ligne de commande Raven possibles. + Show the %1 help message to get a list with possible BLAST command-line options + Afficher le message d'aide de %1 pour obtenir la liste des options de ligne de commande BLAST possibles. %1 client @@ -548,8 +548,8 @@ Le porte-monnaie est <b>chiffré</b> et actuellement <b>verrouillé</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Une erreur fatale est survenue. Raven ne peut plus continuer en toute sécurité et va s'arrêter. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Une erreur fatale est survenue. BLAST ne peut plus continuer en toute sécurité et va s'arrêter. @@ -742,8 +742,8 @@ Modifier l’adresse d'envoi - The entered address "%1" is not a valid Raven address. - L'adresse saisie « %1 » n'est pas une adresse Raven valide. + The entered address "%1" is not a valid BLAST address. + L'adresse saisie « %1 » n'est pas une adresse BLAST valide. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Puisque c'est la première fois que le logiciel est lancé, vous pouvez choisir où %1 stockera ses données. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 téléchargera et stockera une copie de la chaîne de blocs de Raven. Au moins %2 Go de données seront stockés dans ce répertoire et sa taille augmentera avec le temps. Le porte-monnaie sera également stocké dans ce répertoire. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 téléchargera et stockera une copie de la chaîne de blocs de BLAST. Au moins %2 Go de données seront stockés dans ce répertoire et sa taille augmentera avec le temps. Le porte-monnaie sera également stocké dans ce répertoire. Use the default data directory @@ -886,12 +886,12 @@ Formulaire - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Les transactions récentes ne sont peut-être pas encore visibles et par conséquent le solde de votre porte-monnaie est peut-être erroné. Cette information sera juste quand votre porte-monnaie aura fini de se synchroniser avec le réseau Raven, comme décrit ci-dessous. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Les transactions récentes ne sont peut-être pas encore visibles et par conséquent le solde de votre porte-monnaie est peut-être erroné. Cette information sera juste quand votre porte-monnaie aura fini de se synchroniser avec le réseau BLAST, comme décrit ci-dessous. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Toute tentative de dépense de ravens affectés par des transactions qui ne sont pas encore affichées ne sera pas acceptée par le réseau. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Toute tentative de dépense de BLAST affectés par des transactions qui ne sont pas encore affichées ne sera pas acceptée par le réseau. Number of blocks left @@ -1048,16 +1048,16 @@ &Dépenser la monnaie non confirmée - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Ouvrir automatiquement le port du client Raven sur le routeur. Cela ne fonctionne que si votre routeur prend en charge l'UPnP et si la fonction est activée. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Ouvrir automatiquement le port du client BLAST sur le routeur. Cela ne fonctionne que si votre routeur prend en charge l'UPnP et si la fonction est activée. Map port using &UPnP Mapper le port avec l'&UPnP - Connect to the Raven network through a SOCKS5 proxy. - Se connecter au réseau Raven par un mandataire SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Se connecter au réseau BLAST par un mandataire SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Se connecter au réseau Raven au travers d'un mandataire SOCKS5 séparé pour les services cachés de Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Se connecter au réseau BLAST au travers d'un mandataire SOCKS5 séparé pour les services cachés de Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1195,8 +1195,8 @@ Formulaire - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Les informations affichées peuvent être obsolètes. Votre porte-monnaie est automatiquement synchronisé avec le réseau Raven lorsque la connexion s'établit, or ce processus n'est pas encore terminé. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Les informations affichées peuvent être obsolètes. Votre porte-monnaie est automatiquement synchronisé avec le réseau BLAST lorsque la connexion s'établit, or ce processus n'est pas encore terminé. Watch-only: @@ -1270,8 +1270,8 @@ Erreur de demande de paiement - Cannot start raven: click-to-pay handler - Impossible de démarrer le gestionnaire de cliquer-pour-payer raven: + Cannot start blast: click-to-pay handler + Impossible de démarrer le gestionnaire de cliquer-pour-payer blast: URI handling @@ -1286,8 +1286,8 @@ Adresse de paiement invalide %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - L'URI ne peut pas être analysée ! Cela peut être causé par une adresse Raven invalide ou par des paramètres d'URI mal formés. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + L'URI ne peut pas être analysée ! Cela peut être causé par une adresse BLAST invalide ou par des paramètres d'URI mal formés. Payment request file handling @@ -1380,8 +1380,8 @@ Montant - Enter a Raven address (e.g. %1) - Saisir une adresse Raven (p. ex. %1) + Enter a BLAST address (e.g. %1) + Saisir une adresse BLAST (p. ex. %1) %1 d @@ -1804,8 +1804,8 @@ Ré&utiliser une adresse de réception existante (non recommandé) - 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 Raven network. - Un message facultatif à joindre à la demande de paiement et qui sera affiché à l'ouverture de celle-ci. Note : le message ne sera pas envoyé avec le paiement par le réseau Raven. + 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 BLAST network. + Un message facultatif à joindre à la demande de paiement et qui sera affiché à l'ouverture de celle-ci. Note : le message ne sera pas envoyé avec le paiement par le réseau BLAST. An optional label to associate with the new receiving address. @@ -2037,7 +2037,7 @@ total au moins - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. Il est correct de payer les frais minimum tant que le volume transactionnel est inférieur à l'espace dans les blocs. Mais soyez conscient que cela pourrait résulter en une transaction n'étant jamais confirmée une fois qu'il y aura plus de transactions que le réseau ne pourra en traiter. @@ -2201,8 +2201,8 @@ Il est estimé que la confirmation commencera dans %n bloc.Il est estimé que la confirmation commencera dans %n blocs. - Warning: Invalid Raven address - Avertissement : adresse Raven invalide + Warning: Invalid BLAST address + Avertissement : adresse BLAST invalide Warning: Unknown change address @@ -2244,8 +2244,8 @@ Ceci est un paiement normal. - The Raven address to send the payment to - L'adresse Raven à laquelle envoyer le paiement + The BLAST address to send the payment to + L'adresse BLAST à laquelle envoyer le paiement Alt+A @@ -2264,8 +2264,8 @@ Retirer cette entrée - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Les frais seront déduits du montant envoyé. Le destinataire recevra moins de ravens que le montant saisi dans le champ de montant. Si plusieurs destinataires sont sélectionnés, les frais seront partagés également.. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Les frais seront déduits du montant envoyé. Le destinataire recevra moins de BLAST que le montant saisi dans le champ de montant. Si plusieurs destinataires sont sélectionnés, les frais seront partagés également.. S&ubtract fee from amount @@ -2288,8 +2288,8 @@ Saisir une étiquette pour cette adresse afin de l'ajouter à la liste d'adresses utilisées - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Un message qui était joint à l'URI raven: et qui sera stocké avec la transaction pour référence. Note : ce message ne sera pas envoyé par le réseau Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Un message qui était joint à l'URI blast: et qui sera stocké avec la transaction pour référence. Note : ce message ne sera pas envoyé par le réseau BLAST. Pay To: @@ -2333,12 +2333,12 @@ &Signer un message - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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 ou des accords avec vos adresses pour prouver que vous pouvez recevoir des ravens à ces dernières. Faites attention de ne rien signer de vague ou au hasard, car des attaques d'hameçonnage pourraient essayer de vous faire signer avec votre identité afin de l'usurper. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous êtes d'accord. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, 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 ou des accords avec vos adresses pour prouver que vous pouvez recevoir des BLAST à ces dernières. Faites attention de ne rien signer de vague ou au hasard, car des attaques d'hameçonnage pourraient essayer de vous faire signer avec votre identité afin de l'usurper. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous êtes d'accord. - The Raven address to sign the message with - L'adresse Raven avec laquelle signer le message + The BLAST address to sign the message with + L'adresse BLAST avec laquelle signer le message Choose previously used address @@ -2369,8 +2369,8 @@ Copier la signature actuelle dans le presse-papiers - Sign the message to prove you own this Raven address - Signer le message afin de prouver que vous détenez cette adresse Raven + Sign the message to prove you own this BLAST address + Signer le message afin de prouver que vous détenez cette adresse BLAST Sign &Message @@ -2393,12 +2393,12 @@ Saisir ci-dessous l'adresse du destinataire, le message (s'assurer de copier fidèlement les retours à la ligne, les espaces, les tabulations, etc.) et la signature pour vérifier le message. Faire attention à ne pas déduire davantage de la signature que ce qui est contenu dans le message signé même, pour éviter d'être trompé par une attaque d'homme du milieu. Prendre en compte que cela ne fait que prouver que le signataire reçoit l'adresse et ne peut pas prouver la provenance d'une transaction ! - The Raven address the message was signed with - L'adresse Raven avec laquelle le message a été signé + The BLAST address the message was signed with + L'adresse BLAST avec laquelle le message a été signé - Verify the message to ensure it was signed with the specified Raven address - Vérifier le message pour s'assurer qu'il a été signé avec l'adresse Raven spécifiée + Verify the message to ensure it was signed with the specified BLAST address + Vérifier le message pour s'assurer qu'il a été signé avec l'adresse BLAST spécifiée Verify &Message @@ -2988,7 +2988,7 @@ - raven-core + blast-core Options: Options : @@ -3058,8 +3058,8 @@ Impossible de démarrer le serveur HTTP. Voir le journal de débogage pour plus de détails. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_fr_CA.ts b/src/qt/locale/bitcoin_fr_CA.ts similarity index 98% rename from src/qt/locale/raven_fr_CA.ts rename to src/qt/locale/bitcoin_fr_CA.ts index 3fa9c8a32d..217824c421 100644 --- a/src/qt/locale/raven_fr_CA.ts +++ b/src/qt/locale/bitcoin_fr_CA.ts @@ -36,7 +36,7 @@ BanTableModel - RavenGUI + BlastGUI CoinControlDialog @@ -154,6 +154,6 @@ WalletView - raven-core + blast-core \ No newline at end of file diff --git a/src/qt/locale/raven_fr_FR.ts b/src/qt/locale/bitcoin_fr_FR.ts similarity index 97% rename from src/qt/locale/raven_fr_FR.ts rename to src/qt/locale/bitcoin_fr_FR.ts index a685f060c4..41738cdb87 100644 --- a/src/qt/locale/raven_fr_FR.ts +++ b/src/qt/locale/bitcoin_fr_FR.ts @@ -43,11 +43,11 @@ Choose the address to send coins to - Choisissez une adresse où envoyer les ravens + Choisissez une adresse où envoyer les BLAST Choose the address to receive coins with - Choisissez une adresse où recevoir les ravens + Choisissez une adresse où recevoir les BLAST C&hoose @@ -128,8 +128,8 @@ Décrypter le porte-monnaie - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Attention : Si vous chiffrez votre portefeuille et que vous perdez votre mot de passe vous <b> PERDREZ TOUS VOS RAVENS</b> ! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Attention : Si vous chiffrez votre portefeuille et que vous perdez votre mot de passe vous <b> PERDREZ TOUS VOS BLAST</b> ! Wallet encrypted @@ -148,7 +148,7 @@ - RavenGUI + BlastGUI Sign &message... Signer un &message... @@ -238,8 +238,8 @@ Réindexer les blocs sur le disque... - Send coins to a Raven address - Envoyer des pièces à une adresse Raven + Send coins to a BLAST address + Envoyer des pièces à une adresse BLAST Backup wallet to another location @@ -262,8 +262,8 @@ &Vérification du message - Raven - Raven + BLAST + BLAST Wallet @@ -290,8 +290,8 @@ Crypter les clé privées qui appartiennent votre portefeuille - Sign messages with your Raven addresses to prove you own them - Signer vos messages avec vos adresses Raven pour prouver que vous les détenez + Sign messages with your BLAST addresses to prove you own them + Signer vos messages avec vos adresses BLAST pour prouver que vous les détenez &File @@ -310,24 +310,24 @@ Barre d'outils des onglets - Request payments (generates QR codes and raven: URIs) - Demander des paiements (générer QR codes et raven: URIs) + Request payments (generates QR codes and blast: URIs) + Demander des paiements (générer QR codes et blast: URIs) Show the list of used sending addresses and labels Montrer la liste des adresses d'envois utilisées et les étiquettes - Open a raven: URI or payment request - Ouvrir un raven: URI ou demande de paiement + Open a blast: URI or payment request + Ouvrir un blast: URI ou demande de paiement &Command-line options &Options de ligne de commande - %n active connection(s) to Raven network - %n connexion active au réseau Raven%n connexions actives au réseau Raven + %n active connection(s) to BLAST network + %n connexion active au réseau BLAST%n connexions actives au réseau BLAST Indexing blocks on disk... @@ -712,8 +712,8 @@ Expert - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Ouvrir le port du client Raven automatiquement sur le routeur. Cela ne fonctionne que si votre routeur supporte l'UPnP et si la fonctionnalité est activée. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Ouvrir le port du client BLAST automatiquement sur le routeur. Cela ne fonctionne que si votre routeur supporte l'UPnP et si la fonctionnalité est activée. Map port using &UPnP @@ -872,8 +872,8 @@ Montant - Enter a Raven address (e.g. %1) - Entrer une adresse Raven (e.g. %1) + Enter a BLAST address (e.g. %1) + Entrer une adresse BLAST (e.g. %1) %1 d @@ -1708,7 +1708,7 @@ WalletView - raven-core + blast-core Options: Options : @@ -1734,8 +1734,8 @@ Impossible de démarrer le serveur HTTP. Voir le journal de débogage pour plus de détails. - Raven Core - Raven Core + BLAST Core + BLAST Core <category> can be: diff --git a/src/qt/locale/raven_gl.ts b/src/qt/locale/bitcoin_gl.ts similarity index 96% rename from src/qt/locale/raven_gl.ts rename to src/qt/locale/bitcoin_gl.ts index 43c3bb9d99..17a950c016 100644 --- a/src/qt/locale/raven_gl.ts +++ b/src/qt/locale/bitcoin_gl.ts @@ -64,7 +64,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... &Asinar mensaxe... @@ -130,8 +130,8 @@ Reindexando bloques no disco... - Send coins to a Raven address - Enviar moedas a unha dirección Raven + Send coins to a BLAST address + Enviar moedas a unha dirección BLAST Backup wallet to another location @@ -154,8 +154,8 @@ &Verificar mensaxe... - Raven - Raven + BLAST + BLAST Wallet @@ -182,12 +182,12 @@ Encriptar as claves privadas que pertencen ao teu moedeiro - Sign messages with your Raven addresses to prove you own them - Asina mensaxes coas túas direccións Raven para probar que te pertencen + Sign messages with your BLAST addresses to prove you own them + Asina mensaxes coas túas direccións BLAST para probar que te pertencen - Verify messages to ensure they were signed with specified Raven addresses - Verificar mensaxes para asegurar que foron asinados con direccións Raven dadas. + Verify messages to ensure they were signed with specified BLAST addresses + Verificar mensaxes para asegurar que foron asinados con direccións BLAST dadas. &File @@ -206,8 +206,8 @@ Barra de ferramentas - Request payments (generates QR codes and raven: URIs) - Solicitar pagos (xenera códigos QR e raven: URIs) + Request payments (generates QR codes and blast: URIs) + Solicitar pagos (xenera códigos QR e blast: URIs) Show the list of used sending addresses and labels @@ -218,8 +218,8 @@ Amosar a listaxe de etiquetas e direccións para recibir empregadas - Open a raven: URI or payment request - Abrir un raven: URI ou solicitude de pago + Open a blast: URI or payment request + Abrir un blast: URI ou solicitude de pago &Command-line options @@ -466,8 +466,8 @@ Moedeiro - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Abrir automáticamente o porto do cliente Raven no router. Esto so funciona se o teu router soporta UPnP e está habilitado. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Abrir automáticamente o porto do cliente BLAST no router. Esto so funciona se o teu router soporta UPnP e está habilitado. Map port using &UPnP @@ -545,8 +545,8 @@ Formulario - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - A información amosada por estar desactualizada. O teu moedeiro sincronízase automáticamente coa rede Raven despois de que se estableza unha conexión, pero este proceso non está todavía rematado. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + A información amosada por estar desactualizada. O teu moedeiro sincronízase automáticamente coa rede BLAST despois de que se estableza unha conexión, pero este proceso non está todavía rematado. Your current spendable balance @@ -927,8 +927,8 @@ Copiar a sinatura actual ao portapapeis do sistema - Sign the message to prove you own this Raven address - Asina a mensaxe para probar que posees esta dirección Raven + Sign the message to prove you own this BLAST address + Asina a mensaxe para probar que posees esta dirección BLAST Sign &Message @@ -947,8 +947,8 @@ &Verificar Mensaxe - Verify the message to ensure it was signed with the specified Raven address - Verificar a mensaxe para asegurar que foi asinada coa dirección Raven especificada + Verify the message to ensure it was signed with the specified BLAST address + Verificar a mensaxe para asegurar que foi asinada coa dirección BLAST especificada Verify &Message @@ -1002,7 +1002,7 @@ WalletView - raven-core + blast-core Options: Opcións: @@ -1028,8 +1028,8 @@ Executar no fondo como un demo e aceptar comandos - Raven Core - Core de Raven + BLAST Core + Core de BLAST Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_he.ts b/src/qt/locale/bitcoin_he.ts similarity index 98% rename from src/qt/locale/raven_he.ts rename to src/qt/locale/bitcoin_he.ts index 552e98a190..7c2cae36aa 100644 --- a/src/qt/locale/raven_he.ts +++ b/src/qt/locale/bitcoin_he.ts @@ -62,11 +62,11 @@ כתובות לקבלה - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. אלו הן כתובות הביטקוין שלך לשליחת תשלומים. חשוב לבדוק את כמות הכתובות המקבלות לפני שליחת מטבעות. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. אלו הן כתובות הביטקוין שלך לקבלת תשלומים. מומלץ להשתמש בכתובת חדשה לכל העברה. @@ -168,7 +168,7 @@ אימות הצפנת הארנק - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! אזהרה: איבוד מילת הצופן לאחר הצפנת הארנק עשויה לגרום לכך <b>שכל הביטקוינים שלך יאבדו</b>! @@ -180,7 +180,7 @@ הארנק מוצפן - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 ייסגר כעת כדי לסיים את תהליך ההצפנה. נא לשים לב כי הצפנת הארנק שלך לא יכול להגן על הביטקוינים שלך מפני גניבה או נוזקה שתוקפת את מחשבך. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... &חתימה על הודעה… @@ -338,7 +338,7 @@ המקטעים נוספים למפתח בכונן… - Send coins to a Raven address + Send coins to a BLAST address שליחת מטבעות לכתובת ביטקוין @@ -362,7 +362,7 @@ &אימות הודעה… - Raven + BLAST ביטקוין @@ -390,11 +390,11 @@ הצפנת המפתחות הפרטיים ששייכים לארנק שלך - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them חתום על הודעות עם כתובות הביטקוין שלך כדי להוכיח שהן בבעלותך - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses אמת הודעות כדי להבטיח שהן נחתמו עם כתובת ביטקוין מסוימות @@ -414,8 +414,8 @@ סרגל כלים לשוניות - Request payments (generates QR codes and raven: URIs) - בקשת תשלומים (יצירה של קודים מסוג QR וסכימות כתובות משאב של :raven) + Request payments (generates QR codes and blast: URIs) + בקשת תשלומים (יצירה של קודים מסוג QR וסכימות כתובות משאב של :blast) Show the list of used sending addresses and labels @@ -426,7 +426,7 @@ הצגת רשימת הכתובות והתוויות הנמצאות בשימוש - Open a raven: URI or payment request + Open a blast: URI or payment request פתיחת ביטקוין: כתובת משאב או בקשת תשלום @@ -434,7 +434,7 @@ אפשרויות &שורת הפקודה - %n active connection(s) to Raven network + %n active connection(s) to BLAST network חיבור אחד פעיל לרשת ביטקוין%n חיבורים פעילים לרשת ביטקוין @@ -470,7 +470,7 @@ עדכני - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options יש להציג את הודעת העזרה של %1 כדי להציג רשימה עם אפשרויות שורת פקודה לביטקוין @@ -532,7 +532,7 @@ הארנק <b>מוצפן</b> ו<b>נעול</b> כרגע - A fatal error occurred. Raven can no longer continue safely and will quit. + A fatal error occurred. BLAST can no longer continue safely and will quit. אירעה שגיאה חמורה. אין אפשרות להשתמש עוד בביטקוין באופן מאובטח והיישום ייסגר. @@ -714,7 +714,7 @@ עריכת כתובת השליחה - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. הכתובת שהוקלדה „%1” היא אינה כתובת ביטקוין תקנית. @@ -996,7 +996,7 @@ עודף &בלתי מאושר מההשקעה - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. פתיחת הפתחה של ביטקוין בנתב באופן אוטומטי. עובד רק אם UPnP מופעל ונתמך בנתב. @@ -1119,7 +1119,7 @@ טופס - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. המידע המוצג עשוי להיות מיושן. הארנק שלך מסתנכרן באופן אוטומטי עם רשת הביטקוין לאחר יצירת החיבור, אך התהליך טרם הסתיים. @@ -1194,8 +1194,8 @@ שגיאת בקשת תשלום - Cannot start raven: click-to-pay handler - לא ניתן להפעיל את המקשר raven: click-to-pay + Cannot start blast: click-to-pay handler + לא ניתן להפעיל את המקשר blast: click-to-pay URI handling @@ -1268,7 +1268,7 @@ כמות - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) נא להזין כתובת ביטקוין (למשל: %1) @@ -1668,7 +1668,7 @@ ש&ימוש &חוזר בכתובת קבלה קיימת (לא מומלץ) - 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 Raven 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 BLAST network. הודעת רשות לצירוף לבקשת התשלום שתוצג בעת פתיחת הבקשה. לתשומת לבך: ההודעה לא תישלח עם התשלום ברשת ביטקוין. @@ -2025,7 +2025,7 @@ תשלום של העמלה הנדרשת בלבד על סך %1 - Warning: Invalid Raven address + Warning: Invalid BLAST address אזהרה: כתובת ביטקיון שגויה @@ -2068,7 +2068,7 @@ זהו תשלום רגיל. - The Raven address to send the payment to + The BLAST address to send the payment to כתובת הביטקוין של המוטב @@ -2088,7 +2088,7 @@ הסרת רשומה זו - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. העמלה תנוכה מהסכום שנשלח. הנמען יקבל פחות ביטקוינים ממה שהזנת בשדה הסכום. אם נבחרו מספר נמענים, העמלה תחולק באופן שווה. @@ -2108,7 +2108,7 @@ יש להזין תווית עבור כתובת זו כדי להוסיף אותה לרשימת הכתובות בשימוש - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. הודעה שצורפה לביטקוין: כתובת שתאוחסן בהעברה לצורך מעקב מצדך. לתשומת לבך: הודעה זו לא תישלח ברשת הביטקוין. @@ -2149,7 +2149,7 @@ חתימה על הו&דעה - The Raven address to sign the message with + The BLAST address to sign the message with כתובת הביטקוין אתה לחתום אתה את ההודעה @@ -2181,7 +2181,7 @@ העתקת החתימה הנוכחית ללוח הגזירים - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address ניתן לחתום על ההודעה כדי להוכיח שכתובת הביטקוין הזו בבעלותך. @@ -2201,11 +2201,11 @@ &אימות הודעה - The Raven address the message was signed with + The BLAST address the message was signed with כתובת הביטקוין שאתה נחתמה ההודעה - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address ניתן לאמת את ההודעה כדי להבטיח שהיא נחתמה עם כתובת הביטקוין הנתונה @@ -2676,7 +2676,7 @@ - raven-core + blast-core Options: אפשרויות: @@ -2710,7 +2710,7 @@ ריצה כסוכן ברקע וקבלת פקודות - Raven Core + BLAST Core ליבת ביטקוין diff --git a/src/qt/locale/raven_hi_IN.ts b/src/qt/locale/bitcoin_hi_IN.ts similarity index 99% rename from src/qt/locale/raven_hi_IN.ts rename to src/qt/locale/bitcoin_hi_IN.ts index 662ff884fb..afbfddcba8 100644 --- a/src/qt/locale/raven_hi_IN.ts +++ b/src/qt/locale/bitcoin_hi_IN.ts @@ -48,7 +48,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... नेटवर्क से समकालिक (मिल) रहा है ... @@ -91,7 +91,7 @@ पहचान शब्द/अक्षर जो वॉलेट एनक्रिपशन के लिए इस्तेमाल किया है उसे बदलिए! - Raven + BLAST बीटकोइन @@ -417,7 +417,7 @@ WalletView - raven-core + blast-core Options: विकल्प: diff --git a/src/qt/locale/raven_hr.ts b/src/qt/locale/bitcoin_hr.ts similarity index 95% rename from src/qt/locale/raven_hr.ts rename to src/qt/locale/bitcoin_hr.ts index fd1dba6b7f..e19939bcb8 100644 --- a/src/qt/locale/raven_hr.ts +++ b/src/qt/locale/bitcoin_hr.ts @@ -54,8 +54,8 @@ &Odaberi - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Ovo su vaše Raven adrese za slanje novca. Uvijek provjerite iznos i adresu primatelja prije slanja novca. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Ovo su vaše BLAST adrese za slanje novca. Uvijek provjerite iznos i adresu primatelja prije slanja novca. &Copy Address @@ -92,7 +92,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... P&otpišite poruku... @@ -174,8 +174,8 @@ Re-indeksiranje blokova na disku... - Send coins to a Raven address - Slanje novca na raven adresu + Send coins to a BLAST address + Slanje novca na BLAST adresu Backup wallet to another location @@ -198,8 +198,8 @@ &Potvrdite poruku... - Raven - Raven + BLAST + BLAST Wallet @@ -226,12 +226,12 @@ Šifriranje privatnih ključeva koji u novčaniku - Sign messages with your Raven addresses to prove you own them - Poruku potpišemo s raven adresom, kako bi dokazali vlasništvo nad tom adresom + Sign messages with your BLAST addresses to prove you own them + Poruku potpišemo s BLAST adresom, kako bi dokazali vlasništvo nad tom adresom - Verify messages to ensure they were signed with specified Raven addresses - Provjeravanje poruke, kao dokaz, da je potpisana navedenom raven adresom + Verify messages to ensure they were signed with specified BLAST addresses + Provjeravanje poruke, kao dokaz, da je potpisana navedenom BLAST adresom &File @@ -250,8 +250,8 @@ Traka kartica - Request payments (generates QR codes and raven: URIs) - Zatraži uplatu (stvara QR kod i raven: URI adresu) + Request payments (generates QR codes and blast: URIs) + Zatraži uplatu (stvara QR kod i blast: URI adresu) Show the list of used sending addresses and labels @@ -262,16 +262,16 @@ Prikaži popis korištenih adresa i oznaka za primanje novca - Open a raven: URI or payment request - Otvori raven: URI adresu ili zahtjev za uplatu + Open a blast: URI or payment request + Otvori blast: URI adresu ili zahtjev za uplatu &Command-line options Opcije &naredbene linije - %n active connection(s) to Raven network - %n aktivna veza na Raven mrežu%n aktivnih veza na Raven mrežu%n aktivnih veza na Raven mrežu + %n active connection(s) to BLAST network + %n aktivna veza na BLAST mrežu%n aktivnih veza na BLAST mrežu%n aktivnih veza na BLAST mrežu Processed %n block(s) of transaction history. @@ -423,11 +423,11 @@ The label associated with this address list entry - Oznaka raven adrese + Oznaka BLAST adrese The address associated with this address list entry. This can only be modified for sending addresses. - Raven adresa. Izmjene adrese su moguće samo za adrese za slanje. + BLAST adresa. Izmjene adrese su moguće samo za adrese za slanje. &Address @@ -568,8 +568,8 @@ &Trošenje nepotvrđenih vraćenih iznosa - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Automatski otvori port Raven klijenta na ruteru. To radi samo ako ruter podržava UPnP i ako je omogućen. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Automatski otvori port BLAST klijenta na ruteru. To radi samo ako ruter podržava UPnP i ako je omogućen. Map port using &UPnP @@ -617,7 +617,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Izaberite željeni najmanji dio ravena koji će biti prikazan u sučelju i koji će se koristiti za plaćanje. + Izaberite željeni najmanji dio blasta koji će biti prikazan u sučelju i koji će se koristiti za plaćanje. &OK @@ -643,8 +643,8 @@ Oblik - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Prikazani podatci mogu biti zastarjeli. Vaš novčanik se automatski sinkronizira s Raven mrežom kada je veza uspostavljena, ali taj proces još nije završen. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Prikazani podatci mogu biti zastarjeli. Vaš novčanik se automatski sinkronizira s BLAST mrežom kada je veza uspostavljena, ali taj proces još nije završen. Total: @@ -1012,7 +1012,7 @@ WalletView - raven-core + blast-core Options: Postavke: @@ -1034,8 +1034,8 @@ Izvršavaj u pozadini kao uslužnik i prihvaćaj komande - Raven Core - Raven Core + BLAST Core + BLAST Core Block creation options: diff --git a/src/qt/locale/raven_hu.ts b/src/qt/locale/bitcoin_hu.ts similarity index 96% rename from src/qt/locale/raven_hu.ts rename to src/qt/locale/bitcoin_hu.ts index 4b293f2b04..5617c83044 100644 --- a/src/qt/locale/raven_hu.ts +++ b/src/qt/locale/bitcoin_hu.ts @@ -88,7 +88,7 @@ - RavenGUI + BlastGUI Sign &message... Üzenet aláírása... @@ -170,8 +170,8 @@ Lemezen lévő blokkok újraindexelése... - Send coins to a Raven address - Raven küldése megadott címre + Send coins to a BLAST address + BLAST küldése megadott címre Backup wallet to another location @@ -194,8 +194,8 @@ Üzenet &valódiságának ellenőrzése - Raven - Raven + BLAST + BLAST Wallet @@ -222,12 +222,12 @@ A tárcádhoz tartozó privát kulcsok titkosítása - Sign messages with your Raven addresses to prove you own them - Üzenetek aláírása a Raven-címmeiddel, amivel bizonyítod, hogy a cím a sajátod + Sign messages with your BLAST addresses to prove you own them + Üzenetek aláírása a BLAST-címmeiddel, amivel bizonyítod, hogy a cím a sajátod - Verify messages to ensure they were signed with specified Raven addresses - Üzenetek ellenőrzése, hogy valóban a megjelölt Raven-címekkel vannak-e aláírva + Verify messages to ensure they were signed with specified BLAST addresses + Üzenetek ellenőrzése, hogy valóban a megjelölt BLAST-címekkel vannak-e aláírva &File @@ -246,8 +246,8 @@ Fül eszköztár - Request payments (generates QR codes and raven: URIs) - Fizetési kérelem (QR-kódot és "raven:" URI azonosítót hoz létre) + Request payments (generates QR codes and blast: URIs) + Fizetési kérelem (QR-kódot és "blast:" URI azonosítót hoz létre) Show the list of used sending addresses and labels @@ -258,16 +258,16 @@ A használt fogadó címek és címkék megtekintése - Open a raven: URI or payment request - "raven:" URI azonosító vagy fizetési kérelem megnyitása + Open a blast: URI or payment request + "blast:" URI azonosító vagy fizetési kérelem megnyitása &Command-line options Paran&cssor kapcsolók - %n active connection(s) to Raven network - %n aktív kapcsolat a Raven hálózathoz%n aktív kapcsolat a Raven hálózathoz + %n active connection(s) to BLAST network + %n aktív kapcsolat a BLAST hálózathoz%n aktív kapcsolat a BLAST hálózathoz Processed %n block(s) of transaction history. @@ -604,16 +604,16 @@ Szakértő - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - A Raven-kliens portjának automatikus megnyitása a routeren. Ez csak akkor működik, ha a routered támogatja az UPnP-t és az engedélyezve is van rajta. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + A BLAST-kliens portjának automatikus megnyitása a routeren. Ez csak akkor működik, ha a routered támogatja az UPnP-t és az engedélyezve is van rajta. Map port using &UPnP &UPnP port-feltérképezés - Connect to the Raven network through a SOCKS5 proxy. - Csatlakozás a Raven hálózatához SOCKS5 proxyn keresztül + Connect to the BLAST network through a SOCKS5 proxy. + Csatlakozás a BLAST hálózatához SOCKS5 proxyn keresztül Proxy &IP: @@ -707,8 +707,8 @@ Űrlap - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - A kijelzett információ lehet, hogy elavult. A pénztárcája automatikusan szinkronizálja magát a Raven hálózattal miután a kapcsolat létrejön, de ez e folyamat még nem fejeződött be. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + A kijelzett információ lehet, hogy elavult. A pénztárcája automatikusan szinkronizálja magát a BLAST hálózattal miután a kapcsolat létrejön, de ez e folyamat még nem fejeződött be. Watch-only: @@ -776,8 +776,8 @@ Összeg - Enter a Raven address (e.g. %1) - Ad meg egy Raven címet (pl: %1) + Enter a BLAST address (e.g. %1) + Ad meg egy BLAST címet (pl: %1) %1 d @@ -1305,7 +1305,7 @@ A jelenleg kiválasztott aláírás másolása a rendszer-vágólapra - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Üzenet @@ -1376,7 +1376,7 @@ WalletView - raven-core + blast-core Options: Opciók @@ -1406,8 +1406,8 @@ - Raven Core - Raven Core + BLAST Core + BLAST Core Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) @@ -1561,7 +1561,7 @@ Insufficient funds - Nincs elég ravenod. + Nincs elég blastod. Loading block index... diff --git a/src/qt/locale/raven_id_ID.ts b/src/qt/locale/bitcoin_id_ID.ts similarity index 96% rename from src/qt/locale/raven_id_ID.ts rename to src/qt/locale/bitcoin_id_ID.ts index bd5c38e468..6a9862a17b 100644 --- a/src/qt/locale/raven_id_ID.ts +++ b/src/qt/locale/bitcoin_id_ID.ts @@ -62,12 +62,12 @@ Alamat-alamat penerima - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Ini adalah alamat- alamat Raven Anda untuk mengirimkan pembayaran. Selalu periksa jumlah dan alamat penerima sebelum mengirimkan koin. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Ini adalah alamat- alamat BLAST Anda untuk mengirimkan pembayaran. Selalu periksa jumlah dan alamat penerima sebelum mengirimkan koin. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Ini adalah alamat- alamat Raven Anda untuk menerima pembayaran. Dianjurkan untuk menggunakan alamat penerima yang baru setiap melakukan transaksi. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Ini adalah alamat- alamat BLAST Anda untuk menerima pembayaran. Dianjurkan untuk menggunakan alamat penerima yang baru setiap melakukan transaksi. &Copy Address @@ -164,8 +164,8 @@ Konfirmasi pengenkripsian dompet - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Peringatan: Jika Anda enkripsi dompet Anda dan lupa kata sandi anda, Anda akan <b>KEHILANGAN SEMUA RAVEN ANDA</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Peringatan: Jika Anda enkripsi dompet Anda dan lupa kata sandi anda, Anda akan <b>KEHILANGAN SEMUA BLAST ANDA</b>! Are you sure you wish to encrypt your wallet? @@ -176,7 +176,7 @@ Dompet terenkripsi - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 sekarang akan ditutup untuk menyelesaikan proses enkripsi. Ingatlah bahwa mengenkripsi dompet Anda tidak dapat sepenuhnya melindungi komputer Anda dari pencurian malware yang menginfeksi komputer Anda. @@ -228,7 +228,7 @@ - RavenGUI + BlastGUI Sign &message... Pesan &penanda... @@ -334,8 +334,8 @@ Mengindex ulang blok di dalam disk... - Send coins to a Raven address - Kirim koin ke alamat Raven + Send coins to a BLAST address + Kirim koin ke alamat BLAST Backup wallet to another location @@ -358,8 +358,8 @@ &Verifikasi pesan... - Raven - Raven + BLAST + BLAST Wallet @@ -386,12 +386,12 @@ Enkripsi private key yang dimiliki dompet Anda - Sign messages with your Raven addresses to prove you own them - Tanda tangani sebuah pesan menggunakan alamat Raven Anda untuk membuktikan bahwa Anda adalah pemilik alamat tersebut + Sign messages with your BLAST addresses to prove you own them + Tanda tangani sebuah pesan menggunakan alamat BLAST Anda untuk membuktikan bahwa Anda adalah pemilik alamat tersebut - Verify messages to ensure they were signed with specified Raven addresses - Verifikasi pesan untuk memastikan bahwa pesan tersebut ditanda tangani oleh suatu alamat Raven tertentu + Verify messages to ensure they were signed with specified BLAST addresses + Verifikasi pesan untuk memastikan bahwa pesan tersebut ditanda tangani oleh suatu alamat BLAST tertentu &File @@ -410,8 +410,8 @@ Baris tab - Request payments (generates QR codes and raven: URIs) - Permintaan pembayaran (membuat kode QR dan raven: URIs) + Request payments (generates QR codes and blast: URIs) + Permintaan pembayaran (membuat kode QR dan blast: URIs) Show the list of used sending addresses and labels @@ -422,16 +422,16 @@ Tampilkan daftar alamat dan label yang diterima - Open a raven: URI or payment request - Buka URI raven: atau permintaan pembayaran + Open a blast: URI or payment request + Buka URI blast: atau permintaan pembayaran &Command-line options &pilihan Command-line - %n active connection(s) to Raven network - %n koneksi aktif ke jaringan Raven + %n active connection(s) to BLAST network + %n koneksi aktif ke jaringan BLAST Indexing blocks on disk... @@ -474,8 +474,8 @@ Terbaru - Show the %1 help message to get a list with possible Raven command-line options - Tampilkan %1 pesan bantuan untuk mendapatkan daftar opsi baris perintah Raven yang memungkinkan + Show the %1 help message to get a list with possible BLAST command-line options + Tampilkan %1 pesan bantuan untuk mendapatkan daftar opsi baris perintah BLAST yang memungkinkan %1 client @@ -544,8 +544,8 @@ Dompet saat ini <b>terenkripsi</b> dan <b>terkunci</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Terjadi Kesalahan Fatal. Raven Tidak Dapat Melanjutkan Dengan Aman Dan Akan Keluar + A fatal error occurred. BLAST can no longer continue safely and will quit. + Terjadi Kesalahan Fatal. BLAST Tidak Dapat Melanjutkan Dengan Aman Dan Akan Keluar @@ -722,8 +722,8 @@ Ubah alamat pengirim - The entered address "%1" is not a valid Raven address. - Alamat yang dimasukkan "%1" bukanlah alamat Raven yang valid. + The entered address "%1" is not a valid BLAST address. + Alamat yang dimasukkan "%1" bukanlah alamat BLAST yang valid. The entered address "%1" is already in the address book. @@ -972,16 +972,16 @@ &Perubahan saldo untuk transaksi yang belum dikonfirmasi - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Otomatis membuka port client Raven di router. Hanya berjalan apabila router anda mendukung UPnP dan di-enable. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Otomatis membuka port client BLAST di router. Hanya berjalan apabila router anda mendukung UPnP dan di-enable. Map port using &UPnP Petakan port dengan &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Hubungkan ke jaringan Raven melalui SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Hubungkan ke jaringan BLAST melalui SOCKS5 proxy. Proxy &IP: @@ -1087,8 +1087,8 @@ Formulir - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Informasi terlampir mungkin sudah kedaluwarsa. Dompet Anda secara otomatis mensinkronisasi dengan jaringan Raven ketika sebuah hubungan terbentuk, namun proses ini belum selesai. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Informasi terlampir mungkin sudah kedaluwarsa. Dompet Anda secara otomatis mensinkronisasi dengan jaringan BLAST ketika sebuah hubungan terbentuk, namun proses ini belum selesai. Available: @@ -1144,8 +1144,8 @@ Nilai - Enter a Raven address (e.g. %1) - Masukkan alamat Raven (contoh %1) + Enter a BLAST address (e.g. %1) + Masukkan alamat BLAST (contoh %1) %1 h @@ -1679,8 +1679,8 @@ Salin tanda tangan terpilih ke sistem klipboard - Sign the message to prove you own this Raven address - Tandai pesan untuk menyetujui kamu pemiliki alamat Raven ini + Sign the message to prove you own this BLAST address + Tandai pesan untuk menyetujui kamu pemiliki alamat BLAST ini Sign &Message @@ -1794,7 +1794,7 @@ WalletView - raven-core + blast-core Options: Pilihan: @@ -1820,8 +1820,8 @@ Berjalan dibelakang sebagai daemin dan menerima perintah - Raven Core - Raven Core + BLAST Core + BLAST Core Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) diff --git a/src/qt/locale/raven_it.ts b/src/qt/locale/bitcoin_it.ts similarity index 96% rename from src/qt/locale/raven_it.ts rename to src/qt/locale/bitcoin_it.ts index 9723ec80b0..c4eb13bc37 100644 --- a/src/qt/locale/raven_it.ts +++ b/src/qt/locale/bitcoin_it.ts @@ -43,11 +43,11 @@ Choose the address to send coins to - Scegli l'indirizzo a cui inviare raven + Scegli l'indirizzo a cui inviare BLAST Choose the address to receive coins with - Scegli l'indirizzo con cui ricevere raven + Scegli l'indirizzo con cui ricevere BLAST C&hoose @@ -62,12 +62,12 @@ Indirizzi di ricezione - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Questo è un elenco di indirizzi Raven a cui puoi inviare pagamenti. Controlla sempre l'importo e l'indirizzo del beneficiario prima di inviare raven. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Questo è un elenco di indirizzi BLAST a cui puoi inviare pagamenti. Controlla sempre l'importo e l'indirizzo del beneficiario prima di inviare BLAST. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Questi sono i tuoi indirizzi Raven che puoi usare per ricevere pagamenti. Si raccomanda di generare un nuovo indirizzo per ogni transazione. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Questi sono i tuoi indirizzi BLAST che puoi usare per ricevere pagamenti. Si raccomanda di generare un nuovo indirizzo per ogni transazione. &Copy Address @@ -168,8 +168,8 @@ Conferma la cifratura del portamonete - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Attenzione: perdendo la passphrase di un portamonete cifrato <b>TUTTI I PROPRI RAVEN ANDRANNO PERSI</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Attenzione: perdendo la passphrase di un portamonete cifrato <b>TUTTI I PROPRI BLAST ANDRANNO PERSI</b>! Are you sure you wish to encrypt your wallet? @@ -228,7 +228,7 @@ - RavenGUI + BlastGUI Sign &message... Firma &messaggio... @@ -334,8 +334,8 @@ Re-indicizzazione blocchi su disco... - Send coins to a Raven address - Invia fondi ad un indirizzo Raven + Send coins to a BLAST address + Invia fondi ad un indirizzo BLAST Backup wallet to another location @@ -358,8 +358,8 @@ &Verifica messaggio... - Raven - Raven + BLAST + BLAST Wallet @@ -386,12 +386,12 @@ Cifra le chiavi private che appartengono al tuo portamonete - Sign messages with your Raven addresses to prove you own them - Firma messaggi con i tuoi indirizzi Raven per dimostrarne il possesso + Sign messages with your BLAST addresses to prove you own them + Firma messaggi con i tuoi indirizzi BLAST per dimostrarne il possesso - Verify messages to ensure they were signed with specified Raven addresses - Verifica che i messaggi siano stati firmati con gli indirizzi Raven specificati + Verify messages to ensure they were signed with specified BLAST addresses + Verifica che i messaggi siano stati firmati con gli indirizzi BLAST specificati &File @@ -410,8 +410,8 @@ Barra degli strumenti - Request payments (generates QR codes and raven: URIs) - Richiedi pagamenti (genera codici QR e raven: URI) + Request payments (generates QR codes and blast: URIs) + Richiedi pagamenti (genera codici QR e blast: URI) Show the list of used sending addresses and labels @@ -422,16 +422,16 @@ Mostra la lista degli indirizzi di ricezione utilizzati - Open a raven: URI or payment request - Apri un raven: URI o una richiesta di pagamento + Open a blast: URI or payment request + Apri un blast: URI o una richiesta di pagamento &Command-line options Opzioni della riga di &comando - %n active connection(s) to Raven network - %n connessione attiva alla rete Raven%n connessioni alla rete Raven attive + %n active connection(s) to BLAST network + %n connessione attiva alla rete BLAST%n connessioni alla rete BLAST attive Indexing blocks on disk... @@ -474,8 +474,8 @@ Aggiornato - Show the %1 help message to get a list with possible Raven command-line options - Mostra il messaggio di aiuto di %1 per ottenere una lista di opzioni di comando per Raven + Show the %1 help message to get a list with possible BLAST command-line options + Mostra il messaggio di aiuto di %1 per ottenere una lista di opzioni di comando per BLAST %1 client @@ -544,8 +544,8 @@ Il portamonete è <b>cifrato</b> ed attualmente <b>bloccato</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Si è verificato un errore critico. Raven non può più funzionare in maniera sicura e verrà chiuso. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Si è verificato un errore critico. BLAST non può più funzionare in maniera sicura e verrà chiuso. @@ -738,8 +738,8 @@ Modifica indirizzo d'invio - The entered address "%1" is not a valid Raven address. - L'indirizzo inserito "%1" non è un indirizzo raven valido. + The entered address "%1" is not a valid BLAST address. + L'indirizzo inserito "%1" non è un indirizzo BLAST valido. The entered address "%1" is already in the address book. @@ -847,8 +847,8 @@ Dato che questa è la prima volta che il programma viene lanciato, puoi scegliere dove %1 salverà i suoi dati. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 scaricherà e salverà una copia della Blockchain di Raven. Saranno salvati almeno %2GB di dati in questo percorso e continueranno ad aumentare col tempo. Anche il portafoglio verrà salvato in questo percorso. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 scaricherà e salverà una copia della Blockchain di BLAST. Saranno salvati almeno %2GB di dati in questo percorso e continueranno ad aumentare col tempo. Anche il portafoglio verrà salvato in questo percorso. Use the default data directory @@ -1037,16 +1037,16 @@ Per specificare più URL separarli con una barra verticale "|". &Spendi resti non confermati - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Apri automaticamente la porta del client Raven sul router. Il protocollo UPnP deve essere supportato da parte del router ed attivo. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Apri automaticamente la porta del client BLAST sul router. Il protocollo UPnP deve essere supportato da parte del router ed attivo. Map port using &UPnP Mappa le porte tramite &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Connessione alla rete Raven attraverso un proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Connessione alla rete BLAST attraverso un proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1085,8 +1085,8 @@ Per specificare più URL separarli con una barra verticale "|". Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Connette alla rete Raven attraverso un proxy SOCKS5 separato per Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Connette alla rete BLAST attraverso un proxy SOCKS5 separato per Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1134,7 +1134,7 @@ Per specificare più URL separarli con una barra verticale "|". Choose the default subdivision unit to show in the interface and when sending coins. - Scegli l'unità di suddivisione predefinita da utilizzare per l'interfaccia e per l'invio di raven. + Scegli l'unità di suddivisione predefinita da utilizzare per l'interfaccia e per l'invio di BLAST. Whether to show coin control features or not. @@ -1184,8 +1184,8 @@ Per specificare più URL separarli con una barra verticale "|". Modulo - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Le informazioni visualizzate potrebbero non essere aggiornate. Il portamonete si sincronizza automaticamente con la rete Raven una volta stabilita una connessione, ma questo processo non è ancora stato completato. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Le informazioni visualizzate potrebbero non essere aggiornate. Il portamonete si sincronizza automaticamente con la rete BLAST una volta stabilita una connessione, ma questo processo non è ancora stato completato. Watch-only: @@ -1259,8 +1259,8 @@ Per specificare più URL separarli con una barra verticale "|". Errore di richiesta di pagamento - Cannot start raven: click-to-pay handler - Impossibile avviare raven: gestore click-to-pay + Cannot start blast: click-to-pay handler + Impossibile avviare blast: gestore click-to-pay URI handling @@ -1275,8 +1275,8 @@ Per specificare più URL separarli con una barra verticale "|". Indirizzo di pagamento non valido %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - Impossibile interpretare l'URI! I parametri dell'URI o l'indirizzo Raven potrebbero non essere corretti. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + Impossibile interpretare l'URI! I parametri dell'URI o l'indirizzo BLAST potrebbero non essere corretti. Payment request file handling @@ -1365,8 +1365,8 @@ Per specificare più URL separarli con una barra verticale "|". Importo - Enter a Raven address (e.g. %1) - Inserisci un indirizzo Raven (ad es. %1) + Enter a BLAST address (e.g. %1) + Inserisci un indirizzo BLAST (ad es. %1) %1 d @@ -1777,8 +1777,8 @@ Per specificare più URL separarli con una barra verticale "|". R&iusa un indirizzo di ricezione (non raccomandato) - 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 Raven network. - Un messaggio opzionale da allegare e mostrare all'apertura della richiesta di pagamento. Nota: Il messaggio non sarà inviato con il pagamento sulla rete Raven. + 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 BLAST network. + Un messaggio opzionale da allegare e mostrare all'apertura della richiesta di pagamento. Nota: Il messaggio non sarà inviato con il pagamento sulla rete BLAST. An optional label to associate with the new receiving address. @@ -1931,7 +1931,7 @@ Per specificare più URL separarli con una barra verticale "|". SendCoinsDialog Send Coins - Invia Raven + Invia BLAST Coin Control Features @@ -2010,7 +2010,7 @@ Per specificare più URL separarli con una barra verticale "|". somma almeno - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. Non vi è alcuna controindicazione a pagare la commissione minima, a patto che il volume delle transazioni sia inferiore allo spazio disponibile nei blocchi. Occorre comunque essere consapevoli che ciò potrebbe impedire la conferma delle transazioni nel caso in cui la rete risultasse satura. @@ -2166,8 +2166,8 @@ Per specificare più URL separarli con una barra verticale "|". Paga solamente la commissione richiesta di %1 - Warning: Invalid Raven address - Attenzione: Indirizzo Raven non valido + Warning: Invalid BLAST address + Attenzione: Indirizzo BLAST non valido Warning: Unknown change address @@ -2201,8 +2201,8 @@ Per specificare più URL separarli con una barra verticale "|". Questo è un normale pagamento. - The Raven address to send the payment to - L'indirizzo Raven a cui vuoi inviare il pagamento + The BLAST address to send the payment to + L'indirizzo BLAST a cui vuoi inviare il pagamento Alt+A @@ -2221,8 +2221,8 @@ Per specificare più URL separarli con una barra verticale "|". Rimuovi questa voce - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - La commissione sarà sottratta dall'importo che si sta inviando. Il beneficiario riceverà un totale di raven inferiore al valore digitato. Nel caso in cui siano stati selezionati più beneficiari la commissione sarà suddivisa in parti uguali. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + La commissione sarà sottratta dall'importo che si sta inviando. Il beneficiario riceverà un totale di BLAST inferiore al valore digitato. Nel caso in cui siano stati selezionati più beneficiari la commissione sarà suddivisa in parti uguali. S&ubtract fee from amount @@ -2245,8 +2245,8 @@ Per specificare più URL separarli con una barra verticale "|". Inserisci un'etichetta per questo indirizzo per aggiungerlo alla lista degli indirizzi utilizzati - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Messaggio incluso nel raven URI e che sarà memorizzato con la transazione per vostro riferimento. Nota: Questo messaggio non sarà inviato attraverso la rete Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Messaggio incluso nel blast URI e che sarà memorizzato con la transazione per vostro riferimento. Nota: Questo messaggio non sarà inviato attraverso la rete BLAST. Pay To: @@ -2286,12 +2286,12 @@ Per specificare più URL separarli con una barra verticale "|". &Firma Messaggio - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - È possibile firmare messaggi/accordi con i propri indirizzi in modo da dimostrare di poter ricevere raven attraverso di essi. Si consiglia di prestare attenzione a non firmare dichiarazioni vaghe o casuali, attacchi di phishing potrebbero cercare di indurre ad apporre la firma su di esse. Si raccomanda di firmare esclusivamente dichiarazioni completamente dettagliate e delle quali si condivide in pieno il contenuto. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + È possibile firmare messaggi/accordi con i propri indirizzi in modo da dimostrare di poter ricevere BLAST attraverso di essi. Si consiglia di prestare attenzione a non firmare dichiarazioni vaghe o casuali, attacchi di phishing potrebbero cercare di indurre ad apporre la firma su di esse. Si raccomanda di firmare esclusivamente dichiarazioni completamente dettagliate e delle quali si condivide in pieno il contenuto. - The Raven address to sign the message with - L'indirizzo Raven da utilizzare per firmare il messaggio + The BLAST address to sign the message with + L'indirizzo BLAST da utilizzare per firmare il messaggio Choose previously used address @@ -2322,8 +2322,8 @@ Per specificare più URL separarli con una barra verticale "|". Copia la firma corrente nella clipboard - Sign the message to prove you own this Raven address - Firma un messaggio per dimostrare di possedere questo indirizzo Raven + Sign the message to prove you own this BLAST address + Firma un messaggio per dimostrare di possedere questo indirizzo BLAST Sign &Message @@ -2346,11 +2346,11 @@ Per specificare più URL separarli con una barra verticale "|". Per verificare il messaggio inserire l'indirizzo del firmatario, il messaggio e la firma nei campi sottostanti, assicurandosi di copiare esattamente anche ritorni a capo, spazi, tabulazioni, etc.. Si raccomanda di non lasciarsi fuorviare dalla firma a leggere più di quanto non sia riportato nel testo del messaggio stesso, in modo da evitare di cadere vittima di attacchi di tipo man-in-the-middle. Si ricorda che la verifica della firma dimostra soltanto che il firmatario può ricevere pagamenti con l'indirizzo corrispondente, non prova l'invio di alcuna transazione. - The Raven address the message was signed with - L'indirizzo Raven con cui è stato contrassegnato il messaggio + The BLAST address the message was signed with + L'indirizzo BLAST con cui è stato contrassegnato il messaggio - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address Verifica il messaggio per accertare che sia stato firmato con l'indirizzo specificato @@ -2375,7 +2375,7 @@ Per specificare più URL separarli con una barra verticale "|". The entered address does not refer to a key. - L'indirizzo raven inserito non è associato a nessuna chiave. + L'indirizzo BLAST inserito non è associato a nessuna chiave. Wallet unlock was cancelled. @@ -2822,7 +2822,7 @@ Per specificare più URL separarli con una barra verticale "|". WalletModel Send Coins - Invia Raven + Invia BLAST @@ -2861,7 +2861,7 @@ Per specificare più URL separarli con una barra verticale "|". - raven-core + blast-core Options: Opzioni: @@ -2919,8 +2919,8 @@ Per specificare più URL separarli con una barra verticale "|". Impossibile avviare il server HTTP. Dettagli nel log di debug. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_it_IT.ts b/src/qt/locale/bitcoin_it_IT.ts similarity index 98% rename from src/qt/locale/raven_it_IT.ts rename to src/qt/locale/bitcoin_it_IT.ts index 35be98f5de..38d9a20442 100644 --- a/src/qt/locale/raven_it_IT.ts +++ b/src/qt/locale/bitcoin_it_IT.ts @@ -88,7 +88,7 @@ - RavenGUI + BlastGUI &Transactions Transazioni @@ -202,6 +202,6 @@ WalletView - raven-core + blast-core \ No newline at end of file diff --git a/src/qt/locale/raven_ja.ts b/src/qt/locale/bitcoin_ja.ts similarity index 97% rename from src/qt/locale/raven_ja.ts rename to src/qt/locale/bitcoin_ja.ts index 53201dc214..9468b9031e 100644 --- a/src/qt/locale/raven_ja.ts +++ b/src/qt/locale/bitcoin_ja.ts @@ -62,11 +62,11 @@ 受け取りアドレス - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - これらは支払いを送信するためのあなたの Raven アドレスです。コインを送信する前に、常に額と受信アドレスを確認してください。 + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + これらは支払いを送信するためのあなたの BLAST アドレスです。コインを送信する前に、常に額と受信アドレスを確認してください。 - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. これらは支払いを受け取るためのビットコインアドレスです。トランザクションごとに新しい受け取り用アドレスを作成することが推奨されます。 @@ -168,8 +168,8 @@ ウォレットの暗号化を確認する - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - 警告: もしもあなたのウォレットを暗号化してパスフレーズを失ってしまったなら、<b>あなたの Raven はすべて失われます</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + 警告: もしもあなたのウォレットを暗号化してパスフレーズを失ってしまったなら、<b>あなたの BLAST はすべて失われます</b>! Are you sure you wish to encrypt your wallet? @@ -180,7 +180,7 @@ ウォレットは暗号化されました - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. 暗号化処理を完了させるため %1 をいますぐ終了します。ウォレットの暗号化では、コンピュータに感染したマルウェアなどによるビットコインの盗難から完全に守ることはできないことにご注意ください。 @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... メッセージの署名... (&m) @@ -338,8 +338,8 @@ ディスク上のブロックのインデックスを再作成中... - Send coins to a Raven address - Raven アドレスにコインを送る + Send coins to a BLAST address + BLAST アドレスにコインを送る Backup wallet to another location @@ -362,8 +362,8 @@ メッセージの検証... (&V) - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ あなたのウォレットの秘密鍵を暗号化します - Sign messages with your Raven addresses to prove you own them - あなたが所有していることを証明するために、あなたの Raven アドレスでメッセージに署名してください + Sign messages with your BLAST addresses to prove you own them + あなたが所有していることを証明するために、あなたの BLAST アドレスでメッセージに署名してください - Verify messages to ensure they were signed with specified Raven addresses - 指定された Raven アドレスで署名されたことを確認するためにメッセージを検証します + Verify messages to ensure they were signed with specified BLAST addresses + 指定された BLAST アドレスで署名されたことを確認するためにメッセージを検証します &File @@ -414,8 +414,8 @@ タブツールバー - Request payments (generates QR codes and raven: URIs) - 支払いを要求する (QRコードとraven:ではじまるURIを生成する) + Request payments (generates QR codes and blast: URIs) + 支払いを要求する (QRコードとblast:ではじまるURIを生成する) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ 支払いを受け取るアドレスとラベルのリストを表示する - Open a raven: URI or payment request - raven: URIまたは支払いリクエストを開く + Open a blast: URI or payment request + blast: URIまたは支払いリクエストを開く &Command-line options コマンドラインオプション (&C) - %n active connection(s) to Raven network - %n の Raven ネットワークへのアクティブな接続 + %n active connection(s) to BLAST network + %n の BLAST ネットワークへのアクティブな接続 Indexing blocks on disk... @@ -478,8 +478,8 @@ バージョンは最新です - Show the %1 help message to get a list with possible Raven command-line options - 有効な Raven のコマンドライン オプションを見るために %1 のヘルプメッセージを表示します。 + Show the %1 help message to get a list with possible BLAST command-line options + 有効な BLAST のコマンドライン オプションを見るために %1 のヘルプメッセージを表示します。 %1 client @@ -548,8 +548,8 @@ ウォレットは<b>暗号化されて、ロックされています</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - 致命的なエラーが発生しました。Raven は安全に継続することができず終了するでしょう。 + A fatal error occurred. BLAST can no longer continue safely and will quit. + 致命的なエラーが発生しました。BLAST は安全に継続することができず終了するでしょう。 @@ -742,8 +742,8 @@ 送信アドレスを編集 - The entered address "%1" is not a valid Raven address. - 入力されたアドレス "%1" は無効な Raven アドレスです。 + The entered address "%1" is not a valid BLAST address. + 入力されたアドレス "%1" は無効な BLAST アドレスです。 The entered address "%1" is already in the address book. @@ -851,7 +851,7 @@ これはプログラム最初の起動です。%1 がデータを保存する場所を選択して下さい。 - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. %1 は、ビットコインのブロックチェーンのコピーを、ダウンロードして保存します。少なくとも %2 ギガバイトのデータが、このディレクトリに保存されます。そしてそれは時間と共に増加します。またウォレットもこのディレクトリに保存されます。 @@ -886,11 +886,11 @@ フォーム - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. 確認できない最近のトランザクションがあるかもしれません。これによりウォレットの残高は不正確なものである可能性があります。この情報はウォレットが一度ビットコインネットワークへの同期が完了すると正確なものとなります。詳細は下記を参照してください。 - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. まだ表示されていないトランザクションが影響するビットコインを使用しようとすると、ネットワークから認証がなされないでしょう。 @@ -1048,16 +1048,16 @@ 未検証のおつりを使用する (&S) - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - 自動的にルーター上の Raven クライアントのポートを開きます。あなたのルーターが UPnP に対応していて、それが有効になっている場合に作動します。 + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + 自動的にルーター上の BLAST クライアントのポートを開きます。あなたのルーターが UPnP に対応していて、それが有効になっている場合に作動します。 Map port using &UPnP UPnP を使ってポートを割り当てる (&U) - Connect to the Raven network through a SOCKS5 proxy. - SOCKS5 プロキシ経由でRavenネットワークに接続する + Connect to the BLAST network through a SOCKS5 proxy. + SOCKS5 プロキシ経由でBLASTネットワークに接続する &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Tor秘匿サービスを利用するため、独立なSOCKS5プロキシ経由でRavenネットワークに接続する + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Tor秘匿サービスを利用するため、独立なSOCKS5プロキシ経由でBLASTネットワークに接続する Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1195,8 +1195,8 @@ フォーム - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - 表示された情報は古いかもしれません。接続が確立されると、あなたのウォレットは Raven ネットワークと自動的に同期しますが、このプロセスはまだ完了していません。 + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + 表示された情報は古いかもしれません。接続が確立されると、あなたのウォレットは BLAST ネットワークと自動的に同期しますが、このプロセスはまだ完了していません。 Watch-only: @@ -1270,8 +1270,8 @@ 支払いのリクエストのエラーです - Cannot start raven: click-to-pay handler - Raven を起動できません: click-to-pay handler + Cannot start blast: click-to-pay handler + BLAST を起動できません: click-to-pay handler URI handling @@ -1286,8 +1286,8 @@ 支払いのアドレス「%1」は無効です - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI を解析できません! これは無効な Raven アドレスあるいや不正な形式の URI パラメーターによって引き起こされる場合があります。 + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI を解析できません! これは無効な BLAST アドレスあるいや不正な形式の URI パラメーターによって引き起こされる場合があります。 Payment request file handling @@ -1380,8 +1380,8 @@ 総額 - Enter a Raven address (e.g. %1) - Ravenアドレスを入力してください (例 %1) + Enter a BLAST address (e.g. %1) + BLASTアドレスを入力してください (例 %1) %1 d @@ -1804,8 +1804,8 @@ 既存の受取用アドレスを再利用する (非推奨) (&E) - 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 Raven network. - 支払リクエストが開始された時に表示される、支払リクエストに添える任意のメッセージです。注意:メッセージはRavenネットワークを通じて、支払と共に送られるわけではありません。 + 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 BLAST network. + 支払リクエストが開始された時に表示される、支払リクエストに添える任意のメッセージです。注意:メッセージはBLASTネットワークを通じて、支払と共に送られるわけではありません。 An optional label to associate with the new receiving address. @@ -2037,8 +2037,8 @@ 最小手数料 - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - ブロックの容量に比べてトランザクション流量が少ないうちは最小手数料のみの支払で十分です。しかしながらネットワークが処理しきれないほどravenトランザクションの需要がひとたび生まれてしまった場合には、永遠に検証がされないトランザクションになってしまう可能性があることに注意してください。 + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + ブロックの容量に比べてトランザクション流量が少ないうちは最小手数料のみの支払で十分です。しかしながらネットワークが処理しきれないほどBLASTトランザクションの需要がひとたび生まれてしまった場合には、永遠に検証がされないトランザクションになってしまう可能性があることに注意してください。 (read the tooltip) @@ -2201,8 +2201,8 @@ %n ブロック以内に検証が開始されると予想されます。 - Warning: Invalid Raven address - 警告:無効なRavenアドレスです + Warning: Invalid BLAST address + 警告:無効なBLASTアドレスです Warning: Unknown change address @@ -2244,8 +2244,8 @@ これは通常の支払です。 - The Raven address to send the payment to - 支払の送金先Ravenアドレス + The BLAST address to send the payment to + 支払の送金先BLASTアドレス Alt+A @@ -2264,7 +2264,7 @@ この項目を削除する - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. 送金する金額から手数料が差し引かれます。受取人は数量フィールドで指定した量よりも少ないビットコインを受け取ります。受取人が複数いる場合には、手数料は均等割されます。 @@ -2288,8 +2288,8 @@ このアドレスに対するラベルを入力することで、使用済みアドレスの一覧に追加することができます - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - raven: URIに添付されていたメッセージです。これは参照用としてトランザクションとともに保存されます。注意:このメッセージはRavenネットワークを通して送信されるわけではありません。 + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + blast: URIに添付されていたメッセージです。これは参照用としてトランザクションとともに保存されます。注意:このメッセージはBLASTネットワークを通して送信されるわけではありません。 Pay To: @@ -2333,12 +2333,12 @@ メッセージの署名 (&S) - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. あなたの所有しているアドレスによりメッセージや合意書に署名をすることで、それらアドレスに対して送られたビットコインを受け取ることができることを証明できます。フィッシング攻撃により不正にあなたの識別情報を署名させられてしまうことを防ぐために、不明確なものやランダムなものに対して署名しないよう注意してください。合意することが可能な、よく詳細の記された文言にのみ署名するようにしてください。 - The Raven address to sign the message with - メッセージを署名するRavenアドレス + The BLAST address to sign the message with + メッセージを署名するBLASTアドレス Choose previously used address @@ -2369,8 +2369,8 @@ 現在の署名をシステムのクリップボードにコピーする - Sign the message to prove you own this Raven address - この Raven アドレスを所有していることを証明するためにメッセージに署名 + Sign the message to prove you own this BLAST address + この BLAST アドレスを所有していることを証明するためにメッセージに署名 Sign &Message @@ -2393,12 +2393,12 @@ 受取人のアドレスとメッセージ(改行やスペース、タブなども完全に一致するよう注意してください)および署名を以下に入力し、メッセージの署名を検証してください。中間者攻撃により騙されるのを防ぐため、署名対象のメッセージに書かれていること以上の意味を署名から読み取ろうとしないよう注意してください。これは署名作成者がこのアドレスで受け取ったことを証明するだけであり、トランザクションの送信権限を証明するものではないことに注意してください! - The Raven address the message was signed with - メッセージの署名に使われたRavenアドレス + The BLAST address the message was signed with + メッセージの署名に使われたBLASTアドレス - Verify the message to ensure it was signed with the specified Raven address - 指定された Raven アドレスで署名されたことを保証するメッセージを検証 + Verify the message to ensure it was signed with the specified BLAST address + 指定された BLAST アドレスで署名されたことを保証するメッセージを検証 Verify &Message @@ -2988,7 +2988,7 @@ - raven-core + blast-core Options: オプション: @@ -3058,8 +3058,8 @@ HTTPサーバを開始できませんでした。詳細はデバッグログをご確認ください。 - Raven Core - Raven のコア + BLAST Core + BLAST のコア The %s developers diff --git a/src/qt/locale/raven_ka.ts b/src/qt/locale/bitcoin_ka.ts similarity index 97% rename from src/qt/locale/raven_ka.ts rename to src/qt/locale/bitcoin_ka.ts index 490164f373..44484062d0 100644 --- a/src/qt/locale/raven_ka.ts +++ b/src/qt/locale/bitcoin_ka.ts @@ -104,7 +104,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... ხელ&მოწერა @@ -190,8 +190,8 @@ დისკზე ბლოკების რეინდექსაცია... - Send coins to a Raven address - მონეტების გაგზავნა Raven-მისამართზე + Send coins to a BLAST address + მონეტების გაგზავნა BLAST-მისამართზე Backup wallet to another location @@ -214,8 +214,8 @@ &ვერიფიკაცია - Raven - Raven + BLAST + BLAST Wallet @@ -242,12 +242,12 @@ თქვენი საფულის პირადი გასაღებების დაშიფრვა - Sign messages with your Raven addresses to prove you own them - მესიჯებზე ხელმოწერა თქვენი Raven-მისამართებით იმის დასტურად, რომ ის თქვენია + Sign messages with your BLAST addresses to prove you own them + მესიჯებზე ხელმოწერა თქვენი BLAST-მისამართებით იმის დასტურად, რომ ის თქვენია - Verify messages to ensure they were signed with specified Raven addresses - შეამოწმეთ, რომ მესიჯები ხელმოწერილია მითითებული Raven-მისამართით + Verify messages to ensure they were signed with specified BLAST addresses + შეამოწმეთ, რომ მესიჯები ხელმოწერილია მითითებული BLAST-მისამართით &File @@ -266,8 +266,8 @@ ბარათების პანელი - Request payments (generates QR codes and raven: URIs) - გადახდის მოთხოვნა (შეიქმნება QR-კოდები და raven: ბმულები) + Request payments (generates QR codes and blast: URIs) + გადახდის მოთხოვნა (შეიქმნება QR-კოდები და blast: ბმულები) Show the list of used sending addresses and labels @@ -278,8 +278,8 @@ გამოყენებული მიღების მისამართებისა და ნიშნულების სიის ჩვენება - Open a raven: URI or payment request - raven: URI-ის ან გადახდის მოთხოვნის გახსნა + Open a blast: URI or payment request + blast: URI-ის ან გადახდის მოთხოვნის გახსნა &Command-line options @@ -642,8 +642,8 @@ დაუდასტურებელი ხურდის გამოყენების აკრძალვის შემდეგ მათი გამოყენება შეუძლებელი იქნება, სანამ ტრანსაქციას არ ექნება ერთი დასტური მაინც. ეს აისახება თქვენი ნაშთის დათვლაზეც. - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - როუტერში Raven-კლიენტის პორტის ავტომატური გახსნა. მუშაობს, თუ თქვენს როუტერს ჩართული აქვს UPnP. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + როუტერში BLAST-კლიენტის პორტის ავტომატური გახსნა. მუშაობს, თუ თქვენს როუტერს ჩართული აქვს UPnP. Map port using &UPnP @@ -749,8 +749,8 @@ ფორმა - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - ნაჩვენები ინფორმაცია შეიძლება მოძველებული იყოს. თქვენი საფულე ავტომატურად სინქრონიზდება Raven-ის ქსელთან კავშირის დამყარების შემდეგ, ეს პროცესი ჯერ არ არის დასრულებული. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + ნაჩვენები ინფორმაცია შეიძლება მოძველებული იყოს. თქვენი საფულე ავტომატურად სინქრონიზდება BLAST-ის ქსელთან კავშირის დამყარების შემდეგ, ეს პროცესი ჯერ არ არის დასრულებული. Available: @@ -954,7 +954,7 @@ ად&რე გამოყენებული მიღების მისამართის გამოყენება (არ არის რეკომენდებული) - 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 Raven 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 BLAST network. არააუცილებელი მესიჯი, რომელიც ერთვის გადახდის მოთხოვნას და ნაჩვენები იქნება მოთხოვნის გახსნისას. შენიშვნა: მესიჯი არ გაყვება გადახდას ბითქოინის ქსელში. @@ -1170,7 +1170,7 @@ შეიყვანეთ ამ მისამართის ნიშნული გამოყენებული მისამართების სიაში დასამატებლად - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. მესიჯი, რომელიც თან ერთვის მონეტებს: URI, რომელიც შეინახება ტრანსაქციასთან ერთად თქვენთვის. შენიშვნა: მესიჯი არ გაყვება გადახდას ბითქოინის ქსელში. @@ -1231,7 +1231,7 @@ მიმდინარე ხელმოწერის კოპირება კლიპბორდში - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address მოაწერეთ ხელი იმის დასადასტურებლად, რომ ეს მისამართი თქვენია @@ -1251,8 +1251,8 @@ მესიჯის &ვერიფიკაცია - Verify the message to ensure it was signed with the specified Raven address - შეამოწმეთ, რომ მესიჯი ხელმოწერილია მითითებული Raven-მისამართით + Verify the message to ensure it was signed with the specified BLAST address + შეამოწმეთ, რომ მესიჯი ხელმოწერილია მითითებული BLAST-მისამართით Verify &Message @@ -1310,7 +1310,7 @@ WalletView - raven-core + blast-core Options: ოპციები: @@ -1336,8 +1336,8 @@ რეზიდენტულად გაშვება და კომანდების მიღება - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_kk_KZ.ts b/src/qt/locale/bitcoin_kk_KZ.ts similarity index 98% rename from src/qt/locale/raven_kk_KZ.ts rename to src/qt/locale/bitcoin_kk_KZ.ts index cc7ba953df..a108848b65 100644 --- a/src/qt/locale/raven_kk_KZ.ts +++ b/src/qt/locale/bitcoin_kk_KZ.ts @@ -48,7 +48,7 @@ BanTableModel - RavenGUI + BlastGUI &Transactions &Транзакциялар @@ -70,7 +70,7 @@ Құпия сөзді өзгерту - Raven + BLAST Биткоин @@ -298,7 +298,7 @@ WalletView - raven-core + blast-core Information Информация diff --git a/src/qt/locale/raven_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts similarity index 98% rename from src/qt/locale/raven_ko_KR.ts rename to src/qt/locale/bitcoin_ko_KR.ts index dab8478ae3..6f392bf014 100644 --- a/src/qt/locale/raven_ko_KR.ts +++ b/src/qt/locale/bitcoin_ko_KR.ts @@ -62,11 +62,11 @@ 받은 주소들 - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. 비트코인을 보내는 계좌 주소입니다. 코인을 보내기 전에 잔고와 받는 주소를 항상 확인하세요. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. 비트코인을 받을 수 있는 계좌 주소입니다. 매 거래마다 새로운 주소 사용을 권장합니다. @@ -168,7 +168,7 @@ 지갑 암호화 승인 - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! 경고: 만약 암호화 된 지갑의 비밀번호를 잃어버릴 경우, <b>모든 비트코인들을 잃어버릴 수 있습니다</b>! @@ -180,7 +180,7 @@ 지갑 암호화 완료 - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. 암호화 처리 과정을 끝내기 위해 %1을 종료합니다. 지갑 암호화는 컴퓨터로의 멀웨어 감염으로 인한 비트코인 도난을 완전히 방지할 수 없음을 기억하세요. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... 메시지 서명(&M)... @@ -338,7 +338,7 @@ 디스크에서 블록 다시 색인중... - Send coins to a Raven address + Send coins to a BLAST address 비트코인 주소로 코인 전송 @@ -362,7 +362,7 @@ 메시지 확인(&V)... - Raven + BLAST 비트코인 @@ -390,11 +390,11 @@ 지갑에 포함된 개인키 암호화하기 - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them 지갑 주소가 본인 소유인지 증명하기 위해 비트코인 주소에 서명할 수 있습니다. - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses 비트코인 주소의 전자 서명 확인을 위해 첨부된 메시지가 있을 경우 이를 검증할 수 있습니다. @@ -414,7 +414,7 @@ 툴바 색인표 - Request payments (generates QR codes and raven: URIs) + Request payments (generates QR codes and blast: URIs) 지불 요청하기 (QR코드와 비트코인이 생성됩니다: URIs) @@ -426,15 +426,15 @@ 한번 이상 사용된 받는 주소와 주소 제목의 목록을 보여줍니다. - Open a raven: URI or payment request - raven: URI 또는 지불요청 열기 + Open a blast: URI or payment request + blast: URI 또는 지불요청 열기 &Command-line options 명령줄 옵션(&C) - %n active connection(s) to Raven network + %n active connection(s) to BLAST network 비트코인 네트워크에 %n개의 연결이 활성화되어 있습니다. @@ -478,7 +478,7 @@ 현재까지 - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options 사용할 수 있는 비트코인 명령줄 옵션 목록을 가져오기 위해 %1 도움말 메시지를 표시합니다. @@ -548,7 +548,7 @@ 지갑이 <b>암호화</b> 되었고 현재 <b>잠겨져</b> 있습니다 - A fatal error occurred. Raven can no longer continue safely and will quit. + A fatal error occurred. BLAST can no longer continue safely and will quit. 치명적인 오류가 발생했습니다. 비트코인을 더이상 안전하게 진행할 수 없어 곧 종료합니다. @@ -742,7 +742,7 @@ 보내는 주소 편집 - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. 입력한 "%1" 주소는 올바른 비트코인 주소가 아닙니다. @@ -851,7 +851,7 @@ 프로그램이 처음으로 실행되고 있습니다. %1가 어디에 데이터를 저장할지 선택할 수 있습니다. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. %1가 블록체인의 복사본을 다운로드 저장합니다. 적어도 %2GB의 데이터가 이 폴더에 저장되며 시간이 경과할수록 점차 증가합니다. 그리고 지갑 또한 이 폴더에 저장됩니다. @@ -886,11 +886,11 @@ 유형 - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. 최근 거래는 아직 보이지 않을 것입니다, 그러므로 당신의 지갑의 잔액이 틀릴 수도 있습니다. 이 정보는 비트코인 네트워크와 완전한 동기화가 완료되면 아래의 설명과 같이 정확해집니다. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. 아직 표시되지 않은 거래의 영향을 받는 비트코인을 사용하려고 하는 것은 네트워크에서 허가되지 않습니다. @@ -1048,15 +1048,15 @@ 검증되지 않은 잔돈 쓰기 (&S) - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - 라우터에서 Raven 클라이언트 포트를 자동적으로 엽니다. 라우터에서 UPnP를 지원하고 활성화 했을 경우에만 동작합니다. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + 라우터에서 BLAST 클라이언트 포트를 자동적으로 엽니다. 라우터에서 UPnP를 지원하고 활성화 했을 경우에만 동작합니다. Map port using &UPnP 사용중인 &UPnP 포트 매핑 - Connect to the Raven network through a SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. SOCKS5 프록시를 통해 비트코인 네트워크 연결 @@ -1096,7 +1096,7 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. Tor 서비스를 경유하여 비트코인 네트워크에 연결하기 위해 분리된 SOCKS5 프록시를 사용. @@ -1195,7 +1195,7 @@ 유형 - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. 표시된 정보가 오래된 것 같습니다. 비트코인 네트워크에 연결하고 난 다음에 지갑을 자동으로 동기화 하지만, 아직 과정이 끝나지는 않았습니다. @@ -1270,7 +1270,7 @@ 지불 요청 오류 - Cannot start raven: click-to-pay handler + Cannot start blast: click-to-pay handler 비트코인을 시작할 수 없습니다: 지급제어기를 클릭하세요 @@ -1286,7 +1286,7 @@ 잘못된 지불 주소입니다 %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. URI의 파싱에 문제가 발생했습니다. 잘못된 비트코인 주소나 URI 파라미터 구성에 오류가 존재할 수 있습니다. @@ -1380,7 +1380,7 @@ 거래액 - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) 비트코인 주소를 입력하기 (예. %1) @@ -1804,7 +1804,7 @@ 현재의 수취용 주소를 재사용하기(&E) (권장하지 않습니다) - 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 Raven 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 BLAST network. 지불 요청에 첨부되는 선택가능한 메시지 입니다. 이 메세지는 요청이 열릴 때 표시될 것 입니다. 메모: 이 메시지는 비트코인 네트워크로 전송되지 않습니다. @@ -2037,7 +2037,7 @@ 최소 수수료 - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. 블록의 용량보다 거래의 용량이 작은 경우에는 최소한의 수수료만으로도 충분합니다. 그러나 비트코인 네트워크의 처리량보다 더 많은 거래 요구는 영원히 검증이 안 될 수도 있습니다. @@ -2201,7 +2201,7 @@ %n 블록 안에 승인이 시작될 것으로 추정됩니다. - Warning: Invalid Raven address + Warning: Invalid BLAST address 경고: 잘못된 비트코인주소입니다 @@ -2244,7 +2244,7 @@ 이것은 정상적인 지불입니다. - The Raven address to send the payment to + The BLAST address to send the payment to 이 비트코인 주소로 송금됩니다 @@ -2264,7 +2264,7 @@ 항목을 지웁니다 - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. 수수료가 송금되는 금액에서 공제됩니다. 수령자는 금액 필드에서 입력한 금액보다 적은 금액을 전송받게 됩니다. 받는 사람이 여러 명인 경우 수수료는 균등하게 나누어집니다. @@ -2288,7 +2288,7 @@ 사용된 주소 목록에 새 주소를 추가하기 위해 라벨 이름을 입력해 주세요. - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. 비트코인에 첨부된 메시지: 참고용으로 거래와 함께 저장될 URI. 메모: 이 메시지는 비트코인 네트워크로 전송되지 않습니다. @@ -2333,11 +2333,11 @@ 메시지 서명(&S) - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. 여러분 자신을 증명하기 위해 주소를 첨가하고 서명할 수 있습니다. 피싱 공격으로 말미암아 여러분의 서명을 통해 속아 넘어가게 할 수 있으므로, 서명하지 않은 모든 모호한 요소를 주의하십시오. 조항들이 완전 무결한지 확인 후 동의하는 경우에만 서명하십시오. - The Raven address to sign the message with + The BLAST address to sign the message with 메세지를 서명한 비트코인 주소 @@ -2369,7 +2369,7 @@ 현재 서명을 시스템 클립보드에 복사 - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address 여러분의 비트코인 주소를 증명하려면 메시지 서명하십시오 @@ -2393,11 +2393,11 @@ 메시지를 검증하기 위해 아래 칸에 각각 지갑 주소와 메시지, 전자서명을 입력하세요. (메시지 원본의 띄어쓰기, 들여쓰기, 행 나눔 등이 정확하게 입력되어야 하므로 원본을 복사해서 입력하세요) 이 기능은 메시지 검증이 주 목적이며, 네트워크 침입자에 의해 변조되지 않도록 전자서명 해독에 불필요한 시간을 소모하지 마세요. - The Raven address the message was signed with + The BLAST address the message was signed with 메세지의 서명에 사용된 비트코인 주소 - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address 정확한 비트코인주소가 입력됬는지 메시지를 확인하시오 @@ -2988,7 +2988,7 @@ - raven-core + blast-core Options: 옵션: @@ -3058,7 +3058,7 @@ HTTP 서버를 시작할 수 없습니다. 자세한 사항은 디버그 로그를 확인 하세요. - Raven Core + BLAST Core 비트코인 코어 diff --git a/src/qt/locale/raven_ku_IQ.ts b/src/qt/locale/bitcoin_ku_IQ.ts similarity index 99% rename from src/qt/locale/raven_ku_IQ.ts rename to src/qt/locale/bitcoin_ku_IQ.ts index 4e14756cec..1a9c64caee 100644 --- a/src/qt/locale/raven_ku_IQ.ts +++ b/src/qt/locale/bitcoin_ku_IQ.ts @@ -40,7 +40,7 @@ BanTableModel - RavenGUI + BlastGUI &Send &ناردن @@ -374,7 +374,7 @@ - raven-core + blast-core Options: هەڵبژاردنەکان: diff --git a/src/qt/locale/raven_ky.ts b/src/qt/locale/bitcoin_ky.ts similarity index 98% rename from src/qt/locale/raven_ky.ts rename to src/qt/locale/bitcoin_ky.ts index 6729bb8409..ba661ff325 100644 --- a/src/qt/locale/raven_ky.ts +++ b/src/qt/locale/bitcoin_ky.ts @@ -28,7 +28,7 @@ BanTableModel - RavenGUI + BlastGUI &Transactions &Транзакциялар @@ -38,8 +38,8 @@ Билдирүүнү &текшерүү... - Raven - Raven + BLAST + BLAST Wallet @@ -334,7 +334,7 @@ WalletView - raven-core + blast-core Information Маалымат diff --git a/src/qt/locale/raven_la.ts b/src/qt/locale/bitcoin_la.ts similarity index 96% rename from src/qt/locale/raven_la.ts rename to src/qt/locale/bitcoin_la.ts index d87b40606d..c797db746a 100644 --- a/src/qt/locale/raven_la.ts +++ b/src/qt/locale/bitcoin_la.ts @@ -52,7 +52,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Signa &nuntium... @@ -114,8 +114,8 @@ Recreans indicem frustorum in disco... - Send coins to a Raven address - Mitte nummos ad inscriptionem Raven + Send coins to a BLAST address + Mitte nummos ad inscriptionem BLAST Backup wallet to another location @@ -138,8 +138,8 @@ &Verifica nuntium... - Raven - Raven + BLAST + BLAST Wallet @@ -166,12 +166,12 @@ Cifra claves privatas quae cassidili tui sunt - Sign messages with your Raven addresses to prove you own them - Signa nuntios cum tuis inscriptionibus Raven ut demonstres te eas possidere + Sign messages with your BLAST addresses to prove you own them + Signa nuntios cum tuis inscriptionibus BLAST ut demonstres te eas possidere - Verify messages to ensure they were signed with specified Raven addresses - Verifica nuntios ut certus sis eos signatos esse cum specificatis inscriptionibus Raven + Verify messages to ensure they were signed with specified BLAST addresses + Verifica nuntios ut certus sis eos signatos esse cum specificatis inscriptionibus BLAST &File @@ -346,8 +346,8 @@ Cassidile - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Aperi per se portam clientis Raven in itineratore. Hoc tantum effectivum est si itineratrum tuum supportat UPnP et id activum est. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Aperi per se portam clientis BLAST in itineratore. Hoc tantum effectivum est si itineratrum tuum supportat UPnP et id activum est. Map port using &UPnP @@ -425,8 +425,8 @@ Schema - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Monstrata informatio fortasse non recentissima est. Tuum cassidile per se synchronizat cum rete Raven postquam conexio constabilita est, sed hoc actio nondum perfecta est. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Monstrata informatio fortasse non recentissima est. Tuum cassidile per se synchronizat cum rete BLAST postquam conexio constabilita est, sed hoc actio nondum perfecta est. Immature: @@ -671,8 +671,8 @@ Copia signationem in latibulum systematis - Sign the message to prove you own this Raven address - Signa nuntium ut demonstres hanc inscriptionem Raven a te possessa esse + Sign the message to prove you own this BLAST address + Signa nuntium ut demonstres hanc inscriptionem BLAST a te possessa esse Sign &Message @@ -691,8 +691,8 @@ &Verifica Nuntium - Verify the message to ensure it was signed with the specified Raven address - Verifica nuntium ut cures signatum esse cum specifica inscriptione Raven + Verify the message to ensure it was signed with the specified BLAST address + Verifica nuntium ut cures signatum esse cum specifica inscriptione BLAST Verify &Message @@ -742,7 +742,7 @@ WalletView - raven-core + blast-core Options: Optiones: @@ -768,8 +768,8 @@ Operare infere sicut daemon et mandata accipe - Raven Core - Raven Nucleus + BLAST Core + BLAST Nucleus Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_lt.ts b/src/qt/locale/bitcoin_lt.ts similarity index 98% rename from src/qt/locale/raven_lt.ts rename to src/qt/locale/bitcoin_lt.ts index 52c292500e..d2d3cd81d7 100644 --- a/src/qt/locale/raven_lt.ts +++ b/src/qt/locale/bitcoin_lt.ts @@ -72,7 +72,7 @@ - RavenGUI + BlastGUI Sign &message... Pasirašyti ži&nutę... @@ -154,8 +154,8 @@ Blokai iš naujo indeksuojami... - Send coins to a Raven address - Siųsti monetas Raven adresui + Send coins to a BLAST address + Siųsti monetas BLAST adresui Backup wallet to another location @@ -178,8 +178,8 @@ &Tikrinti žinutę... - Raven - Raven + BLAST + BLAST Wallet @@ -418,8 +418,8 @@ Piniginė - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Automatiškai atidaryti Raven kliento prievadą maršrutizatoriuje. Tai veikia tik tada, kai jūsų maršrutizatorius palaiko UPnP ir ji įjungta. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Automatiškai atidaryti BLAST kliento prievadą maršrutizatoriuje. Tai veikia tik tada, kai jūsų maršrutizatorius palaiko UPnP ir ji įjungta. Map port using &UPnP @@ -847,7 +847,7 @@ Įveskite pranešimą, kurį norite pasirašyti čia - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Registruotis žinute įrodymuii, kad turite šį adresą @@ -863,8 +863,8 @@ &Patikrinti žinutę - Verify the message to ensure it was signed with the specified Raven address - Patikrinkite žinutę, jog įsitikintumėte, kad ją pasirašė nurodytas Raven adresas + Verify the message to ensure it was signed with the specified BLAST address + Patikrinkite žinutę, jog įsitikintumėte, kad ją pasirašė nurodytas BLAST adresas Verify &Message @@ -914,7 +914,7 @@ WalletView - raven-core + blast-core Options: Parinktys: @@ -936,8 +936,8 @@ Dirbti fone kaip šešėlyje ir priimti komandas - Raven Core - Raven branduolys + BLAST Core + BLAST branduolys Error opening block database diff --git a/src/qt/locale/raven_lv_LV.ts b/src/qt/locale/bitcoin_lv_LV.ts similarity index 96% rename from src/qt/locale/raven_lv_LV.ts rename to src/qt/locale/bitcoin_lv_LV.ts index ecad34719e..62a5986279 100644 --- a/src/qt/locale/raven_lv_LV.ts +++ b/src/qt/locale/bitcoin_lv_LV.ts @@ -64,7 +64,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Parakstīt &ziņojumu... @@ -142,8 +142,8 @@ Bloku reindeksēšana no diska... - Send coins to a Raven address - Nosūtīt bitkoinus uz Raven adresi + Send coins to a BLAST address + Nosūtīt bitkoinus uz BLAST adresi Backup wallet to another location @@ -166,8 +166,8 @@ &Pārbaudīt ziņojumu... - Raven - Raven + BLAST + BLAST Wallet @@ -194,12 +194,12 @@ Šifrēt privātās atslēgas kuras pieder tavam maciņam - Sign messages with your Raven addresses to prove you own them - Parakstīt ziņojumus ar savām Raven adresēm lai pierādītu ka tās pieder tev + Sign messages with your BLAST addresses to prove you own them + Parakstīt ziņojumus ar savām BLAST adresēm lai pierādītu ka tās pieder tev - Verify messages to ensure they were signed with specified Raven addresses - Pārbaudīt ziņojumus lai pārliecinātos, ka tie tika parakstīti ar norādītajām Raven adresēm + Verify messages to ensure they were signed with specified BLAST addresses + Pārbaudīt ziņojumus lai pārliecinātos, ka tie tika parakstīti ar norādītajām BLAST adresēm &File @@ -218,12 +218,12 @@ Ciļņu rīkjosla - Request payments (generates QR codes and raven: URIs) - Pieprasīt maksājumus (izveido QR kodu un raven: URIs) + Request payments (generates QR codes and blast: URIs) + Pieprasīt maksājumus (izveido QR kodu un blast: URIs) - Open a raven: URI or payment request - Atvērt raven URI vai maksājuma pieprasījumu + Open a blast: URI or payment request + Atvērt blast URI vai maksājuma pieprasījumu &Command-line options @@ -499,15 +499,15 @@ Enable coin &control features - Ieslēgt raven &kontroles funkcijas + Ieslēgt BLAST &kontroles funkcijas &Spend unconfirmed change &Tērēt neapstiprinātu atlikumu - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Uz rūtera automātiski atvērt Raven klienta portu. Tas strādā tikai tad, ja rūteris atbalsta UPnP un tas ir ieslēgts. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Uz rūtera automātiski atvērt BLAST klienta portu. Tas strādā tikai tad, ja rūteris atbalsta UPnP un tas ir ieslēgts. Map port using &UPnP @@ -559,7 +559,7 @@ Whether to show coin control features or not. - Vai rādīt Raven kontroles funkcijas vai nē. + Vai rādīt BLAST kontroles funkcijas vai nē. &OK @@ -593,8 +593,8 @@ Forma - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Attēlotā informācija var būt novecojusi. Jūsu maciņš pēc savienojuma izveides automātiski sinhronizējas ar Raven tīklu, taču šis process vēl nav beidzies. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Attēlotā informācija var būt novecojusi. Jūsu maciņš pēc savienojuma izveides automātiski sinhronizējas ar BLAST tīklu, taču šis process vēl nav beidzies. Available: @@ -852,7 +852,7 @@ Coin Control Features - Raven Kontroles Funkcijas + BLAST Kontroles Funkcijas Inputs... @@ -1027,8 +1027,8 @@ Kopēt parakstu uz sistēmas starpliktuvi - Sign the message to prove you own this Raven address - Parakstīt ziņojumu lai pierādītu, ka esi šīs Raven adreses īpašnieks. + Sign the message to prove you own this BLAST address + Parakstīt ziņojumu lai pierādītu, ka esi šīs BLAST adreses īpašnieks. Sign &Message @@ -1098,7 +1098,7 @@ WalletView - raven-core + blast-core Options: Iespējas: @@ -1124,8 +1124,8 @@ Darbināt fonā kā servisu un pieņemt komandas - Raven Core - Raven Core + BLAST Core + BLAST Core <category> can be: diff --git a/src/qt/locale/raven_mk_MK.ts b/src/qt/locale/bitcoin_mk_MK.ts similarity index 98% rename from src/qt/locale/raven_mk_MK.ts rename to src/qt/locale/bitcoin_mk_MK.ts index 14897b7cff..c20d4727f3 100644 --- a/src/qt/locale/raven_mk_MK.ts +++ b/src/qt/locale/bitcoin_mk_MK.ts @@ -64,7 +64,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Потпиши &порака... @@ -138,7 +138,7 @@ Повторно индексирање на блокови од дискот... - Send coins to a Raven address + Send coins to a BLAST address Испрати биткоини на Биткоин адреса @@ -146,7 +146,7 @@ &Потврди порака... - Raven + BLAST Биткоин @@ -572,13 +572,13 @@ WalletView - raven-core + blast-core Options: Опции: - Raven Core + BLAST Core Биткоин Core diff --git a/src/qt/locale/raven_mn.ts b/src/qt/locale/bitcoin_mn.ts similarity index 99% rename from src/qt/locale/raven_mn.ts rename to src/qt/locale/bitcoin_mn.ts index ff22dfab9b..8ed3ed6997 100644 --- a/src/qt/locale/raven_mn.ts +++ b/src/qt/locale/bitcoin_mn.ts @@ -60,7 +60,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... &Зурвас хавсаргах... @@ -126,7 +126,7 @@ Оношилгоо ба засварын консолыг онгойлго - Raven + BLAST Биткойн @@ -546,7 +546,7 @@ WalletView - raven-core + blast-core Options: Сонголтууд: diff --git a/src/qt/locale/raven_ms_MY.ts b/src/qt/locale/bitcoin_ms_MY.ts similarity index 95% rename from src/qt/locale/raven_ms_MY.ts rename to src/qt/locale/bitcoin_ms_MY.ts index 4efffad54a..6f808a0cde 100644 --- a/src/qt/locale/raven_ms_MY.ts +++ b/src/qt/locale/bitcoin_ms_MY.ts @@ -63,12 +63,12 @@ Alihkan fail data ke dalam tab semasa alamat-alamat penerimaan - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Ini adalah alamat Raven anda untuk pembayaran. Periksa jumlah dan alamat penerima sebelum membuat penghantaran koin sentiasa. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Ini adalah alamat BLAST anda untuk pembayaran. Periksa jumlah dan alamat penerima sebelum membuat penghantaran koin sentiasa. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Ini adalah alamat Raven anda untuk menerima pembayaraan. Anda disyorkan untuk menguna alamat menerima untuk setiap transaksi. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Ini adalah alamat BLAST anda untuk menerima pembayaraan. Anda disyorkan untuk menguna alamat menerima untuk setiap transaksi. &Copy Address @@ -169,8 +169,8 @@ Alihkan fail data ke dalam tab semasa Mengesahkan enkripsi dompet - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Amaran: Jika anda enkripkan dompet anda dan hilangkan frasa laluan, anda akan <b>ANDA AKAN HILANGKAN SEMUA RAVEN ANDA</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Amaran: Jika anda enkripkan dompet anda dan hilangkan frasa laluan, anda akan <b>ANDA AKAN HILANGKAN SEMUA BLAST ANDA</b>! Are you sure you wish to encrypt your wallet? @@ -181,8 +181,8 @@ Alihkan fail data ke dalam tab semasa Dompet dienkripsi - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 akan tutup untuk menyelesaikan proses enkripsi. Ingat bahawa enkripsi tidak boleh melidungi sepenuhnya ravens anda daripada dicuri oleh malware yang menjangkiti komputer anda. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 akan tutup untuk menyelesaikan proses enkripsi. Ingat bahawa enkripsi tidak boleh melidungi sepenuhnya BLAST anda daripada dicuri oleh malware yang menjangkiti komputer anda. 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. @@ -233,7 +233,7 @@ Alihkan fail data ke dalam tab semasa - RavenGUI + BlastGUI Sign &message... Tandatangan & mesej... @@ -323,8 +323,8 @@ Alihkan fail data ke dalam tab semasa Reindexi blok pada cakera... - Send coins to a Raven address - Menghantar koin kepada alamat Raven + Send coins to a BLAST address + Menghantar koin kepada alamat BLAST Backup wallet to another location @@ -500,6 +500,6 @@ Alihkan fail data ke dalam tab semasa - raven-core + blast-core \ No newline at end of file diff --git a/src/qt/locale/raven_nb.ts b/src/qt/locale/bitcoin_nb.ts similarity index 96% rename from src/qt/locale/raven_nb.ts rename to src/qt/locale/bitcoin_nb.ts index f805aadb71..41ebdd21a3 100644 --- a/src/qt/locale/raven_nb.ts +++ b/src/qt/locale/bitcoin_nb.ts @@ -62,12 +62,12 @@ Mottaksadresser - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Dette er dine Raven-adresser for sending av betalinger. Sjekk alltid beløpet og mottakeradressen før sending av mynter. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Dette er dine BLAST-adresser for sending av betalinger. Sjekk alltid beløpet og mottakeradressen før sending av mynter. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Dette er dine Raven-adresser for å sende betalinger med. Det er anbefalt å bruke en ny mottaksadresse for hver transaksjon. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Dette er dine BLAST-adresser for å sende betalinger med. Det er anbefalt å bruke en ny mottaksadresse for hver transaksjon. &Copy Address @@ -168,8 +168,8 @@ Bekreft kryptering av lommebok - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Advarsel: Hvis du krypterer lommeboken og mister adgangsfrasen, så vil du <b>MISTE ALLE DINE RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Advarsel: Hvis du krypterer lommeboken og mister adgangsfrasen, så vil du <b>MISTE ALLE DINE BLAST</b>! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Lommebok kryptert - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 vil nå lukkes for å fullføre krypteringsprosessen. Husk at kryptering av lommeboken ikke fullt ut kan beskytte dine ravens fra å bli stjålet om skadevare infiserer datamaskinen din. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 vil nå lukkes for å fullføre krypteringsprosessen. Husk at kryptering av lommeboken ikke fullt ut kan beskytte dine BLAST fra å bli stjålet om skadevare infiserer datamaskinen din. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Signer &melding... @@ -334,8 +334,8 @@ Reindekserer blokker på harddisk... - Send coins to a Raven address - Send til en Raven-adresse + Send coins to a BLAST address + Send til en BLAST-adresse Backup wallet to another location @@ -358,8 +358,8 @@ &Verifiser melding... - Raven - Raven + BLAST + BLAST Wallet @@ -386,12 +386,12 @@ Krypter de private nøklene som tilhører lommeboken din - Sign messages with your Raven addresses to prove you own them - Signer en melding med Raven-adressene dine for å bevise at du eier dem + Sign messages with your BLAST addresses to prove you own them + Signer en melding med BLAST-adressene dine for å bevise at du eier dem - Verify messages to ensure they were signed with specified Raven addresses - Bekreft meldinger for å være sikker på at de ble signert av en angitt Raven-adresse + Verify messages to ensure they were signed with specified BLAST addresses + Bekreft meldinger for å være sikker på at de ble signert av en angitt BLAST-adresse &File @@ -410,8 +410,8 @@ Verktøylinje for faner - Request payments (generates QR codes and raven: URIs) - Forespør betalinger (genererer QR-koder og raven: URIer) + Request payments (generates QR codes and blast: URIs) + Forespør betalinger (genererer QR-koder og blast: URIer) Show the list of used sending addresses and labels @@ -422,16 +422,16 @@ Vis listen over bruke mottaksadresser og merkelapper - Open a raven: URI or payment request - Åpne en Raven: URI eller betalingsetterspørring + Open a blast: URI or payment request + Åpne en Blast: URI eller betalingsetterspørring &Command-line options &Kommandolinjevalg - %n active connection(s) to Raven network - %n aktiv forbindelse til Raven-nettverket%n aktive forbindelser til Raven-nettverket + %n active connection(s) to BLAST network + %n aktiv forbindelse til BLAST-nettverket%n aktive forbindelser til BLAST-nettverket Processed %n block(s) of transaction history. @@ -524,8 +524,8 @@ Lommeboken er <b>kryptert</b> og for tiden <b>låst</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - En fatal feil har inntruffet. Raven kan ikke lenger trygt fortsette, og må derfor avslutte. + A fatal error occurred. BLAST can no longer continue safely and will quit. + En fatal feil har inntruffet. BLAST kan ikke lenger trygt fortsette, og må derfor avslutte. @@ -952,16 +952,16 @@ &Bruk ubekreftet veksel - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Åpne automatisk Raven klientporten på ruteren. Dette virker kun om din ruter støtter UPnP og dette er påslått. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Åpne automatisk BLAST klientporten på ruteren. Dette virker kun om din ruter støtter UPnP og dette er påslått. Map port using &UPnP Sett opp port ved hjelp av &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Koble til Raven-nettverket gjennom en SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Koble til BLAST-nettverket gjennom en SOCKS5 proxy. &Connect through SOCKS5 proxy (default proxy): @@ -1000,8 +1000,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Koble til Raven-nettverket gjennom en separat SOCKS5 mellomtjener for Tor skjulte tjenester. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Koble til BLAST-nettverket gjennom en separat SOCKS5 mellomtjener for Tor skjulte tjenester. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1045,7 +1045,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Velg standard delt enhet for visning i grensesnittet og for sending av ravens. + Velg standard delt enhet for visning i grensesnittet og for sending av BLAST. Whether to show coin control features or not. @@ -1095,8 +1095,8 @@ Skjema - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Informasjonen som vises kan være foreldet. Din lommebok synkroniseres automatisk med Raven-nettverket etter at tilkobling er opprettet, men denne prosessen er ikke ferdig enda. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Informasjonen som vises kan være foreldet. Din lommebok synkroniseres automatisk med BLAST-nettverket etter at tilkobling er opprettet, men denne prosessen er ikke ferdig enda. Watch-only: @@ -1184,8 +1184,8 @@ Beløp - Enter a Raven address (e.g. %1) - Oppgi en Raven-adresse (f.eks. %1) + Enter a BLAST address (e.g. %1) + Oppgi en BLAST-adresse (f.eks. %1) %1 d @@ -1560,8 +1560,8 @@ Gj&enbruk en eksisterende mottaksadresse (ikke anbefalt) - 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 Raven network. - En valgfri melding å tilknytte betalingsetterspørringen, som vil bli vist når forespørselen er åpnet. Meldingen vil ikke bli sendt med betalingen over Raven-nettverket. + 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 BLAST network. + En valgfri melding å tilknytte betalingsetterspørringen, som vil bli vist når forespørselen er åpnet. Meldingen vil ikke bli sendt med betalingen over BLAST-nettverket. An optional label to associate with the new receiving address. @@ -1666,7 +1666,7 @@ SendCoinsDialog Send Coins - Send Ravens + Send BLAST Coin Control Features @@ -1745,8 +1745,8 @@ minstebeløp - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Betaling av bare minimumsavgiften går helt fint så lenge det er mindre transaksjonsvolum enn plass i blokkene. Men vær klar over at dette kan ende opp i en transaksjon som aldri blir bekreftet når det er mer etterspørsel etter Raven-transaksjoner enn nettverket kan behandle. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Betaling av bare minimumsavgiften går helt fint så lenge det er mindre transaksjonsvolum enn plass i blokkene. Men vær klar over at dette kan ende opp i en transaksjon som aldri blir bekreftet når det er mer etterspørsel etter BLAST-transaksjoner enn nettverket kan behandle. (read the tooltip) @@ -1852,8 +1852,8 @@ Dette er en normal betaling. - The Raven address to send the payment to - Raven-adressen betalingen skal sendes til + The BLAST address to send the payment to + BLAST-adressen betalingen skal sendes til Alt+A @@ -1872,8 +1872,8 @@ Fjern denne oppføringen - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Gebyret vil bli trukket fra beløpet som blir sendt. Mottakeren vil motta mindre ravens enn det du skriver inn i beløpsfeltet. Hvis det er valgt flere mottakere, deles gebyret likt. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Gebyret vil bli trukket fra beløpet som blir sendt. Mottakeren vil motta mindre BLAST enn det du skriver inn i beløpsfeltet. Hvis det er valgt flere mottakere, deles gebyret likt. S&ubtract fee from amount @@ -1896,8 +1896,8 @@ Skriv inn en merkelapp for denne adressen for å legge den til listen av brukte adresser - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - En melding som var tilknyttet ravenen: URI vil bli lagret med transaksjonen for din oversikt. Denne meldingen vil ikke bli sendt over Raven-nettverket. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + En melding som var tilknyttet blasten: URI vil bli lagret med transaksjonen for din oversikt. Denne meldingen vil ikke bli sendt over BLAST-nettverket. Pay To: @@ -1937,12 +1937,12 @@ &Signer Melding - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Du kan signere meldinger/avtaler med adresser for å bevise at du kan motta ravens sendt til dem. Vær forsiktig med å signere noe vagt eller tilfeldig, siden phishing-angrep kan prøve å lure deg til å signere din identitet over til dem. Bare signer fullt detaljerte utsagn som du er enig i. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Du kan signere meldinger/avtaler med adresser for å bevise at du kan motta BLAST sendt til dem. Vær forsiktig med å signere noe vagt eller tilfeldig, siden phishing-angrep kan prøve å lure deg til å signere din identitet over til dem. Bare signer fullt detaljerte utsagn som du er enig i. - The Raven address to sign the message with - Raven-adressen meldingen skal signeres med + The BLAST address to sign the message with + BLAST-adressen meldingen skal signeres med Choose previously used address @@ -1973,8 +1973,8 @@ Kopier valgt signatur til utklippstavle - Sign the message to prove you own this Raven address - Signer meldingen for å bevise at du eier denne Raven-adressen + Sign the message to prove you own this BLAST address + Signer meldingen for å bevise at du eier denne BLAST-adressen Sign &Message @@ -1997,12 +1997,12 @@ Skriv inn mottakerens adresse, melding (forsikre deg om at du kopier linjeskift, mellomrom, faner osv. nøyaktig) og underskrift nedenfor for å bekrefte meldingen. Vær forsiktig så du ikke leser mer ut av signaturen enn hva som er i den signerte meldingen i seg selv, for å unngå å bli lurt av et man-in-the-middle-angrep. Merk at dette bare beviser at den som signerer kan motta med adressen, dette beviser ikke hvem som har sendt transaksjoner! - The Raven address the message was signed with - Raven-adressen meldingen ble signert med + The BLAST address the message was signed with + BLAST-adressen meldingen ble signert med - Verify the message to ensure it was signed with the specified Raven address - Verifiser meldingen for å være sikker på at den ble signert av den angitte Raven-adressen + Verify the message to ensure it was signed with the specified BLAST address + Verifiser meldingen for å være sikker på at den ble signert av den angitte BLAST-adressen Verify &Message @@ -2188,7 +2188,7 @@ WalletView - raven-core + blast-core Options: Innstillinger: @@ -2246,8 +2246,8 @@ Kunne ikke starte HTTP server. Se debug logg for detaljer. - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_ne.ts b/src/qt/locale/bitcoin_ne.ts similarity index 97% rename from src/qt/locale/raven_ne.ts rename to src/qt/locale/bitcoin_ne.ts index 14a6fc1ed6..4008287f06 100644 --- a/src/qt/locale/raven_ne.ts +++ b/src/qt/locale/bitcoin_ne.ts @@ -93,7 +93,7 @@ - RavenGUI + BlastGUI Sign &message... सन्देशमा &amp;हस्ताक्षर गर्नुहोस्... @@ -183,7 +183,7 @@ डिस्कमा ब्लकलाई पुनः सूचीकरण गरिँदै... - Send coins to a Raven address + Send coins to a BLAST address बिटकोइन ठेगानामा सिक्का पठाउनुहोस् @@ -227,7 +227,7 @@ Intro - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. %1 ले बिटकोइन ब्लक चेनको एउटा प्रतिलिपि डाउनलोड र भण्डारण गर्नेछ । यो निर्देशिकामा कम्तिमा पनि %2GB डाटा भण्डारण गरिनेछ, र यो समयसँगै बढ्नेछ । वालेटलाई पनि यो निर्देशिकामा भण्डारण गरिनेछ । @@ -247,7 +247,7 @@ OverviewPage - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. देखाइएको सूचना पूरानो हुन सक्छ । कनेक्सन स्थापित भएपछि, तपाईंको वालेट बिटकोइन नेटवर्कमा स्वचालित रूपमा समिकरण हुन्छ , तर यो प्रक्रिया अहिले सम्म पूरा भएको छैन । @@ -312,7 +312,7 @@ रकम - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) कृपया बिटकोइन ठेगाना प्रवेश गर्नुहोस् (उदाहरण %1) @@ -356,7 +356,7 @@ पहिला प्रयोग गरिएको ठेगाना प्रयोग गर्नुहोस् - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. पठाइँदै गरेको रकमबाट शुल्क कटौती गरिनेछ । प्राप्तकर्ताले तपाईंले रकम क्षेत्रमा प्रवेष गरेको भन्दा थोरै बिटकोइन प्राप्त गर्ने छन् । धेरै प्राप्तकर्ता चयन गरिएको छ भने समान रूपमा शुल्क विभाजित गरिनेछ । @@ -364,7 +364,7 @@ यो ठेगानालाई प्रयोग गरिएको ठेगानाको सूचीमा थप्न एउटा लेबल प्रविष्ट गर्नुहोस् - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. बिटकोइनमा संलग्न गरिएको सन्देश: तपाईंको मध्यस्थको लागि कारोबारको साथमा भण्डारण गरिने URI । नोट: यो सन्देश बिटकोइन नेटवर्क मार्फत पठाइने छैन । @@ -377,7 +377,7 @@ SignVerifyMessageDialog - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. आफ्नो ठेगानामा पठाइएको बिटकोइन प्राप्त गर्न सकिन्छ भनेर प्रमाणित गर्न तपाईंले ती ठेगानाले सन्देश/सम्झौताहरूमा हस्ताक्षर गर्न सक्नुहुन्छ । फिसिङ आक्रमणले तपाईंलाई छक्याएर अरूका लागि तपाईंको परिचयमा हस्ताक्षर गराउने प्रयास गर्न सक्ने भएकाले अस्पष्ट वा जथाभावीमा हस्ताक्षर गर्दा ध्यान दिनुहोस् । आफू सहमत भएको पूर्ण विस्तृत-कथनमा मात्र हस्ताक्षर गर्नुहोस् । @@ -438,7 +438,7 @@ - raven-core + blast-core Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup वालेटको सबै कारोबार मेटाउनुहोस् र -स्टार्टअपको पुनः स्क्यान मार्फत ब्लकचेनका ती भागहरूलाई मात्र पुनः प्राप्त गर्नुहोस् diff --git a/src/qt/locale/raven_nl.ts b/src/qt/locale/bitcoin_nl.ts similarity index 96% rename from src/qt/locale/raven_nl.ts rename to src/qt/locale/bitcoin_nl.ts index 2c29d90eac..fc88ddc3de 100644 --- a/src/qt/locale/raven_nl.ts +++ b/src/qt/locale/bitcoin_nl.ts @@ -62,12 +62,12 @@ Ontvangstadressen - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Dit zijn uw Ravenadressen om betalingen mee te verzenden. Controleer altijd het bedrag en het ontvangstadres voordat u uw ravens verzendt. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Dit zijn uw Blastadressen om betalingen mee te verzenden. Controleer altijd het bedrag en het ontvangstadres voordat u uw BLAST verzendt. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Dit zijn uw Raven-adressen waarmee u betalingen kunt ontvangen. We raden u aan om een nieuw ontvangstadres voor elke transactie te gebruiken. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Dit zijn uw BLAST-adressen waarmee u betalingen kunt ontvangen. We raden u aan om een nieuw ontvangstadres voor elke transactie te gebruiken. &Copy Address @@ -168,8 +168,8 @@ Bevestig versleuteling van de portemonnee - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Waarschuwing: Als u uw portemonnee versleutelt en uw wachtwoord vergeet, zult u <b>AL UW RAVENS VERLIEZEN</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Waarschuwing: Als u uw portemonnee versleutelt en uw wachtwoord vergeet, zult u <b>AL UW BLAST VERLIEZEN</b>! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Portemonnee versleuteld - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 zal nu afsluiten om het versleutelingsproces te voltooien. Onthoud dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw ravens stelen. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 zal nu afsluiten om het versleutelingsproces te voltooien. Onthoud dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw BLAST stelen. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... &Onderteken bericht... @@ -338,8 +338,8 @@ Bezig met herindexeren van blokken op harde schijf... - Send coins to a Raven address - Verstuur munten naar een Ravenadres + Send coins to a BLAST address + Verstuur munten naar een Blastadres Backup wallet to another location @@ -362,8 +362,8 @@ &Verifiëer bericht... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Versleutel de geheime sleutels die bij uw portemonnee horen - Sign messages with your Raven addresses to prove you own them - Onderteken berichten met uw Ravenadressen om te bewijzen dat u deze adressen bezit + Sign messages with your BLAST addresses to prove you own them + Onderteken berichten met uw Blastadressen om te bewijzen dat u deze adressen bezit - Verify messages to ensure they were signed with specified Raven addresses - Verifiëer handtekeningen om zeker te zijn dat de berichten zijn ondertekend met de gespecificeerde Ravenadressen + Verify messages to ensure they were signed with specified BLAST addresses + Verifiëer handtekeningen om zeker te zijn dat de berichten zijn ondertekend met de gespecificeerde Blastadressen &File @@ -414,8 +414,8 @@ Tab-werkbalk - Request payments (generates QR codes and raven: URIs) - Vraag betaling aan (genereert QR-codes en raven: URI's) + Request payments (generates QR codes and blast: URIs) + Vraag betaling aan (genereert QR-codes en blast: URI's) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Toon de lijst met gebruikte ontvangst adressen en labels - Open a raven: URI or payment request - Open een raven: URI of betalingsverzoek + Open a blast: URI or payment request + Open een blast: URI of betalingsverzoek &Command-line options &Opdrachtregelopties - %n active connection(s) to Raven network - %n actieve verbinding met Ravennetwerk%n actieve verbindingen met Ravennetwerk + %n active connection(s) to BLAST network + %n actieve verbinding met Blastnetwerk%n actieve verbindingen met Blastnetwerk Indexing blocks on disk... @@ -478,8 +478,8 @@ Bijgewerkt - Show the %1 help message to get a list with possible Raven command-line options - Toon het %1 hulpbericht om een lijst te krijgen met mogelijke Raven commandoregelopties + Show the %1 help message to get a list with possible BLAST command-line options + Toon het %1 hulpbericht om een lijst te krijgen met mogelijke BLAST commandoregelopties %1 client @@ -548,8 +548,8 @@ Portemonnee is <b>versleuteld</b> en momenteel <b>gesloten</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Een fatale fout heeft zich voorgedaan. Raven kan niet veilig worden verdergezet en wordt afgesloten. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Een fatale fout heeft zich voorgedaan. BLAST kan niet veilig worden verdergezet en wordt afgesloten. @@ -742,8 +742,8 @@ Bewerk verzendadres - The entered address "%1" is not a valid Raven address. - Het opgegeven adres "%1" is een ongeldig Ravenadres. + The entered address "%1" is not a valid BLAST address. + Het opgegeven adres "%1" is een ongeldig Blastadres. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Omdat dit de eerste keer is dat het programma gestart is, kunt u nu kiezen waar %1 de data moet opslaan. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 zal een kopie van de Raven blokketen downloaden en opslaan. Tenminste %2 GB aan data wordt opgeslagen in deze map en het zal groeien in de tijd. De portemonnee wordt ook in deze map opgeslagen. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 zal een kopie van de BLAST blokketen downloaden en opslaan. Tenminste %2 GB aan data wordt opgeslagen in deze map en het zal groeien in de tijd. De portemonnee wordt ook in deze map opgeslagen. Use the default data directory @@ -886,12 +886,12 @@ Vorm - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Recente transacties zijn mogelijk nog niet zichtbaar. De balans van de geldbeugel is daarom mogelijk niet correct. Deze informatie is correct van zodra de synchronisatie met het Raven-netwerk werd voltooid, zoals onderaan beschreven. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Recente transacties zijn mogelijk nog niet zichtbaar. De balans van de geldbeugel is daarom mogelijk niet correct. Deze informatie is correct van zodra de synchronisatie met het BLAST-netwerk werd voltooid, zoals onderaan beschreven. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Poging om ravens te besteden die door "nog niet weergegeven" transacties worden beïnvloed, worden niet door het netwerk geaccepteerd. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Poging om BLAST te besteden die door "nog niet weergegeven" transacties worden beïnvloed, worden niet door het netwerk geaccepteerd. Number of blocks left @@ -1048,16 +1048,16 @@ &Spendeer onbevestigd wisselgeld - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Open de Ravenpoort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt en het aanstaat. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Open de Blastpoort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt en het aanstaat. Map port using &UPnP Portmapping via &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Verbind met het Ravennetwerk via een SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Verbind met het Blastnetwerk via een SOCKS5 proxy. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Maak verbinding met Ravennetwerk door een aparte SOCKS5-proxy voor verborgen diensten van Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Maak verbinding met Blastnetwerk door een aparte SOCKS5-proxy voor verborgen diensten van Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1195,8 +1195,8 @@ Vorm - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - De weergegeven informatie kan verouderd zijn. Uw portemonnee synchroniseert automatisch met het Ravennetwerk nadat een verbinding is gelegd, maar dit proces is nog niet voltooid. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + De weergegeven informatie kan verouderd zijn. Uw portemonnee synchroniseert automatisch met het Blastnetwerk nadat een verbinding is gelegd, maar dit proces is nog niet voltooid. Watch-only: @@ -1270,8 +1270,8 @@ Fout bij betalingsverzoek - Cannot start raven: click-to-pay handler - Kan raven niet starten: click-to-pay handler + Cannot start blast: click-to-pay handler + Kan BLAST niet starten: click-to-pay handler URI handling @@ -1286,8 +1286,8 @@ Ongeldig betalingsadres %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI kan niet verwerkt worden! Dit kan het gevolg zijn van een ongeldig Raven adres of misvormde URI parameters. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI kan niet verwerkt worden! Dit kan het gevolg zijn van een ongeldig BLAST adres of misvormde URI parameters. Payment request file handling @@ -1380,8 +1380,8 @@ Bedrag - Enter a Raven address (e.g. %1) - Voer een Ravenadres in (bijv. %1) + Enter a BLAST address (e.g. %1) + Voer een Blastadres in (bijv. %1) %1 d @@ -1804,8 +1804,8 @@ H&ergebruik en bestaand ontvangstadres (niet aanbevolen) - 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 Raven network. - Een optioneel bericht om bij te voegen aan het betalingsverzoek, welke zal getoond worden wanneer het verzoek is geopend. Opmerking: Het bericht zal niet worden verzonden met de betaling over het Ravennetwerk. + 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 BLAST network. + Een optioneel bericht om bij te voegen aan het betalingsverzoek, welke zal getoond worden wanneer het verzoek is geopend. Opmerking: Het bericht zal niet worden verzonden met de betaling over het Blastnetwerk. An optional label to associate with the new receiving address. @@ -2037,8 +2037,8 @@ totaal ten minste - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - De minimale toeslag betalen is prima mits het transactievolume kleiner is dan de ruimte in de blokken. Let wel op dat dit tot gevolg kan hebben dat een transactie nooit wordt bevestigd als er meer vraag is naar raventransacties dan het netwerk kan verwerken. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + De minimale toeslag betalen is prima mits het transactievolume kleiner is dan de ruimte in de blokken. Let wel op dat dit tot gevolg kan hebben dat een transactie nooit wordt bevestigd als er meer vraag is naar blasttransacties dan het netwerk kan verwerken. (read the tooltip) @@ -2201,8 +2201,8 @@ Schatting is dat bevestiging begint over %n blok.Schatting is dat bevestiging begint over %n blokken. - Warning: Invalid Raven address - Waarschuwing: Ongeldig Ravenadres + Warning: Invalid BLAST address + Waarschuwing: Ongeldig Blastadres Warning: Unknown change address @@ -2244,8 +2244,8 @@ Dit is een normale betaling. - The Raven address to send the payment to - Het Ravenadres om betaling aan te versturen + The BLAST address to send the payment to + Het Blastadres om betaling aan te versturen Alt+A @@ -2264,8 +2264,8 @@ Verwijder deze toevoeging - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - De transactiekosten zal worden afgetrokken van het bedrag dat verstuurd wordt. De ontvangers zullen minder ravens ontvangen dan ingevoerd is in het hoeveelheidsveld. Als er meerdere ontvangers geselecteerd zijn, dan worden de transactiekosten gelijk verdeeld. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + De transactiekosten zal worden afgetrokken van het bedrag dat verstuurd wordt. De ontvangers zullen minder BLAST ontvangen dan ingevoerd is in het hoeveelheidsveld. Als er meerdere ontvangers geselecteerd zijn, dan worden de transactiekosten gelijk verdeeld. S&ubtract fee from amount @@ -2288,8 +2288,8 @@ Vul een label voor dit adres in om het aan de lijst met gebruikte adressen toe te voegen - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Een bericht dat werd toegevoegd aan de raven: URI welke wordt opgeslagen met de transactie ter referentie. Opmerking: Dit bericht zal niet worden verzonden over het Ravennetwerk. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Een bericht dat werd toegevoegd aan de blast: URI welke wordt opgeslagen met de transactie ter referentie. Opmerking: Dit bericht zal niet worden verzonden over het Blastnetwerk. Pay To: @@ -2333,12 +2333,12 @@ &Onderteken Bericht - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - U kunt berichten/overeenkomsten ondertekenen met uw adres om te bewijzen dat u Ravens kunt versturen. Wees voorzichtig met het ondertekenen van iets vaags of willekeurigs, omdat phishingaanvallen u kunnen proberen te misleiden tot het ondertekenen van overeenkomsten om uw identiteit aan hen toe te vertrouwen. Onderteken alleen volledig gedetailleerde verklaringen voordat u akkoord gaat. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + U kunt berichten/overeenkomsten ondertekenen met uw adres om te bewijzen dat u BLAST kunt versturen. Wees voorzichtig met het ondertekenen van iets vaags of willekeurigs, omdat phishingaanvallen u kunnen proberen te misleiden tot het ondertekenen van overeenkomsten om uw identiteit aan hen toe te vertrouwen. Onderteken alleen volledig gedetailleerde verklaringen voordat u akkoord gaat. - The Raven address to sign the message with - Het Ravenadres om bericht mee te ondertekenen + The BLAST address to sign the message with + Het Blastadres om bericht mee te ondertekenen Choose previously used address @@ -2369,8 +2369,8 @@ Kopieer de huidige handtekening naar het systeemklembord - Sign the message to prove you own this Raven address - Onderteken een bericht om te bewijzen dat u een bepaald Ravenadres bezit + Sign the message to prove you own this BLAST address + Onderteken een bericht om te bewijzen dat u een bepaald Blastadres bezit Sign &Message @@ -2393,12 +2393,12 @@ Voer het adres van de ontvanger in, bericht (zorg ervoor dat de regeleinden, spaties, tabs etc. precies kloppen) en onderteken onderaan om het bericht te verifiëren. Wees voorzicht om niet meer in de ondertekening te lezen dan in het getekende bericht zelf, om te voorkomen dat je wordt aangevallen met een man-in-the-middle attack. Houd er mee rekening dat dit alleen de ondertekende partij bewijst met het ontvangen adres, er kan niet bewezen worden dat er een transactie heeft plaatsgevonden! - The Raven address the message was signed with - Het Ravenadres waarmee het bericht ondertekend is + The BLAST address the message was signed with + Het Blastadres waarmee het bericht ondertekend is - Verify the message to ensure it was signed with the specified Raven address - Controleer een bericht om te verifiëren dat het gespecificeerde Ravenadres het bericht heeft ondertekend. + Verify the message to ensure it was signed with the specified BLAST address + Controleer een bericht om te verifiëren dat het gespecificeerde Blastadres het bericht heeft ondertekend. Verify &Message @@ -2984,7 +2984,7 @@ - raven-core + blast-core Options: Opties: @@ -3054,8 +3054,8 @@ Niet mogelijk ok HTTP-server te starten. Zie debuglogboek voor details. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_pam.ts b/src/qt/locale/bitcoin_pam.ts similarity index 97% rename from src/qt/locale/raven_pam.ts rename to src/qt/locale/bitcoin_pam.ts index 3ca3b6e545..5865a129fd 100644 --- a/src/qt/locale/raven_pam.ts +++ b/src/qt/locale/bitcoin_pam.ts @@ -60,7 +60,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... I-sign ing &mensayi @@ -122,8 +122,8 @@ Address king pamag-Tanggap - Send coins to a Raven address - Magpadalang barya king Raven address + Send coins to a BLAST address + Magpadalang barya king BLAST address Backup wallet to another location @@ -146,8 +146,8 @@ &Beripikan ing message... - Raven - Raven + BLAST + BLAST Wallet @@ -322,8 +322,8 @@ &Network - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Ibuklat yang antimanu ing Raven client port king router. Gagana yamu ini istung ing router mu susuporta yang UPnP at magsilbi ya. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Ibuklat yang antimanu ing BLAST client port king router. Gagana yamu ini istung ing router mu susuporta yang UPnP at magsilbi ya. Map port using &UPnP @@ -397,8 +397,8 @@ Form - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Ing makaltong impormasion mapalyaring luma ne. Ing kekang wallet otomatiku yang mag-synchronize keng Raven network istung mekakonekta ne king network, oneng ing prosesung ini ali ya pa kumpletu. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Ing makaltong impormasion mapalyaring luma ne. Ing kekang wallet otomatiku yang mag-synchronize keng BLAST network istung mekakonekta ne king network, oneng ing prosesung ini ali ya pa kumpletu. Your current spendable balance @@ -655,8 +655,8 @@ Kopyan ing kasalungsungan pirma king system clipboard - Sign the message to prove you own this Raven address - Pirman ing mensayi ban patune na keka ya ining Raven address + Sign the message to prove you own this BLAST address + Pirman ing mensayi ban patune na keka ya ining BLAST address Sign &Message @@ -675,8 +675,8 @@ &Beripikan ing Mensayi - Verify the message to ensure it was signed with the specified Raven address - Beripikan ing mensayi ban asiguradu a me pirma ya ini gamit ing mepiling Raven address + Verify the message to ensure it was signed with the specified BLAST address + Beripikan ing mensayi ban asiguradu a me pirma ya ini gamit ing mepiling BLAST address Verify &Message @@ -726,7 +726,7 @@ WalletView - raven-core + blast-core Options: Pipamilian: @@ -752,8 +752,8 @@ Gumana king gulut bilang daemon at tumanggap commands - Raven Core - Kapilubluban ning Raven + BLAST Core + Kapilubluban ning BLAST Block creation options: diff --git a/src/qt/locale/raven_pl.ts b/src/qt/locale/bitcoin_pl.ts similarity index 96% rename from src/qt/locale/raven_pl.ts rename to src/qt/locale/bitcoin_pl.ts index 766d914f28..d5510ebd35 100644 --- a/src/qt/locale/raven_pl.ts +++ b/src/qt/locale/bitcoin_pl.ts @@ -62,12 +62,12 @@ Adresy odbioru - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Tutaj znajdują się adresy Raven na które wysyłasz płatności. Zawsze sprawdzaj ilość i adres odbiorcy przed wysyłką monet. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Tutaj znajdują się adresy BLAST na które wysyłasz płatności. Zawsze sprawdzaj ilość i adres odbiorcy przed wysyłką monet. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - To są twoje adresy Raven do odbierania płatności. Zaleca się używanie nowych adresów odbiorczych dla każdej transakcji. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + To są twoje adresy BLAST do odbierania płatności. Zaleca się używanie nowych adresów odbiorczych dla każdej transakcji. &Copy Address @@ -168,8 +168,8 @@ Potwierdź szyfrowanie portfela - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Uwaga: jeśli zaszyfrujesz swój portfel i zgubisz hasło <b>STRACISZ WSZYSTKIE SWOJE RAVENY</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Uwaga: jeśli zaszyfrujesz swój portfel i zgubisz hasło <b>STRACISZ WSZYSTKIE SWOJE BLASTY</b>! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Portfel zaszyfrowany - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 zamknie się aby dokończyć proces szyfrowania. Pamiętaj, że szyfrowanie portfela nie zabezpiecza w pełni Twoich ravenów przed kradzieżą przez wirusy lub trojany mogące zainfekować Twój komputer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 zamknie się aby dokończyć proces szyfrowania. Pamiętaj, że szyfrowanie portfela nie zabezpiecza w pełni Twoich blastów przed kradzieżą przez wirusy lub trojany mogące zainfekować Twój komputer. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Podpisz wiado&mość... @@ -338,8 +338,8 @@ Ponowne indeksowanie bloków na dysku... - Send coins to a Raven address - Wyślij monety na adres ravenowy + Send coins to a BLAST address + Wyślij monety na adres blastowy Backup wallet to another location @@ -362,8 +362,8 @@ &Zweryfikuj wiadomość... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Szyfruj klucze prywatne, które są w twoim portfelu - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them Podpisz wiadomości swoim adresem aby udowodnić jego posiadanie - Verify messages to ensure they were signed with specified Raven addresses - Zweryfikuj wiadomość, aby upewnić się, że została podpisana podanym adresem ravenowym. + Verify messages to ensure they were signed with specified BLAST addresses + Zweryfikuj wiadomość, aby upewnić się, że została podpisana podanym adresem blastowym. &File @@ -414,8 +414,8 @@ Pasek zakładek - Request payments (generates QR codes and raven: URIs) - Żądaj płatności (generuje kod QR oraz ravenowe URI) + Request payments (generates QR codes and blast: URIs) + Żądaj płatności (generuje kod QR oraz blastowe URI) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Pokaż listę adresów i etykiet użytych do odbierania - Open a raven: URI or payment request - Otwórz URI raven: lub żądanie zapłaty + Open a blast: URI or payment request + Otwórz URI blast: lub żądanie zapłaty &Command-line options &Opcje linii komend - %n active connection(s) to Raven network - %n aktywnych połączeń do sieci Raven%n aktywnych połączeń do sieci Raven%n aktywnych połączeń do sieci Raven%n aktywnych połączeń do sieci Raven + %n active connection(s) to BLAST network + %n aktywnych połączeń do sieci BLAST%n aktywnych połączeń do sieci BLAST%n aktywnych połączeń do sieci BLAST%n aktywnych połączeń do sieci BLAST Indexing blocks on disk... @@ -478,7 +478,7 @@ Aktualny - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options Pokaż pomoc %1 aby zobaczyć listę wszystkich opcji lnii poleceń. @@ -548,8 +548,8 @@ Portfel jest <b>zaszyfrowany</b> i obecnie <b>zablokowany</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Wystąpił krytyczny błąd. Raven nie jest w stanie kontynuować bezpiecznie i zostanie zamknięty. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Wystąpił krytyczny błąd. BLAST nie jest w stanie kontynuować bezpiecznie i zostanie zamknięty. @@ -742,8 +742,8 @@ Zmień adres wysyłania - The entered address "%1" is not a valid Raven address. - Wprowadzony adres "%1" nie jest prawidłowym adresem Raven. + The entered address "%1" is not a valid BLAST address. + Wprowadzony adres "%1" nie jest prawidłowym adresem BLAST. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Ponieważ jest to pierwsze uruchomienie programu, możesz wybrać gdzie %1 będzie przechowywał swoje dane. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 pobierze i będzie przechowywał kopię łańcucha bloków Raven. W wybranym katalogu zostanie zapisanych %2GB danych, a z czasem ta ilość będzie rosła. Portfel będzie przechowywany w tym samym katalogu. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 pobierze i będzie przechowywał kopię łańcucha bloków BLAST. W wybranym katalogu zostanie zapisanych %2GB danych, a z czasem ta ilość będzie rosła. Portfel będzie przechowywany w tym samym katalogu. Use the default data directory @@ -886,8 +886,8 @@ Formularz - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Świeże transakcje mogą nie być jeszcze widoczne, a zatem saldo portfela może być nieprawidłowe. Te detale będą poprawne, gdy portfel zakończy synchronizację z siecią raven, zgodnie z poniższym opisem. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Świeże transakcje mogą nie być jeszcze widoczne, a zatem saldo portfela może być nieprawidłowe. Te detale będą poprawne, gdy portfel zakończy synchronizację z siecią BLAST, zgodnie z poniższym opisem. Number of blocks left @@ -1044,16 +1044,16 @@ Wydaj niepotwierdzoną re&sztę - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Automatycznie otwiera port klienta Raven na routerze. Ta opcja dzieła tylko jeśli twój router wspiera UPnP i jest ono włączone. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Automatycznie otwiera port klienta BLAST na routerze. Ta opcja dzieła tylko jeśli twój router wspiera UPnP i jest ono włączone. Map port using &UPnP Mapuj port używając &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Połącz się z siecią Raven poprzez proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Połącz się z siecią BLAST poprzez proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1092,8 +1092,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Połącz się z siecią Raven przy pomocy oddzielnego SOCKS5 proxy dla sieci TOR + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Połącz się z siecią BLAST przy pomocy oddzielnego SOCKS5 proxy dla sieci TOR Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1191,8 +1191,8 @@ Formularz - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Wyświetlana informacja może być nieaktualna. Twój portfel synchronizuje się automatycznie z siecią raven, zaraz po tym jak uzyskano połączenie, ale proces ten nie został jeszcze ukończony. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Wyświetlana informacja może być nieaktualna. Twój portfel synchronizuje się automatycznie z siecią BLAST, zaraz po tym jak uzyskano połączenie, ale proces ten nie został jeszcze ukończony. Watch-only: @@ -1266,8 +1266,8 @@ Błąd żądania płatności - Cannot start raven: click-to-pay handler - Nie można uruchomić protokołu raven: kliknij-by-zapłacić + Cannot start blast: click-to-pay handler + Nie można uruchomić protokołu blast: kliknij-by-zapłacić URI handling @@ -1348,8 +1348,8 @@ Kwota - Enter a Raven address (e.g. %1) - Wprowadź adres ravenowy (np. %1) + Enter a BLAST address (e.g. %1) + Wprowadź adres blastowy (np. %1) %1 d @@ -1760,8 +1760,8 @@ U&żyj ponownie istniejącego adresu odbiorczego (niepolecane) - 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 Raven network. - Opcjonalna wiadomość do dołączenia do żądania płatności, która będzie wyświetlana, gdy żądanie zostanie otwarte. Uwaga: wiadomość ta nie zostanie wysłana wraz z płatnością w sieci Raven. + 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 BLAST network. + Opcjonalna wiadomość do dołączenia do żądania płatności, która będzie wyświetlana, gdy żądanie zostanie otwarte. Uwaga: wiadomość ta nie zostanie wysłana wraz z płatnością w sieci BLAST. An optional label to associate with the new receiving address. @@ -1985,8 +1985,8 @@ razem przynajmniej - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Zapłacenie tylko minimalnej opłaty jest nadal wystarczające, dopóki jest mniejszy wolumen transakcji niż miejsca w blokach. Należy jednak mieć świadomość, że może skończyć się to niezatwierdzeniem nigdy transakcji, gdy jest większe zapotrzebowanie na transakcje ravena niż sieć może przetworzyć. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Zapłacenie tylko minimalnej opłaty jest nadal wystarczające, dopóki jest mniejszy wolumen transakcji niż miejsca w blokach. Należy jednak mieć świadomość, że może skończyć się to niezatwierdzeniem nigdy transakcji, gdy jest większe zapotrzebowanie na transakcje blasta niż sieć może przetworzyć. (read the tooltip) @@ -2129,8 +2129,8 @@ Zapłać tylko wymaganą opłatę w wysokości %1 - Warning: Invalid Raven address - Ostrzeżenie: nieprawidłowy adres Raven + Warning: Invalid BLAST address + Ostrzeżenie: nieprawidłowy adres BLAST Warning: Unknown change address @@ -2164,8 +2164,8 @@ To jest standardowa płatność - The Raven address to send the payment to - Adres Raven gdzie wysłać płatność + The BLAST address to send the payment to + Adres BLAST gdzie wysłać płatność Alt+A @@ -2184,8 +2184,8 @@ Usuń ten wpis - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Opłata zostanie odjęta od kwoty wysyłane.Odbiorca otrzyma mniej niż ravens wpisz w polu kwoty. Jeśli wybrano kilku odbiorców, opłata jest podzielona równo. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Opłata zostanie odjęta od kwoty wysyłane.Odbiorca otrzyma mniej niż BLAST wpisz w polu kwoty. Jeśli wybrano kilku odbiorców, opłata jest podzielona równo. S&ubtract fee from amount @@ -2208,8 +2208,8 @@ Wprowadź etykietę dla tego adresu by dodać go do listy użytych adresów - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Wiadomość, która została dołączona do URI raven:, która będzie przechowywana wraz z transakcją w celach informacyjnych. Uwaga: Ta wiadomość nie będzie rozsyłana w sieci Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Wiadomość, która została dołączona do URI blast:, która będzie przechowywana wraz z transakcją w celach informacyjnych. Uwaga: Ta wiadomość nie będzie rozsyłana w sieci BLAST. Pay To: @@ -2249,12 +2249,12 @@ Podpi&sz Wiadomość - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, 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 swoimi adresami aby udowodnić, że jesteś ich właścicielem. Uważaj, aby nie podpisywać niczego co wzbudza Twoje podejrzenia, ponieważ ktoś może stosować phishing próbując nakłonić Cię do ich podpisania. Akceptuj i podpisuj tylko w pełni zrozumiałe komunikaty i wiadomości. - The Raven address to sign the message with - Adres Raven, za pomocą którego podpisać wiadomość + The BLAST address to sign the message with + Adres BLAST, za pomocą którego podpisać wiadomość Choose previously used address @@ -2285,7 +2285,7 @@ Kopiuje aktualny podpis do schowka systemowego - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Podpisz wiadomość aby dowieść, że ten adres jest twój @@ -2310,12 +2310,12 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadawca posiada klucz do adresu, natomiast nie potwierdza to, że poprawne wysłanie jakiejkolwiek transakcji! - The Raven address the message was signed with - Adres Raven, którym została podpisana wiadomość + The BLAST address the message was signed with + Adres BLAST, którym została podpisana wiadomość - Verify the message to ensure it was signed with the specified Raven address - Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem Raven. + Verify the message to ensure it was signed with the specified BLAST address + Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem BLAST. Verify &Message @@ -2613,7 +2613,7 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw - raven-core + blast-core Options: Opcje: @@ -2671,8 +2671,8 @@ Zwróć uwagę, że poprawnie zweryfikowana wiadomość potwierdza to, że nadaw Uruchomienie serwera HTTP nie powiodło się. Zobacz dziennik debugowania, aby uzyskać więcej szczegółów. - Raven Core - Rdzeń Ravena + BLAST Core + Rdzeń Blasta The %s developers diff --git a/src/qt/locale/raven_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts similarity index 97% rename from src/qt/locale/raven_pt_BR.ts rename to src/qt/locale/bitcoin_pt_BR.ts index a5f3273b23..6f17195cfa 100644 --- a/src/qt/locale/raven_pt_BR.ts +++ b/src/qt/locale/bitcoin_pt_BR.ts @@ -62,11 +62,11 @@ Endereços de recebimento - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. Estes são os seus endereços para enviar pagamentos. Sempre cheque a quantia e o endereço do destinatário antes de enviar moedas. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. Estes são os seus endereços para receber pagamentos. É recomendado usar um novo para cada transação. @@ -168,8 +168,8 @@ Confirmar criptografia da carteira - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Aviso: Se você criptografar sua carteira e perder sua senha, você vai <b>PERDER TODOS OS SEUS RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Aviso: Se você criptografar sua carteira e perder sua senha, você vai <b>PERDER TODOS OS SEUS BLAST</b>! Are you sure you wish to encrypt your wallet? @@ -228,7 +228,7 @@ - RavenGUI + BlastGUI Sign &message... Assinar &mensagem... @@ -334,8 +334,8 @@ Reindexando blocos no disco... - Send coins to a Raven address - Enviar moedas para um endereço raven + Send coins to a BLAST address + Enviar moedas para um endereço BLAST Backup wallet to another location @@ -358,8 +358,8 @@ &Verificar mensagem... - Raven - Raven + BLAST + BLAST Wallet @@ -386,12 +386,12 @@ Criptografar as chaves privadas que pertencem à sua carteira - Sign messages with your Raven addresses to prove you own them - Assine mensagens com seus endereços Raven para provar que você é dono delas + Sign messages with your BLAST addresses to prove you own them + Assine mensagens com seus endereços BLAST para provar que você é dono delas - Verify messages to ensure they were signed with specified Raven addresses - Verificar mensagens para se assegurar que elas foram assinadas pelo dono de Endereços Raven específicos + Verify messages to ensure they were signed with specified BLAST addresses + Verificar mensagens para se assegurar que elas foram assinadas pelo dono de Endereços BLAST específicos &File @@ -410,8 +410,8 @@ Barra de ferramentas - Request payments (generates QR codes and raven: URIs) - Solicitações de pagamentos (gera códigos QR e raven: URIs) + Request payments (generates QR codes and blast: URIs) + Solicitações de pagamentos (gera códigos QR e blast: URIs) Show the list of used sending addresses and labels @@ -422,16 +422,16 @@ Mostrar a lista de endereços de recebimento usados ​​e rótulos - Open a raven: URI or payment request - Abrir um raven: URI ou cobrança + Open a blast: URI or payment request + Abrir um blast: URI ou cobrança &Command-line options Opções de linha de &comando - %n active connection(s) to Raven network - %n conexão ativa na rede Raven%n conexões ativas na rede Raven + %n active connection(s) to BLAST network + %n conexão ativa na rede BLAST%n conexões ativas na rede BLAST Indexing blocks on disk... @@ -474,8 +474,8 @@ Atualizado - Show the %1 help message to get a list with possible Raven command-line options - Mostrar a mensagem de ajuda do %1 para obter uma lista com possíveis opções de linha de comando Raven + Show the %1 help message to get a list with possible BLAST command-line options + Mostrar a mensagem de ajuda do %1 para obter uma lista com possíveis opções de linha de comando BLAST %1 client @@ -544,8 +544,8 @@ Carteira está <b>criptografada</b> e atualmente <b>bloqueada</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Um erro fatal ocorreu. Raven não pode continuar em segurança e irá fechar. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Um erro fatal ocorreu. BLAST não pode continuar em segurança e irá fechar. @@ -738,7 +738,7 @@ Editar endereço de envio - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. O endereço digitado "%1" não é um endereço válido. @@ -847,8 +847,8 @@ Como essa é a primeira vez que o programa é executado, você pode escolher onde %1 armazenará seus dados. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - O %1 irá baixar e armazenar uma cópia do block chain do Raven. Pelo menos %2GB de dados serão armazenados neste diretório, e ele crescerá ao longo do tempo. A carteira também será armazenada neste diretório. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + O %1 irá baixar e armazenar uma cópia do block chain do BLAST. Pelo menos %2GB de dados serão armazenados neste diretório, e ele crescerá ao longo do tempo. A carteira também será armazenada neste diretório. Use the default data directory @@ -882,11 +882,11 @@ Formulário - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. Transações recentes podem não estar visíveis ainda, portanto o seu saldo pode estar incorreto. Esta informação será corrigida assim que sua carteira for sincronizada com a rede, como detalhado abaixo. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. Gastar moedas de transações desconhecidas podem não ser aceitas pela rede. @@ -1044,16 +1044,16 @@ Ga&star mudança não confirmada - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Abrir as portas do cliente Raven automaticamente no roteador. Isto só funcionará se seu roteador suportar UPnP e esta função estiver habilitada. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Abrir as portas do cliente BLAST automaticamente no roteador. Isto só funcionará se seu roteador suportar UPnP e esta função estiver habilitada. Map port using &UPnP Mapear porta usando &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Conectar na rede Raven através de um proxy SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Conectar na rede BLAST através de um proxy SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1092,8 +1092,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Conecte-se à rede Raven através de um proxy SOCKS5 separado para utilizar serviços ocultos Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Conecte-se à rede BLAST através de um proxy SOCKS5 separado para utilizar serviços ocultos Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1141,7 +1141,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Escolha a unidade padrão de subdivisão para interface mostrar quando enviar ravens. + Escolha a unidade padrão de subdivisão para interface mostrar quando enviar BLAST. Whether to show coin control features or not. @@ -1191,8 +1191,8 @@ Formulário - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - A informação mostrada pode estar desatualizada. Sua carteira sincroniza automaticamente com a rede Raven depois que a conexão é estabelecida, mas este processo pode não estar completo ainda. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + A informação mostrada pode estar desatualizada. Sua carteira sincroniza automaticamente com a rede BLAST depois que a conexão é estabelecida, mas este processo pode não estar completo ainda. Watch-only: @@ -1266,8 +1266,8 @@ Erro no pedido de pagamento - Cannot start raven: click-to-pay handler - Não foi possível iniciar raven: manipulador click-to-pay + Cannot start blast: click-to-pay handler + Não foi possível iniciar blast: manipulador click-to-pay URI handling @@ -1282,7 +1282,7 @@ Endereço de pagamento %1 inválido - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. URI não pode ser analisado! Isto pode ser causado por um endereço inválido ou parâmetros URI informados incorretamente. @@ -1376,8 +1376,8 @@ Quantidade - Enter a Raven address (e.g. %1) - Informe um endereço Raven (ex: %1) + Enter a BLAST address (e.g. %1) + Informe um endereço BLAST (ex: %1) %1 d @@ -1800,8 +1800,8 @@ R&eutilize um endereço de recebimento (não recomendado) - 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 Raven network. - Uma mensagem opcional que será anexada na cobrança e será mostrada quando ela for aberta. Nota: A mensagem não será enviada com o pagamento pela rede Raven. + 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 BLAST network. + Uma mensagem opcional que será anexada na cobrança e será mostrada quando ela for aberta. Nota: A mensagem não será enviada com o pagamento pela rede BLAST. An optional label to associate with the new receiving address. @@ -2033,7 +2033,7 @@ pelo menos - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. Pagando apenas a taxa mínima é bom, desde que haja pouco volume de transações. Mas esteja ciente de que isso pode acabar em uma transação nunca confirmanda uma vez que há mais demanda por transações do que a rede pode processar. @@ -2197,7 +2197,7 @@ Confirmação em %n bloco.Confirmação em %n blocos. - Warning: Invalid Raven address + Warning: Invalid BLAST address Aviso: Endereço inválido @@ -2240,7 +2240,7 @@ Este é um pagamento normal. - The Raven address to send the payment to + The BLAST address to send the payment to Endereço que enviará o pagamento @@ -2260,8 +2260,8 @@ Remover esta entrada - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - A taxa será deduzida da quantia que está sendo enviada. O destinatário receberá menos ravens do que você colocou no campo de quantidade. Se vários destinatários estão selecionados, a taxa é dividida igualmente. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + A taxa será deduzida da quantia que está sendo enviada. O destinatário receberá menos BLAST do que você colocou no campo de quantidade. Se vários destinatários estão selecionados, a taxa é dividida igualmente. S&ubtract fee from amount @@ -2284,8 +2284,8 @@ Digite um rótulo para este endereço para adicioná-lo no catálogo - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - A mensagem que foi anexada ao raven: URI na qual será gravada na transação para sua referência. Nota: Essa mensagem não será gravada publicamente na rede Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + A mensagem que foi anexada ao blast: URI na qual será gravada na transação para sua referência. Nota: Essa mensagem não será gravada publicamente na rede BLAST. Pay To: @@ -2329,12 +2329,12 @@ &Assinar mensagem - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Você pode assinar mensagens com seus endereços para provar que você pode receber ravens enviados por alguém. Cuidado para não assinar nada vago ou aleatório, pois ataques phishing podem tentar te enganar para assinar coisas para eles como se fosse você. Somente assine termos bem detalhados que você concorde. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Você pode assinar mensagens com seus endereços para provar que você pode receber BLAST enviados por alguém. Cuidado para não assinar nada vago ou aleatório, pois ataques phishing podem tentar te enganar para assinar coisas para eles como se fosse você. Somente assine termos bem detalhados que você concorde. - The Raven address to sign the message with - O enderesso Raven que assinará a mensagem + The BLAST address to sign the message with + O enderesso BLAST que assinará a mensagem Choose previously used address @@ -2365,8 +2365,8 @@ Copiar a assinatura para a área de transferência do sistema - Sign the message to prove you own this Raven address - Assinar mensagem para provar que você é dono deste endereço Raven + Sign the message to prove you own this BLAST address + Assinar mensagem para provar que você é dono deste endereço BLAST Sign &Message @@ -2389,12 +2389,12 @@ Coloque o endereço do autor, a mensagem (certifique-se de copiar toda a mensagem, incluindo quebras de linha, espaços, tabulações, etc.) e a assinatura embaixo para verificar a mensagem. Cuidado para não ler mais da assinatura do que está assinado na mensagem, para evitar ser enganado pelo ataque man-in-the-middle. Note que isso somente prova a propriedade de um endereço, e não o remetende de qualquer transação. - The Raven address the message was signed with - O enderesso Raven que assionou a mesnagem + The BLAST address the message was signed with + O enderesso BLAST que assionou a mesnagem - Verify the message to ensure it was signed with the specified Raven address - Verificar mensagem para se assegurar que ela foi assinada pelo dono de um endereço Raven específico. + Verify the message to ensure it was signed with the specified BLAST address + Verificar mensagem para se assegurar que ela foi assinada pelo dono de um endereço BLAST específico. Verify &Message @@ -2984,7 +2984,7 @@ - raven-core + blast-core Options: Opções: @@ -3054,8 +3054,8 @@ Não foi possível iniciar o servidor HTTP. Veja o log para detaihes. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts similarity index 96% rename from src/qt/locale/raven_pt_PT.ts rename to src/qt/locale/bitcoin_pt_PT.ts index cfb95649c0..988e757c42 100644 --- a/src/qt/locale/raven_pt_PT.ts +++ b/src/qt/locale/bitcoin_pt_PT.ts @@ -62,12 +62,12 @@ A receber endereços - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Estes são os seus endereços Raven para enviar pagamentos. Verifique sempre o valor e o endereço de envio antes de enviar moedas. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Estes são os seus endereços BLAST para enviar pagamentos. Verifique sempre o valor e o endereço de envio antes de enviar moedas. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Estes são os seus endereços Raven para receber pagamentos. É recomendado que utilize um endereço novo para cada transacção. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Estes são os seus endereços BLAST para receber pagamentos. É recomendado que utilize um endereço novo para cada transacção. &Copy Address @@ -168,8 +168,8 @@ Confirmar encriptação da carteira - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Aviso: se encriptar a sua carteira e perder a sua frase de segurnça, <b>PERDERÁ TODOS OS SEUS RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Aviso: se encriptar a sua carteira e perder a sua frase de segurnça, <b>PERDERÁ TODOS OS SEUS BLAST</b>! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Carteira encriptada - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 irá agora ser fechado para terminar o processo de encriptação. Recorde que a encriptação da sua carteira não protegerá totalmente os seus ravens de serem roubados por programas maliciosos que infectem o seu computador. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 irá agora ser fechado para terminar o processo de encriptação. Recorde que a encriptação da sua carteira não protegerá totalmente os seus BLAST de serem roubados por programas maliciosos que infectem o seu computador. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Assinar &mensagem... @@ -338,8 +338,8 @@ A reindexar os blocos no disco... - Send coins to a Raven address - Enviar moedas para um endereço Raven + Send coins to a BLAST address + Enviar moedas para um endereço BLAST Backup wallet to another location @@ -362,8 +362,8 @@ &Verificar mensagem... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Encriptar as chaves privadas que pertencem à sua carteira - Sign messages with your Raven addresses to prove you own them - Assine as mensagens com os seus endereços Raven para provar que é o proprietário dos mesmos + Sign messages with your BLAST addresses to prove you own them + Assine as mensagens com os seus endereços BLAST para provar que é o proprietário dos mesmos - Verify messages to ensure they were signed with specified Raven addresses - Verifique mensagens para assegurar que foram assinadas com o endereço Raven especificado + Verify messages to ensure they were signed with specified BLAST addresses + Verifique mensagens para assegurar que foram assinadas com o endereço BLAST especificado &File @@ -414,8 +414,8 @@ Barra de ferramentas dos separadores - Request payments (generates QR codes and raven: URIs) - Solicitar pagamentos (gera códigos QR e raven: URIs) + Request payments (generates QR codes and blast: URIs) + Solicitar pagamentos (gera códigos QR e blast: URIs) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Mostrar a lista de rótulos e endereços de receção usados - Open a raven: URI or payment request - Abrir URI raven: ou pedido de pagamento + Open a blast: URI or payment request + Abrir URI blast: ou pedido de pagamento &Command-line options &Opções da linha de &comando - %n active connection(s) to Raven network - %n ligação ativa à rede Raven%n ligações ativas à rede Raven + %n active connection(s) to BLAST network + %n ligação ativa à rede BLAST%n ligações ativas à rede BLAST Indexing blocks on disk... @@ -478,7 +478,7 @@ Atualizado - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options Mostrar a mensagem de ajuda %1 para obter uma lista com possíveis opções a usar na linha de comandos. @@ -548,8 +548,8 @@ A carteira está <b>encriptada</b> e atualmente <b>bloqueada</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Ocorreu um erro fatal. O Raven não pode continuar com segurança e irá fechar. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Ocorreu um erro fatal. O BLAST não pode continuar com segurança e irá fechar. @@ -742,8 +742,8 @@ Editar o endereço de envio - The entered address "%1" is not a valid Raven address. - O endereço introduzido "%1" não é um endereço raven válido. + The entered address "%1" is not a valid BLAST address. + O endereço introduzido "%1" não é um endereço BLAST válido. The entered address "%1" is already in the address book. @@ -847,7 +847,7 @@ Bem-vindo ao %1. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. O %1 irá transferir e armazenar uma cópia da blockchain. Pelo menos %2GB serão armazenados neste diretório, sendo que o valor irá crescer ao longo do tempo. A carteira também será armazenada neste mesmo diretório. @@ -882,12 +882,12 @@ Formulário - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. Transações recentes podem não ser visíveis por agora, portanto o saldo da sua carteira pode estar incorreto. Esta informação será corrigida quando a sua carteira acabar de sincronizar com a rede, como está explicado em baixo. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Tentar enviar ravens que estão afetadas por transações ainda não exibidas não será aceite pela rede. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Tentar enviar BLAST que estão afetadas por transações ainda não exibidas não será aceite pela rede. Number of blocks left @@ -1045,16 +1045,16 @@ &Gastar troco não confirmado - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Abrir a porta do cliente raven automaticamente no seu router. Isto apenas funciona se o seu router suportar UPnP e este se encontrar ligado. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Abrir a porta do cliente BLAST automaticamente no seu router. Isto apenas funciona se o seu router suportar UPnP e este se encontrar ligado. Map port using &UPnP Mapear porta, utilizando &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Conectar à rede da Raven através dum proxy SOCLS5. + Connect to the BLAST network through a SOCKS5 proxy. + Conectar à rede da BLAST através dum proxy SOCLS5. &Connect through SOCKS5 proxy (default proxy): @@ -1093,8 +1093,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Ligar à rede Raven através de um proxy SOCKS5 separado para utilizar os serviços ocultos do Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Ligar à rede BLAST através de um proxy SOCKS5 separado para utilizar os serviços ocultos do Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1192,8 +1192,8 @@ Formulário - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - A informação mostrada poderá estar desatualizada. A sua carteira sincroniza automaticamente com a rede Raven depois de estabelecer ligação, mas este processo ainda não está completo. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + A informação mostrada poderá estar desatualizada. A sua carteira sincroniza automaticamente com a rede BLAST depois de estabelecer ligação, mas este processo ainda não está completo. Watch-only: @@ -1267,8 +1267,8 @@ Erro do pedido de pagamento - Cannot start raven: click-to-pay handler - Impossível iniciar o controlador de raven: click-to-pay + Cannot start blast: click-to-pay handler + Impossível iniciar o controlador de blast: click-to-pay URI handling @@ -1283,8 +1283,8 @@ Endereço de pagamento inválido %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI não foi lido correctamente! Isto pode ser causado por um endereço Raven inválido ou por parâmetros URI malformados. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI não foi lido correctamente! Isto pode ser causado por um endereço BLAST inválido ou por parâmetros URI malformados. Payment request file handling @@ -1377,8 +1377,8 @@ Quantia - Enter a Raven address (e.g. %1) - Entre um endereço Raven (ex. %1) + Enter a BLAST address (e.g. %1) + Entre um endereço BLAST (ex. %1) %1 d @@ -1797,8 +1797,8 @@ Reutilizar um endereço de receção existente (não recomendado) - 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 Raven network. - Uma mensagem opcional para anexar ao pedido de pagamento, que será exibida quando o pedido for aberto. Nota: A mensagem não será enviada com o pagamento através da rede Raven. + 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 BLAST network. + Uma mensagem opcional para anexar ao pedido de pagamento, que será exibida quando o pedido for aberto. Nota: A mensagem não será enviada com o pagamento através da rede BLAST. An optional label to associate with the new receiving address. @@ -2030,7 +2030,7 @@ total minimo - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. Pode pagar somente a taxa minima desde que haja um volume de transações inferior ao espaço nos blocos. No entanto tenha em atenção que esta opção poderá acabar em uma transação nunca confirmada assim que os pedidos de transações excedam a capacidade de processamento da rede. @@ -2178,8 +2178,8 @@ Pague apenas a taxa obrigatória de %1 - Warning: Invalid Raven address - Aviso: endereço Raven inválido + Warning: Invalid BLAST address + Aviso: endereço BLAST inválido Warning: Unknown change address @@ -2217,8 +2217,8 @@ Este é um pagamento normal. - The Raven address to send the payment to - O endereço Raven para enviar o pagamento + The BLAST address to send the payment to + O endereço BLAST para enviar o pagamento Alt+A @@ -2237,8 +2237,8 @@ Remover esta entrada - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - A taxa será deduzida ao montante enviado. O destinatário irá receber menos ravens do que as que introduziu no campo montante. Caso sejam seleccionados múltiplos destinatários, a taxa será repartida equitativamente. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + A taxa será deduzida ao montante enviado. O destinatário irá receber menos BLAST do que as que introduziu no campo montante. Caso sejam seleccionados múltiplos destinatários, a taxa será repartida equitativamente. S&ubtract fee from amount @@ -2261,8 +2261,8 @@ Introduza um rótulo para este endereço para o adicionar à sua lista de endereços usados - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Uma mensagem que estava anexada ao URI raven: que será armazenada com a transação para sua referência. Nota: Esta mensagem não será enviada através da rede Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Uma mensagem que estava anexada ao URI blast: que será armazenada com a transação para sua referência. Nota: Esta mensagem não será enviada através da rede BLAST. Pay To: @@ -2302,12 +2302,12 @@ &Assinar Mensagem - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Pode assinar mensagens com os seus endereços para provar que são seus. Tenha atenção ao assinar mensagens ambíguas, pois ataques de phishing podem tentar enganá-lo de modo a assinar a sua identidade para os atacantes. Apenas assine declarações detalhadas com as quais concorde. - The Raven address to sign the message with - O endereço Raven para designar a mensagem + The BLAST address to sign the message with + O endereço BLAST para designar a mensagem Choose previously used address @@ -2338,8 +2338,8 @@ Copiar a assinatura actual para a área de transferência - Sign the message to prove you own this Raven address - Assine uma mensagem para provar que é dono deste endereço Raven + Sign the message to prove you own this BLAST address + Assine uma mensagem para provar que é dono deste endereço BLAST Sign &Message @@ -2362,12 +2362,12 @@ Introduza o endereço de assinatura, mensagem (assegure-se que copia quebras de linha, espaços, tabulações, etc. exactamente) e assinatura abaixo para verificar a mensagem. Tenha atenção para não ler mais na assinatura do que o que estiver na mensagem assinada, para evitar ser enganado por um atacante que se encontre entre si e quem assinou a mensagem. - The Raven address the message was signed with - O endereço Raven com que a mensagem foi designada + The BLAST address the message was signed with + O endereço BLAST com que a mensagem foi designada - Verify the message to ensure it was signed with the specified Raven address - Verifique a mensagem para assegurar que foi assinada com o endereço Raven especificado + Verify the message to ensure it was signed with the specified BLAST address + Verifique a mensagem para assegurar que foi assinada com o endereço BLAST especificado Verify &Message @@ -2885,7 +2885,7 @@ - raven-core + blast-core Options: Opções: @@ -2943,8 +2943,8 @@ Não é possível iniciar o servidor HTTP. Verifique o debug.log para detalhes. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_ro.ts b/src/qt/locale/bitcoin_ro.ts similarity index 96% rename from src/qt/locale/raven_ro.ts rename to src/qt/locale/bitcoin_ro.ts index 8e53b9bfc1..14317637b6 100644 --- a/src/qt/locale/raven_ro.ts +++ b/src/qt/locale/bitcoin_ro.ts @@ -76,7 +76,7 @@ - RavenGUI + BlastGUI Sign &message... Semnează &mesajul... @@ -142,8 +142,8 @@ Deschide &URI... - Send coins to a Raven address - Trimite monedele către o adresă Raven + Send coins to a BLAST address + Trimite monedele către o adresă BLAST Backup wallet to another location @@ -166,8 +166,8 @@ &Verifică mesajul... - Raven - Raven + BLAST + BLAST Wallet @@ -194,12 +194,12 @@ Criptează cheile private care aparțin portofelului tău. - Sign messages with your Raven addresses to prove you own them - Semnează mesajele cu adresa ta de Raven pentru a face dovada că îți aparțin. + Sign messages with your BLAST addresses to prove you own them + Semnează mesajele cu adresa ta de BLAST pentru a face dovada că îți aparțin. - Verify messages to ensure they were signed with specified Raven addresses - Verifică mesajele cu scopul de a asigura faptul că au fost semnate cu adresa de Raven specificată. + Verify messages to ensure they were signed with specified BLAST addresses + Verifică mesajele cu scopul de a asigura faptul că au fost semnate cu adresa de BLAST specificată. &File @@ -214,12 +214,12 @@ &Ajutor - Request payments (generates QR codes and raven: URIs) - Cerere plată (generează coduri QR și raven: URIs) + Request payments (generates QR codes and blast: URIs) + Cerere plată (generează coduri QR și blast: URIs) - Open a raven: URI or payment request - Deschide un raven: URI sau cerere de plată + Open a blast: URI or payment request + Deschide un blast: URI sau cerere de plată %1 behind @@ -746,10 +746,10 @@ WalletView - raven-core + blast-core - Raven Core - Raven Core + BLAST Core + BLAST Core Information diff --git a/src/qt/locale/raven_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts similarity index 96% rename from src/qt/locale/raven_ro_RO.ts rename to src/qt/locale/bitcoin_ro_RO.ts index fa058af984..498c3a6be6 100644 --- a/src/qt/locale/raven_ro_RO.ts +++ b/src/qt/locale/bitcoin_ro_RO.ts @@ -76,7 +76,7 @@ - RavenGUI + BlastGUI Sign &message... Semnează &mesaj... @@ -154,8 +154,8 @@ Se reindexează blocurile pe disc... - Send coins to a Raven address - Trimite monede către o adresă Raven + Send coins to a BLAST address + Trimite monede către o adresă BLAST Backup wallet to another location @@ -178,8 +178,8 @@ &Verifică mesaj... - Raven - Raven + BLAST + BLAST Wallet @@ -206,12 +206,12 @@ Criptează cheile private ale portofelului dvs. - Sign messages with your Raven addresses to prove you own them - Semnaţi mesaje cu adresa dvs. Raven pentru a dovedi că vă aparţin + Sign messages with your BLAST addresses to prove you own them + Semnaţi mesaje cu adresa dvs. BLAST pentru a dovedi că vă aparţin - Verify messages to ensure they were signed with specified Raven addresses - Verificaţi mesaje pentru a vă asigura că au fost semnate cu adresa Raven specificată + Verify messages to ensure they were signed with specified BLAST addresses + Verificaţi mesaje pentru a vă asigura că au fost semnate cu adresa BLAST specificată &File @@ -230,8 +230,8 @@ Bara de unelte - Request payments (generates QR codes and raven: URIs) - Cereţi plăţi (generează coduri QR şi raven-uri: URls) + Request payments (generates QR codes and blast: URIs) + Cereţi plăţi (generează coduri QR şi blast-uri: URls) Show the list of used sending addresses and labels @@ -242,16 +242,16 @@ Arată lista de adrese pentru primire şi etichetele - Open a raven: URI or payment request - Deschidere raven: o adresa URI sau o cerere de plată + Open a blast: URI or payment request + Deschidere blast: o adresa URI sau o cerere de plată &Command-line options Opţiuni linie de &comandă - %n active connection(s) to Raven network - %n conexiune activă către reţeaua Raven%n conexiuni active către reţeaua Raven%n de conexiuni active către reţeaua Raven + %n active connection(s) to BLAST network + %n conexiune activă către reţeaua BLAST%n conexiuni active către reţeaua BLAST%n de conexiuni active către reţeaua BLAST Processed %n block(s) of transaction history. @@ -656,16 +656,16 @@ Cheltuire rest neconfirmat - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Deschide automat în router portul aferent clientului Raven. Funcţionează doar dacă routerul duportă UPnP şi e activat. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Deschide automat în router portul aferent clientului BLAST. Funcţionează doar dacă routerul duportă UPnP şi e activat. Map port using &UPnP Mapare port folosind &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Conectare la reţeaua Raven printr-un proxy SOCKS. + Connect to the BLAST network through a SOCKS5 proxy. + Conectare la reţeaua BLAST printr-un proxy SOCKS. &Connect through SOCKS5 proxy (default proxy): @@ -725,7 +725,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Alegeţi subdiviziunea folosită la afişarea interfeţei şi la trimiterea de raven. + Alegeţi subdiviziunea folosită la afişarea interfeţei şi la trimiterea de BLAST. Whether to show coin control features or not. @@ -765,7 +765,7 @@ The supplied proxy address is invalid. - Adresa raven pe care aţi specificat-o nu este validă. + Adresa BLAST pe care aţi specificat-o nu este validă. @@ -775,8 +775,8 @@ Form - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Informaţiile afişate pot fi neactualizate. Portofelul dvs. se sincronizează automat cu reţeaua Raven după ce o conexiune este stabilită, dar acest proces nu a fost finalizat încă. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Informaţiile afişate pot fi neactualizate. Portofelul dvs. se sincronizează automat cu reţeaua BLAST după ce o conexiune este stabilită, dar acest proces nu a fost finalizat încă. Watch-only: @@ -864,8 +864,8 @@ Cantitate - Enter a Raven address (e.g. %1) - Introduceţi o adresă Raven (de exemplu %1) + Enter a BLAST address (e.g. %1) + Introduceţi o adresă BLAST (de exemplu %1) %1 d @@ -1164,8 +1164,8 @@ R&efoloseşte o adresă de primire (nu este recomandat) - 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 Raven network. - Un mesaj opţional de ataşat la cererea de plată, care va fi afişat cînd cererea este deschisă. Notă: Acest mesaj nu va fi trimis cu plata către reţeaua Raven. + 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 BLAST network. + Un mesaj opţional de ataşat la cererea de plată, care va fi afişat cînd cererea este deschisă. Notă: Acest mesaj nu va fi trimis cu plata către reţeaua BLAST. An optional label to associate with the new receiving address. @@ -1384,8 +1384,8 @@ Aceasta este o tranzacţie normală. - The Raven address to send the payment to - Adresa raven către care se face plata + The BLAST address to send the payment to + Adresa BLAST către care se face plata Alt+A @@ -1412,8 +1412,8 @@ Introduceţi eticheta pentru ca această adresa să fie introdusă în lista de adrese folosite - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - un mesaj a fost ataşat la raven: URI care va fi stocat cu tranzacţia pentru referinţa dvs. Notă: Acest mesaj nu va fi trimis către reţeaua raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + un mesaj a fost ataşat la blast: URI care va fi stocat cu tranzacţia pentru referinţa dvs. Notă: Acest mesaj nu va fi trimis către reţeaua BLAST. Pay To: @@ -1449,7 +1449,7 @@ &Semnează mesaj - The Raven address to sign the message with + The BLAST address to sign the message with Adresa cu care semnaţi mesajul @@ -1481,8 +1481,8 @@ Copiază semnatura curentă în clipboard-ul sistemului - Sign the message to prove you own this Raven address - Semnează mesajul pentru a dovedi ca deţineţi acestă adresă Raven + Sign the message to prove you own this BLAST address + Semnează mesajul pentru a dovedi ca deţineţi acestă adresă BLAST Sign &Message @@ -1501,12 +1501,12 @@ &Verifică mesaj - The Raven address the message was signed with - Introduceţi o adresă Raven + The BLAST address the message was signed with + Introduceţi o adresă BLAST - Verify the message to ensure it was signed with the specified Raven address - Verificaţi mesajul pentru a vă asigura că a fost semnat cu adresa Raven specificată + Verify the message to ensure it was signed with the specified BLAST address + Verificaţi mesajul pentru a vă asigura că a fost semnat cu adresa BLAST specificată Verify &Message @@ -1568,7 +1568,7 @@ WalletView - raven-core + blast-core Options: Opţiuni: @@ -1594,8 +1594,8 @@ Rulează în fundal ca un demon şi acceptă comenzi - Raven Core - Nucleul Raven + BLAST Core + Nucleul BLAST Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_ru.ts b/src/qt/locale/bitcoin_ru.ts similarity index 97% rename from src/qt/locale/raven_ru.ts rename to src/qt/locale/bitcoin_ru.ts index ab2a11b0e1..8a4a33f387 100644 --- a/src/qt/locale/raven_ru.ts +++ b/src/qt/locale/bitcoin_ru.ts @@ -62,12 +62,12 @@ Адреса получения - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Это ваши адреса Raven для отправки платежей. Всегда проверяйте сумму и адрес получателя перед отправкой перевода. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Это ваши адреса BLAST для отправки платежей. Всегда проверяйте сумму и адрес получателя перед отправкой перевода. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Это ваши адреса Raven для приёма платежей. Рекомендуется использовать новый адрес получения для каждой транзакции. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Это ваши адреса BLAST для приёма платежей. Рекомендуется использовать новый адрес получения для каждой транзакции. &Copy Address @@ -168,8 +168,8 @@ Подтвердите шифрование бумажника - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Предупреждение: если вы зашифруете бумажник и потеряете пароль, вы <b>ПОТЕРЯЕТЕ ВСЕ ВАШИ RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Предупреждение: если вы зашифруете бумажник и потеряете пароль, вы <b>ПОТЕРЯЕТЕ ВСЕ ВАШИ BLAST</b>! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Бумажник зашифрован - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - Сейчас %1 закроется для завершения процесса шифрования. Помните, что шифрование вашего бумажника не может полностью защитить ваши ravens от кражи с помощью инфицирования вашего компьютера вредоносным ПО. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + Сейчас %1 закроется для завершения процесса шифрования. Помните, что шифрование вашего бумажника не может полностью защитить ваши BLAST от кражи с помощью инфицирования вашего компьютера вредоносным ПО. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... &Подписать сообщение... @@ -338,8 +338,8 @@ Идёт переиндексация блоков на диске... - Send coins to a Raven address - Отправить монеты на указанный адрес Raven + Send coins to a BLAST address + Отправить монеты на указанный адрес BLAST Backup wallet to another location @@ -362,8 +362,8 @@ &Проверить сообщение... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Зашифровать приватные ключи, принадлежащие вашему бумажнику - Sign messages with your Raven addresses to prove you own them - Подписать сообщения вашим адресом Raven, чтобы доказать, что вы им владеете + Sign messages with your BLAST addresses to prove you own them + Подписать сообщения вашим адресом BLAST, чтобы доказать, что вы им владеете - Verify messages to ensure they were signed with specified Raven addresses - Проверить сообщения, чтобы удостовериться, что они были подписаны определённым адресом Raven + Verify messages to ensure they were signed with specified BLAST addresses + Проверить сообщения, чтобы удостовериться, что они были подписаны определённым адресом BLAST &File @@ -414,8 +414,8 @@ Панель вкладок - Request payments (generates QR codes and raven: URIs) - Запросить платежи (создаёт QR-коды и raven: ссылки) + Request payments (generates QR codes and blast: URIs) + Запросить платежи (создаёт QR-коды и blast: ссылки) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Показать список использованных адресов и меток получения - Open a raven: URI or payment request - Открыть raven: URI или запрос платежа + Open a blast: URI or payment request + Открыть blast: URI или запрос платежа &Command-line options &Параметры командной строки - %n active connection(s) to Raven network - %n активных соединений с сетью Raven%n активных соединений с сетью Raven%n активных соединений с сетью Raven%n активных соединений с сетью Raven + %n active connection(s) to BLAST network + %n активных соединений с сетью BLAST%n активных соединений с сетью BLAST%n активных соединений с сетью BLAST%n активных соединений с сетью BLAST Indexing blocks on disk... @@ -478,7 +478,7 @@ Синхронизировано - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options Показать помощь по %1, чтобы получить список доступных параметров командной строки @@ -548,8 +548,8 @@ Бумажник <b>зашифрован</b> и в настоящее время <b>заблокирован</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Произошла неисправимая ошибка. Raven не может безопасно продолжать работу и будет закрыт. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Произошла неисправимая ошибка. BLAST не может безопасно продолжать работу и будет закрыт. @@ -742,8 +742,8 @@ Изменить адрес отправки - The entered address "%1" is not a valid Raven address. - Введённый адрес "%1" не является правильным Raven-адресом. + The entered address "%1" is not a valid BLAST address. + Введённый адрес "%1" не является правильным BLAST-адресом. The entered address "%1" is already in the address book. @@ -851,7 +851,7 @@ При первом запуске программы вы можете выбрать где %1 будет хранить свои данные. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. %1 скачает и сохранит копию цепи блоков. Как минимум %2GB будут записаны в этот каталог, и со временем он будет расти. Бумажник также будет сохранен в этом каталоге. @@ -886,12 +886,12 @@ Форма - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. Недавние транзакции могут быть пока не видны, поэтому ваш баланс может отображаться некорректно. Эта информация станет корректной, как только ваш бумажник будет синхронизирован с сетью, см. подробности ниже. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Попытка потратить ravens из ещё не отображённых транзакций будет отвергнута сетью. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Попытка потратить BLAST из ещё не отображённых транзакций будет отвергнута сетью. Number of blocks left @@ -1048,20 +1048,20 @@ &Тратить неподтверждённую сдачу - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Автоматически открыть порт для Raven-клиента на роутере. Работает только если Ваш роутер поддерживает UPnP, и данная функция включена. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Автоматически открыть порт для BLAST-клиента на роутере. Работает только если Ваш роутер поддерживает UPnP, и данная функция включена. Map port using &UPnP Пробросить порт через &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Подключаться к сети Raven через прокси SOCKS5 + Connect to the BLAST network through a SOCKS5 proxy. + Подключаться к сети BLAST через прокси SOCKS5 &Connect through SOCKS5 proxy (default proxy): - &Подключаться к сети Raven через прокси SOCKS5 (прокси по умолчанию): + &Подключаться к сети BLAST через прокси SOCKS5 (прокси по умолчанию): Proxy &IP: @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Подключаться к сети Raven через прокси SOCKS5 для скрытых сервисов Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Подключаться к сети BLAST через прокси SOCKS5 для скрытых сервисов Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1195,8 +1195,8 @@ Форма - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Отображаемая информация может быть устаревшей. Ваш бумажник автоматически синхронизируется с сетью Raven после подключения, но этот процесс пока не завершён. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Отображаемая информация может быть устаревшей. Ваш бумажник автоматически синхронизируется с сетью BLAST после подключения, но этот процесс пока не завершён. Watch-only: @@ -1270,8 +1270,8 @@ Ошибка запроса платежа - Cannot start raven: click-to-pay handler - Не удаётся запустить raven: обработчик click-to-pay + Cannot start blast: click-to-pay handler + Не удаётся запустить blast: обработчик click-to-pay URI handling @@ -1286,8 +1286,8 @@ Неверный адрес платежа %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - Не удалось обработать URI! Это может быть связано с неверным адресом Raven или неправильными параметрами URI. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + Не удалось обработать URI! Это может быть связано с неверным адресом BLAST или неправильными параметрами URI. Payment request file handling @@ -1380,8 +1380,8 @@ Сумма - Enter a Raven address (e.g. %1) - Введите адрес Raven (например, %1) + Enter a BLAST address (e.g. %1) + Введите адрес BLAST (например, %1) %1 d @@ -1804,8 +1804,8 @@ &Повторно использовать существующий адрес получения (не рекомендуется) - 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 Raven network. - Необязательное сообщение для запроса платежа, которое будет показано при открытии запроса. Заметьте: сообщение не будет отправлено вместе с платежом через сеть Raven. + 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 BLAST network. + Необязательное сообщение для запроса платежа, которое будет показано при открытии запроса. Заметьте: сообщение не будет отправлено вместе с платежом через сеть BLAST. An optional label to associate with the new receiving address. @@ -2037,7 +2037,7 @@ Итого как минимум - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. Уплата минимальной комиссии — не проблема, пока объём транзакций меньше, чем свободное место в блоках. Учтите, однако, что такая транзакция может никогда не подтвердиться, если спрос на транзакции превышает возможности сети по их обработке. @@ -2201,8 +2201,8 @@ Начало подтверждения ожидается через %n блок.Начало подтверждения ожидается через %n блока.Начало подтверждения ожидается через %n блоков.Начало подтверждения ожидается через %n блоков. - Warning: Invalid Raven address - Внимание: неверный адрес Raven + Warning: Invalid BLAST address + Внимание: неверный адрес BLAST Warning: Unknown change address @@ -2244,8 +2244,8 @@ Это нормальный платёж. - The Raven address to send the payment to - Адрес Raven, на который отправить платёж + The BLAST address to send the payment to + Адрес BLAST, на который отправить платёж Alt+A @@ -2264,8 +2264,8 @@ Удалить эту запись - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - С отправляемой суммы будет удержана комиссия. Получателю придёт меньше ravens, чем вы вводите в поле количества. Если выбрано несколько получателей, комиссия распределяется поровну. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + С отправляемой суммы будет удержана комиссия. Получателю придёт меньше BLAST, чем вы вводите в поле количества. Если выбрано несколько получателей, комиссия распределяется поровну. S&ubtract fee from amount @@ -2288,8 +2288,8 @@ Введите метку для этого адреса, чтобы добавить его в список использованных - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - К raven: URI было прикреплено сообщение, которое будет сохранено вместе с транзакцией для вашего сведения. Заметьте: сообщение не будет отправлено через сеть Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + К blast: URI было прикреплено сообщение, которое будет сохранено вместе с транзакцией для вашего сведения. Заметьте: сообщение не будет отправлено через сеть BLAST. Pay To: @@ -2333,12 +2333,12 @@ &Подписать сообщение - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Вы можете подписывать сообщения/соглашения своими адресами, чтобы доказать свою возможность получать ravens на них. Будьте осторожны, не подписывайте что-то неопределённое или случайное, так как фишинговые атаки могут обманным путём заставить вас подписать нежелательные сообщения. Подписывайте только те сообщения, с которыми вы согласны вплоть до мелочей. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Вы можете подписывать сообщения/соглашения своими адресами, чтобы доказать свою возможность получать BLAST на них. Будьте осторожны, не подписывайте что-то неопределённое или случайное, так как фишинговые атаки могут обманным путём заставить вас подписать нежелательные сообщения. Подписывайте только те сообщения, с которыми вы согласны вплоть до мелочей. - The Raven address to sign the message with - Адрес Raven, которым подписать сообщение + The BLAST address to sign the message with + Адрес BLAST, которым подписать сообщение Choose previously used address @@ -2369,8 +2369,8 @@ Скопировать текущую подпись в системный буфер обмена - Sign the message to prove you own this Raven address - Подписать сообщение, чтобы доказать владение адресом Raven + Sign the message to prove you own this BLAST address + Подписать сообщение, чтобы доказать владение адресом BLAST Sign &Message @@ -2393,12 +2393,12 @@ Введите ниже адрес получателя, сообщение (убедитесь, что переводы строк, пробелы, табы и т.п. в точности скопированы) и подпись, чтобы проверить сообщение. Убедитесь, что не скопировали лишнего в подпись, по сравнению с самим подписываемым сообщением, чтобы не стать жертвой атаки "man-in-the-middle". Заметьте, что эта операция удостоверяет лишь авторство подписавшего, но не может удостоверить отправителя транзакции. - The Raven address the message was signed with - Адрес Raven, которым было подписано сообщение + The BLAST address the message was signed with + Адрес BLAST, которым было подписано сообщение - Verify the message to ensure it was signed with the specified Raven address - Проверить сообщение, чтобы убедиться, что оно было подписано указанным адресом Raven + Verify the message to ensure it was signed with the specified BLAST address + Проверить сообщение, чтобы убедиться, что оно было подписано указанным адресом BLAST Verify &Message @@ -2988,7 +2988,7 @@ - raven-core + blast-core Options: Параметры: @@ -3058,8 +3058,8 @@ Невозможно запустить HTTP сервер. Смотри debug лог для подробностей. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_ru_RU.ts b/src/qt/locale/bitcoin_ru_RU.ts similarity index 98% rename from src/qt/locale/raven_ru_RU.ts rename to src/qt/locale/bitcoin_ru_RU.ts index 326299bac8..e57f658842 100644 --- a/src/qt/locale/raven_ru_RU.ts +++ b/src/qt/locale/bitcoin_ru_RU.ts @@ -152,7 +152,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... Подписать &сообщение... @@ -230,8 +230,8 @@ &Проверить сообщение... - Raven - Raven Core + BLAST + BLAST Core Wallet @@ -442,8 +442,8 @@ Пробросить порт через &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Подключится к сети Raven через SOCKS5 прокси. + Connect to the BLAST network through a SOCKS5 proxy. + Подключится к сети BLAST через SOCKS5 прокси. Proxy &IP: @@ -522,8 +522,8 @@ QObject - Enter a Raven address (e.g. %1) - Введите Raven-адрес (напр. %1) + Enter a BLAST address (e.g. %1) + Введите BLAST-адрес (напр. %1) %n hour(s) @@ -830,14 +830,14 @@ - raven-core + blast-core - Raven Core - Raven Core + BLAST Core + BLAST Core 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 - raven-core + blast-core Information diff --git a/src/qt/locale/raven_sk.ts b/src/qt/locale/bitcoin_sk.ts similarity index 96% rename from src/qt/locale/raven_sk.ts rename to src/qt/locale/bitcoin_sk.ts index 448ce5db9b..479767634d 100644 --- a/src/qt/locale/raven_sk.ts +++ b/src/qt/locale/bitcoin_sk.ts @@ -62,12 +62,12 @@ Prijímajúce adresy - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Toto sú Vaše Raven adresy pre posielanie platieb. Vždy skontrolujte sumu a prijímaciu adresu pred poslaním mincí. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Toto sú Vaše BLAST adresy pre posielanie platieb. Vždy skontrolujte sumu a prijímaciu adresu pred poslaním mincí. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Toto sú vaše Raven adresy pre prijímanie platieb. Odporúča sa použiť vždy novú prijímaciu adresu pre každú transakciu. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Toto sú vaše BLAST adresy pre prijímanie platieb. Odporúča sa použiť vždy novú prijímaciu adresu pre každú transakciu. &Copy Address @@ -168,8 +168,8 @@ Potvrďte zašifrovanie peňaženky - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - Varovanie: Ak zašifrujete peňaženku a stratíte heslo, <b>STRATÍTE VŠETKY VAŠE RAVENY</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + Varovanie: Ak zašifrujete peňaženku a stratíte heslo, <b>STRATÍTE VŠETKY VAŠE BLASTY</b>! Are you sure you wish to encrypt your wallet? @@ -180,8 +180,8 @@ Peňaženka zašifrovaná - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 sa teraz zavrie, aby sa ukončil proces šifrovania. Zašifrovanie peňaženky neochráni úplne pred krádežou ravenov škodlivými programami, ktoré prenikli do vášho počítača. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 sa teraz zavrie, aby sa ukončil proces šifrovania. Zašifrovanie peňaženky neochráni úplne pred krádežou blastov škodlivými programami, ktoré prenikli do vášho počítača. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... Podpísať &správu... @@ -338,8 +338,8 @@ Preindexúvam bloky na disku... - Send coins to a Raven address - Poslať ravens na adresu + Send coins to a BLAST address + Poslať BLAST na adresu Backup wallet to another location @@ -362,8 +362,8 @@ O&veriť správu... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Zašifruj súkromné kľúče ktoré patria do vašej peňaženky - Sign messages with your Raven addresses to prove you own them - Podpísať správu s vašou adresou Raven aby ste preukázali že ju vlastníte + Sign messages with your BLAST addresses to prove you own them + Podpísať správu s vašou adresou BLAST aby ste preukázali že ju vlastníte - Verify messages to ensure they were signed with specified Raven addresses - Overiť či správa bola podpísaná uvedenou Raven adresou + Verify messages to ensure they were signed with specified BLAST addresses + Overiť či správa bola podpísaná uvedenou BLAST adresou &File @@ -414,8 +414,8 @@ Lišta záložiek - Request payments (generates QR codes and raven: URIs) - Vyžiadať platby (vygeneruje QR kódy a raven: URI) + Request payments (generates QR codes and blast: URIs) + Vyžiadať platby (vygeneruje QR kódy a blast: URI) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Zobraziť zoznam použitých prijímacích adries a ich popisov - Open a raven: URI or payment request - Otvoriť raven URI alebo výzvu k platbe + Open a blast: URI or payment request + Otvoriť blast URI alebo výzvu k platbe &Command-line options Možnosti príkazového riadku - %n active connection(s) to Raven network - %n aktívne pripojenie do siete Raven%n aktívne pripojenia do siete Raven%n aktívnych pripojení do siete Raven + %n active connection(s) to BLAST network + %n aktívne pripojenie do siete BLAST%n aktívne pripojenia do siete BLAST%n aktívnych pripojení do siete BLAST Indexing blocks on disk... @@ -478,8 +478,8 @@ Aktualizovaný - Show the %1 help message to get a list with possible Raven command-line options - Ukáž %1 zoznam možných nastavení Ravenu pomocou príkazového riadku + Show the %1 help message to get a list with possible BLAST command-line options + Ukáž %1 zoznam možných nastavení Blastu pomocou príkazového riadku %1 client @@ -548,8 +548,8 @@ Peňaženka je <b>zašifrovaná</b> a momentálne <b>zamknutá</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Vyskytla sa kritická chyba. Raven nemôže ďalej bezpečne pokračovať a ukončí sa. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Vyskytla sa kritická chyba. BLAST nemôže ďalej bezpečne pokračovať a ukončí sa. @@ -742,8 +742,8 @@ Upraviť odosielaciu adresu - The entered address "%1" is not a valid Raven address. - Vložená adresa "%1" nieje platnou adresou Raven. + The entered address "%1" is not a valid BLAST address. + Vložená adresa "%1" nieje platnou adresou BLAST. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Keďže toto je prvé spustenie programu, môžete si vybrať, kam %1 bude ukladať vaše údaje. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 stiahne a uloží kópiu Raven block chain. Minimálne %2GB dát bude uložených v tejto zložke, a bude sa zväčšovať postupom času. Peňaženka bude taktiež uložená v tejto zložke. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 stiahne a uloží kópiu BLAST block chain. Minimálne %2GB dát bude uložených v tejto zložke, a bude sa zväčšovať postupom času. Peňaženka bude taktiež uložená v tejto zložke. Use the default data directory @@ -886,12 +886,12 @@ Forma - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Nedávne transakcie nemusia byť ešte viditeľné preto môže byť zostatok vo vašej peňaženke nesprávny. Táto informácia bude správna keď sa dokončí synchronizovanie peňaženky so sieťou raven, ako je rozpísané nižšie. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Nedávne transakcie nemusia byť ešte viditeľné preto môže byť zostatok vo vašej peňaženke nesprávny. Táto informácia bude správna keď sa dokončí synchronizovanie peňaženky so sieťou BLAST, ako je rozpísané nižšie. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Pokus o minutie ravenov, ktoré sú ovplyvnené ešte nezobrazenými transakciami, nebude sieťou akceptovaný. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Pokus o minutie blastov, ktoré sú ovplyvnené ešte nezobrazenými transakciami, nebude sieťou akceptovaný. Number of blocks left @@ -1048,16 +1048,16 @@ Minúť nepotvrdený výdavok - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Automaticky otvorit port pre Raven na routeri. Toto funguje len ak router podporuje UPnP a je táto podpora aktivovaná. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Automaticky otvorit port pre BLAST na routeri. Toto funguje len ak router podporuje UPnP a je táto podpora aktivovaná. Map port using &UPnP Mapovať port pomocou &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Pripojiť do siete Raven cez proxy server SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Pripojiť do siete BLAST cez proxy server SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Pripojiť k Ravenovej sieti cez separované SOCKS5 proxy pre skrytú službu Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Pripojiť k Blastovej sieti cez separované SOCKS5 proxy pre skrytú službu Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1145,7 +1145,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Zvoľte ako deliť raven pri zobrazovaní pri platbách a užívateľskom rozhraní. + Zvoľte ako deliť BLAST pri zobrazovaní pri platbách a užívateľskom rozhraní. Whether to show coin control features or not. @@ -1195,8 +1195,8 @@ Forma - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Zobrazené informácie môžu byť neaktuálne. Vaša peňaženka sa automaticky synchronizuje so sieťou Raven po nadviazaní spojenia, ale tento proces ešte nie je ukončený. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Zobrazené informácie môžu byť neaktuálne. Vaša peňaženka sa automaticky synchronizuje so sieťou BLAST po nadviazaní spojenia, ale tento proces ešte nie je ukončený. Watch-only: @@ -1282,8 +1282,8 @@ Neplatná adresa platby %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI sa nedá analyzovať! To môže byť spôsobené neplatnou Raven adresou alebo zle nastavenými vlastnosťami URI. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI sa nedá analyzovať! To môže byť spôsobené neplatnou BLAST adresou alebo zle nastavenými vlastnosťami URI. Payment request file handling @@ -1376,8 +1376,8 @@ Suma - Enter a Raven address (e.g. %1) - Zadajte raven adresu (napr. %1) + Enter a BLAST address (e.g. %1) + Zadajte BLAST adresu (napr. %1) %1 d @@ -1793,8 +1793,8 @@ Znovu použiť jestvujúcu prijímaciu adresu (neodporúča sa) - 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 Raven network. - Pridať voliteľnú správu k výzve na zaplatenie, ktorá sa zobrazí keď bude výzva otvorená. Poznámka: Správa nebude poslaná s platbou cez sieť Raven. + 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 BLAST network. + Pridať voliteľnú správu k výzve na zaplatenie, ktorá sa zobrazí keď bude výzva otvorená. Poznámka: Správa nebude poslaná s platbou cez sieť BLAST. An optional label to associate with the new receiving address. @@ -1947,7 +1947,7 @@ SendCoinsDialog Send Coins - Poslať Ravens + Poslať BLAST Coin Control Features @@ -2026,7 +2026,7 @@ spolu aspoň - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. Zaplatenie len minimálneho poplatku je v poriadku, pokiaľ existuje menej transakcií ako miesta v blokoch. Uvedomte si však, že ak bude vyšší dopyt po transakciách ako dokáže sieť spracovať, môže byť vaša transakcia odsúvaná a nepotvrdená donekonečna. @@ -2190,8 +2190,8 @@ Odhadovaný začiatok potvrdzovania po %n bloku.Odhadovaný začiatok potvrdzovania po %n blokoch.Odhadovaný začiatok potvrdzovania po %n blokoch. - Warning: Invalid Raven address - Varovanie: Neplatná Raven adresa + Warning: Invalid BLAST address + Varovanie: Neplatná BLAST adresa Warning: Unknown change address @@ -2233,7 +2233,7 @@ Toto je normálna platba. - The Raven address to send the payment to + The BLAST address to send the payment to Zvoľte adresu kam poslať platbu @@ -2253,8 +2253,8 @@ Odstrániť túto položku - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Poplatok sa odpočíta od čiastky, ktorú odosielate. Príjemca dostane menej ravenov ako zadáte. Ak je vybraných viacero príjemcov, poplatok je rozdelený rovným dielom. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Poplatok sa odpočíta od čiastky, ktorú odosielate. Príjemca dostane menej blastov ako zadáte. Ak je vybraných viacero príjemcov, poplatok je rozdelený rovným dielom. S&ubtract fee from amount @@ -2277,8 +2277,8 @@ Vložte popis pre túto adresu aby sa uložila do zoznamu použitých adries - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Správa ktorá bola pripojená k raven: URI a ktorá bude uložená s transakcou pre Vaše potreby. Poznámka: Táto správa nebude poslaná cez sieť Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Správa ktorá bola pripojená k blast: URI a ktorá bude uložená s transakcou pre Vaše potreby. Poznámka: Táto správa nebude poslaná cez sieť BLAST. Pay To: @@ -2322,12 +2322,12 @@ &Podpísať Správu - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Môžete podpísať správy svojou adresou a dokázať, že viete prijímať mince zaslané na túto adresu. Buďte však opatrní a podpíšte len podrobné prehlásenia, s ktorými plne súhlasíte, nakoľko útoky typu "phishing" Vás môžu lákať k podpísaniu nejasných alebo príliš všeobecných tvrdení čím prevezmú vašu identitu. - The Raven address to sign the message with - Raven adresa pre podpísanie správy s + The BLAST address to sign the message with + BLAST adresa pre podpísanie správy s Choose previously used address @@ -2358,7 +2358,7 @@ Kopírovať tento podpis do systémovej schránky - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Podpíšte správu aby ste dokázali že vlastníte túto adresu @@ -2382,12 +2382,12 @@ Vložte adresu príjemcu, správu (uistite sa, že presne kopírujete ukončenia riadkov, medzery, odrážky, atď.) a podpis pre potvrdenie správy. Buďte opatrní a nedomýšľajte si viac než je uvedené v samotnej podpísanej správe a môžete sa tak vyhnúť podvodu MITM útokom. Toto len potvrdzuje, že podpisujúca strana môže prijímať na tejto adrese, nepotvrdzuje to vlastníctvo žiadnej transakcie! - The Raven address the message was signed with - Adresa Raven, ktorou bola podpísaná správa + The BLAST address the message was signed with + Adresa BLAST, ktorou bola podpísaná správa - Verify the message to ensure it was signed with the specified Raven address - Overím správy sa uistiť že bola podpísaná označenou Raven adresou + Verify the message to ensure it was signed with the specified BLAST address + Overím správy sa uistiť že bola podpísaná označenou BLAST adresou Verify &Message @@ -2933,7 +2933,7 @@ - raven-core + blast-core Options: Možnosti: @@ -2987,8 +2987,8 @@ Nepodarilo sa spustiť HTTP server. Pre viac detailov zobrazte debug log. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_sl_SI.ts b/src/qt/locale/bitcoin_sl_SI.ts similarity index 96% rename from src/qt/locale/raven_sl_SI.ts rename to src/qt/locale/bitcoin_sl_SI.ts index ec7e2f0b15..7fd1f33a5f 100644 --- a/src/qt/locale/raven_sl_SI.ts +++ b/src/qt/locale/bitcoin_sl_SI.ts @@ -124,7 +124,7 @@ - RavenGUI + BlastGUI Sign &message... Podpiši &sporočilo ... @@ -202,8 +202,8 @@ Poustvarjam kazalo blokov na disku ... - Send coins to a Raven address - Izvedite plačilo na naslov Raven + Send coins to a BLAST address + Izvedite plačilo na naslov BLAST Backup wallet to another location @@ -226,8 +226,8 @@ &Preveri sporočilo ... - Raven - Raven + BLAST + BLAST Wallet @@ -254,12 +254,12 @@ Šifrirajte zasebne ključe, ki se nahajajo v denarnici - Sign messages with your Raven addresses to prove you own them - Podpišite poljubno sporočilo z enim svojih naslovov Raven, da prejemniku sporočila dokažete, da je ta naslov v vaši lasti. + Sign messages with your BLAST addresses to prove you own them + Podpišite poljubno sporočilo z enim svojih naslovov BLAST, da prejemniku sporočila dokažete, da je ta naslov v vaši lasti. - Verify messages to ensure they were signed with specified Raven addresses - Preverite, če je bilo prejeto sporočilo podpisano z določenim naslovom Raven + Verify messages to ensure they were signed with specified BLAST addresses + Preverite, če je bilo prejeto sporočilo podpisano z določenim naslovom BLAST &File @@ -278,8 +278,8 @@ Orodna vrstica zavihkov - Request payments (generates QR codes and raven: URIs) - Zahtevajte plačilo (ustvarite zahtevek s kodo QR in URI tipa raven:) + Request payments (generates QR codes and blast: URIs) + Zahtevajte plačilo (ustvarite zahtevek s kodo QR in URI tipa blast:) Show the list of used sending addresses and labels @@ -290,16 +290,16 @@ Preglejte in uredite seznam naslovov, na katere ste kdaj prejeli plačila - Open a raven: URI or payment request - Izvedite plačilo iz zahtevka v datoteki ali iz URI tipa raven: + Open a blast: URI or payment request + Izvedite plačilo iz zahtevka v datoteki ali iz URI tipa blast: &Command-line options Opcije &ukazne vrstice - %n active connection(s) to Raven network - %n aktivna povezava v omrežje Raven%n aktivni povezavi v omrežje Raven%n aktivne povezave v omrežje Raven%n aktivnih povezav v omrežje Raven + %n active connection(s) to BLAST network + %n aktivna povezava v omrežje BLAST%n aktivni povezavi v omrežje BLAST%n aktivne povezave v omrežje BLAST%n aktivnih povezav v omrežje BLAST Indexing blocks on disk... @@ -712,7 +712,7 @@ Omogoči &trošenje drobiža iz še nepotrjenih plačil - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. Program samodejno odpre ustrezna vrata na usmerjevalniku. To deluje samo, če vaš usmerjevalnik podpira in ima omogočen UPnP. @@ -720,8 +720,8 @@ Preslikaj vrata z uporabo &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Poveži se v omrežje Raven preko posredniškega strežnika SOCKS5. + Connect to the BLAST network through a SOCKS5 proxy. + Poveži se v omrežje BLAST preko posredniškega strežnika SOCKS5. &Connect through SOCKS5 proxy (default proxy): @@ -823,8 +823,8 @@ Oblika - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Prikazani podatki so morda zastareli. Program ob vzpostavitvi povezave samodejno sinhronizira denarnico z omrežjem Raven, a trenutno ta proces še ni zaključen. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Prikazani podatki so morda zastareli. Program ob vzpostavitvi povezave samodejno sinhronizira denarnico z omrežjem BLAST, a trenutno ta proces še ni zaključen. Watch-only: @@ -912,8 +912,8 @@ Znesek - Enter a Raven address (e.g. %1) - Vnesite naslov Raven (npr. %1): + Enter a BLAST address (e.g. %1) + Vnesite naslov BLAST (npr. %1): %1 d @@ -1176,8 +1176,8 @@ P&onovno uporabite obstoječ naslov za prejemanje. (Ni priporočeno.) - 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 Raven network. - Neobvezno sporočilo kot priponka zahtevku za plačilo, ki bo prikazano, ko bo zahtevek odprt. Opomba: Opravljeno plačilo.prek omrežja Raven tega sporočila ne bo vsebovalo. + 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 BLAST network. + Neobvezno sporočilo kot priponka zahtevku za plačilo, ki bo prikazano, ko bo zahtevek odprt. Opomba: Opravljeno plačilo.prek omrežja BLAST tega sporočila ne bo vsebovalo. An optional label to associate with the new receiving address. @@ -1345,7 +1345,7 @@ skupno vsaj - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. Dokler bo v blokih še dovolj prostora za vse nastajajoče transakcije, zadostuje, če plačate samo minimalno provizijo. Ko pa se bo količina vseh transakcij povečala do meja zmogljivosti omrežja, se lahko zgodi, da vaša transakcija brez večje provizije nikoli ne bo potrjena. @@ -1432,8 +1432,8 @@ Plačilo je navadne vrste. - The Raven address to send the payment to - Naslov Raven, na katerega bo plačilo poslano + The BLAST address to send the payment to + Naslov BLAST, na katerega bo plačilo poslano Alt+A @@ -1452,7 +1452,7 @@ Izpraznite vsebino polja - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Znesek plačila bo zmanjšan za znesek provizije. Prejemnik bo prejel manjše število kovancev, kot je bil vnešeni znesek. Če je prejemnikov več, bo provizija med njih enakomerno porazdeljena. @@ -1476,8 +1476,8 @@ Če vnesete oznako za zgornji naslov, se bo skupaj z naslovom shranila v imenk že uporabljenih naslovov - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Sporočilo, ki ste ga pripeli na URI tipa raven:. Shranjeno bo skupaj s podatki o transakciji. Opomba: Sporočilo ne bo poslano preko omrežja Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Sporočilo, ki ste ga pripeli na URI tipa blast:. Shranjeno bo skupaj s podatki o transakciji. Opomba: Sporočilo ne bo poslano preko omrežja BLAST. Pay To: @@ -1509,12 +1509,12 @@ &Podpiši sporočilo - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. S svojimi naslovi lahko podpisujete sporočila ali pogodbe in s tem dokazujete, da na teh naslovih lahko prejemate kovance. Bodite previdni in ne podpisujte ničesar nejasnega ali naključnega, ker vas zlikovci preko ribarjenja (phishing) lahko prelisičijo, da na njih prepišete svojo identiteto. Podpisujte samo podrobno opisane izjave, s katerimi se strinjate. - The Raven address to sign the message with - Naslov Raven, s katerim podpisujete sporočilo + The BLAST address to sign the message with + Naslov BLAST, s katerim podpisujete sporočilo Choose previously used address @@ -1545,7 +1545,7 @@ Kopiranje trenutnega podpisa na sistemsko odložišče. - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Podpišite sporočilo, da dokažete lastništvo nad zgornjim naslovom. @@ -1569,12 +1569,12 @@ Da preverite verodostojnost sporočila, spodaj vnesite: prejemnikov naslov, prejeto sporočilo (pazljivo skopirajte vse prelome vrstic, presledke, tabulatorje ipd.,) in prejeti podpis. Da se izognete napadom tipa man-in-the-middle, vedite, da iz veljavnega podpisa ne sledi nič drugega, kot tisto, kar je navedeno v sporočilu. Podpis samo potrjuje dejstvo, da ima podpisnik v lasti prejemni naslov, ne more pa dokazati vira nobene transakcije! - The Raven address the message was signed with - Naslov Raven, s katerim je bilo sporočilo podpisano + The BLAST address the message was signed with + Naslov BLAST, s katerim je bilo sporočilo podpisano - Verify the message to ensure it was signed with the specified Raven address - Preverite, ali je bilo sporočilo v resnici podpisano z navedenim naslovom Raven. + Verify the message to ensure it was signed with the specified BLAST address + Preverite, ali je bilo sporočilo v resnici podpisano z navedenim naslovom BLAST. Verify &Message @@ -1656,7 +1656,7 @@ - raven-core + blast-core Options: Možnosti: @@ -1682,8 +1682,8 @@ Teci v ozadju in sprejemaj ukaze - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_sq.ts b/src/qt/locale/bitcoin_sq.ts similarity index 98% rename from src/qt/locale/raven_sq.ts rename to src/qt/locale/bitcoin_sq.ts index 7c6e7f213b..192ac2a460 100644 --- a/src/qt/locale/raven_sq.ts +++ b/src/qt/locale/bitcoin_sq.ts @@ -46,12 +46,12 @@ Duke marr adresen - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Këto janë Raven adresat e juaja për të dërguar pagesa. Gjithmon kontrolloni shumën dhe adresën pranuese para se të dërgoni monedha. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Këto janë BLAST adresat e juaja për të dërguar pagesa. Gjithmon kontrolloni shumën dhe adresën pranuese para se të dërgoni monedha. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Këto janë Raven adresat e juaja për të pranuar pagesa. Rekomandohet që gjithmon të përdorni një adresë të re për çdo transaksion. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Këto janë BLAST adresat e juaja për të pranuar pagesa. Rekomandohet që gjithmon të përdorni një adresë të re për çdo transaksion. &Copy Address @@ -176,7 +176,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... Duke u sinkronizuar me rrjetin... @@ -214,8 +214,8 @@ Ndrysho frazkalimin e përdorur per enkriptimin e portofolit - Raven - Raven + BLAST + BLAST Wallet @@ -778,14 +778,14 @@ - raven-core + blast-core Options: Opsionet: - Raven Core - Berthama Raven + BLAST Core + Berthama BLAST Information diff --git a/src/qt/locale/raven_sr.ts b/src/qt/locale/bitcoin_sr.ts similarity index 98% rename from src/qt/locale/raven_sr.ts rename to src/qt/locale/bitcoin_sr.ts index 9b25b0deb0..7ca9f7cd9c 100644 --- a/src/qt/locale/raven_sr.ts +++ b/src/qt/locale/bitcoin_sr.ts @@ -76,7 +76,7 @@ BanTableModel - RavenGUI + BlastGUI Synchronizing with network... Синхронизација са мрежом у току... @@ -130,8 +130,8 @@ Промени &лозинку... - Send coins to a Raven address - Пошаљите новац на raven адресу + Send coins to a BLAST address + Пошаљите новац на BLAST адресу Change the passphrase used for wallet encryption @@ -442,7 +442,7 @@ WalletView - raven-core + blast-core Options: Opcije diff --git a/src/qt/locale/raven_sr@latin.ts b/src/qt/locale/bitcoin_sr@latin.ts similarity index 96% rename from src/qt/locale/raven_sr@latin.ts rename to src/qt/locale/bitcoin_sr@latin.ts index 1aeb401e0c..61352c567f 100644 --- a/src/qt/locale/raven_sr@latin.ts +++ b/src/qt/locale/bitcoin_sr@latin.ts @@ -100,7 +100,7 @@ Potvrdite šifrovanje novčanika - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! Upozorenje: Ako šifrujete svoj novčanik, i potom izgubite svoju pristupnu frazu <b>IZGUBIĆETE SVE SVOJE BITKOINE</b>! @@ -124,7 +124,7 @@ - RavenGUI + BlastGUI Synchronizing with network... Usklađivanje sa mrežom... @@ -158,16 +158,16 @@ Otvori &URI... - Send coins to a Raven address - Pošalji novčiće na Raven adresu + Send coins to a BLAST address + Pošalji novčiće na BLAST adresu &Verify message... &Proveri poruku... - Raven - Raven + BLAST + BLAST Wallet @@ -404,10 +404,10 @@ WalletView - raven-core + blast-core - Raven Core - Raven Core + BLAST Core + BLAST Core Information diff --git a/src/qt/locale/raven_sv.ts b/src/qt/locale/bitcoin_sv.ts similarity index 96% rename from src/qt/locale/raven_sv.ts rename to src/qt/locale/bitcoin_sv.ts index 9ba2bfb4f0..9e65113ed6 100644 --- a/src/qt/locale/raven_sv.ts +++ b/src/qt/locale/bitcoin_sv.ts @@ -62,12 +62,12 @@ Mottagaradresser - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Detta är dina Raven adresser för att skicka betalningar. Kolla alltid summan och den mottagande adressen innan du skickar Ravens. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Detta är dina BLAST adresser för att skicka betalningar. Kolla alltid summan och den mottagande adressen innan du skickar BLAST. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Detta är dina Raven adresser för att ta emot betalningar. Det rekommenderas att använda en ny mottagningsadress för varje transaktion. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Detta är dina BLAST adresser för att ta emot betalningar. Det rekommenderas att använda en ny mottagningsadress för varje transaktion. &Copy Address @@ -169,8 +169,8 @@ Var vänlig och försök igen. Bekräfta kryptering av plånbok - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - VARNING: Om du krypterar din plånbok och glömmer ditt lösenord, kommer du att <b>FÖRLORA ALLA DINA RAVEN</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + VARNING: Om du krypterar din plånbok och glömmer ditt lösenord, kommer du att <b>FÖRLORA ALLA DINA BLAST</b>! Are you sure you wish to encrypt your wallet? @@ -181,7 +181,7 @@ Var vänlig och försök igen. Plånbok krypterad - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 kommer nu att stänga ner för att färdigställa krypteringen. Tänk på att en krypterad plånbok inte skyddar mot stöld om din dator är infekterad med en keylogger. @@ -233,7 +233,7 @@ Var vänlig och försök igen. - RavenGUI + BlastGUI Sign &message... Signera &meddelande... @@ -339,8 +339,8 @@ Var vänlig och försök igen. Återindexerar block på disken... - Send coins to a Raven address - Skicka ravens till en Raven-adress + Send coins to a BLAST address + Skicka BLAST till en BLAST-adress Backup wallet to another location @@ -363,8 +363,8 @@ Var vänlig och försök igen. &Verifiera meddelande... - Raven - Raven + BLAST + BLAST Wallet @@ -391,12 +391,12 @@ Var vänlig och försök igen. Kryptera de privata nycklar som tillhör din plånbok - Sign messages with your Raven addresses to prove you own them - Signera meddelanden med din Raven-adress för att bevisa att du äger dem + Sign messages with your BLAST addresses to prove you own them + Signera meddelanden med din BLAST-adress för att bevisa att du äger dem - Verify messages to ensure they were signed with specified Raven addresses - Verifiera meddelanden för att vara säker på att de var signerade med specificerade Raven-adresser + Verify messages to ensure they were signed with specified BLAST addresses + Verifiera meddelanden för att vara säker på att de var signerade med specificerade BLAST-adresser &File @@ -415,8 +415,8 @@ Var vänlig och försök igen. Verktygsfält för tabbar - Request payments (generates QR codes and raven: URIs) - Begär betalning (genererar QR-koder och raven-URI) + Request payments (generates QR codes and blast: URIs) + Begär betalning (genererar QR-koder och blast-URI) Show the list of used sending addresses and labels @@ -427,16 +427,16 @@ Var vänlig och försök igen. Visa listan av använda mottagningsadresser och etiketter - Open a raven: URI or payment request - Öppna en raven: URI eller betalningsbegäran + Open a blast: URI or payment request + Öppna en blast: URI eller betalningsbegäran &Command-line options &Kommandoradsalternativ - %n active connection(s) to Raven network - %n aktiva anslutningar till Raven-nätverket.%n aktiva anslutningar till Raven-nätverket. + %n active connection(s) to BLAST network + %n aktiva anslutningar till BLAST-nätverket.%n aktiva anslutningar till BLAST-nätverket. Indexing blocks on disk... @@ -479,8 +479,8 @@ Var vänlig och försök igen. Uppdaterad - Show the %1 help message to get a list with possible Raven command-line options - Visa %1 hjälpmeddelande för att få en lista med möjliga Raven kommandoradsalternativ. + Show the %1 help message to get a list with possible BLAST command-line options + Visa %1 hjälpmeddelande för att få en lista med möjliga BLAST kommandoradsalternativ. %1 client @@ -549,8 +549,8 @@ Var vänlig och försök igen. Denna plånbok är <b>krypterad</b> och för närvarande <b>låst</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Ett kritiskt fel uppstod. Raven kan inte fortsätta att köra säkert och kommer att avslutas. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Ett kritiskt fel uppstod. BLAST kan inte fortsätta att köra säkert och kommer att avslutas. @@ -743,8 +743,8 @@ Var vänlig och försök igen. Redigera avsändaradress - The entered address "%1" is not a valid Raven address. - Den angivna adressen "%1" är inte en giltig Raven-adress. + The entered address "%1" is not a valid BLAST address. + Den angivna adressen "%1" är inte en giltig BLAST-adress. The entered address "%1" is already in the address book. @@ -852,8 +852,8 @@ Var vänlig och försök igen. Eftersom detta är första gången programmet startas får du välja var %1 skall lagra sitt data. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 kommer att ladda ner och spara en kopia av Raven blockkedjan. Åtminstone %2GB av data kommer att sparas i denna katalog, och den kommer att växa över tiden. Plånboken kommer också att sparas i denna katalog. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 kommer att ladda ner och spara en kopia av BLAST blockkedjan. Åtminstone %2GB av data kommer att sparas i denna katalog, och den kommer att växa över tiden. Plånboken kommer också att sparas i denna katalog. Use the default data directory @@ -887,8 +887,8 @@ Var vänlig och försök igen. Formulär - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Nyligen gjorda transaktioner visas inte korrekt och därför kan ditt din plånboks saldo visas felaktigt. Denna information kommer att visas korrekt så snart din plånbok har synkroniserat klart med raven nätverket, enligt detaljer nedan. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Nyligen gjorda transaktioner visas inte korrekt och därför kan ditt din plånboks saldo visas felaktigt. Denna information kommer att visas korrekt så snart din plånbok har synkroniserat klart med BLAST nätverket, enligt detaljer nedan. Number of blocks left @@ -1045,16 +1045,16 @@ Var vänlig och försök igen. &Spendera obekräftad växel - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Öppna automatiskt Raven-klientens port på routern. Detta fungerar endast om din router har UPnP aktiverat. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Öppna automatiskt BLAST-klientens port på routern. Detta fungerar endast om din router har UPnP aktiverat. Map port using &UPnP Tilldela port med hjälp av &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Anslut till Raven-nätverket genom en SOCKS5-proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Anslut till BLAST-nätverket genom en SOCKS5-proxy. &Connect through SOCKS5 proxy (default proxy): @@ -1093,8 +1093,8 @@ Var vänlig och försök igen. Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Anslut till Raven-nätverket genom en separat SOCKS5-proxy för dolda tjänster i Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Anslut till BLAST-nätverket genom en separat SOCKS5-proxy för dolda tjänster i Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1192,8 +1192,8 @@ Var vänlig och försök igen. Formulär - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Den visade informationen kan vara inaktuell. Plånboken synkroniseras automatiskt med Raven-nätverket efter att anslutningen är upprättad, men denna process har inte slutförts ännu. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Den visade informationen kan vara inaktuell. Plånboken synkroniseras automatiskt med BLAST-nätverket efter att anslutningen är upprättad, men denna process har inte slutförts ännu. Watch-only: @@ -1267,8 +1267,8 @@ Var vänlig och försök igen. Fel vid betalningsbegäran - Cannot start raven: click-to-pay handler - Kan inte starta raven: klicka-och-betala handhavare + Cannot start blast: click-to-pay handler + Kan inte starta blast: klicka-och-betala handhavare URI handling @@ -1283,8 +1283,8 @@ Var vänlig och försök igen. Ogiltig betalningsadress %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI kan inte tolkas! Detta kan orsakas av en ogiltig Raven-adress eller felaktiga URI parametrar. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI kan inte tolkas! Detta kan orsakas av en ogiltig BLAST-adress eller felaktiga URI parametrar. Payment request file handling @@ -1373,8 +1373,8 @@ Var vänlig och försök igen. Mängd - Enter a Raven address (e.g. %1) - Ange en Raven-adress (t.ex. %1) + Enter a BLAST address (e.g. %1) + Ange en BLAST-adress (t.ex. %1) %1 d @@ -1789,8 +1789,8 @@ Var vänlig och försök igen. Åt&eranvänd en existerande mottagningsadress (rekommenderas inte) - 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 Raven network. - Ett frivilligt meddelande att bifoga betalningsbegäran, vilket visas när begäran öppnas. NB: Meddelandet kommer inte att sändas med betalningen över Ravennätverket. + 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 BLAST network. + Ett frivilligt meddelande att bifoga betalningsbegäran, vilket visas när begäran öppnas. NB: Meddelandet kommer inte att sändas med betalningen över Blastnätverket. An optional label to associate with the new receiving address. @@ -2022,8 +2022,8 @@ Var vänlig och försök igen. totalt minst - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Att betala endast den minsta avgiften är bara bra så länge det är mindre transaktionsvolym än utrymme i blocken. Men tänk på att det kan hamna i en aldrig bekräftar transaktion när det finns mer efterfrågan på raven transaktioner än nätverket kan bearbeta. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Att betala endast den minsta avgiften är bara bra så länge det är mindre transaktionsvolym än utrymme i blocken. Men tänk på att det kan hamna i en aldrig bekräftar transaktion när det finns mer efterfrågan på BLAST transaktioner än nätverket kan bearbeta. (read the tooltip) @@ -2182,8 +2182,8 @@ Var vänlig och försök igen. Betala endast den nödvändiga avgiften på %1 - Warning: Invalid Raven address - Varning: Felaktig Ravenadress + Warning: Invalid BLAST address + Varning: Felaktig Blastadress Warning: Unknown change address @@ -2225,8 +2225,8 @@ Var vänlig och försök igen. Detta är en normal betalning. - The Raven address to send the payment to - Ravenadress att sända betalning till + The BLAST address to send the payment to + Blastadress att sända betalning till Alt+A @@ -2245,8 +2245,8 @@ Var vänlig och försök igen. Radera denna post - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Avgiften dras från beloppet som skickas. Mottagaren kommer att få mindre ravens än du angivit i belopp-fältet. Om flera mottagare valts kommer avgiften delas jämt. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Avgiften dras från beloppet som skickas. Mottagaren kommer att få mindre BLAST än du angivit i belopp-fältet. Om flera mottagare valts kommer avgiften delas jämt. S&ubtract fee from amount @@ -2269,8 +2269,8 @@ Var vänlig och försök igen. Ange en etikett för denna adress att adderas till listan över använda adresser - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Ett meddelande som bifogades raven-URI, vilket lagras med transaktionen som referens. NB: Meddelandet kommer inte att sändas över Ravennätverket. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Ett meddelande som bifogades blast-URI, vilket lagras med transaktionen som referens. NB: Meddelandet kommer inte att sändas över Blastnätverket. Pay To: @@ -2314,12 +2314,12 @@ Var vänlig och försök igen. &Signera Meddelande - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Du kan underteckna meddelanden/avtal med dina adresser för att bevisa att du kan ta emot ravens som skickats till dem. Var försiktig så du inte undertecknar något oklart eller konstigt, eftersom phishing-angrepp kan försöka få dig att underteckna din identitet till dem. Underteckna endast väldetaljerade meddelanden som du godkänner. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Du kan underteckna meddelanden/avtal med dina adresser för att bevisa att du kan ta emot BLAST som skickats till dem. Var försiktig så du inte undertecknar något oklart eller konstigt, eftersom phishing-angrepp kan försöka få dig att underteckna din identitet till dem. Underteckna endast väldetaljerade meddelanden som du godkänner. - The Raven address to sign the message with - Ravenadress att signera meddelandet med + The BLAST address to sign the message with + Blastadress att signera meddelandet med Choose previously used address @@ -2350,7 +2350,7 @@ Var vänlig och försök igen. Kopiera signaturen till systemets Urklipp - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Signera meddelandet för att bevisa att du äger denna adress @@ -2374,12 +2374,12 @@ Var vänlig och försök igen. Ange mottagarens adress, meddelande (kopiera radbrytningar, mellanrum, flikar, etc. exakt) och signatur nedan för att verifiera meddelandet. Undvik att läsa in mera information i signaturen än vad som stod i själva undertecknade meddelandet, för att undvika ett man-in-the-middle-angrepp. Notera att detta endast bevisar att undertecknad tar emot med adressen, det bevisar inte vem som skickat transaktionen! - The Raven address the message was signed with - Ravenadressen som meddelandet signerades med + The BLAST address the message was signed with + Blastadressen som meddelandet signerades med - Verify the message to ensure it was signed with the specified Raven address - Verifiera meddelandet för att vara säker på att den var signerad med den angivna Raven-adressen + Verify the message to ensure it was signed with the specified BLAST address + Verifiera meddelandet för att vara säker på att den var signerad med den angivna BLAST-adressen Verify &Message @@ -2894,7 +2894,7 @@ Var vänlig och försök igen. WalletModel Send Coins - Skicka Ravens + Skicka BLAST @@ -2933,7 +2933,7 @@ Var vänlig och försök igen. - raven-core + blast-core Options: Inställningar: @@ -3003,8 +3003,8 @@ Var vänlig och försök igen. Kunde inte starta HTTP-server. Se avlusningsloggen för detaljer. - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers @@ -3792,7 +3792,7 @@ Var vänlig och försök igen. Insufficient funds - Otillräckligt med ravens + Otillräckligt med BLAST Loading block index... diff --git a/src/qt/locale/raven_ta.ts b/src/qt/locale/bitcoin_ta.ts similarity index 98% rename from src/qt/locale/raven_ta.ts rename to src/qt/locale/bitcoin_ta.ts index e2fa977b9e..903bc8c156 100644 --- a/src/qt/locale/raven_ta.ts +++ b/src/qt/locale/bitcoin_ta.ts @@ -52,7 +52,7 @@ - RavenGUI + BlastGUI &Overview &கண்ணோட்டம் @@ -90,8 +90,8 @@ &செய்தியை சரிசெய்... - Raven - Raven + BLAST + BLAST Wallet @@ -706,10 +706,10 @@ WalletView - raven-core + blast-core - Raven Core - Raven மையம் + BLAST Core + BLAST மையம் (default: %u) diff --git a/src/qt/locale/raven_th_TH.ts b/src/qt/locale/bitcoin_th_TH.ts similarity index 95% rename from src/qt/locale/raven_th_TH.ts rename to src/qt/locale/bitcoin_th_TH.ts index 9949860d70..609e00f7a2 100644 --- a/src/qt/locale/raven_th_TH.ts +++ b/src/qt/locale/bitcoin_th_TH.ts @@ -88,7 +88,7 @@ - RavenGUI + BlastGUI Sign &message... เซ็นต์ชื่อด้วย &ข้อความ... @@ -163,11 +163,11 @@ &Sending addresses... - &ที่เก็บเงิน ที่จะส่ง raven + &ที่เก็บเงิน ที่จะส่ง BLAST &Receiving addresses... - &ที่เก็บเงิน ที่จะรับ raven + &ที่เก็บเงิน ที่จะรับ BLAST Open &URI... @@ -178,8 +178,8 @@ กำลังทำดัชนี ที่เก็บบล็อก ใหม่ ในดิสก์... - Send coins to a Raven address - ส่ง coins ไปยัง ที่เก็บ Raven + Send coins to a BLAST address + ส่ง coins ไปยัง ที่เก็บ BLAST Backup wallet to another location @@ -202,8 +202,8 @@ &ยืนยันข้อความ... - Raven - Raven + BLAST + BLAST Wallet @@ -230,12 +230,12 @@ เข้ารหัส private keys/ รหัสส่วนตัว สำหรับกระเป๋าเงินของท่าน - Sign messages with your Raven addresses to prove you own them - เซ็นชื่อด้วยข้อความ ที่เก็บ Raven เพื่อแสดงว่าท่านเป็นเจ้าของ raven นี้จริง + Sign messages with your BLAST addresses to prove you own them + เซ็นชื่อด้วยข้อความ ที่เก็บ BLAST เพื่อแสดงว่าท่านเป็นเจ้าของ BLAST นี้จริง - Verify messages to ensure they were signed with specified Raven addresses - ตรวจสอบ ข้อความ เพื่อให้แน่ใจว่า การเซ็นต์ชื่อ ด้วยที่เก็บ Raven แล้ว + Verify messages to ensure they were signed with specified BLAST addresses + ตรวจสอบ ข้อความ เพื่อให้แน่ใจว่า การเซ็นต์ชื่อ ด้วยที่เก็บ BLAST แล้ว &File @@ -254,28 +254,28 @@ แถบเครื่องมือ - Request payments (generates QR codes and raven: URIs) - เรียกเก็บ การชำระเงิน (สร้าง QR codes และ raven: URIs) + Request payments (generates QR codes and blast: URIs) + เรียกเก็บ การชำระเงิน (สร้าง QR codes และ blast: URIs) Show the list of used sending addresses and labels - แสดงรายการ ที่เก็บเงินที่จะส่ง raven ออก และป้ายชื่อ ที่ใช้ไปแล้ว + แสดงรายการ ที่เก็บเงินที่จะส่ง BLAST ออก และป้ายชื่อ ที่ใช้ไปแล้ว Show the list of used receiving addresses and labels - แสดงรายการ ที่เก็บเงินที่จะรับ raven เข้า และป้ายชื่อ ที่ใช้ไปแล้ว + แสดงรายการ ที่เก็บเงินที่จะรับ BLAST เข้า และป้ายชื่อ ที่ใช้ไปแล้ว - Open a raven: URI or payment request - เปิด raven: URI หรือ การเรียกเก็บเงิน (การเรียกให้ชำระเงิน) + Open a blast: URI or payment request + เปิด blast: URI หรือ การเรียกเก็บเงิน (การเรียกให้ชำระเงิน) &Command-line options &ตัวเลือก Command-line - %n active connection(s) to Raven network - %n ช่องการเชื่อมต่อที่ใช้งานได้ เพื่อเชื่อมกับเครือข่าย Raven + %n active connection(s) to BLAST network + %n ช่องการเชื่อมต่อที่ใช้งานได้ เพื่อเชื่อมกับเครือข่าย BLAST Indexing blocks on disk... @@ -318,8 +318,8 @@ ทันสมัย - Show the %1 help message to get a list with possible Raven command-line options - แสดง %1 ข้อความช่วยเหลือ เพื่อแสดงรายการ ตัวเลือกที่เป็นไปได้สำหรับ Raven command-line + Show the %1 help message to get a list with possible BLAST command-line options + แสดง %1 ข้อความช่วยเหลือ เพื่อแสดงรายการ ตัวเลือกที่เป็นไปได้สำหรับ BLAST command-line %1 client @@ -563,8 +563,8 @@ นี่เป็นการรันโปรแกรมครั้งแรก ท่านสามารถเลือก ว่าจะเก็บข้อมูลไว้ที่ %1 - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 จะดาวน์โหลดและเก็บกอปปี้ชุดหนึ่งของ บล็อกเชน Raven ไว้ ข้อมูลขนานอย่างน้อย %2GB จะเก็บไว้ในไดเร็กทอรี่นี้ และข้อมูลจะมีขนาดใหญ่ขึ้นเรื่อยๆ กระเป๋าเงิน จะเก็บไว้ในไดเร็กทอรี่นี้ด้วย + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 จะดาวน์โหลดและเก็บกอปปี้ชุดหนึ่งของ บล็อกเชน BLAST ไว้ ข้อมูลขนานอย่างน้อย %2GB จะเก็บไว้ในไดเร็กทอรี่นี้ และข้อมูลจะมีขนาดใหญ่ขึ้นเรื่อยๆ กระเป๋าเงิน จะเก็บไว้ในไดเร็กทอรี่นี้ด้วย Use the default data directory @@ -712,16 +712,16 @@ &ใช้เงินทอนที่ยังไม่ยืนยัน - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - เปิด Raven ไคล์เอ็นท์พอร์ต/client port บน router โดยอัตโนมัติ วิธีนี้ใช้ได้เมื่อ router สนับสนุน UPnP และสถานะเปิดใช้งาน + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + เปิด BLAST ไคล์เอ็นท์พอร์ต/client port บน router โดยอัตโนมัติ วิธีนี้ใช้ได้เมื่อ router สนับสนุน UPnP และสถานะเปิดใช้งาน Map port using &UPnP จองพอร์ต โดยใช้ &UPnP - Connect to the Raven network through a SOCKS5 proxy. - เชื่อมต่อกับ Raven เน็ตเวิร์ก ผ่านพร็อกซี่แบบ SOCKS5 + Connect to the BLAST network through a SOCKS5 proxy. + เชื่อมต่อกับ BLAST เน็ตเวิร์ก ผ่านพร็อกซี่แบบ SOCKS5 &Connect through SOCKS5 proxy (default proxy): @@ -760,8 +760,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - เชื่อมต่อกับ เครือข่าย Raven ผ่านทาง พร้อกซี่ SOCKS5 แยกต่างหาก สำหรับ Tor เซอร์วิส + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + เชื่อมต่อกับ เครือข่าย BLAST ผ่านทาง พร้อกซี่ SOCKS5 แยกต่างหาก สำหรับ Tor เซอร์วิส Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -916,7 +916,7 @@ WalletView - raven-core + blast-core Options: ตัวเลือก: diff --git a/src/qt/locale/raven_tr.ts b/src/qt/locale/bitcoin_tr.ts similarity index 96% rename from src/qt/locale/raven_tr.ts rename to src/qt/locale/bitcoin_tr.ts index 348c08a1cd..c8f11353c9 100644 --- a/src/qt/locale/raven_tr.ts +++ b/src/qt/locale/bitcoin_tr.ts @@ -62,12 +62,12 @@ Alım adresleri - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Bunlar ödemeleri göndermek için kullanacağınız Raven adreslerinizdir. Raven yollamadan önce tutarı ve alıcının alım adresini her zaman kontrol ediniz. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Bunlar ödemeleri göndermek için kullanacağınız BLAST adreslerinizdir. BLAST yollamadan önce tutarı ve alıcının alım adresini her zaman kontrol ediniz. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Bunlar ödemeleri almak için kullanacağınız Raven adreslerinizdir. Her işlem için yeni bir alım adresi kullanmanız tavsiye edilir. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Bunlar ödemeleri almak için kullanacağınız BLAST adreslerinizdir. Her işlem için yeni bir alım adresi kullanmanız tavsiye edilir. &Copy Address @@ -168,7 +168,7 @@ Cüzdan şifrelemesini onayla - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! Uyarı: Eğer cüzdanınızı şifreler ve parolanızı kaybederseniz <b>TÜM BİTCOİNLERİNİZİ KAYBEDECEKSİNİZ</b>! @@ -180,8 +180,8 @@ Cüzdan şifrelendi - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - Şifreleme işleminin bitirilmesi için %1 kapatılacak. Her ne kadar cüzdanınızı şifreleseniz de şifrelemenin ravenlerinizi bilgisayarınıza bulaşan zararlılardan tam olarak koruyamayacağını unutmayın. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + Şifreleme işleminin bitirilmesi için %1 kapatılacak. Her ne kadar cüzdanınızı şifreleseniz de şifrelemenin blastlerinizi bilgisayarınıza bulaşan zararlılardan tam olarak koruyamayacağını unutmayın. 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. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... &İleti imzala... @@ -338,8 +338,8 @@ Diskteki bloklar yeniden indeksleniyor... - Send coins to a Raven address - Bir raven adresine raven gönder + Send coins to a BLAST address + Bir BLAST adresine BLAST gönder Backup wallet to another location @@ -362,8 +362,8 @@ İletiyi &kontrol et... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Cüzdanınıza ait özel anahtarları şifreleyin - Sign messages with your Raven addresses to prove you own them - İletileri adreslerin size ait olduğunu ispatlamak için Raven adresleri ile imzala + Sign messages with your BLAST addresses to prove you own them + İletileri adreslerin size ait olduğunu ispatlamak için BLAST adresleri ile imzala - Verify messages to ensure they were signed with specified Raven addresses - Belirtilen Raven adresleri ile imzalandıklarından emin olmak için iletileri kontrol et + Verify messages to ensure they were signed with specified BLAST addresses + Belirtilen BLAST adresleri ile imzalandıklarından emin olmak için iletileri kontrol et &File @@ -414,8 +414,8 @@ Sekme araç çubuğu - Request payments (generates QR codes and raven: URIs) - Ödeme talep et (QR kodu ve raven URI'si oluşturur) + Request payments (generates QR codes and blast: URIs) + Ödeme talep et (QR kodu ve blast URI'si oluşturur) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Kullanılmış alım adresleri ve etiketlerin listesini göster - Open a raven: URI or payment request - Bir raven: bağlantısı ya da ödeme talebi aç + Open a blast: URI or payment request + Bir blast: bağlantısı ya da ödeme talebi aç &Command-line options &Komut satırı seçenekleri - %n active connection(s) to Raven network - Raven şebekesine %n faal bağlantıRaven ağına %n etkin bağlantı var + %n active connection(s) to BLAST network + BLAST şebekesine %n faal bağlantıBLAST ağına %n etkin bağlantı var Indexing blocks on disk... @@ -478,8 +478,8 @@ Güncel - Show the %1 help message to get a list with possible Raven command-line options - Olası Raven komut satırı seçeneklerinin listesini görmek için %1 yardım mesajını göster + Show the %1 help message to get a list with possible BLAST command-line options + Olası BLAST komut satırı seçeneklerinin listesini görmek için %1 yardım mesajını göster %1 client @@ -548,15 +548,15 @@ Cüzdan <b>şifrelenmiştir</b> ve şu anda <b>kilitlidir</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - Ölümcül bir hata oluştu. Raven yazılımı artık güvenli bir şekilde çalışmaya devam edemediği için kapatılacaktır. + A fatal error occurred. BLAST can no longer continue safely and will quit. + Ölümcül bir hata oluştu. BLAST yazılımı artık güvenli bir şekilde çalışmaya devam edemediği için kapatılacaktır. CoinControlDialog Coin Selection - Raven Seçimi + BLAST Seçimi Quantity: @@ -742,8 +742,8 @@ Gönderi adresini düzenle - The entered address "%1" is not a valid Raven address. - Girilen "%1" adresi geçerli bir Raven adresi değildir. + The entered address "%1" is not a valid BLAST address. + Girilen "%1" adresi geçerli bir BLAST adresi değildir. The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ Bu programın ilk kez başlatılmasından dolayı %1 yazılımının verilerini nerede saklayacağını seçebilirsiniz. - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1, Raven blok zincirinin bir kopyasını indirecek ve saklayacaktır. Bu klasörde en az %2 GB veri saklanacak ve bu zamanla artacaktır. Cüzdan da bu klasörde saklanacaktır. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1, BLAST blok zincirinin bir kopyasını indirecek ve saklayacaktır. Bu klasörde en az %2 GB veri saklanacak ve bu zamanla artacaktır. Cüzdan da bu klasörde saklanacaktır. Use the default data directory @@ -886,12 +886,12 @@ Form - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - Son işlemler henüz görünmeyebilir ve bu nedenle cüzdanınızın bakiyesi yanlış olabilir. Bu bilgiler, aşağıda detaylandırıldığı gibi, cüzdanınız raven ağı ile senkronizasyonunu tamamladığında doğru olacaktır. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + Son işlemler henüz görünmeyebilir ve bu nedenle cüzdanınızın bakiyesi yanlış olabilir. Bu bilgiler, aşağıda detaylandırıldığı gibi, cüzdanınız BLAST ağı ile senkronizasyonunu tamamladığında doğru olacaktır. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - Henüz görüntülenmeyen işlemlerden etkilenen ravenleri harcama girişiminde bulunmak ağ tarafından kabul edilmeyecektir. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + Henüz görüntülenmeyen işlemlerden etkilenen blastleri harcama girişiminde bulunmak ağ tarafından kabul edilmeyecektir. Number of blocks left @@ -1048,16 +1048,16 @@ Doğrulanmamış para üstünü &harca - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - Yönlendiricide Raven istemci portlarını otomatik olarak açar. Bu, sadece yönlendiricinizin UPnP desteği bulunuyorsa ve etkinse çalışabilir. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + Yönlendiricide BLAST istemci portlarını otomatik olarak açar. Bu, sadece yönlendiricinizin UPnP desteği bulunuyorsa ve etkinse çalışabilir. Map port using &UPnP Portları &UPnP kullanarak haritala - Connect to the Raven network through a SOCKS5 proxy. - Raven ağına bir SOCKS5 vekil sunucusu aracılığıyla bağlan. + Connect to the BLAST network through a SOCKS5 proxy. + BLAST ağına bir SOCKS5 vekil sunucusu aracılığıyla bağlan. &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Raven ağına gizli Tor servisleri için ayrı bir SOCKS5 vekil sunucusu aracılığıyla bağlan. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + BLAST ağına gizli Tor servisleri için ayrı bir SOCKS5 vekil sunucusu aracılığıyla bağlan. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1145,7 +1145,7 @@ Choose the default subdivision unit to show in the interface and when sending coins. - Raven gönderildiğinde arayüzde gösterilecek varsayılan alt birimi seçiniz. + BLAST gönderildiğinde arayüzde gösterilecek varsayılan alt birimi seçiniz. Whether to show coin control features or not. @@ -1195,8 +1195,8 @@ Form - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Görüntülenen bilgiler güncel olmayabilir. Bağlantı kurulduğunda cüzdanınız otomatik olarak Raven ağı ile senkronize olur ancak bu işlem henüz tamamlanmamıştır. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Görüntülenen bilgiler güncel olmayabilir. Bağlantı kurulduğunda cüzdanınız otomatik olarak BLAST ağı ile senkronize olur ancak bu işlem henüz tamamlanmamıştır. Watch-only: @@ -1270,8 +1270,8 @@ Ödeme talebi hatası - Cannot start raven: click-to-pay handler - Raven başlatılamadı: tıkla-ve-öde yöneticisi + Cannot start blast: click-to-pay handler + BLAST başlatılamadı: tıkla-ve-öde yöneticisi URI handling @@ -1286,8 +1286,8 @@ %1 ödeme adresi geçersizdir - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - URI ayrıştırılamıyor! Bunun nedeni geçersiz bir Raven adresi veya hatalı biçimlendirilmiş URI değişkenleri olabilir. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + URI ayrıştırılamıyor! Bunun nedeni geçersiz bir BLAST adresi veya hatalı biçimlendirilmiş URI değişkenleri olabilir. Payment request file handling @@ -1380,8 +1380,8 @@ Tutar - Enter a Raven address (e.g. %1) - Bir Raven adresi giriniz (mesela %1) + Enter a BLAST address (e.g. %1) + Bir BLAST adresi giriniz (mesela %1) %1 d @@ -1726,7 +1726,7 @@ WARNING: Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramification of a command. - UYARI: Raven dolandırıcılarının çok fazla etkin olduğu zamanlarda, dolandırıcılar bazı kullanıcılara buraya komutlar yazmalarını söylerek onların cüzdanlarındaki ravenleri çalmışlardır. Bir komutun sonuçlarını tam olarak anlamadan bu konsolu kullanmayın. + UYARI: BLAST dolandırıcılarının çok fazla etkin olduğu zamanlarda, dolandırıcılar bazı kullanıcılara buraya komutlar yazmalarını söylerek onların cüzdanlarındaki blastleri çalmışlardır. Bir komutun sonuçlarını tam olarak anlamadan bu konsolu kullanmayın. Network activity disabled @@ -1804,8 +1804,8 @@ &Hâlihazırda bulunan bir alım adresini kullan (önerilmez) - 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 Raven network. - Talep açıldığında gösterilecek, isteğinize dayalı, ödeme talebi ile ilişkilendirilecek bir ileti. Not: Bu ileti ödeme ile birlikte Raven ağı üzerinden gönderilmeyecektir. + 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 BLAST network. + Talep açıldığında gösterilecek, isteğinize dayalı, ödeme talebi ile ilişkilendirilecek bir ileti. Not: Bu ileti ödeme ile birlikte BLAST ağı üzerinden gönderilmeyecektir. An optional label to associate with the new receiving address. @@ -1958,7 +1958,7 @@ SendCoinsDialog Send Coins - Raven yolla + BLAST yolla Coin Control Features @@ -2037,8 +2037,8 @@ toplam asgari - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Gerekli olan en az ücreti ödemek, bloklarda boşluktan daha az işlem hacmi olduğu sürece bir sorun çıkarmaz. Fakat ağın işleyecebileceğinden daha çok raven işlemi talebi olduğunda bunun asla doğrulanmayan bir işlem olabileceğinin farkında olmalısınız. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Gerekli olan en az ücreti ödemek, bloklarda boşluktan daha az işlem hacmi olduğu sürece bir sorun çıkarmaz. Fakat ağın işleyecebileceğinden daha çok BLAST işlemi talebi olduğunda bunun asla doğrulanmayan bir işlem olabileceğinin farkında olmalısınız. (read the tooltip) @@ -2150,7 +2150,7 @@ Confirm send coins - Raven gönderimini onaylayın + BLAST gönderimini onaylayın The recipient address is not valid. Please recheck. @@ -2197,8 +2197,8 @@ Sadece asgari ücret olan %1 tutarını öde - Warning: Invalid Raven address - Uyarı: geçersiz Raven adresi + Warning: Invalid BLAST address + Uyarı: geçersiz BLAST adresi Warning: Unknown change address @@ -2240,8 +2240,8 @@ Bu, normal bir ödemedir. - The Raven address to send the payment to - Ödemenin yollanacağı Raven adresi + The BLAST address to send the payment to + Ödemenin yollanacağı BLAST adresi Alt+A @@ -2260,8 +2260,8 @@ Bu ögeyi kaldır - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - Ücret yollanan tutardan alınacaktır. Alıcı tutar alanına girdiğinizden daha az raven alacaktır. Eğer birden çok alıcı seçiliyse ücret eşit olarak bölünecektir. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + Ücret yollanan tutardan alınacaktır. Alıcı tutar alanına girdiğinizden daha az BLAST alacaktır. Eğer birden çok alıcı seçiliyse ücret eşit olarak bölünecektir. S&ubtract fee from amount @@ -2284,8 +2284,8 @@ Kullanılmış adres listesine eklemek için bu adrese bir etiket girin - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Referans için raven: URI'siyle iliştirilmiş işlemle birlikte depolanacak bir ileti. Not: Bu mesaj Raven ağı üzerinden gönderilmeyecektir. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Referans için blast: URI'siyle iliştirilmiş işlemle birlikte depolanacak bir ileti. Not: Bu mesaj BLAST ağı üzerinden gönderilmeyecektir. Pay To: @@ -2329,12 +2329,12 @@ İleti &imzala - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. - Adreslerinize yollanan ravenleri alabileceğiniz ispatlamak için adreslerinizle iletiler/anlaşmalar imzalayabilirsiniz. Oltalama saldırılarının kimliğinizi imzanızla elde etmeyi deneyebilecekleri için belirsiz ya da rastgele hiçbir şey imzalamamaya dikkat ediniz. Sadece ayrıntılı açıklaması olan ve tümüne katıldığınız ifadeleri imzalayınız. + You can sign messages/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. + Adreslerinize yollanan blastleri alabileceğiniz ispatlamak için adreslerinizle iletiler/anlaşmalar imzalayabilirsiniz. Oltalama saldırılarının kimliğinizi imzanızla elde etmeyi deneyebilecekleri için belirsiz ya da rastgele hiçbir şey imzalamamaya dikkat ediniz. Sadece ayrıntılı açıklaması olan ve tümüne katıldığınız ifadeleri imzalayınız. - The Raven address to sign the message with - İletinin imzalanmasında kullanılacak Raven adresi + The BLAST address to sign the message with + İletinin imzalanmasında kullanılacak BLAST adresi Choose previously used address @@ -2365,8 +2365,8 @@ Güncel imzayı sistem panosuna kopyala - Sign the message to prove you own this Raven address - Bu Raven adresinin sizin olduğunu ispatlamak için iletiyi imzalayın + Sign the message to prove you own this BLAST address + Bu BLAST adresinin sizin olduğunu ispatlamak için iletiyi imzalayın Sign &Message @@ -2389,12 +2389,12 @@ Alıcının adresini, iletiyi (satır sonları, boşluklar, sekmeler vs. karakterleri tam olarak kopyaladığınızdan emin olunuz) ve imzayı aşağıya giriniz. Bir ortadaki adam saldırısı tarafından kandırılmaya engel olmak için imzadan, imzalı iletinin içeriğini aşan bir anlam çıkarmamaya dikkat ediniz. Bunun sadece imzalayan tarafın adres ile alım yapabildiğini ispatladığını ve herhangi bir işlemin gönderi tarafını kanıtlayamayacağını unutmayınız! - The Raven address the message was signed with - İletinin imzalanmasında kullanılan Raven adresi + The BLAST address the message was signed with + İletinin imzalanmasında kullanılan BLAST adresi - Verify the message to ensure it was signed with the specified Raven address - Belirtilen Raven adresi ile imzalandığını doğrulamak için iletiyi kontrol et + Verify the message to ensure it was signed with the specified BLAST address + Belirtilen BLAST adresi ile imzalandığını doğrulamak için iletiyi kontrol et Verify &Message @@ -2619,7 +2619,7 @@ 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. - Oluşturulan raven'lerin harcanabilmelerinden önce %1 blok beklemeleri gerekmektedir. Bu blok, oluşturduğunuzda, blok zincirine eklenmesi için ağda yayınlandı. Zincire eklenmesi başarısız olursa, durumu "kabul edilmedi" olarak değiştirilecek ve harcanamayacaktır. Bu, bazen başka bir düğüm sizden birkaç saniye önce ya da sonra blok oluşturursa meydana gelebilir. + Oluşturulan blast'lerin harcanabilmelerinden önce %1 blok beklemeleri gerekmektedir. Bu blok, oluşturduğunuzda, blok zincirine eklenmesi için ağda yayınlandı. Zincire eklenmesi başarısız olursa, durumu "kabul edilmedi" olarak değiştirilecek ve harcanamayacaktır. Bu, bazen başka bir düğüm sizden birkaç saniye önce ya da sonra blok oluşturursa meydana gelebilir. Debug information @@ -2945,7 +2945,7 @@ WalletModel Send Coins - Raveni Gönder + Blasti Gönder @@ -2984,7 +2984,7 @@ - raven-core + blast-core Options: Seçenekler: @@ -3054,8 +3054,8 @@ HTTP sunucusu başlatılamadı. Ayrıntılar için debug.log dosyasına bakınız. - Raven Core - Raven Çekirdeği + BLAST Core + BLAST Çekirdeği The %s developers @@ -3135,7 +3135,7 @@ This is a pre-release test build - use at your own risk - do not use for mining or merchant applications - Bu kararlı sürümden önceki bir deneme sürümüdür. - risklerini bilerek kullanma sorumluluğu sizdedir - raven oluşturmak ya da ticari uygulamalar için kullanmayınız + Bu kararlı sürümden önceki bir deneme sürümüdür. - risklerini bilerek kullanma sorumluluğu sizdedir - BLAST oluşturmak ya da ticari uygulamalar için kullanmayınız Unable to rewind the database to a pre-fork state. You will need to redownload the blockchain @@ -3575,7 +3575,7 @@ The transaction amount is too small to pay the fee - İşlemdeki raven tutarı ücreti ödemek için çok düşük + İşlemdeki BLAST tutarı ücreti ödemek için çok düşük This is experimental software. diff --git a/src/qt/locale/raven_tr_TR.ts b/src/qt/locale/bitcoin_tr_TR.ts similarity index 100% rename from src/qt/locale/raven_tr_TR.ts rename to src/qt/locale/bitcoin_tr_TR.ts diff --git a/src/qt/locale/raven_uk.ts b/src/qt/locale/bitcoin_uk.ts similarity index 97% rename from src/qt/locale/raven_uk.ts rename to src/qt/locale/bitcoin_uk.ts index ac429096c8..e5b5b955f5 100644 --- a/src/qt/locale/raven_uk.ts +++ b/src/qt/locale/bitcoin_uk.ts @@ -62,12 +62,12 @@ Адреса отримання - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - Це ваші адреси Raven для надсилання платежів. Завжди перевіряйте суму та адресу одержувача перед відправленням монет. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + Це ваші адреси BLAST для надсилання платежів. Завжди перевіряйте суму та адресу одержувача перед відправленням монет. - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - Це ваші адреси Raven для отримання платежів. Для кожної транзакції рекомендується використовувати нову адресу одержувача. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + Це ваші адреси BLAST для отримання платежів. Для кожної транзакції рекомендується використовувати нову адресу одержувача. &Copy Address @@ -168,7 +168,7 @@ Підтвердіть шифрування гаманця - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! УВАГА: Якщо ви зашифруєте гаманець і забудете пароль, ви <b>ВТРАТИТЕ ВСІ СВОЇ БІТКОІНИ</b>! @@ -180,7 +180,7 @@ Гаманець зашифровано - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 буде закрито зараз, щоб завершити процес шифрування. Пам'ятайте, що шифрування гаманця не може повністю захистити ваші біткойни від крадіжки шкідливими програмами, у випадку якщо ваш комп'ютер буде інфіковано. @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... &Підписати повідомлення... @@ -338,7 +338,7 @@ Переіндексація блоків на диску ... - Send coins to a Raven address + Send coins to a BLAST address Відправити монети на вказану адресу @@ -362,8 +362,8 @@ П&еревірити повідомлення... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ Зашифрувати закриті ключі, що знаходяться у вашому гаманці - Sign messages with your Raven addresses to prove you own them - Підтвердіть, що Ви є власником повідомлення підписавши його Вашою Raven-адресою + Sign messages with your BLAST addresses to prove you own them + Підтвердіть, що Ви є власником повідомлення підписавши його Вашою BLAST-адресою - Verify messages to ensure they were signed with specified Raven addresses - Перевірте повідомлення для впевненості, що воно підписано вказаною Raven-адресою + Verify messages to ensure they were signed with specified BLAST addresses + Перевірте повідомлення для впевненості, що воно підписано вказаною BLAST-адресою &File @@ -414,8 +414,8 @@ Панель вкладок - Request payments (generates QR codes and raven: URIs) - Створити запит платежу (генерує QR-код та raven: URI) + Request payments (generates QR codes and blast: URIs) + Створити запит платежу (генерує QR-код та blast: URI) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ Показати список адрес і міток, що були використані для отримання - Open a raven: URI or payment request - Відкрити raven: URI чи запит платежу + Open a blast: URI or payment request + Відкрити blast: URI чи запит платежу &Command-line options П&араметри командного рядка - %n active connection(s) to Raven network - %n активне з'єднання з мережею Raven%n активні з'єднання з мережею Raven%n активних з'єднань з мережею Raven + %n active connection(s) to BLAST network + %n активне з'єднання з мережею BLAST%n активні з'єднання з мережею BLAST%n активних з'єднань з мережею BLAST Indexing blocks on disk... @@ -478,7 +478,7 @@ Синхронізовано - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options Показати довідку %1 для отримання переліку можливих параметрів командного рядка. @@ -548,7 +548,7 @@ <b>Зашифрований</b> гаманець <b>заблоковано</b> - A fatal error occurred. Raven can no longer continue safely and will quit. + A fatal error occurred. BLAST can no longer continue safely and will quit. Сталася фатальна помилка. Помилки не сумісні з подальщою роботою. Гаманець буде закрито. @@ -738,8 +738,8 @@ Редагувати адресу для відправлення - The entered address "%1" is not a valid Raven address. - Введена адреса "%1" не є адресою в мережі Raven. + The entered address "%1" is not a valid BLAST address. + Введена адреса "%1" не є адресою в мережі BLAST. The entered address "%1" is already in the address book. @@ -878,11 +878,11 @@ Форма - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. Нещодавні транзакції ще не відображаються, тому баланс вашого гаманця може бути неточним. Ця інформація буде вірною після того, як ваш гаманець завершить синхронізацію з мережею біткойн, врахровуйте показники нижче. - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. Спроба видправити біткойни, які ще не відображаються, не буде прийнята мережею. @@ -1036,7 +1036,7 @@ &Витрачати непідтверджену решту - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. Автоматично відкривати порт для клієнту біткоін на роутері. Працює лише якщо ваш роутер підтримує UPnP і ця функція увімкнена. @@ -1044,8 +1044,8 @@ Відображення порту через &UPnP - Connect to the Raven network through a SOCKS5 proxy. - Підключення до мережі Raven через SOCKS5 проксі. + Connect to the BLAST network through a SOCKS5 proxy. + Підключення до мережі BLAST через SOCKS5 проксі. &Connect through SOCKS5 proxy (default proxy): @@ -1084,8 +1084,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - Підключатися до мережі Raven через окремий SOCKS5 проксі для прихованих сервісів Tor. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + Підключатися до мережі BLAST через окремий SOCKS5 проксі для прихованих сервісів Tor. Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1175,8 +1175,8 @@ Форма - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Показана інформація вже може бути застарілою. Ваш гаманець буде автоматично синхронізовано з мережею Raven після встановлення підключення, але цей процес ще не завершено. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Показана інформація вже може бути застарілою. Ваш гаманець буде автоматично синхронізовано з мережею BLAST після встановлення підключення, але цей процес ще не завершено. Watch-only: @@ -1276,8 +1276,8 @@ Кількість - Enter a Raven address (e.g. %1) - Введіть адресу Raven (наприклад %1) + Enter a BLAST address (e.g. %1) + Введіть адресу BLAST (наприклад %1) %1 d @@ -1632,8 +1632,8 @@ По&вторно використати адресу для отримання (не рекомендується) - 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 Raven network. - Необов'язкове повідомлення на додаток до запиту платежу, котре буде показане під час відкриття запиту. Примітка: Це повідомлення не буде відправлено з платежем через мережу Raven. + 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 BLAST network. + Необов'язкове повідомлення на додаток до запиту платежу, котре буде показане під час відкриття запиту. Примітка: Це повідомлення не буде відправлено з платежем через мережу BLAST. An optional label to associate with the new receiving address. @@ -1849,8 +1849,8 @@ всього щонайменше - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven transactions than the network can process. - Оплата тільки мінімальної комісії є прийнятною, допоки обсяг транзакцій є меншим простору в блоках. Але майте на увазі, що це може анулювати транзакцію, якщо попит на Raven транзакції стане більшим, ніж мережа зможе обробити. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. + Оплата тільки мінімальної комісії є прийнятною, допоки обсяг транзакцій є меншим простору в блоках. Але майте на увазі, що це може анулювати транзакцію, якщо попит на BLAST транзакції стане більшим, ніж мережа зможе обробити. (read the tooltip) @@ -1968,8 +1968,8 @@ Це звичайний платіж. - The Raven address to send the payment to - Адреса Raven для відправлення платежу + The BLAST address to send the payment to + Адреса BLAST для відправлення платежу Alt+A @@ -1988,7 +1988,7 @@ Видалити цей запис - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. Комісію буде знято зі вказаної суми. До отримувача надійде менше біткоінів, ніж було вказано в полі кількості. Якщо ж отримувачів декілька - комісію буде розподілено між ними. @@ -2012,8 +2012,8 @@ Введіть мітку для цієї адреси для додавання її в список використаних адрес - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - Повідомлення, що було додане до raven:URI та буде збережено разом з транзакцією для довідки. Примітка: Це повідомлення не буде відправлено в мережу Raven. + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + Повідомлення, що було додане до blast:URI та буде збережено разом з транзакцією для довідки. Примітка: Це повідомлення не буде відправлено в мережу BLAST. Pay To: @@ -2053,12 +2053,12 @@ &Підписати повідомлення - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. Ви можете підписувати повідомлення/угоди своїми адресами, щоб довести можливість отримання біткоінів, що будуть надіслані на них. Остерігайтеся підписувати будь-що нечітке чи неочікуване, так як за допомогою фішинг-атаки вас можуть спробувати ввести в оману для отримання вашого підпису під чужими словами. Підписуйте лише чіткі твердження, з якими ви повністю згодні. - The Raven address to sign the message with - Адреса Raven для підпису цього повідомлення + The BLAST address to sign the message with + Адреса BLAST для підпису цього повідомлення Choose previously used address @@ -2089,7 +2089,7 @@ Копіювати поточну сигнатуру до системного буферу обміну - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address Підпишіть повідомлення щоб довести, що ви є власником цієї адреси @@ -2113,12 +2113,12 @@ Введіть нижче адресу отримувача, повідомлення (впевніться, що ви точно скопіювали символи завершення рядка, табуляцію, пробіли тощо) та підпис для перевірки повідомлення. Впевніться, що в підпис не було додано зайвих символів: це допоможе уникнути атак типу «людина посередині». Зауважте, що це лише засвідчує можливість отримання транзакцій підписувачем, але не в стані підтвердити джерело жодної транзакції! - The Raven address the message was signed with - Адреса Raven, якою було підписано це повідомлення + The BLAST address the message was signed with + Адреса BLAST, якою було підписано це повідомлення - Verify the message to ensure it was signed with the specified Raven address - Перевірте повідомлення для впевненості, що воно підписано вказаною Raven-адресою + Verify the message to ensure it was signed with the specified BLAST address + Перевірте повідомлення для впевненості, що воно підписано вказаною BLAST-адресою Verify &Message @@ -2596,7 +2596,7 @@ - raven-core + blast-core Options: Параметри: @@ -2654,8 +2654,8 @@ Неможливо запустити HTTP-сервер. Детальніший опис наведено в журналі зневадження. - Raven Core - Raven Core + BLAST Core + BLAST Core Bind to given address and always listen on it. Use [host]:port notation for IPv6 diff --git a/src/qt/locale/raven_ur_PK.ts b/src/qt/locale/bitcoin_ur_PK.ts similarity index 99% rename from src/qt/locale/raven_ur_PK.ts rename to src/qt/locale/bitcoin_ur_PK.ts index 9d2b446643..d5240e9e82 100644 --- a/src/qt/locale/raven_ur_PK.ts +++ b/src/qt/locale/bitcoin_ur_PK.ts @@ -80,7 +80,7 @@ BanTableModel - RavenGUI + BlastGUI Error نقص @@ -238,7 +238,7 @@ WalletView - raven-core + blast-core Insufficient funds ناکافی فنڈز diff --git a/src/qt/locale/raven_uz@Cyrl.ts b/src/qt/locale/bitcoin_uz@Cyrl.ts similarity index 97% rename from src/qt/locale/raven_uz@Cyrl.ts rename to src/qt/locale/bitcoin_uz@Cyrl.ts index 42a38a3340..1c69d9f400 100644 --- a/src/qt/locale/raven_uz@Cyrl.ts +++ b/src/qt/locale/bitcoin_uz@Cyrl.ts @@ -68,7 +68,7 @@ BanTableModel - RavenGUI + BlastGUI Sign &message... &Хабар ёзиш... @@ -146,8 +146,8 @@ Дискдаги блоклар қайта индексланмоқда... - Send coins to a Raven address - Тангаларни Raven манзилига жўнатиш + Send coins to a BLAST address + Тангаларни BLAST манзилига жўнатиш Backup wallet to another location @@ -170,8 +170,8 @@ Хабарни &тасдиқлаш... - Raven - Raven + BLAST + BLAST Wallet @@ -198,12 +198,12 @@ Ҳамёнингизга тегишли махфий калитларни кодлаш - Sign messages with your Raven addresses to prove you own them - Raven манзилидан унинг эгаси эканлигингизни исботлаш учун хабарлар ёзинг + Sign messages with your BLAST addresses to prove you own them + BLAST манзилидан унинг эгаси эканлигингизни исботлаш учун хабарлар ёзинг - Verify messages to ensure they were signed with specified Raven addresses - Хабарларни махсус Raven манзилларингиз билан ёзилганлигига ишонч ҳосил қилиш учун уларни тасдиқланг + Verify messages to ensure they were signed with specified BLAST addresses + Хабарларни махсус BLAST манзилларингиз билан ёзилганлигига ишонч ҳосил қилиш учун уларни тасдиқланг &File @@ -222,8 +222,8 @@ Ички ойналар асбоблар панели - Request payments (generates QR codes and raven: URIs) - Тўловлар (QR кодлари ва raven ёрдамида яратишлар: URI’лар) сўраш + Request payments (generates QR codes and blast: URIs) + Тўловлар (QR кодлари ва blast ёрдамида яратишлар: URI’лар) сўраш Show the list of used sending addresses and labels @@ -234,16 +234,16 @@ Фойдаланилган қабул қилинган манзиллар ва ёрлиқлар рўйхатини кўрсатиш - Open a raven: URI or payment request - Raven’ни очиш: URI ёки тўлов сўрови + Open a blast: URI or payment request + Blast’ни очиш: URI ёки тўлов сўрови &Command-line options &Буйруқлар сатри мосламалари - %n active connection(s) to Raven network - %n та Raven тармоғига фаол уланиш мавжуд + %n active connection(s) to BLAST network + %n та BLAST тармоғига фаол уланиш мавжуд %1 behind @@ -601,8 +601,8 @@ Шакл - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - Кўрсатилган маълумот эскирган бўлиши мумкин. Ҳамёнингиз алоқа ўрнатилгандан сўнг Raven тармоқ билан автоматик тарзда синхронланади, аммо жараён ҳалигача тугалланмади. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + Кўрсатилган маълумот эскирган бўлиши мумкин. Ҳамёнингиз алоқа ўрнатилгандан сўнг BLAST тармоқ билан автоматик тарзда синхронланади, аммо жараён ҳалигача тугалланмади. Watch-only: @@ -682,8 +682,8 @@ Миқдори - Enter a Raven address (e.g. %1) - Raven манзилини киритинг (масалан. %1) + Enter a BLAST address (e.g. %1) + BLAST манзилини киритинг (масалан. %1) %1 m @@ -1190,7 +1190,7 @@ WalletView - raven-core + blast-core Options: Танламалар: @@ -1208,8 +1208,8 @@ Демон сифатида орқа фонда ишга туширинг ва буйруқларга рози бўлинг - Raven Core - Raven Core + BLAST Core + BLAST Core Connection options: diff --git a/src/qt/locale/raven_vi.ts b/src/qt/locale/bitcoin_vi.ts similarity index 98% rename from src/qt/locale/raven_vi.ts rename to src/qt/locale/bitcoin_vi.ts index 7abe72714f..fffb69c2a3 100644 --- a/src/qt/locale/raven_vi.ts +++ b/src/qt/locale/bitcoin_vi.ts @@ -32,7 +32,7 @@ BanTableModel - RavenGUI + BlastGUI CoinControlDialog @@ -162,6 +162,6 @@ WalletView - raven-core + blast-core \ No newline at end of file diff --git a/src/qt/locale/raven_vi_VN.ts b/src/qt/locale/bitcoin_vi_VN.ts similarity index 97% rename from src/qt/locale/raven_vi_VN.ts rename to src/qt/locale/bitcoin_vi_VN.ts index 28507ef434..24a310ad3c 100644 --- a/src/qt/locale/raven_vi_VN.ts +++ b/src/qt/locale/bitcoin_vi_VN.ts @@ -96,7 +96,7 @@ - RavenGUI + BlastGUI Sign &message... Chứ ký & Tin nhắn... @@ -186,8 +186,8 @@ Đánh chỉ số (indexing) lại các khối (blocks) trên ổ đĩa ... - Send coins to a Raven address - Gửi coins đến tài khoản Raven + Send coins to a BLAST address + Gửi coins đến tài khoản BLAST Backup wallet to another location @@ -206,8 +206,8 @@ &Tin nhắn xác thực - Raven - Raven + BLAST + BLAST Wallet @@ -234,12 +234,12 @@ Mã hoá các khoá bí mật trong Ví của bạn. - Sign messages with your Raven addresses to prove you own them - Dùng địa chỉ Raven của bạn ký các tin nhắn để xác minh những nội dung tin nhắn đó là của bạn. + Sign messages with your BLAST addresses to prove you own them + Dùng địa chỉ BLAST của bạn ký các tin nhắn để xác minh những nội dung tin nhắn đó là của bạn. - Verify messages to ensure they were signed with specified Raven addresses - Kiểm tra các tin nhắn để chắc chắn rằng chúng được ký bằng các địa chỉ Raven xác định. + Verify messages to ensure they were signed with specified BLAST addresses + Kiểm tra các tin nhắn để chắc chắn rằng chúng được ký bằng các địa chỉ BLAST xác định. &File @@ -258,8 +258,8 @@ Thanh công cụ (toolbar) - Request payments (generates QR codes and raven: URIs) - Yêu cầu thanh toán(tạo mã QR và địa chỉ Raven: URLs) + Request payments (generates QR codes and blast: URIs) + Yêu cầu thanh toán(tạo mã QR và địa chỉ blast: URLs) Show the list of used sending addresses and labels @@ -270,8 +270,8 @@ Hiện thỉ danh sách các địa chỉ và nhãn đã dùng để nhận. - Open a raven: URI or payment request - Mở raven:URL hoặc yêu cầu thanh toán + Open a blast: URI or payment request + Mở blast:URL hoặc yêu cầu thanh toán &Command-line options @@ -536,8 +536,8 @@ - Connect to the Raven network through a SOCKS5 proxy. - Kết nối đến máy chủ Raven thông qua SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. + Kết nối đến máy chủ BLAST thông qua SOCKS5 proxy. Proxy &IP: @@ -1012,14 +1012,14 @@ WalletView - raven-core + blast-core Options: Lựa chọn: - Raven Core - Raven Core + BLAST Core + BLAST Core (default: %u) diff --git a/src/qt/locale/raven_zh.ts b/src/qt/locale/bitcoin_zh.ts similarity index 97% rename from src/qt/locale/raven_zh.ts rename to src/qt/locale/bitcoin_zh.ts index e02a2daeb9..f96a0cd73e 100644 --- a/src/qt/locale/raven_zh.ts +++ b/src/qt/locale/bitcoin_zh.ts @@ -12,7 +12,7 @@ BanTableModel - RavenGUI + BlastGUI Error 错误 @@ -107,7 +107,7 @@ 仅支付全额的%1 - Warning: Invalid Raven address + Warning: Invalid BLAST address 警告:比特币地址无效 @@ -166,7 +166,7 @@ WalletView - raven-core + blast-core Transaction too large for fee policy 根据费率标准,本次转账超额 diff --git a/src/qt/locale/raven_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts similarity index 97% rename from src/qt/locale/raven_zh_CN.ts rename to src/qt/locale/bitcoin_zh_CN.ts index c445ebdb63..fdc6fc4ad0 100644 --- a/src/qt/locale/raven_zh_CN.ts +++ b/src/qt/locale/bitcoin_zh_CN.ts @@ -62,11 +62,11 @@ 收款地址 - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. 这些是你要付款过去的比特币地址。在付钱之前,务必要检查金额和收款地址是否正确。 - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. 这些是你用来收款的比特币地址。建议在每次交易时,都使用一个新的收款地址。 @@ -168,7 +168,7 @@ 确认钱包加密 - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! 警告: 如果把钱包加密后又忘记密码,你就会从此<b>失去其中所有的比特币了</b>! @@ -180,7 +180,7 @@ 钱包已加密 - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 现在要关闭,以完成加密过程。请注意,加密钱包不能完全防止入侵你的电脑的恶意程序偷取钱币。 @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... 消息签名(&M)... @@ -338,7 +338,7 @@ 正在为数据块重建索引... - Send coins to a Raven address + Send coins to a BLAST address 向一个比特币地址发送比特币 @@ -362,7 +362,7 @@ 验证消息(&V)... - Raven + BLAST 比特币 @@ -390,11 +390,11 @@ 对钱包中的私钥加密 - Sign messages with your Raven addresses to prove you own them + Sign messages with your BLAST addresses to prove you own them 用比特币地址关联的私钥为消息签名,以证明您拥有这个比特币地址 - Verify messages to ensure they were signed with specified Raven addresses + Verify messages to ensure they were signed with specified BLAST addresses 校验消息,确保该消息是由指定的比特币地址所有者签名的 @@ -414,8 +414,8 @@ 分页工具栏 - Request payments (generates QR codes and raven: URIs) - 请求支付 (生成二维码和 raven: URI) + Request payments (generates QR codes and blast: URIs) + 请求支付 (生成二维码和 blast: URI) Show the list of used sending addresses and labels @@ -426,15 +426,15 @@ 显示用过的接收地址和标签的列表 - Open a raven: URI or payment request - 打开一个 raven: URI 或支付请求 + Open a blast: URI or payment request + 打开一个 blast: URI 或支付请求 &Command-line options 命令行选项(&C) - %n active connection(s) to Raven network + %n active connection(s) to BLAST network %n 个到比特币网络的活动连接 @@ -478,7 +478,7 @@ 已是最新 - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options 显示 %1 帮助信息,获取可用命令行选项列表 @@ -540,7 +540,7 @@ 钱包已被<b>加密</b>,当前为<b>锁定</b>状态 - A fatal error occurred. Raven can no longer continue safely and will quit. + A fatal error occurred. BLAST can no longer continue safely and will quit. 发生严重错误。客户端无法安全地继续运行,即将退出。 @@ -734,7 +734,7 @@ 编辑付款地址 - The entered address "%1" is not a valid Raven address. + The entered address "%1" is not a valid BLAST address. 输入的地址 %1 并不是有效的比特币地址。 @@ -844,7 +844,7 @@ 由于这是第一次启动此程序,您可以选择%1的数据所存储的位置 - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. %1 会下载并存储一份比特币区块链的副本。至少有 %2GB 的数据会存储到这个目录中,并且还会持续增长。另外钱包资料也会储存在这个目录。 @@ -879,11 +879,11 @@ 表单 - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. 近期交易可能尚未显示,因此当前余额可能不准确。以上信息将在与比特币网络完全同步后更正。详情如下 - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. 尝试使用受未可见交易影响的余额将不被网络接受。 @@ -1037,7 +1037,7 @@ 使用未经确认的零钱(&S) - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. 自动在路由器中打开比特币端口。只有当您的路由器开启了 UPnP 选项时此功能才有效。 @@ -1045,7 +1045,7 @@ 使用 &UPnP 映射端口 - Connect to the Raven network through a SOCKS5 proxy. + Connect to the BLAST network through a SOCKS5 proxy. 通过 SOCKS5 代理连接比特币网络。 @@ -1085,7 +1085,7 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. 在 Tor 匿名网络下通过不同的 SOCKS5 代理连接比特币网络 @@ -1184,7 +1184,7 @@ 表单 - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. 现在显示的消息可能是过期的。在连接上比特币网络节点后,您的钱包将自动与网络同步,但是这个过程还没有完成。 @@ -1259,8 +1259,8 @@ 要求付款时发生错误 - Cannot start raven: click-to-pay handler - 无法启动 raven 协议的“ + Cannot start blast: click-to-pay handler + 无法启动 BLAST 协议的“ 一键支付”处理器 @@ -1276,7 +1276,7 @@ 无效的付款地址 %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. 无法解析 URI 地址!可能是因为比特币地址无效,或是 URI 参数格式错误。 @@ -1370,7 +1370,7 @@ 金额 - Enter a Raven address (e.g. %1) + Enter a BLAST address (e.g. %1) 请输入一个比特币地址 (例如 %1) @@ -1790,7 +1790,7 @@ 重用现有的接收地址(不推荐) - 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 Raven 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 BLAST network. 可在付款请求上备注一条信息,在打开付款请求时可以看到。注意:该消息不是通过比特币网络传送。 @@ -2023,7 +2023,7 @@ 最小额 - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. 交易量小时只支付最小交易费是可以的。但是请注意,当交易量大到超出网络可处理时您的交易可能永远无法确认。 @@ -2183,7 +2183,7 @@ 预计 %n 个数据块后被确认。 - Warning: Invalid Raven address + Warning: Invalid BLAST address 警告: 比特币地址无效 @@ -2222,7 +2222,7 @@ 这是笔正常的支付。 - The Raven address to send the payment to + The BLAST address to send the payment to 付款目的地址 @@ -2242,7 +2242,7 @@ 移除此项 - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. 交易费将从发送总额中扣除。接收人将收到比您在金额框中输入的更少的比特币。如果选中了多个收件人,交易费平分。 @@ -2266,8 +2266,8 @@ 请为此地址输入一个标签以将它加入用过的地址列表 - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - raven:URI 附带的备注信息,将会和交易一起存储,备查。 注意:该消息不会通过比特币网络传输。 + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + blast:URI 附带的备注信息,将会和交易一起存储,备查。 注意:该消息不会通过比特币网络传输。 Pay To: @@ -2311,11 +2311,11 @@ 签名消息(&S) - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. 您可以用你的地址对消息/协议进行签名,以证明您可以接收发送到该地址的比特币。注意不要对任何模棱两可或者随机的消息进行签名,以免遭受钓鱼式攻击。请确保消息内容准确的表达了您的真实意愿。 - The Raven address to sign the message with + The BLAST address to sign the message with 用来对消息签名的地址 @@ -2347,7 +2347,7 @@ 复制当前签名至剪切板 - Sign the message to prove you own this Raven address + Sign the message to prove you own this BLAST address 签名消息,证明这个地址属于您。 @@ -2371,11 +2371,11 @@ 请在下面输入接收者地址、消息(确保换行符、空格符、制表符等完全相同)和签名以验证消息。请仔细核对签名信息,以提防中间人攻击。请注意,这只是证明接收方签名的地址,它不能证明任何交易! - The Raven address the message was signed with + The BLAST address the message was signed with 消息使用的签名地址 - Verify the message to ensure it was signed with the specified Raven address + Verify the message to ensure it was signed with the specified BLAST address 验证消息,确保消息是由指定的比特币地址签名过的。 @@ -2954,7 +2954,7 @@ - raven-core + blast-core Options: 选项: @@ -3017,8 +3017,8 @@ 无法启动HTTP服务,查看日志获取更多信息 - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/locale/raven_zh_HK.ts b/src/qt/locale/bitcoin_zh_HK.ts similarity index 96% rename from src/qt/locale/raven_zh_HK.ts rename to src/qt/locale/bitcoin_zh_HK.ts index 4c56326dc3..5ca2d9d6f0 100644 --- a/src/qt/locale/raven_zh_HK.ts +++ b/src/qt/locale/bitcoin_zh_HK.ts @@ -156,8 +156,8 @@ 確認錢包加密 - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - 警告: 如果你將錢包加密後又忘記密碼,你就會<b>失去所有 Raven 了</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + 警告: 如果你將錢包加密後又忘記密碼,你就會<b>失去所有 BLAST 了</b>! Are you sure you wish to encrypt your wallet? @@ -168,8 +168,8 @@ 錢包已加密 - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. - %1 現在要關閉來完成加密程序。請記得將錢包加密不能完全防止你的 Ravens 經被入侵電腦的惡意程式偷取。 + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. + %1 現在要關閉來完成加密程序。請記得將錢包加密不能完全防止你的 BLAST 經被入侵電腦的惡意程式偷取。 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. @@ -220,7 +220,7 @@ - RavenGUI + BlastGUI Sign &message... 簽署訊息... &m @@ -310,8 +310,8 @@ 正在為磁碟區塊重建索引... - Send coins to a Raven address - 付款至一個 Raven 位址 + Send coins to a BLAST address + 付款至一個 BLAST 位址 Backup wallet to another location @@ -334,8 +334,8 @@ 驗證訊息... &V - Raven - Raven + BLAST + BLAST Wallet @@ -370,8 +370,8 @@ 說明 &H - Request payments (generates QR codes and raven: URIs) - 要求付款 (產生QR碼 raven: URIs) + Request payments (generates QR codes and blast: URIs) + 要求付款 (產生QR碼 blast: URIs) Indexing blocks on disk... @@ -440,8 +440,8 @@ QObject - Enter a Raven address (e.g. %1) - 輸入一個 Raven 位址 (例如 %1) + Enter a BLAST address (e.g. %1) + 輸入一個 BLAST 位址 (例如 %1) %1 d @@ -660,7 +660,7 @@ - raven-core + blast-core Information 資訊 diff --git a/src/qt/locale/raven_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts similarity index 97% rename from src/qt/locale/raven_zh_TW.ts rename to src/qt/locale/bitcoin_zh_TW.ts index c45ae03177..e6446b100b 100644 --- a/src/qt/locale/raven_zh_TW.ts +++ b/src/qt/locale/bitcoin_zh_TW.ts @@ -62,12 +62,12 @@ 收款位址 - These are your Raven addresses for sending payments. Always check the amount and the receiving address before sending coins. - 這些是你要付款過去的 Raven 位址。在付錢之前,務必要檢查金額和收款位址是否正確。 + These are your BLAST addresses for sending payments. Always check the amount and the receiving address before sending coins. + 這些是你要付款過去的 BLAST 位址。在付錢之前,務必要檢查金額和收款位址是否正確。 - These are your Raven addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - 這些是你用來收款的 Raven 位址。建議在每次交易時,都使用一個新的收款位址。 + These are your BLAST addresses for receiving payments. It is recommended to use a new receiving address for each transaction. + 這些是你用來收款的 BLAST 位址。建議在每次交易時,都使用一個新的收款位址。 &Copy Address @@ -168,8 +168,8 @@ 確認錢包加密 - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR RAVENS</b>! - 警告: 如果把錢包加密後又忘記密碼,你就會從此<b>失去其中所有的 Raven 了</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BLAST</b>! + 警告: 如果把錢包加密後又忘記密碼,你就會從此<b>失去其中所有的 BLAST 了</b>! Are you sure you wish to encrypt your wallet? @@ -180,7 +180,7 @@ 錢包已加密 - %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your ravens from being stolen by malware infecting your computer. + %1 will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your BLAST from being stolen by malware infecting your computer. %1 現在要關閉,好完成加密程序。請注意,加密錢包不能完全防止入侵你的電腦的惡意程式偷取錢幣。 @@ -232,7 +232,7 @@ - RavenGUI + BlastGUI Sign &message... 簽署訊息... @@ -338,8 +338,8 @@ 正在為磁碟裡的區塊重建索引... - Send coins to a Raven address - 付錢給一個 Raven 位址 + Send coins to a BLAST address + 付錢給一個 BLAST 位址 Backup wallet to another location @@ -362,8 +362,8 @@ 驗證訊息... - Raven - Raven + BLAST + BLAST Wallet @@ -390,12 +390,12 @@ 把錢包中的密鑰加密 - Sign messages with your Raven addresses to prove you own them - 用 Raven 位址簽署訊息來證明位址是你的 + Sign messages with your BLAST addresses to prove you own them + 用 BLAST 位址簽署訊息來證明位址是你的 - Verify messages to ensure they were signed with specified Raven addresses - 驗證訊息是用來確定訊息是用指定的 Raven 位址簽署的 + Verify messages to ensure they were signed with specified BLAST addresses + 驗證訊息是用來確定訊息是用指定的 BLAST 位址簽署的 &File @@ -414,8 +414,8 @@ 分頁工具列 - Request payments (generates QR codes and raven: URIs) - 要求付款(產生 QR Code 和 raven 付款協議的資源識別碼: URI) + Request payments (generates QR codes and blast: URIs) + 要求付款(產生 QR Code 和 blast 付款協議的資源識別碼: URI) Show the list of used sending addresses and labels @@ -426,16 +426,16 @@ 顯示已使用過的收款位址和標記的清單 - Open a raven: URI or payment request - 開啓 raven 協議的資源識別碼(URI)或付款要求 + Open a blast: URI or payment request + 開啓 blast 協議的資源識別碼(URI)或付款要求 &Command-line options 命令列選項 - %n active connection(s) to Raven network - %n 個運作中的 Raven 網路連線 + %n active connection(s) to BLAST network + %n 個運作中的 BLAST 網路連線 Indexing blocks on disk... @@ -478,7 +478,7 @@ 最新狀態 - Show the %1 help message to get a list with possible Raven command-line options + Show the %1 help message to get a list with possible BLAST command-line options 顯示 %1 的說明訊息,來取得可用命令列選項的列表 @@ -548,8 +548,8 @@ 錢包<b>已加密</b>並且<b>上鎖中</b> - A fatal error occurred. Raven can no longer continue safely and will quit. - 發生了致命的錯誤。Raven 軟體沒辦法再繼續安全執行,只好結束。 + A fatal error occurred. BLAST can no longer continue safely and will quit. + 發生了致命的錯誤。BLAST 軟體沒辦法再繼續安全執行,只好結束。 @@ -742,8 +742,8 @@ 編輯付款位址 - The entered address "%1" is not a valid Raven address. - 輸入的位址 %1 並不是有效的 Raven 位址。 + The entered address "%1" is not a valid BLAST address. + 輸入的位址 %1 並不是有效的 BLAST 位址。 The entered address "%1" is already in the address book. @@ -851,8 +851,8 @@ 因為這是程式第一次啓動,你可以選擇 %1 儲存資料的地方。 - %1 will download and store a copy of the Raven block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. - %1 會下載並儲存一份 Raven 區塊鏈的拷貝。至少有 %2GB 的資料會儲存到這個目錄中,並且還會持續增長。另外錢包資料也會儲存在這個目錄。 + %1 will download and store a copy of the BLAST block chain. At least %2GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + %1 會下載並儲存一份 BLAST 區塊鏈的拷貝。至少有 %2GB 的資料會儲存到這個目錄中,並且還會持續增長。另外錢包資料也會儲存在這個目錄。 Use the default data directory @@ -886,12 +886,12 @@ 表單 - Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the raven network, as detailed below. - 最近的交易可能還看不到,因此錢包餘額可能不正確。在錢包軟體完成跟 raven 網路的同步後,這裡的資訊就會正確。詳情請見下面。 + Recent transactions may not yet be visible, and therefore your wallet's balance might be incorrect. This information will be correct once your wallet has finished synchronizing with the BLAST network, as detailed below. + 最近的交易可能還看不到,因此錢包餘額可能不正確。在錢包軟體完成跟 BLAST 網路的同步後,這裡的資訊就會正確。詳情請見下面。 - Attempting to spend ravens that are affected by not-yet-displayed transactions will not be accepted by the network. - 使用還沒顯示出來的交易所影響到的 raven 可能會不被網路所接受。 + Attempting to spend BLAST that are affected by not-yet-displayed transactions will not be accepted by the network. + 使用還沒顯示出來的交易所影響到的 BLAST 可能會不被網路所接受。 Number of blocks left @@ -1048,16 +1048,16 @@ 可以花還沒確認的零錢 - Automatically open the Raven client port on the router. This only works when your router supports UPnP and it is enabled. - 自動在路由器上開放 Raven 的客戶端通訊埠。只有在你的路由器支援且開啓「通用即插即用」協定(UPnP)時才有作用。 + Automatically open the BLAST client port on the router. This only works when your router supports UPnP and it is enabled. + 自動在路由器上開放 BLAST 的客戶端通訊埠。只有在你的路由器支援且開啓「通用即插即用」協定(UPnP)時才有作用。 Map port using &UPnP 用 &UPnP 設定通訊埠對應 - Connect to the Raven network through a SOCKS5 proxy. - 透過 SOCKS5 代理伺服器來連線到 Raven 網路。 + Connect to the BLAST network through a SOCKS5 proxy. + 透過 SOCKS5 代理伺服器來連線到 BLAST 網路。 &Connect through SOCKS5 proxy (default proxy): @@ -1096,8 +1096,8 @@ Tor - Connect to the Raven network through a separate SOCKS5 proxy for Tor hidden services. - 透過另外的 SOCKS5 代理伺服器來連線到 Raven 網路中的 Tor 隱藏服務。 + Connect to the BLAST network through a separate SOCKS5 proxy for Tor hidden services. + 透過另外的 SOCKS5 代理伺服器來連線到 BLAST 網路中的 Tor 隱藏服務。 Use separate SOCKS5 proxy to reach peers via Tor hidden services: @@ -1195,8 +1195,8 @@ 表單 - The displayed information may be out of date. Your wallet automatically synchronizes with the Raven network after a connection is established, but this process has not completed yet. - 顯示的資訊可能是過期的。跟 Raven 網路的連線建立後,你的錢包會自動和網路同步,但是這個步驟還沒完成。 + The displayed information may be out of date. Your wallet automatically synchronizes with the BLAST network after a connection is established, but this process has not completed yet. + 顯示的資訊可能是過期的。跟 BLAST 網路的連線建立後,你的錢包會自動和網路同步,但是這個步驟還沒完成。 Watch-only: @@ -1270,8 +1270,8 @@ 要求付款時發生錯誤 - Cannot start raven: click-to-pay handler - 沒辦法啟動 raven 協議的「按就付」處理器 + Cannot start blast: click-to-pay handler + 沒辦法啟動 blast 協議的「按就付」處理器 URI handling @@ -1286,8 +1286,8 @@ 無效的付款位址 %1 - URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters. - 沒辦法解析 URI 位址!可能是因為 Raven 位址無效,或是 URI 參數格式錯誤。 + URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters. + 沒辦法解析 URI 位址!可能是因為 BLAST 位址無效,或是 URI 參數格式錯誤。 Payment request file handling @@ -1380,8 +1380,8 @@ 金額 - Enter a Raven address (e.g. %1) - 輸入 Raven 位址 (比如說 %1) + Enter a BLAST address (e.g. %1) + 輸入 BLAST 位址 (比如說 %1) %1 d @@ -1804,8 +1804,8 @@ 重複使用現有的收款位址(不建議) - 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 Raven network. - 附加在付款要求中的訊息,可以不填,打開要求內容時會顯示。注意: 這個訊息不會隨著付款送到 Raven 網路上。 + 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 BLAST network. + 附加在付款要求中的訊息,可以不填,打開要求內容時會顯示。注意: 這個訊息不會隨著付款送到 BLAST 網路上。 An optional label to associate with the new receiving address. @@ -2037,7 +2037,7 @@ 總共最少 - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for raven 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. But be aware that this can end up in a never confirming transaction once there is more demand for BLAST transactions than the network can process. 當交易量少於區塊可容納的空間時,只付最低手續費不會有什麽問題。但是當交易量的需求成長到超過整體網路可以處理的量時,可能會造成一筆一直不會被確認的交易。 @@ -2197,8 +2197,8 @@ 只付必要的手續費 %1 - Warning: Invalid Raven address - 警告: Raven 位址無效 + Warning: Invalid BLAST address + 警告: BLAST 位址無效 Warning: Unknown change address @@ -2240,8 +2240,8 @@ 這是一筆正常的付款。 - The Raven address to send the payment to - 接收付款的 Raven 位址 + The BLAST address to send the payment to + 接收付款的 BLAST 位址 Alt+A @@ -2260,8 +2260,8 @@ 刪掉這個項目 - The fee will be deducted from the amount being sent. The recipient will receive less ravens than you enter in the amount field. If multiple recipients are selected, the fee is split equally. - 手續費會從要付款出去的金額中扣掉。因此收款人會收到比輸入的金額還要少的 raven。如果有多個收款人的話,手續費會平均分配來扣除。 + The fee will be deducted from the amount being sent. The recipient will receive less BLAST than you enter in the amount field. If multiple recipients are selected, the fee is split equally. + 手續費會從要付款出去的金額中扣掉。因此收款人會收到比輸入的金額還要少的 BLAST。如果有多個收款人的話,手續費會平均分配來扣除。 S&ubtract fee from amount @@ -2284,8 +2284,8 @@ 請輸入這個位址的標記,來把它加進去已使用過位址的清單。 - A message that was attached to the raven: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Raven network. - 附加在 Raven 付款協議的資源識別碼(URI)中的訊息,會和交易內容一起存起來,給你自己做參考。注意: 這個訊息不會送到 Raven 網路上。 + A message that was attached to the blast: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the BLAST network. + 附加在 BLAST 付款協議的資源識別碼(URI)中的訊息,會和交易內容一起存起來,給你自己做參考。注意: 這個訊息不會送到 BLAST 網路上。 Pay To: @@ -2329,12 +2329,12 @@ 簽署訊息 - You can sign messages/agreements with your addresses to prove you can receive ravens sent to them. Be careful not to sign anything vague or random, 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/agreements with your addresses to prove you can receive BLAST sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to. 你可以用自己的位址簽署訊息或合約,來證明你可以從該位址收款。但是請小心,不要簽署語意含糊不清,或隨機產生的內容,因為釣魚式詐騙可能會用騙你簽署的手法來冒充是你。只有在語句中的細節你都同意時才簽署。 - The Raven address to sign the message with - 用來簽署訊息的 Raven 位址 + The BLAST address to sign the message with + 用來簽署訊息的 BLAST 位址 Choose previously used address @@ -2365,8 +2365,8 @@ 複製目前的簽章到系統剪貼簿 - Sign the message to prove you own this Raven address - 簽署這個訊息來證明這個 Raven 位址是你的 + Sign the message to prove you own this BLAST address + 簽署這個訊息來證明這個 BLAST 位址是你的 Sign &Message @@ -2389,12 +2389,12 @@ 請在下面輸入收款人的位址,訊息(請確定完整複製了所包含的換行,空格,跳位符號等等),以及簽章,來驗證這個訊息。請小心,除了訊息內容以外,不要對簽章本身過度解讀,以避免被用「中間人攻擊法」詐騙。請注意,通過驗證的簽章只能證明簽章人確實可以從該位址收款,不能證明任何交易中的付款人身份! - The Raven address the message was signed with - 簽署這個訊息的 Raven 位址 + The BLAST address the message was signed with + 簽署這個訊息的 BLAST 位址 - Verify the message to ensure it was signed with the specified Raven address - 驗證這個訊息來確定是用指定的 Raven 位址簽署的 + Verify the message to ensure it was signed with the specified BLAST address + 驗證這個訊息來確定是用指定的 BLAST 位址簽署的 Verify &Message @@ -2984,7 +2984,7 @@ - raven-core + blast-core Options: 選項: @@ -3055,8 +3055,8 @@ 無法啟動 HTTP 伺服器。詳情請看除錯紀錄。 - Raven Core - Raven Core + BLAST Core + BLAST Core The %s developers diff --git a/src/qt/macdockiconhandler.h b/src/qt/macdockiconhandler.h index 06cf619ae3..20ec901895 100644 --- a/src/qt/macdockiconhandler.h +++ b/src/qt/macdockiconhandler.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_MACDOCKICONHANDLER_H -#define RAVEN_QT_MACDOCKICONHANDLER_H +#ifndef BITCOIN_QT_MACDOCKICONHANDLER_H +#define BITCOIN_QT_MACDOCKICONHANDLER_H #include #include @@ -42,4 +43,4 @@ class MacDockIconHandler : public QObject QMainWindow *mainWindow; }; -#endif // RAVEN_QT_MACDOCKICONHANDLER_H +#endif // BITCOIN_QT_MACDOCKICONHANDLER_H diff --git a/src/qt/macnotificationhandler.h b/src/qt/macnotificationhandler.h index 7fe0fcc3ca..345d5a1b00 100644 --- a/src/qt/macnotificationhandler.h +++ b/src/qt/macnotificationhandler.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017 The Raven Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_MACNOTIFICATIONHANDLER_H -#define RAVEN_QT_MACNOTIFICATIONHANDLER_H +#ifndef BITCOIN_QT_MACNOTIFICATIONHANDLER_H +#define BITCOIN_QT_MACNOTIFICATIONHANDLER_H #include @@ -25,4 +26,4 @@ class MacNotificationHandler : public QObject }; -#endif // RAVEN_QT_MACNOTIFICATIONHANDLER_H +#endif // BITCOIN_QT_MACNOTIFICATIONHANDLER_H diff --git a/src/qt/macnotificationhandler.mm b/src/qt/macnotificationhandler.mm index ec3dd6ec16..43122aaf93 100644 --- a/src/qt/macnotificationhandler.mm +++ b/src/qt/macnotificationhandler.mm @@ -14,7 +14,7 @@ @implementation NSBundle(returnCorrectIdentifier) - (NSString *)__bundleIdentifier { if (self == [NSBundle mainBundle]) { - return @"org.ravenfoundation.Raven-Qt"; + return @"com.blastblastblast.Blast-Qt"; } else { return [self __bundleIdentifier]; } diff --git a/src/qt/modaloverlay.h b/src/qt/modaloverlay.h index 303ef5bc68..f2745a6080 100644 --- a/src/qt/modaloverlay.h +++ b/src/qt/modaloverlay.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_MODALOVERLAY_H -#define RAVEN_QT_MODALOVERLAY_H +#ifndef BITCOIN_QT_MODALOVERLAY_H +#define BITCOIN_QT_MODALOVERLAY_H #include #include @@ -48,4 +49,4 @@ public Q_SLOTS: bool userClosed; }; -#endif // RAVEN_QT_MODALOVERLAY_H +#endif // BITCOIN_QT_MODALOVERLAY_H diff --git a/src/qt/networkstyle.cpp b/src/qt/networkstyle.cpp index 153223b8dd..1f670d7086 100644 --- a/src/qt/networkstyle.cpp +++ b/src/qt/networkstyle.cpp @@ -28,7 +28,7 @@ NetworkStyle::NetworkStyle(const QString &_appName, const int iconColorHueShift, titleAddText(qApp->translate("SplashScreen", _titleAddText)) { // load pixmap - QPixmap pixmap(":/icons/raven"); + QPixmap pixmap(":/icons/bitcoin"); if(iconColorHueShift != 0 && iconColorSaturationReduction != 0) { diff --git a/src/qt/networkstyle.h b/src/qt/networkstyle.h index 4a27223bb7..b668e77adb 100644 --- a/src/qt/networkstyle.h +++ b/src/qt/networkstyle.h @@ -1,10 +1,11 @@ // Copyright (c) 2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_NETWORKSTYLE_H -#define RAVEN_QT_NETWORKSTYLE_H +#ifndef BITCOIN_QT_NETWORKSTYLE_H +#define BITCOIN_QT_NETWORKSTYLE_H #include #include @@ -33,4 +34,4 @@ class NetworkStyle QString titleAddText; }; -#endif // RAVEN_QT_NETWORKSTYLE_H +#endif // BITCOIN_QT_NETWORKSTYLE_H diff --git a/src/qt/notificator.h b/src/qt/notificator.h index 648a7fd327..cfc975273a 100644 --- a/src/qt/notificator.h +++ b/src/qt/notificator.h @@ -1,13 +1,14 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_NOTIFICATOR_H -#define RAVEN_QT_NOTIFICATOR_H +#ifndef BITCOIN_QT_NOTIFICATOR_H +#define BITCOIN_QT_NOTIFICATOR_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include @@ -75,4 +76,4 @@ public Q_SLOTS: #endif }; -#endif // RAVEN_QT_NOTIFICATOR_H +#endif // BITCOIN_QT_NOTIFICATOR_H diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp index 0a02c05aee..33362e8083 100644 --- a/src/qt/openuridialog.cpp +++ b/src/qt/openuridialog.cpp @@ -17,7 +17,7 @@ OpenURIDialog::OpenURIDialog(QWidget *parent) : { ui->setupUi(this); #if QT_VERSION >= 0x040700 - ui->uriEdit->setPlaceholderText("raven:"); + ui->uriEdit->setPlaceholderText("blast:"); #endif } @@ -34,7 +34,7 @@ QString OpenURIDialog::getURI() void OpenURIDialog::accept() { SendCoinsRecipient rcp; - if(GUIUtil::parseRavenURI(getURI(), &rcp)) + if(GUIUtil::parseBitcoinURI(getURI(), &rcp)) { /* Only accept value URIs */ QDialog::accept(); @@ -49,5 +49,5 @@ void OpenURIDialog::on_selectFileButton_clicked() if(filename.isEmpty()) return; QUrl fileUri = QUrl::fromLocalFile(filename); - ui->uriEdit->setText("raven:?r=" + QUrl::toPercentEncoding(fileUri.toString())); + ui->uriEdit->setText("blast:?r=" + QUrl::toPercentEncoding(fileUri.toString())); } diff --git a/src/qt/openuridialog.h b/src/qt/openuridialog.h index 7749955217..d866d16e60 100644 --- a/src/qt/openuridialog.h +++ b/src/qt/openuridialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_OPENURIDIALOG_H -#define RAVEN_QT_OPENURIDIALOG_H +#ifndef BITCOIN_QT_OPENURIDIALOG_H +#define BITCOIN_QT_OPENURIDIALOG_H #include @@ -32,4 +33,4 @@ private Q_SLOTS: Ui::OpenURIDialog *ui; }; -#endif // RAVEN_QT_OPENURIDIALOG_H +#endif // BITCOIN_QT_OPENURIDIALOG_H diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 91a30c9e2b..ddf8f93752 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -4,13 +4,13 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "optionsdialog.h" #include "ui_optionsdialog.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "optionsmodel.h" @@ -74,10 +74,10 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) : /* Display elements init */ QDir translations(":translations"); - ui->ravenAtStartup->setToolTip(ui->ravenAtStartup->toolTip().arg(tr(PACKAGE_NAME))); - ui->ravenAtStartup->setText(ui->ravenAtStartup->text().arg(tr(PACKAGE_NAME))); + ui->bitcoinAtStartup->setToolTip(ui->bitcoinAtStartup->toolTip().arg(tr(PACKAGE_NAME))); + ui->bitcoinAtStartup->setText(ui->bitcoinAtStartup->text().arg(tr(PACKAGE_NAME))); - ui->openRavenConfButton->setToolTip(ui->openRavenConfButton->toolTip().arg(tr(PACKAGE_NAME))); + ui->openBitcoinConfButton->setToolTip(ui->openBitcoinConfButton->toolTip().arg(tr(PACKAGE_NAME))); ui->lang->setToolTip(ui->lang->toolTip().arg(tr(PACKAGE_NAME))); ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant("")); @@ -111,7 +111,7 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) : ui->thirdPartyTxUrls->setPlaceholderText("https://example.com/tx/%s"); #endif - ui->unit->setModel(new RavenUnits(this)); + ui->unit->setModel(new BitcoinUnits(this)); /* Widget-to-option mapper */ mapper = new QDataWidgetMapper(this); @@ -174,7 +174,7 @@ void OptionsDialog::setModel(OptionsModel *_model) void OptionsDialog::setMapper() { /* Main */ - mapper->addMapping(ui->ravenAtStartup, OptionsModel::StartAtStartup); + mapper->addMapping(ui->bitcoinAtStartup, OptionsModel::StartAtStartup); mapper->addMapping(ui->threadsScriptVerif, OptionsModel::ThreadsScriptVerif); mapper->addMapping(ui->databaseCache, OptionsModel::DatabaseCache); @@ -232,7 +232,7 @@ void OptionsDialog::on_resetButton_clicked() } } -void OptionsDialog::on_openRavenConfButton_clicked() +void OptionsDialog::on_openBitcoinConfButton_clicked() { /* explain the purpose of the config file */ QMessageBox::information(this, tr("Configuration options"), @@ -240,7 +240,7 @@ void OptionsDialog::on_openRavenConfButton_clicked() "Additionally, any command-line options will override this configuration file.")); /* show an error if there was some problem opening the file */ - if (!GUIUtil::openRavenConf()) + if (!GUIUtil::openBitcoinConf()) QMessageBox::critical(this, tr("Error"), tr("The configuration file could not be opened.")); } diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h index 076caf1813..110da13b94 100644 --- a/src/qt/optionsdialog.h +++ b/src/qt/optionsdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_OPTIONSDIALOG_H -#define RAVEN_QT_OPTIONSDIALOG_H +#ifndef BITCOIN_QT_OPTIONSDIALOG_H +#define BITCOIN_QT_OPTIONSDIALOG_H #include #include @@ -48,7 +49,7 @@ private Q_SLOTS: /* set OK button state (enabled / disabled) */ void setOkButtonState(bool fState); void on_resetButton_clicked(); - void on_openRavenConfButton_clicked(); + void on_openBitcoinConfButton_clicked(); void on_okButton_clicked(); void on_cancelButton_clicked(); @@ -69,4 +70,4 @@ private Q_SLOTS: QDataWidgetMapper *mapper; }; -#endif // RAVEN_QT_OPTIONSDIALOG_H +#endif // BITCOIN_QT_OPTIONSDIALOG_H diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index acf45560b5..e1605878ef 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -4,12 +4,12 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "optionsmodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "amount.h" @@ -72,7 +72,7 @@ void OptionsModel::Init(bool resetSettings) // Display if (!settings.contains("nDisplayUnit")) - settings.setValue("nDisplayUnit", RavenUnits::RVN); + settings.setValue("nDisplayUnit", BitcoinUnits::BLAST); nDisplayUnit = settings.value("nDisplayUnit").toInt(); if (!settings.contains("strThirdPartyTxUrls")) @@ -502,7 +502,7 @@ void OptionsModel::checkAndMigrate() if (settingsVersion < CLIENT_VERSION) { // -dbcache was bumped from 100 to 300 in 0.13 - // see https://github.com/RavenProject/Ravencoin/pull/8273 + // see https://github.com/bitcoin/bitcoin/pull/8273 // force people to upgrade to the new value if they are using 100MB if (settingsVersion < 130000 && settings.contains("nDatabaseCache") && settings.value("nDatabaseCache").toLongLong() == 100) settings.setValue("nDatabaseCache", (qint64)nDefaultDbCache); diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h index a8ce02dd3e..2f281c50b9 100644 --- a/src/qt/optionsmodel.h +++ b/src/qt/optionsmodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_OPTIONSMODEL_H -#define RAVEN_QT_OPTIONSMODEL_H +#ifndef BITCOIN_QT_OPTIONSMODEL_H +#define BITCOIN_QT_OPTIONSMODEL_H #include "amount.h" @@ -14,7 +15,7 @@ QT_BEGIN_NAMESPACE class QNetworkProxy; QT_END_NAMESPACE -/** Interface from Qt to configuration data structure for Raven client. +/** Interface from Qt to configuration data structure for BLAST client. To Qt, the options are presented as a list with the different options laid out vertically. This can be changed to a tree once the settings become sufficiently @@ -39,7 +40,7 @@ class OptionsModel : public QAbstractListModel ProxyUseTor, // bool ProxyIPTor, // QString ProxyPortTor, // int - DisplayUnit, // RavenUnits::Unit + DisplayUnit, // BitcoinUnits::Unit ThirdPartyTxUrls, // QString Language, // QString CoinControlFeatures, // bool @@ -86,10 +87,10 @@ class OptionsModel : public QAbstractListModel int nDisplayUnit; QString strThirdPartyTxUrls; bool fCoinControlFeatures; - /** RVN START*/ + /** BLAST START*/ bool fCustomFeeFeatures; bool fDarkModeEnabled; - /** RVN END*/ + /** BLAST END*/ /* settings that were overridden by command-line */ QString strOverriddenByCommandLine; @@ -105,4 +106,4 @@ class OptionsModel : public QAbstractListModel void hideTrayIconChanged(bool); }; -#endif // RAVEN_QT_OPTIONSMODEL_H +#endif // BITCOIN_QT_OPTIONSMODEL_H diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index 9ad00ab2df..ed82a884ea 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -6,7 +6,7 @@ #include "overviewpage.h" #include "ui_overviewpage.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "clientmodel.h" #include "guiconstants.h" #include "guiutil.h" @@ -37,7 +37,7 @@ class TxViewDelegate : public QAbstractItemDelegate Q_OBJECT public: explicit TxViewDelegate(const PlatformStyle *_platformStyle, QObject *parent=nullptr): - QAbstractItemDelegate(parent), unit(RavenUnits::RVN), + QAbstractItemDelegate(parent), unit(BitcoinUnits::BLAST), platformStyle(_platformStyle) { @@ -140,7 +140,7 @@ class AssetViewDelegate : public QAbstractItemDelegate Q_OBJECT public: explicit AssetViewDelegate(const PlatformStyle *_platformStyle, QObject *parent=nullptr): - QAbstractItemDelegate(parent), unit(RavenUnits::RVN), + QAbstractItemDelegate(parent), unit(BitcoinUnits::BLAST), platformStyle(_platformStyle) { @@ -197,8 +197,8 @@ Q_OBJECT gradient.setColorAt(0, COLOR_REGULAR_CARD_LIGHT_BLUE_DARK_MODE); gradient.setColorAt(1, COLOR_REGULAR_CARD_DARK_BLUE_DARK_MODE); } else { - gradient.setColorAt(0, COLOR_LIGHT_BLUE); - gradient.setColorAt(1, COLOR_DARK_BLUE); + gradient.setColorAt(0, COLOR_LIGHT_GREY); // gradient.setColorAt(0, COLOR_LIGHT_BLUE); + gradient.setColorAt(1, COLOR_DARK_GREY); // gradient.setColorAt(1, COLOR_DARK_BLUE); } } @@ -276,7 +276,7 @@ Q_OBJECT }; #include "overviewpage.moc" -#include "ravengui.h" +#include "bitcoingui.h" #include OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent) : @@ -345,7 +345,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent) /** Update the labels colors */ ui->assetBalanceLabel->setStyleSheet(STRING_LABEL_COLOR); - ui->rvnBalancesLabel->setStyleSheet(STRING_LABEL_COLOR); + ui->btcBalancesLabel->setStyleSheet(STRING_LABEL_COLOR); ui->labelBalanceText->setStyleSheet(STRING_LABEL_COLOR); ui->labelPendingText->setStyleSheet(STRING_LABEL_COLOR); ui->labelImmatureText->setStyleSheet(STRING_LABEL_COLOR); @@ -355,7 +355,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent) ui->recentTransactionsLabel->setStyleSheet(STRING_LABEL_COLOR); /** Update the labels font */ - ui->rvnBalancesLabel->setFont(GUIUtil::getTopLabelFont()); + ui->btcBalancesLabel->setFont(GUIUtil::getTopLabelFont()); ui->assetBalanceLabel->setFont(GUIUtil::getTopLabelFont()); ui->recentTransactionsLabel->setFont(GUIUtil::getTopLabelFont()); @@ -494,14 +494,14 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed currentWatchOnlyBalance = watchOnlyBalance; currentWatchUnconfBalance = watchUnconfBalance; currentWatchImmatureBalance = watchImmatureBalance; - ui->labelBalance->setText(RavenUnits::formatWithUnit(unit, balance, false, RavenUnits::separatorAlways)); - ui->labelUnconfirmed->setText(RavenUnits::formatWithUnit(unit, unconfirmedBalance, false, RavenUnits::separatorAlways)); - ui->labelImmature->setText(RavenUnits::formatWithUnit(unit, immatureBalance, false, RavenUnits::separatorAlways)); - ui->labelTotal->setText(RavenUnits::formatWithUnit(unit, balance + unconfirmedBalance + immatureBalance, false, RavenUnits::separatorAlways)); - ui->labelWatchAvailable->setText(RavenUnits::formatWithUnit(unit, watchOnlyBalance, false, RavenUnits::separatorAlways)); - ui->labelWatchPending->setText(RavenUnits::formatWithUnit(unit, watchUnconfBalance, false, RavenUnits::separatorAlways)); - ui->labelWatchImmature->setText(RavenUnits::formatWithUnit(unit, watchImmatureBalance, false, RavenUnits::separatorAlways)); - ui->labelWatchTotal->setText(RavenUnits::formatWithUnit(unit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance, false, RavenUnits::separatorAlways)); + ui->labelBalance->setText(BitcoinUnits::formatWithUnit(unit, balance, false, BitcoinUnits::separatorAlways)); + ui->labelUnconfirmed->setText(BitcoinUnits::formatWithUnit(unit, unconfirmedBalance, false, BitcoinUnits::separatorAlways)); + ui->labelImmature->setText(BitcoinUnits::formatWithUnit(unit, immatureBalance, false, BitcoinUnits::separatorAlways)); + ui->labelTotal->setText(BitcoinUnits::formatWithUnit(unit, balance + unconfirmedBalance + immatureBalance, false, BitcoinUnits::separatorAlways)); + ui->labelWatchAvailable->setText(BitcoinUnits::formatWithUnit(unit, watchOnlyBalance, false, BitcoinUnits::separatorAlways)); + ui->labelWatchPending->setText(BitcoinUnits::formatWithUnit(unit, watchUnconfBalance, false, BitcoinUnits::separatorAlways)); + ui->labelWatchImmature->setText(BitcoinUnits::formatWithUnit(unit, watchImmatureBalance, false, BitcoinUnits::separatorAlways)); + ui->labelWatchTotal->setText(BitcoinUnits::formatWithUnit(unit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance, false, BitcoinUnits::separatorAlways)); // only show immature (newly mined) balance if it's non-zero, so as not to complicate things // for the non-mining users @@ -577,7 +577,7 @@ void OverviewPage::setWalletModel(WalletModel *model) connect(model, SIGNAL(notifyWatchonlyChanged(bool)), this, SLOT(updateWatchOnlyLabels(bool))); } - // update the display unit, to not use the default ("RVN") + // update the display unit, to not use the default ("BLAST") updateDisplayUnit(); } @@ -626,7 +626,7 @@ void OverviewPage::showAssets() ui->assetBalanceLabel->hide(); ui->labelAssetStatus->hide(); - // This keeps the RVN balance grid from expanding and looking terrible when asset balance is hidden + // This keeps the BLAST balance grid from expanding and looking terrible when asset balance is hidden ui->assetVerticalSpaceWidget->show(); ui->assetVerticalSpaceWidget2->show(); } diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h index 9aeddfdcd0..ad62eb06b9 100644 --- a/src/qt/overviewpage.h +++ b/src/qt/overviewpage.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_OVERVIEWPAGE_H -#define RAVEN_QT_OVERVIEWPAGE_H +#ifndef BITCOIN_QT_OVERVIEWPAGE_H +#define BITCOIN_QT_OVERVIEWPAGE_H #include "amount.h" @@ -89,4 +90,4 @@ private Q_SLOTS: void assetSearchChanged(); }; -#endif // RAVEN_QT_OVERVIEWPAGE_H +#endif // BITCOIN_QT_OVERVIEWPAGE_H diff --git a/src/qt/paymentrequest.proto b/src/qt/paymentrequest.proto index 5edf20bb29..00f94d017a 100644 --- a/src/qt/paymentrequest.proto +++ b/src/qt/paymentrequest.proto @@ -1,18 +1,18 @@ // -// Simple Raven Payment Protocol messages +// Simple BLAST Payment Protocol messages // // Use fields 100+ for extensions; // to avoid conflicts, register extensions at: -// https://en.raven.it/wiki/Payment_Request +// https://en.bitcoin.it/wiki/Payment_Request // syntax = "proto2"; package payments; -option java_package = "org.raven.protocols.payments"; +option java_package = "org.blast.protocols.payments"; option java_outer_classname = "Protos"; -// Generalized form of "send payment to this/these raven addresses" +// Generalized form of "send payment to this/these BLAST addresses" message Output { optional uint64 amount = 1 [default = 0]; // amount is integer-number-of-satoshis required bytes script = 2; // usually one of the standard Script forms diff --git a/src/qt/paymentrequestplus.h b/src/qt/paymentrequestplus.h index 8feae6406c..839c6a3cc2 100644 --- a/src/qt/paymentrequestplus.h +++ b/src/qt/paymentrequestplus.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_PAYMENTREQUESTPLUS_H -#define RAVEN_QT_PAYMENTREQUESTPLUS_H +#ifndef BITCOIN_QT_PAYMENTREQUESTPLUS_H +#define BITCOIN_QT_PAYMENTREQUESTPLUS_H #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" @@ -49,4 +50,4 @@ class PaymentRequestPlus payments::PaymentDetails details; }; -#endif // RAVEN_QT_PAYMENTREQUESTPLUS_H +#endif // BITCOIN_QT_PAYMENTREQUESTPLUS_H diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp index d39c6ff18b..3e0b4a8d9b 100644 --- a/src/qt/paymentserver.cpp +++ b/src/qt/paymentserver.cpp @@ -1,11 +1,12 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "paymentserver.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "optionsmodel.h" @@ -47,15 +48,15 @@ #include #endif -const int RAVEN_IPC_CONNECT_TIMEOUT = 1000; // milliseconds -const QString RAVEN_IPC_PREFIX("raven:"); +const int BITCOIN_IPC_CONNECT_TIMEOUT = 1000; // milliseconds +const QString BITCOIN_IPC_PREFIX("blast:"); // BIP70 payment protocol messages const char* BIP70_MESSAGE_PAYMENTACK = "PaymentACK"; const char* BIP70_MESSAGE_PAYMENTREQUEST = "PaymentRequest"; // BIP71 payment protocol media types -const char* BIP71_MIMETYPE_PAYMENT = "application/raven-payment"; -const char* BIP71_MIMETYPE_PAYMENTACK = "application/raven-paymentack"; -const char* BIP71_MIMETYPE_PAYMENTREQUEST = "application/raven-paymentrequest"; +const char* BIP71_MIMETYPE_PAYMENT = "application/blast-payment"; +const char* BIP71_MIMETYPE_PAYMENTACK = "application/blast-paymentack"; +const char* BIP71_MIMETYPE_PAYMENTREQUEST = "application/blast-paymentrequest"; struct X509StoreDeleter { void operator()(X509_STORE* b) { @@ -79,7 +80,7 @@ namespace // Anon namespace // static QString ipcServerName() { - QString name("RavenQt"); + QString name("BlastQt"); // Append a simple hash of the datadir // Note that GetDataDir(true) returns a different path @@ -208,16 +209,16 @@ void PaymentServer::ipcParseCommandLine(int argc, char* argv[]) if (arg.startsWith("-")) continue; - // If the raven: URI contains a payment request, we are not able to detect the + // If the blast: URI contains a payment request, we are not able to detect the // network as that would require fetching and parsing the payment request. // That means clicking such an URI which contains a testnet payment request // will start a mainnet instance and throw a "wrong network" error. - if (arg.startsWith(RAVEN_IPC_PREFIX, Qt::CaseInsensitive)) // raven: URI + if (arg.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // blast: URI { savedPaymentRequests.append(arg); SendCoinsRecipient r; - if (GUIUtil::parseRavenURI(arg, &r) && !r.address.isEmpty()) + if (GUIUtil::parseBitcoinURI(arg, &r) && !r.address.isEmpty()) { auto tempChainParams = CreateChainParams(CBaseChainParams::MAIN); @@ -270,7 +271,7 @@ bool PaymentServer::ipcSendCommandLine() { QLocalSocket* socket = new QLocalSocket(); socket->connectToServer(ipcServerName(), QIODevice::WriteOnly); - if (!socket->waitForConnected(RAVEN_IPC_CONNECT_TIMEOUT)) + if (!socket->waitForConnected(BITCOIN_IPC_CONNECT_TIMEOUT)) { delete socket; socket = nullptr; @@ -285,7 +286,7 @@ bool PaymentServer::ipcSendCommandLine() socket->write(block); socket->flush(); - socket->waitForBytesWritten(RAVEN_IPC_CONNECT_TIMEOUT); + socket->waitForBytesWritten(BITCOIN_IPC_CONNECT_TIMEOUT); socket->disconnectFromServer(); delete socket; @@ -308,7 +309,7 @@ PaymentServer::PaymentServer(QObject* parent, bool startLocalServer) : GOOGLE_PROTOBUF_VERIFY_VERSION; // Install global event filter to catch QFileOpenEvents - // on Mac: sent when you click raven: links + // on Mac: sent when you click blast: links // other OSes: helpful when dealing with payment request files if (parent) parent->installEventFilter(this); @@ -325,7 +326,7 @@ PaymentServer::PaymentServer(QObject* parent, bool startLocalServer) : if (!uriServer->listen(name)) { // constructor is called early in init, so don't use "Q_EMIT message()" here QMessageBox::critical(0, tr("Payment request error"), - tr("Cannot start raven: click-to-pay handler")); + tr("Cannot start blast: click-to-pay handler")); } else { connect(uriServer, SIGNAL(newConnection()), this, SLOT(handleURIConnection())); @@ -340,7 +341,7 @@ PaymentServer::~PaymentServer() } // -// OSX-specific way of handling raven: URIs and PaymentRequest mime types. +// OSX-specific way of handling blast: URIs and PaymentRequest mime types. // Also used by paymentservertests.cpp and when opening a payment request file // via "Open URI..." menu entry. // @@ -366,7 +367,7 @@ void PaymentServer::initNetManager() if (netManager != nullptr) delete netManager; - // netManager is used to fetch paymentrequests given in raven: URIs + // netManager is used to fetch paymentrequests given in blast: URIs netManager = new QNetworkAccessManager(this); QNetworkProxy proxy; @@ -406,7 +407,7 @@ void PaymentServer::handleURIOrFile(const QString& s) return; } - if (s.startsWith(RAVEN_IPC_PREFIX, Qt::CaseInsensitive)) // raven: URI + if (s.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // blast: URI { #if QT_VERSION < 0x050000 QUrl uri(s); @@ -438,7 +439,7 @@ void PaymentServer::handleURIOrFile(const QString& s) else // normal URI { SendCoinsRecipient recipient; - if (GUIUtil::parseRavenURI(s, &recipient)) + if (GUIUtil::parseBitcoinURI(s, &recipient)) { if (!IsValidDestinationString(recipient.address.toStdString())) { Q_EMIT message(tr("URI handling"), tr("Invalid payment address %1").arg(recipient.address), @@ -449,7 +450,7 @@ void PaymentServer::handleURIOrFile(const QString& s) } else Q_EMIT message(tr("URI handling"), - tr("URI cannot be parsed! This can be caused by an invalid Raven address or malformed URI parameters."), + tr("URI cannot be parsed! This can be caused by an invalid BLAST address or malformed URI parameters."), CClientUIInterface::ICON_WARNING); return; @@ -561,7 +562,7 @@ bool PaymentServer::processPaymentRequest(const PaymentRequestPlus& request, Sen addresses.append(QString::fromStdString(EncodeDestination(dest))); } else if (!recipient.authenticatedMerchant.isEmpty()) { - // Unauthenticated payment requests to custom raven addresses are not supported + // Unauthenticated payment requests to custom BLAST addresses are not supported // (there is no good way to tell the user where they are paying in a way they'd // have a chance of understanding). Q_EMIT message(tr("Payment request rejected"), @@ -570,7 +571,7 @@ bool PaymentServer::processPaymentRequest(const PaymentRequestPlus& request, Sen return false; } - // Raven amounts are stored as (optional) uint64 in the protobuf messages (see paymentrequest.proto), + // BLAST amounts are stored as (optional) uint64 in the protobuf messages (see paymentrequest.proto), // but CAmount is defined as int64_t. Because of that we need to verify that amounts are in a valid range // and no overflow has happened. if (!verifyAmount(sendingTo.second)) { @@ -582,7 +583,7 @@ bool PaymentServer::processPaymentRequest(const PaymentRequestPlus& request, Sen CTxOut txOut(sendingTo.second, sendingTo.first); if (IsDust(txOut, ::dustRelayFee)) { Q_EMIT message(tr("Payment request error"), tr("Requested payment amount of %1 is too small (considered dust).") - .arg(RavenUnits::formatWithUnit(optionsModel->getDisplayUnit(), sendingTo.second)), + .arg(BitcoinUnits::formatWithUnit(optionsModel->getDisplayUnit(), sendingTo.second)), CClientUIInterface::MSG_ERROR); return false; diff --git a/src/qt/paymentserver.h b/src/qt/paymentserver.h index b022aeee52..ddada5bdf3 100644 --- a/src/qt/paymentserver.h +++ b/src/qt/paymentserver.h @@ -1,13 +1,14 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_PAYMENTSERVER_H -#define RAVEN_QT_PAYMENTSERVER_H +#ifndef BITCOIN_QT_PAYMENTSERVER_H +#define BITCOIN_QT_PAYMENTSERVER_H // This class handles payment requests from clicking on -// raven: URIs +// blast: URIs // // This is somewhat tricky, because we have to deal with // the situation where the user clicks on a link during @@ -146,4 +147,4 @@ private Q_SLOTS: OptionsModel *optionsModel; }; -#endif // RAVEN_QT_PAYMENTSERVER_H +#endif // BITCOIN_QT_PAYMENTSERVER_H diff --git a/src/qt/peertablemodel.h b/src/qt/peertablemodel.h index c85c01ac65..5a4dfea641 100644 --- a/src/qt/peertablemodel.h +++ b/src/qt/peertablemodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_PEERTABLEMODEL_H -#define RAVEN_QT_PEERTABLEMODEL_H +#ifndef BITCOIN_QT_PEERTABLEMODEL_H +#define BITCOIN_QT_PEERTABLEMODEL_H #include "net_processing.h" // For CNodeStateStats #include "net.h" @@ -83,4 +84,4 @@ public Q_SLOTS: QTimer *timer; }; -#endif // RAVEN_QT_PEERTABLEMODEL_H +#endif // BITCOIN_QT_PEERTABLEMODEL_H diff --git a/src/qt/platformstyle.cpp b/src/qt/platformstyle.cpp index 4c01e7df6f..e64c5884b1 100644 --- a/src/qt/platformstyle.cpp +++ b/src/qt/platformstyle.cpp @@ -259,6 +259,21 @@ QColor PlatformStyle::SingleColor() const return singleColor; } +QColor PlatformStyle::LightGreyColor() const +{ + if (darkModeEnabled) + return COLOR_LIGHT_BLUE_DARK; + + return COLOR_LIGHT_GREY; +} + +QColor PlatformStyle::DarkGreyColor() const +{ + if (darkModeEnabled) + return COLOR_DARK_BLUE_DARK; + + return COLOR_DARK_GREY; +} const PlatformStyle *PlatformStyle::instantiate(const QString &platformId) { diff --git a/src/qt/platformstyle.h b/src/qt/platformstyle.h index 62467ab6ba..b775343fe6 100644 --- a/src/qt/platformstyle.h +++ b/src/qt/platformstyle.h @@ -1,10 +1,11 @@ // Copyright (c) 2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_PLATFORMSTYLE_H -#define RAVEN_QT_PLATFORMSTYLE_H +#ifndef BITCOIN_QT_PLATFORMSTYLE_H +#define BITCOIN_QT_PLATFORMSTYLE_H #include #include @@ -37,6 +38,8 @@ class PlatformStyle QColor DarkBlueColor() const; QColor LightOrangeColor() const; QColor DarkOrangeColor() const; + QColor LightGreyColor() const; + QColor DarkGreyColor() const; /** Colorize an image (given filename) with the icon color */ @@ -78,5 +81,5 @@ class PlatformStyle /* ... more to come later */ }; -#endif // RAVEN_QT_PLATFORMSTYLE_H +#endif // BITCOIN_QT_PLATFORMSTYLE_H diff --git a/src/qt/qvalidatedlineedit.cpp b/src/qt/qvalidatedlineedit.cpp index 71f62606ba..b7126bfe13 100644 --- a/src/qt/qvalidatedlineedit.cpp +++ b/src/qt/qvalidatedlineedit.cpp @@ -5,7 +5,7 @@ #include "qvalidatedlineedit.h" -#include "ravenaddressvalidator.h" +#include "bitcoinaddressvalidator.h" #include "guiconstants.h" #include "platformstyle.h" diff --git a/src/qt/qvalidatedlineedit.h b/src/qt/qvalidatedlineedit.h index 858324172f..8237f00bef 100644 --- a/src/qt/qvalidatedlineedit.h +++ b/src/qt/qvalidatedlineedit.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_QVALIDATEDLINEEDIT_H -#define RAVEN_QT_QVALIDATEDLINEEDIT_H +#ifndef BITCOIN_QT_QVALIDATEDLINEEDIT_H +#define BITCOIN_QT_QVALIDATEDLINEEDIT_H #include @@ -41,4 +42,4 @@ private Q_SLOTS: void checkValidity(); }; -#endif // RAVEN_QT_QVALIDATEDLINEEDIT_H +#endif // BITCOIN_QT_QVALIDATEDLINEEDIT_H diff --git a/src/qt/qvaluecombobox.h b/src/qt/qvaluecombobox.h index e7e56f2643..d648e0b072 100644 --- a/src/qt/qvaluecombobox.h +++ b/src/qt/qvaluecombobox.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_QVALUECOMBOBOX_H -#define RAVEN_QT_QVALUECOMBOBOX_H +#ifndef BITCOIN_QT_QVALUECOMBOBOX_H +#define BITCOIN_QT_QVALUECOMBOBOX_H #include #include @@ -35,4 +36,4 @@ private Q_SLOTS: void handleSelectionChanged(int idx); }; -#endif // RAVEN_QT_QVALUECOMBOBOX_H +#endif // BITCOIN_QT_QVALUECOMBOBOX_H diff --git a/src/qt/raven_locale.qrc b/src/qt/raven_locale.qrc deleted file mode 100644 index bd044ed8fd..0000000000 --- a/src/qt/raven_locale.qrc +++ /dev/null @@ -1,90 +0,0 @@ - - - locale/raven_af.qm - locale/raven_af_ZA.qm - locale/raven_ar.qm - locale/raven_be_BY.qm - locale/raven_bg_BG.qm - locale/raven_bg.qm - locale/raven_ca_ES.qm - locale/raven_ca.qm - locale/raven_ca@valencia.qm - locale/raven_cs.qm - locale/raven_cy.qm - locale/raven_da.qm - locale/raven_de.qm - locale/raven_el_GR.qm - locale/raven_el.qm - locale/raven_en_GB.qm - locale/raven_en.qm - locale/raven_eo.qm - locale/raven_es_AR.qm - locale/raven_es_CL.qm - locale/raven_es_CO.qm - locale/raven_es_DO.qm - locale/raven_es_ES.qm - locale/raven_es_MX.qm - locale/raven_es.qm - locale/raven_es_UY.qm - locale/raven_es_VE.qm - locale/raven_et_EE.qm - locale/raven_et.qm - locale/raven_eu_ES.qm - locale/raven_fa_IR.qm - locale/raven_fa.qm - locale/raven_fi.qm - locale/raven_fr_CA.qm - locale/raven_fr_FR.qm - locale/raven_fr.qm - locale/raven_gl.qm - locale/raven_he.qm - locale/raven_hi_IN.qm - locale/raven_hr.qm - locale/raven_hu.qm - locale/raven_id_ID.qm - locale/raven_it_IT.qm - locale/raven_it.qm - locale/raven_ja.qm - locale/raven_ka.qm - locale/raven_kk_KZ.qm - locale/raven_ko_KR.qm - locale/raven_ku_IQ.qm - locale/raven_ky.qm - locale/raven_la.qm - locale/raven_lt.qm - locale/raven_lv_LV.qm - locale/raven_mk_MK.qm - locale/raven_mn.qm - locale/raven_ms_MY.qm - locale/raven_nb.qm - locale/raven_ne.qm - locale/raven_nl.qm - locale/raven_pam.qm - locale/raven_pl.qm - locale/raven_pt_BR.qm - locale/raven_pt_PT.qm - locale/raven_ro_RO.qm - locale/raven_ro.qm - locale/raven_ru_RU.qm - locale/raven_ru.qm - locale/raven_sk.qm - locale/raven_sl_SI.qm - locale/raven_sq.qm - locale/raven_sr@latin.qm - locale/raven_sr.qm - locale/raven_sv.qm - locale/raven_ta.qm - locale/raven_th_TH.qm - locale/raven_tr_TR.qm - locale/raven_tr.qm - locale/raven_uk.qm - locale/raven_ur_PK.qm - locale/raven_uz@Cyrl.qm - locale/raven_vi.qm - locale/raven_vi_VN.qm - locale/raven_zh_CN.qm - locale/raven_zh_HK.qm - locale/raven_zh.qm - locale/raven_zh_TW.qm - - diff --git a/src/qt/ravenstrings.cpp b/src/qt/ravenstrings.cpp deleted file mode 100644 index 5deb2ab94f..0000000000 --- a/src/qt/ravenstrings.cpp +++ /dev/null @@ -1,421 +0,0 @@ - - -#include - -// Automatically generated by extract_strings_qt.py -#ifdef __GNUC__ -#define UNUSED __attribute__((unused)) -#else -#define UNUSED -#endif -static const char UNUSED *raven_strings[] = { -QT_TRANSLATE_NOOP("raven-core", "Raven Core"), -QT_TRANSLATE_NOOP("raven-core", "The %s developers"), -QT_TRANSLATE_NOOP("raven-core", "" -"(1 = keep tx meta data e.g. account owner and payment request information, 2 " -"= drop tx meta data)"), -QT_TRANSLATE_NOOP("raven-core", "" -"-maxtxfee is set very high! Fees this large could be paid on a single " -"transaction."), -QT_TRANSLATE_NOOP("raven-core", "" -"A fee rate (in %s/kB) that will be used when fee estimation has insufficient " -"data (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Accept relayed transactions received from whitelisted peers even when not " -"relaying transactions (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Allow JSON-RPC connections from specified source. Valid for 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"), -QT_TRANSLATE_NOOP("raven-core", "" -"Bind to given address and always listen on it. Use [host]:port notation for " -"IPv6"), -QT_TRANSLATE_NOOP("raven-core", "" -"Bind to given address and whitelist peers connecting to it. Use [host]:port " -"notation for IPv6"), -QT_TRANSLATE_NOOP("raven-core", "" -"Bind to given address to listen for JSON-RPC connections. This option is " -"ignored unless -rpcallowip is also passed. Port is optional and overrides -" -"rpcport. Use [host]:port notation for IPv6. This option can be specified " -"multiple times (default: 127.0.0.1 and ::1 i.e., localhost, or if -" -"rpcallowip has been specified, 0.0.0.0 and :: i.e., all addresses)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Cannot obtain a lock on data directory %s. %s is probably already running."), -QT_TRANSLATE_NOOP("raven-core", "" -"Connect only to the specified node(s); -connect=0 disables automatic " -"connections"), -QT_TRANSLATE_NOOP("raven-core", "" -"Create new files with system default permissions, instead of umask 077 (only " -"effective with disabled wallet functionality)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Delete all wallet transactions and only recover those parts of the " -"blockchain through -rescan on startup"), -QT_TRANSLATE_NOOP("raven-core", "" -"Discover own IP addresses (default: 1 when listening and no -externalip or -" -"proxy)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Distributed under the MIT software license, see the accompanying file %s or " -"%s"), -QT_TRANSLATE_NOOP("raven-core", "" -"Do not keep transactions in the mempool longer than hours (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Equivalent bytes per sigop in transactions for relay and mining (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Error loading %s: You can't enable HD on an already existing non-HD wallet"), -QT_TRANSLATE_NOOP("raven-core", "" -"Error loading wallet %s. -wallet parameter must only specify a filename (not " -"a path)."), -QT_TRANSLATE_NOOP("raven-core", "" -"Error reading %s! All keys read correctly, but transaction data or address " -"book entries might be missing or incorrect."), -QT_TRANSLATE_NOOP("raven-core", "" -"Error: Listening for incoming connections failed (listen returned error %s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Exclude debugging information for a category. Can be used in conjunction " -"with -debug=1 to output debug logs for all categories except one or more " -"specified categories."), -QT_TRANSLATE_NOOP("raven-core", "" -"Execute command when a relevant alert is received or we see a really long " -"fork (%s in cmd is replaced by message)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Execute command when a wallet transaction changes (%s in cmd is replaced by " -"TxID)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Execute command when the best block changes (%s in cmd is replaced by block " -"hash)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Extra transactions to keep in memory for compact block reconstructions " -"(default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Fees (in %s/kB) smaller than this are considered zero fee for relaying, " -"mining and transaction creation (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Fees (in %s/kB) smaller than this are considered zero fee for transaction " -"creation (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Force relay of transactions from whitelisted peers even if they violate " -"local relay policy (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "" -"How thorough the block verification of -checkblocks is (0-4, default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"If is not supplied or if = 1, output all debugging " -"information."), -QT_TRANSLATE_NOOP("raven-core", "" -"If paytxfee is not set, include enough fee so transactions begin " -"confirmation on average within n blocks (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"If this block is in the chain assume that it and its ancestors are valid and " -"potentially skip their script verification (0 to verify all, default: %s, " -"testnet: %s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Invalid amount for -maxtxfee=: '%s' (must be at least the minrelay " -"fee of %s to prevent stuck transactions)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Maintain a full transaction index, used by the getrawtransaction rpc call " -"(default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Maximum allowed median peer time offset adjustment. Local perspective of " -"time may be influenced by peers forward or backward by this amount. " -"(default: %u seconds)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Maximum size of data in data carrier transactions we relay and mine " -"(default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Maximum total fees (in %s) to use in a single wallet transaction or raw " -"transaction; setting this too low may abort large transactions (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Number of seconds to keep misbehaving peers from reconnecting (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Output debugging information (default: %u, supplying is optional)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Please check that your computer's date and time are correct! If your clock " -"is wrong, %s will not work properly."), -QT_TRANSLATE_NOOP("raven-core", "" -"Please contribute if you find %s useful. Visit %s for further information " -"about the software."), -QT_TRANSLATE_NOOP("raven-core", "" -"Prune configured below the minimum of %d MiB. Please use a higher number."), -QT_TRANSLATE_NOOP("raven-core", "" -"Prune: last wallet synchronisation goes beyond pruned data. You need to -" -"reindex (download the whole blockchain again in case of pruned node)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Query for peer addresses via DNS lookup, if low on addresses (default: 1 " -"unless -connect used)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Randomize credentials for every proxy connection. This enables Tor stream " -"isolation (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Reduce storage requirements by enabling pruning (deleting) of old blocks. " -"This allows the pruneblockchain RPC to be called to delete specific blocks, " -"and enables automatic pruning of old blocks if a target size in MiB is " -"provided. This mode is incompatible with -txindex and -rescan. Warning: " -"Reverting this setting requires re-downloading the entire blockchain. " -"(default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >%u " -"= automatically prune block files to stay under the specified target size in " -"MiB)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Rescans are not possible in pruned mode. You will need to use -reindex which " -"will download the whole blockchain again."), -QT_TRANSLATE_NOOP("raven-core", "" -"Set lowest fee rate (in %s/kB) for transactions to be included in block " -"creation. (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Set the number of script verification threads (%u to %d, 0 = auto, <0 = " -"leave that many cores free, default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Sets the serialization of raw transaction or block hex returned in non-" -"verbose mode, non-segwit(0) or segwit(1) (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Support filtering of blocks and transaction with bloom filters (default: %u)"), -QT_TRANSLATE_NOOP("raven-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("raven-core", "" -"The fee rate (in %s/kB) that indicates your tolerance for discarding change " -"by adding it to the fee (default: %s). Note: An output is discarded if it is " -"dust at this rate, but we will always discard up to the dust relay fee and a " -"discard fee above that is limited by the fee estimate for the longest target"), -QT_TRANSLATE_NOOP("raven-core", "" -"The transaction amount is too small to send after the fee has been deducted"), -QT_TRANSLATE_NOOP("raven-core", "" -"This is a pre-release test build - use at your own risk - do not use for " -"mining or merchant applications"), -QT_TRANSLATE_NOOP("raven-core", "" -"This is the transaction fee you may discard if change is smaller than dust " -"at this level"), -QT_TRANSLATE_NOOP("raven-core", "" -"This is the transaction fee you may pay when fee estimates are not available."), -QT_TRANSLATE_NOOP("raven-core", "" -"This product includes software developed by the OpenSSL Project for use in " -"the OpenSSL Toolkit %s and cryptographic software written by Eric Young and " -"UPnP software written by Thomas Bernard."), -QT_TRANSLATE_NOOP("raven-core", "" -"Total length of network version string (%i) exceeds maximum length (%i). " -"Reduce the number or size of uacomments."), -QT_TRANSLATE_NOOP("raven-core", "" -"Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = " -"no limit (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Unable to replay blocks. You will need to rebuild the database using -" -"reindex-chainstate."), -QT_TRANSLATE_NOOP("raven-core", "" -"Unable to rewind the database to a pre-fork state. You will need to " -"redownload the blockchain"), -QT_TRANSLATE_NOOP("raven-core", "" -"Unsupported argument -socks found. Setting SOCKS version isn't possible " -"anymore, only SOCKS5 proxies are supported."), -QT_TRANSLATE_NOOP("raven-core", "" -"Unsupported argument -whitelistalwaysrelay ignored, use -whitelistrelay and/" -"or -whitelistforcerelay."), -QT_TRANSLATE_NOOP("raven-core", "" -"Use UPnP to map the listening port (default: 1 when listening and no -proxy)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Use hierarchical deterministic key generation (HD) after BIP32. Only has " -"effect during wallet creation/first start"), -QT_TRANSLATE_NOOP("raven-core", "" -"Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: " -"%s)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Username and hashed password for JSON-RPC connections. The field " -"comes in the format: :$. A canonical python script is " -"included in share/rpcuser. The client then connects normally using the " -"rpcuser=/rpcpassword= pair of arguments. This option can " -"be specified multiple times"), -QT_TRANSLATE_NOOP("raven-core", "" -"Wallet will not create transactions that violate mempool chain limits " -"(default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Warning: The network does not appear to fully agree! Some miners appear to " -"be experiencing issues."), -QT_TRANSLATE_NOOP("raven-core", "" -"Warning: Unknown block versions being mined! It's possible unknown rules are " -"in effect"), -QT_TRANSLATE_NOOP("raven-core", "" -"Warning: Wallet file corrupt, data salvaged! Original %s saved as %s in %s; " -"if your balance or transactions are incorrect you should restore from a " -"backup."), -QT_TRANSLATE_NOOP("raven-core", "" -"Warning: We do not appear to fully agree with our peers! You may need to " -"upgrade, or other nodes may need to upgrade."), -QT_TRANSLATE_NOOP("raven-core", "" -"Whether to save the mempool on shutdown and load on restart (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "" -"Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or CIDR " -"notated network (e.g. 1.2.3.0/24). Can be specified multiple times."), -QT_TRANSLATE_NOOP("raven-core", "" -"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"), -QT_TRANSLATE_NOOP("raven-core", "" -"You need to rebuild the database using -reindex to go back to unpruned " -"mode. This will redownload the entire blockchain"), -QT_TRANSLATE_NOOP("raven-core", "" -"You need to rebuild the database using -reindex-chainstate to change -txindex"), -QT_TRANSLATE_NOOP("raven-core", "%d of last 100 blocks have unexpected version"), -QT_TRANSLATE_NOOP("raven-core", "%s corrupt, salvage failed"), -QT_TRANSLATE_NOOP("raven-core", "%s is set very high!"), -QT_TRANSLATE_NOOP("raven-core", "(default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "(default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "(press q to shutdown and continue later)"), -QT_TRANSLATE_NOOP("raven-core", "-maxmempool must be at least %d MB"), -QT_TRANSLATE_NOOP("raven-core", " can be:"), -QT_TRANSLATE_NOOP("raven-core", "Accept command line and JSON-RPC commands"), -QT_TRANSLATE_NOOP("raven-core", "Accept connections from outside (default: 1 if no -proxy or -connect)"), -QT_TRANSLATE_NOOP("raven-core", "Accept public REST requests (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Add a node to connect to and attempt to keep the connection open"), -QT_TRANSLATE_NOOP("raven-core", "Allow DNS lookups for -addnode, -seednode and -connect"), -QT_TRANSLATE_NOOP("raven-core", "Always query for peer addresses via DNS lookup (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Append comment to the user agent string"), -QT_TRANSLATE_NOOP("raven-core", "Attempt to recover private keys from a corrupt wallet on startup"), -QT_TRANSLATE_NOOP("raven-core", "Automatically create Tor hidden service (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "Block creation options:"), -QT_TRANSLATE_NOOP("raven-core", "Cannot downgrade wallet"), -QT_TRANSLATE_NOOP("raven-core", "Cannot resolve -%s address: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Cannot write default address"), -QT_TRANSLATE_NOOP("raven-core", "Chain selection options:"), -QT_TRANSLATE_NOOP("raven-core", "Change index out of range"), -QT_TRANSLATE_NOOP("raven-core", "Connect through SOCKS5 proxy"), -QT_TRANSLATE_NOOP("raven-core", "Connect to a node to retrieve peer addresses, and disconnect"), -QT_TRANSLATE_NOOP("raven-core", "Connection options:"), -QT_TRANSLATE_NOOP("raven-core", "Copyright (C) %i-%i"), -QT_TRANSLATE_NOOP("raven-core", "Corrupted block database detected"), -QT_TRANSLATE_NOOP("raven-core", "Debugging/Testing options:"), -QT_TRANSLATE_NOOP("raven-core", "Do not load the wallet and disable wallet RPC calls"), -QT_TRANSLATE_NOOP("raven-core", "Do you want to rebuild the block database now?"), -QT_TRANSLATE_NOOP("raven-core", "Done loading"), -QT_TRANSLATE_NOOP("raven-core", "Enable publish hash block in
"), -QT_TRANSLATE_NOOP("raven-core", "Enable publish hash transaction in
"), -QT_TRANSLATE_NOOP("raven-core", "Enable publish raw block in
"), -QT_TRANSLATE_NOOP("raven-core", "Enable publish raw transaction in
"), -QT_TRANSLATE_NOOP("raven-core", "Enable transaction replacement in the memory pool (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Error initializing block database"), -QT_TRANSLATE_NOOP("raven-core", "Error initializing wallet database environment %s!"), -QT_TRANSLATE_NOOP("raven-core", "Error loading %s"), -QT_TRANSLATE_NOOP("raven-core", "Error loading %s: Wallet corrupted"), -QT_TRANSLATE_NOOP("raven-core", "Error loading %s: Wallet requires newer version of %s"), -QT_TRANSLATE_NOOP("raven-core", "Error loading %s: You can't disable HD on an already existing HD wallet"), -QT_TRANSLATE_NOOP("raven-core", "Error loading block database"), -QT_TRANSLATE_NOOP("raven-core", "Error loading wallet %s. -wallet filename must be a regular file."), -QT_TRANSLATE_NOOP("raven-core", "Error loading wallet %s. Duplicate -wallet filename specified."), -QT_TRANSLATE_NOOP("raven-core", "Error loading wallet %s. Invalid characters in -wallet filename."), -QT_TRANSLATE_NOOP("raven-core", "Error opening block database"), -QT_TRANSLATE_NOOP("raven-core", "Error reading from database, shutting down."), -QT_TRANSLATE_NOOP("raven-core", "Error upgrading chainstate database"), -QT_TRANSLATE_NOOP("raven-core", "Error"), -QT_TRANSLATE_NOOP("raven-core", "Error: A fatal internal error occurred, see debug.log for details"), -QT_TRANSLATE_NOOP("raven-core", "Error: Disk space is low!"), -QT_TRANSLATE_NOOP("raven-core", "Failed to listen on any port. Use -listen=0 if you want this."), -QT_TRANSLATE_NOOP("raven-core", "Fee (in %s/kB) to add to transactions you send (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "How many blocks to check at startup (default: %u, 0 = all)"), -QT_TRANSLATE_NOOP("raven-core", "Importing..."), -QT_TRANSLATE_NOOP("raven-core", "Imports blocks from external blk000??.dat file on startup"), -QT_TRANSLATE_NOOP("raven-core", "Include IP addresses in debug output (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Incorrect or no genesis block found. Wrong datadir for network?"), -QT_TRANSLATE_NOOP("raven-core", "Information"), -QT_TRANSLATE_NOOP("raven-core", "Initialization sanity check failed. %s is shutting down."), -QT_TRANSLATE_NOOP("raven-core", "Insufficient funds"), -QT_TRANSLATE_NOOP("raven-core", "Invalid -onion address or hostname: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Invalid -proxy address or hostname: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Invalid amount for -%s=: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Invalid amount for -discardfee=: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Invalid amount for -fallbackfee=: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Invalid amount for -paytxfee=: '%s' (must be at least %s)"), -QT_TRANSLATE_NOOP("raven-core", "Invalid netmask specified in -whitelist: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Keep at most unconnectable transactions in memory (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Keep the transaction memory pool below megabytes (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Keypool ran out, please call keypoolrefill first"), -QT_TRANSLATE_NOOP("raven-core", "Listen for JSON-RPC connections on (default: %u or testnet: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Listen for connections on (default: %u or testnet: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Loading P2P addresses..."), -QT_TRANSLATE_NOOP("raven-core", "Loading banlist..."), -QT_TRANSLATE_NOOP("raven-core", "Loading block index..."), -QT_TRANSLATE_NOOP("raven-core", "Loading wallet..."), -QT_TRANSLATE_NOOP("raven-core", "Location of the auth cookie (default: data dir)"), -QT_TRANSLATE_NOOP("raven-core", "Maintain at most connections to peers (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Make the wallet broadcast transactions"), -QT_TRANSLATE_NOOP("raven-core", "Maximum per-connection receive buffer, *1000 bytes (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Maximum per-connection send buffer, *1000 bytes (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Need to specify a port with -whitebind: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Node relay options:"), -QT_TRANSLATE_NOOP("raven-core", "Not enough file descriptors available."), -QT_TRANSLATE_NOOP("raven-core", "Only connect to nodes in network (ipv4, ipv6 or onion)"), -QT_TRANSLATE_NOOP("raven-core", "Options:"), -QT_TRANSLATE_NOOP("raven-core", "Password for JSON-RPC connections"), -QT_TRANSLATE_NOOP("raven-core", "Prepend debug output with timestamp (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Print this help message and exit"), -QT_TRANSLATE_NOOP("raven-core", "Print version and exit"), -QT_TRANSLATE_NOOP("raven-core", "Prune cannot be configured with a negative value."), -QT_TRANSLATE_NOOP("raven-core", "Prune mode is incompatible with -txindex."), -QT_TRANSLATE_NOOP("raven-core", "Pruning blockstore..."), -QT_TRANSLATE_NOOP("raven-core", "RPC server options:"), -QT_TRANSLATE_NOOP("raven-core", "Rebuild chain state and block index from the blk*.dat files on disk"), -QT_TRANSLATE_NOOP("raven-core", "Rebuild chain state from the currently indexed blocks"), -QT_TRANSLATE_NOOP("raven-core", "Reducing -maxconnections from %d to %d, because of system limitations."), -QT_TRANSLATE_NOOP("raven-core", "Relay and mine data carrier transactions (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Relay non-P2SH multisig (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Replaying blocks..."), -QT_TRANSLATE_NOOP("raven-core", "Rescan the block chain for missing wallet transactions on startup"), -QT_TRANSLATE_NOOP("raven-core", "Rescanning..."), -QT_TRANSLATE_NOOP("raven-core", "Rewinding blocks..."), -QT_TRANSLATE_NOOP("raven-core", "Run in the background as a daemon and accept commands"), -QT_TRANSLATE_NOOP("raven-core", "Send trace/debug info to console instead of debug.log file"), -QT_TRANSLATE_NOOP("raven-core", "Send transactions with full-RBF opt-in enabled (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Set database cache size in megabytes (%d to %d, default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "Set key pool size to (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Set maximum BIP141 block weight (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "Set maximum block size in bytes (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "Set the number of threads to service RPC calls (default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "Show all debugging options (usage: --help -help-debug)"), -QT_TRANSLATE_NOOP("raven-core", "Shrink debug.log file on client startup (default: 1 when no -debug)"), -QT_TRANSLATE_NOOP("raven-core", "Signing transaction failed"), -QT_TRANSLATE_NOOP("raven-core", "Specify configuration file (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "Specify connection timeout in milliseconds (minimum: 1, default: %d)"), -QT_TRANSLATE_NOOP("raven-core", "Specify data directory"), -QT_TRANSLATE_NOOP("raven-core", "Specify pid file (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "Specify wallet file (within data directory)"), -QT_TRANSLATE_NOOP("raven-core", "Specify your own public address"), -QT_TRANSLATE_NOOP("raven-core", "Spend unconfirmed change when sending transactions (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Starting network threads..."), -QT_TRANSLATE_NOOP("raven-core", "The source code is available from %s."), -QT_TRANSLATE_NOOP("raven-core", "The transaction amount is too small to pay the fee"), -QT_TRANSLATE_NOOP("raven-core", "The wallet will avoid paying less than the minimum relay fee."), -QT_TRANSLATE_NOOP("raven-core", "This is experimental software."), -QT_TRANSLATE_NOOP("raven-core", "This is the minimum transaction fee you pay on every transaction."), -QT_TRANSLATE_NOOP("raven-core", "This is the transaction fee you will pay if you send a transaction."), -QT_TRANSLATE_NOOP("raven-core", "Threshold for disconnecting misbehaving peers (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Tor control port password (default: empty)"), -QT_TRANSLATE_NOOP("raven-core", "Tor control port to use if onion listening enabled (default: %s)"), -QT_TRANSLATE_NOOP("raven-core", "Transaction amount too small"), -QT_TRANSLATE_NOOP("raven-core", "Transaction amounts must not be negative"), -QT_TRANSLATE_NOOP("raven-core", "Transaction fee and change calculation failed"), -QT_TRANSLATE_NOOP("raven-core", "Transaction has too long of a mempool chain"), -QT_TRANSLATE_NOOP("raven-core", "Transaction must have at least one recipient"), -QT_TRANSLATE_NOOP("raven-core", "Transaction too large for fee policy"), -QT_TRANSLATE_NOOP("raven-core", "Transaction too large"), -QT_TRANSLATE_NOOP("raven-core", "Unable to bind to %s on this computer (bind returned error %s)"), -QT_TRANSLATE_NOOP("raven-core", "Unable to bind to %s on this computer. %s is probably already running."), -QT_TRANSLATE_NOOP("raven-core", "Unable to start HTTP server. See debug log for details."), -QT_TRANSLATE_NOOP("raven-core", "Unknown network specified in -onlynet: '%s'"), -QT_TRANSLATE_NOOP("raven-core", "Unsupported argument -benchmark ignored, use -debug=bench."), -QT_TRANSLATE_NOOP("raven-core", "Unsupported argument -debugnet ignored, use -debug=net."), -QT_TRANSLATE_NOOP("raven-core", "Unsupported argument -tor found, use -onion."), -QT_TRANSLATE_NOOP("raven-core", "Unsupported logging category %s=%s."), -QT_TRANSLATE_NOOP("raven-core", "Upgrade wallet to latest format on startup"), -QT_TRANSLATE_NOOP("raven-core", "Upgrading UTXO database"), -QT_TRANSLATE_NOOP("raven-core", "Use UPnP to map the listening port (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Use the test chain"), -QT_TRANSLATE_NOOP("raven-core", "User Agent comment (%s) contains unsafe characters."), -QT_TRANSLATE_NOOP("raven-core", "Username for JSON-RPC connections"), -QT_TRANSLATE_NOOP("raven-core", "Verifying blocks..."), -QT_TRANSLATE_NOOP("raven-core", "Verifying wallet(s)..."), -QT_TRANSLATE_NOOP("raven-core", "Wallet %s resides outside data directory %s"), -QT_TRANSLATE_NOOP("raven-core", "Wallet debugging/testing options:"), -QT_TRANSLATE_NOOP("raven-core", "Wallet needed to be rewritten: restart %s to complete"), -QT_TRANSLATE_NOOP("raven-core", "Wallet options:"), -QT_TRANSLATE_NOOP("raven-core", "Warning"), -QT_TRANSLATE_NOOP("raven-core", "Warning: unknown new rules activated (versionbit %i)"), -QT_TRANSLATE_NOOP("raven-core", "Whether to operate in a blocks only mode (default: %u)"), -QT_TRANSLATE_NOOP("raven-core", "Zapping all transactions from wallet..."), -QT_TRANSLATE_NOOP("raven-core", "ZeroMQ notification options:"), -}; diff --git a/src/qt/receivecoinsdialog.cpp b/src/qt/receivecoinsdialog.cpp index 9cb4e61993..89a71d5565 100644 --- a/src/qt/receivecoinsdialog.cpp +++ b/src/qt/receivecoinsdialog.cpp @@ -8,7 +8,7 @@ #include "addressbookpage.h" #include "addresstablemodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "optionsmodel.h" #include "platformstyle.h" @@ -333,7 +333,7 @@ void ReceiveCoinsDialog::copyURI() } const RecentRequestsTableModel * const submodel = model->getRecentRequestsTableModel(); - const QString uri = GUIUtil::formatRavenURI(submodel->entry(sel.row()).recipient); + const QString uri = GUIUtil::formatBitcoinURI(submodel->entry(sel.row()).recipient); GUIUtil::setClipboard(uri); } diff --git a/src/qt/receivecoinsdialog.h b/src/qt/receivecoinsdialog.h index e1bf27cb5f..b8b26fe82b 100644 --- a/src/qt/receivecoinsdialog.h +++ b/src/qt/receivecoinsdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RECEIVECOINSDIALOG_H -#define RAVEN_QT_RECEIVECOINSDIALOG_H +#ifndef BITCOIN_QT_RECEIVECOINSDIALOG_H +#define BITCOIN_QT_RECEIVECOINSDIALOG_H #include "guiutil.h" @@ -27,7 +28,7 @@ QT_BEGIN_NAMESPACE class QModelIndex; QT_END_NAMESPACE -/** Dialog for requesting payment of ravens */ +/** Dialog for requesting payment of bitcoins */ class ReceiveCoinsDialog : public QDialog { Q_OBJECT @@ -80,4 +81,4 @@ private Q_SLOTS: void copyAmount(); }; -#endif // RAVEN_QT_RECEIVECOINSDIALOG_H +#endif // BITCOIN_QT_RECEIVECOINSDIALOG_H diff --git a/src/qt/receiverequestdialog.cpp b/src/qt/receiverequestdialog.cpp index b56a2f4cc5..4b102e9528 100644 --- a/src/qt/receiverequestdialog.cpp +++ b/src/qt/receiverequestdialog.cpp @@ -6,7 +6,7 @@ #include "receiverequestdialog.h" #include "ui_receiverequestdialog.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiconstants.h" #include "guiutil.h" #include "optionsmodel.h" @@ -23,7 +23,7 @@ #endif #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" /* for USE_QRCODE */ +#include "config/bitcoin-config.h" /* for USE_QRCODE */ #endif #ifdef USE_QRCODE @@ -142,7 +142,7 @@ void ReceiveRequestDialog::update() target = info.address; setWindowTitle(tr("Request payment to %1").arg(target)); - QString uri = GUIUtil::formatRavenURI(info); + QString uri = GUIUtil::formatBitcoinURI(info); ui->btnSaveAs->setEnabled(false); QString html; html += ""; @@ -151,7 +151,7 @@ void ReceiveRequestDialog::update() html += "" + GUIUtil::HtmlEscape(uri) + "
"; html += ""+tr("Address")+": " + GUIUtil::HtmlEscape(info.address) + "
"; if(info.amount) - html += ""+tr("Amount")+": " + RavenUnits::formatHtmlWithUnit(model->getDisplayUnit(), info.amount) + "
"; + html += ""+tr("Amount")+": " + BitcoinUnits::formatHtmlWithUnit(model->getDisplayUnit(), info.amount) + "
"; if(!info.label.isEmpty()) html += ""+tr("Label")+": " + GUIUtil::HtmlEscape(info.label) + "
"; if(!info.message.isEmpty()) @@ -207,7 +207,7 @@ void ReceiveRequestDialog::update() void ReceiveRequestDialog::on_btnCopyURI_clicked() { - GUIUtil::setClipboard(GUIUtil::formatRavenURI(info)); + GUIUtil::setClipboard(GUIUtil::formatBitcoinURI(info)); } void ReceiveRequestDialog::on_btnCopyAddress_clicked() diff --git a/src/qt/receiverequestdialog.h b/src/qt/receiverequestdialog.h index f491b0df40..56b6480ef4 100644 --- a/src/qt/receiverequestdialog.h +++ b/src/qt/receiverequestdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RECEIVEREQUESTDIALOG_H -#define RAVEN_QT_RECEIVEREQUESTDIALOG_H +#ifndef BITCOIN_QT_RECEIVEREQUESTDIALOG_H +#define BITCOIN_QT_RECEIVEREQUESTDIALOG_H #include "walletmodel.h" @@ -69,4 +70,4 @@ private Q_SLOTS: SendCoinsRecipient info; }; -#endif // RAVEN_QT_RECEIVEREQUESTDIALOG_H +#endif // BITCOIN_QT_RECEIVEREQUESTDIALOG_H diff --git a/src/qt/recentrequeststablemodel.cpp b/src/qt/recentrequeststablemodel.cpp index 9b9f4f2772..226797ff56 100644 --- a/src/qt/recentrequeststablemodel.cpp +++ b/src/qt/recentrequeststablemodel.cpp @@ -5,7 +5,7 @@ #include "recentrequeststablemodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "optionsmodel.h" @@ -84,9 +84,9 @@ QVariant RecentRequestsTableModel::data(const QModelIndex &index, int role) cons if (rec->recipient.amount == 0 && role == Qt::DisplayRole) return tr("(no amount requested)"); else if (role == Qt::EditRole) - return RavenUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount, false, RavenUnits::separatorNever); + return BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount, false, BitcoinUnits::separatorNever); else - return RavenUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount); + return BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount); } } else if (role == Qt::TextAlignmentRole) @@ -124,7 +124,7 @@ void RecentRequestsTableModel::updateAmountColumnTitle() /** Gets title for amount column including current display unit if optionsModel reference available. */ QString RecentRequestsTableModel::getAmountTitle() { - return (this->walletModel->getOptionsModel() != nullptr) ? tr("Requested") + " ("+RavenUnits::name(this->walletModel->getOptionsModel()->getDisplayUnit()) + ")" : ""; + return (this->walletModel->getOptionsModel() != nullptr) ? tr("Requested") + " ("+BitcoinUnits::name(this->walletModel->getOptionsModel()->getDisplayUnit()) + ")" : ""; } QModelIndex RecentRequestsTableModel::index(int row, int column, const QModelIndex &parent) const diff --git a/src/qt/recentrequeststablemodel.h b/src/qt/recentrequeststablemodel.h index e38aec0db4..9e04ac65ad 100644 --- a/src/qt/recentrequeststablemodel.h +++ b/src/qt/recentrequeststablemodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RECENTREQUESTSTABLEMODEL_H -#define RAVEN_QT_RECENTREQUESTSTABLEMODEL_H +#ifndef BITCOIN_QT_RECENTREQUESTSTABLEMODEL_H +#define BITCOIN_QT_RECENTREQUESTSTABLEMODEL_H #include "walletmodel.h" @@ -53,7 +54,7 @@ class RecentRequestEntryLessThan Qt::SortOrder order; }; -/** Model for list of recently generated payment requests / raven: URIs. +/** Model for list of recently generated payment requests / blast: URIs. * Part of wallet model. */ class RecentRequestsTableModel: public QAbstractTableModel @@ -105,4 +106,4 @@ public Q_SLOTS: QString getAmountTitle(); }; -#endif // RAVEN_QT_RECENTREQUESTSTABLEMODEL_H +#endif // BITCOIN_QT_RECENTREQUESTSTABLEMODEL_H diff --git a/src/qt/reissueassetdialog.cpp b/src/qt/reissueassetdialog.cpp index e39737677b..220fe028e9 100644 --- a/src/qt/reissueassetdialog.cpp +++ b/src/qt/reissueassetdialog.cpp @@ -13,7 +13,7 @@ #include "core_io.h" #include "univalue.h" #include "assets/assettypes.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "optionsmodel.h" #include "sendcoinsdialog.h" #include "coincontroldialog.h" @@ -394,7 +394,7 @@ void ReissueAssetDialog::setBalance(const CAmount& balance, const CAmount& uncon if(model && model->getOptionsModel()) { - ui->labelBalance->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); + ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); } } @@ -467,7 +467,7 @@ void ReissueAssetDialog::CheckFormState() const CTxDestination dest = DecodeDestination(ui->addressText->text().toStdString()); if (!ui->addressText->text().isEmpty()) { if (!IsValidDestination(dest)) { - showMessage(tr("Invalid Raven Destination Address")); + showMessage(tr("Invalid BLAST Destination Address")); return; } } @@ -752,7 +752,7 @@ void ReissueAssetDialog::onReissueAssetClicked() QStringList formatted; // generate bold amount string - QString amount = "" + QString::fromStdString(ValueFromAmountString(GetReissueAssetBurnAmount(), 8)) + " RVN"; + QString amount = "" + QString::fromStdString(ValueFromAmountString(GetReissueAssetBurnAmount(), 8)) + " BLAST"; amount.append(""); // generate monospace address string QString addressburn = "" + QString::fromStdString(Params().ReissueAssetBurnAddress()); @@ -781,7 +781,7 @@ void ReissueAssetDialog::onReissueAssetClicked() { // append fee string if a fee is required questionString.append("
"); - questionString.append(RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), nFeeRequired)); + questionString.append(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), nFeeRequired)); questionString.append(" "); questionString.append(tr("added as transaction fee")); @@ -793,13 +793,13 @@ void ReissueAssetDialog::onReissueAssetClicked() questionString.append("
"); CAmount totalAmount = GetReissueAssetBurnAmount() + nFeeRequired; QStringList alternativeUnits; - for (RavenUnits::Unit u : RavenUnits::availableUnits()) + for (BitcoinUnits::Unit u : BitcoinUnits::availableUnits()) { if(u != model->getOptionsModel()->getDisplayUnit()) - alternativeUnits.append(RavenUnits::formatHtmlWithUnit(u, totalAmount)); + alternativeUnits.append(BitcoinUnits::formatHtmlWithUnit(u, totalAmount)); } questionString.append(tr("Total Amount %1") - .arg(RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount))); + .arg(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount))); questionString.append(QString("
(=%2)
") .arg(alternativeUnits.join(" " + tr("or") + "
"))); @@ -882,7 +882,7 @@ void ReissueAssetDialog::updateSmartFeeLabel() FeeCalculation feeCalc; CFeeRate feeRate = CFeeRate(GetMinimumFee(1000, coin_control, ::mempool, ::feeEstimator, &feeCalc)); - ui->labelSmartFee->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); + ui->labelSmartFee->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); if (feeCalc.reason == FeeReason::FALLBACK) { ui->labelSmartFee2->show(); // (Smart fee not initialized yet. This usually takes a few blocks...) @@ -1005,7 +1005,7 @@ void ReissueAssetDialog::coinControlChangeEdited(const QString& text) } else if (!IsValidDestination(dest)) // Invalid address { - ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid Raven address")); + ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid BLAST address")); } else // Valid address { @@ -1121,7 +1121,7 @@ void ReissueAssetDialog::updateFeeMinimizedLabel() if (ui->radioSmartFee->isChecked()) ui->labelFeeMinimized->setText(ui->labelSmartFee->text()); else { - ui->labelFeeMinimized->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); + ui->labelFeeMinimized->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); } } @@ -1129,7 +1129,7 @@ void ReissueAssetDialog::updateMinFeeLabel() { if (model && model->getOptionsModel()) ui->checkBoxMinimumFee->setText(tr("Pay only the required fee of %1").arg( - RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") ); } diff --git a/src/qt/reissueassetdialog.h b/src/qt/reissueassetdialog.h index a9e57cc7f7..bbf659a8d2 100644 --- a/src/qt/reissueassetdialog.h +++ b/src/qt/reissueassetdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_REISSUEASSETDIALOG_H -#define RAVEN_QT_REISSUEASSETDIALOG_H +#ifndef BITCOIN_QT_REISSUEASSETDIALOG_H +#define BITCOIN_QT_REISSUEASSETDIALOG_H #include "walletmodel.h" @@ -130,4 +131,4 @@ private Q_SLOTS: void message(const QString &title, const QString &message, unsigned int style); }; -#endif // RAVEN_QT_REISSUEASSETDIALOG_H +#endif // BITCOIN_QT_REISSUEASSETDIALOG_H diff --git a/src/qt/res/raven-qt-res.rc b/src/qt/res/bitcoin-qt-res.rc similarity index 84% rename from src/qt/res/raven-qt-res.rc rename to src/qt/res/bitcoin-qt-res.rc index d901283b7a..e516fa4975 100644 --- a/src/qt/res/raven-qt-res.rc +++ b/src/qt/res/bitcoin-qt-res.rc @@ -1,5 +1,5 @@ -IDI_ICON1 ICON DISCARDABLE "icons/raven.ico" -IDI_ICON2 ICON DISCARDABLE "icons/raven_testnet.ico" +IDI_ICON1 ICON DISCARDABLE "icons/bitcoin.ico" +IDI_ICON2 ICON DISCARDABLE "icons/bitcoin_testnet.ico" #include // needed for VERSIONINFO #include "../../clientversion.h" // holds the needed client version information @@ -19,13 +19,13 @@ BEGIN BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN - VALUE "CompanyName", "Raven" - VALUE "FileDescription", PACKAGE_NAME " (GUI node for Raven)" + VALUE "CompanyName", "BLAST" + VALUE "FileDescription", PACKAGE_NAME " (GUI node for BLAST)" VALUE "FileVersion", VER_FILEVERSION_STR - VALUE "InternalName", "raven-qt" + VALUE "InternalName", "blast-qt" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." - VALUE "OriginalFilename", "raven-qt.exe" + VALUE "OriginalFilename", "blast-qt.exe" VALUE "ProductName", PACKAGE_NAME VALUE "ProductVersion", VER_PRODUCTVERSION_STR END diff --git a/src/qt/res/fonts/Exo2-Black.otf b/src/qt/res/fonts/Exo2-Black.otf new file mode 100644 index 0000000000000000000000000000000000000000..48b6e632c4331f50a2c896a1d09214f25c8e3de6 GIT binary patch literal 121236 zcmdSC2Ut``_dh-}x9qYP7T9GeyRy3&dqK*AV5izEme@tQ(xfXEEJzWtEB1!H$KH*` zUZT;cDVk_ZG>M6(4(4L`oqO+El5gI8-{13pp5OEQ%{xp#bIz1AXXfsF-roKD_ePGW z2r;NrM0B)u@h{JF5PD}W!fq*@Bcq~oDsz1hZe5EI&g$H!cg%Ywjjkaanu*ZtYn@{T zgx8ex?2qvIP6+Ax^^R#3khWn{7DBFW2%%ANX|b7oZakllkVgxI9K(|nV&ks^%*f8EJA?v&U*HE>5$c1O7ZAd-3%mAJ+wCKr+x>9 z`zgfxqgMa!>Ms3z{=d}kfC9)0;O#%TODKq3LM%ARmmLlR|6>#+`8cfZDY#4E=76J+ zrdHDBysK}@AOc~3D02@lL>kGFYM>*zmMDOEANXjA{H5^Qjv4+su3`?MCXyo$k&VrR zegXe~xJQtudn^46$o7w}?(sjT|E>I&5dSClk2L>Q_pLI_ZRA5{0$<}nUMamA!vE$* zBQyDL-5uzowNO3-`ZOCk%DxnS+r1BS;D2$9D{A#m?tiOCR@ME$OFnLee6c@jrMS8W*uU;1xEbJ{ zf_o{a%Vp|LzbZpUN_Aij%k}C$!hUt%+ubP=3$*PHC!!XAarc!tSuFca@Jz%qxv071 z6rTRsXI8$I9tVB@kFM_UKd1k#d?m#H$^9eEztw%K3^N<@Qh_hYjX@^-0raKfjEZ0P z@td@|pGi~X`Cq$-pc@Z>?)w)U{hdw|GPv#~lZw=TcVtA} zOEToYbl$K=|K^x1WMt|iHQNK+6r|=lK^x7$origQ2Ye3PO619eA`SB;$iD}f@m^R< z(jHujLP!<3W++&8%~3Gpj07?e_5!Csth!*3CkNuvI!yyV1DvF*y0I|aV}W@pwH*a|^LMZx!$7y?+4&v|WplyxgE2b>ZZU*^gLamJ zUk<(})RTB^ia4?a_>&y)$>bKE4hvuklDcd9OOjiqx$$GM98~f=Y+$axBz$vfj%AubHIYM zWD05sVH2ePcjZb@J-ij>RD0BjxXSfifG-!)1L7{w_CRQ(ySxWGOZzamX5efj73OX# z3Ix{xTnlj0p4||f8l0rpeZfIqU7bDL82nb?bl@7|eb8o;U}> zIf!Qhp}$?h1~>=)yWkhv{fXc=fw|WN`mQ~!xAx%gKt8w{+*;&??jaxaDfmyI?XJ*9 zHn`8hePnlQz=wY@|E;k1c*%Z8&_6K{mu#^aFvhsB!8e zz`rd!4aoyP0rVB*vmC7Pb4Vx4JP6VSSf_1KOZ*4uBM+bnVJI68Yoi5z0eQ_(2XKvu zFUZpg#{O4Wi)~R;vIF#EG;+bCVBJV-q5^201wID?f4zX01PD)rb+#0_b1k7vTcl%r zP-F4}cuWIcf?yo9U~BvUd*mZ%D+=b88w$hjD4e_lG;A>M!DkC$jFM0^{t21oagoLc z{W$@lx(47^A@s5a!Y&YQ53Ylf_vd}^hk=89IS)?3a-9%}^Y*$+?BV+MI_qF=G{ARJ z0G^AQz+7*F8^ZZ}FSNTCc!N0F4&w!Tlbp94#{V9KRY(iIC#<0WBr18pcN2*Q`UA$i z1I)uK5dKs;!@qnVJ%)NLtShPhD|fFh4`^8M7vLZb>YMRr$Xn(^;$^<X7Zv^eb-2hWt*8}bkI=y_qt}hoZrM&$QRt3xwW(ET5gp|X4MX0;t;}IZt z3#qKeUcrip3WBdG4Cp?n7wUwpA_1M>19xI-(LO7}(2G#$SJxh&I zPWsECBla+X@JV}^K?d}JJ@0eK}tG;U%O9edaj zHDZ3UhqY)j>tPSOAPu|79(INB>WGZY@mVQJ$vM_7)&M{Mz!uhCu{p8nu?eZx&ar8+ z)+YJ+`M&A#DcNxuc?nqw@xE~xX;xorN_t{Olh~Z5f6Hmw!kV9wlWgsmke!f~mk@7_ z&PdMzifIYfsDcb%YyaewY$YuwBQYmGHY>pj38^V@3F+BTIyXH&ATE(Shze;PB8Jm>go0**1F*_wEVPr~t`*aYe5%|5M zd!PuEfilr}l!a1I5=urnFj=>N3qXFzAAu5wa4!@K>9HssTmnjkl+F-J180Q=oG<_9 z3%T(?BOAp5#XKmN1uh=>%JDQP=?g9eN+m*m6R4Ymn*J|!n#!%`L#-U(%!>K}#cY|f zL_Z! zb7k%%IjnN~QrQ^P74-nWH}siQ_HD{N{z5_Ow}DV53+ScDTw0+&ePyR`DD|-wg+t4+ z(DGPWx+G{-if75?{Nyociw2cbXVUI-)h%#ej9gJT2 zO6))VWyUa(OgAQ)$zoP9>zM9Le`WyFo|(ynGeelpOi%JLxlQhnyW|t{Dfx_iPVSNW zOc>LHnaz|l6-*aqEwo<`d7}ofKq62iOpiWj6dDbprGvPIXcbz6*1|GAfR4kh`^T`y zeulng`Y|1t7-l!qi}@6NhdIn+C+vn>;Fj2iLvc6U6ZgS`@lc$AOK~}#g%{w}coRN> zPvQ^oS^Oc>huOmPg>w{K-6Ic}HZ9QvRE$oe?_q!c8NI*+BkX_;_#Nzpt+*|Y!0mBI z9FG%mHcrMFcskyUcjB#hJF|`1%w#ZAnQEpJvmUQvHZmKSP0UT^E;9=m(Gq46Gnbje zR5H_mV3sqv%si%w8P1GgBABsA2Uf^Zv=Wyv zgP4KLXeN${XA+n)W)0Z8_nA;8hZ)I?!k^*KnH@|=CXtC{R>Ro&!F%S(w z6VYUlune65i{=B|hPlIh!F&|mL!n0CWFaQa*|vj_ZXIOWSkitV`3UGO&DLspIHb!dW<>6I4YangMp`qi@Zwbp9uCfIOySl_em zw;r(`_tE>f`_%VoOfXWiL8M+ zBFVT0?}8ce4gL=QL7EXiS;oWU1UX0UGMM2(MpuyW9j5VLWJIhB>&}{3KQ@?c%Z_Hp zuvu(5=fWAe2Ar>1ZFV%fnd_OY<_6|wW?yr#xs5s8+`~M?Ji?r6E-)9FE6wv|8P`}< zAfwLeX{~3q$}$F6LuDCrtVJN>dh14zahr7y$avU#>@PBMAfqeD==EC0c#!e7h-Dc; zOt5?#;jiStTYu`@{*+E1Z~pB@yU-?BW2<1kEvai?*R;-~PWt-w|M}lnP7mEBB42d} z2lgub_5Ld3t0`YKdidMJlki{p!w+HN-G2Cql=twk{CDZYs)xl7$32|-U>QOW%E7^x zu?P7N#y;r!pgBVKZcC*=V?2cQxq>{EBCwYGf!2wKRglbVg>#{l_8xP9ImCRxTw|m! zb^q{>xx_qSerEn)>$5Fb8#|Gm%oedTxlAsPo5;=NO1W}wF1MJg;+AnMxK-R5ZXH+6 zy~my6PIGs;``jb$NA9^qmiv)k1E2Obg4@dP{GSa;xsbPtUk88J@zrma;6cV$PD$q% zLdrsZF-Y+LYrV>h1+6A&#c`nbwt{ZF%WS}3f_7WL3H8q9t&?khI)s zIA5>Et3Zo?kAB7kG&uq->i~M(AZzjn(B+aQ*Mct325p`UnmmIk!&5<f-!}+g17U10H2xm7nYK)!XEarkbzWuwR z6!t}3aRBN9_g%fLSD!;B zm86k$l0h=bIFd!ONiNAF1tg!0ClkmdGMP*y(@7~QBe7&OoWF;YX=EyyL5j&tGKCb8 z5;BG)ksMM;+{i3qAQi-&%qAYB68}V!$pF}82a>D!F&RNT$sFQE<`N^B2Rre60(X$a zn=B+|vWQs7Vqzsrh!3eE^~qAwfGj5s$qLeltR#)eD$<0kCQZp2*xS~U=42gdLDs`w zzJatN8)3KGMEpqr*#dj}R$?RDND$dhg2@ip1$UAVvWsjcp=38{L-vri?Q5V zKGK2gCmqQF(uo`-VdM}ACx=M{IYJ`AI*202NHjT4I>R2?1#E?`yWeh+HG@k`Lh?O#}Cku5c%% zL!EFFIR7_>`w&mm4F{s$aJSbJ2cto_6B>gDpj12vW#Azw7mq}FcoZ6skpxSP6+_oEB=J@f!y zMqlDfut#1&kMK1niAiBnVQ)-h-j%J%!LmIW3zq8+uvzn%@k}<@lLgFVCZ8!{CNPD} z6tL#1z*a3`W`JcXS+CzSzf0C8>{5)fQ`PN#-$Vy|$k?*NeF1dej@Cn)N!ylfd>47jB?}>%lc(Gg<9-gfmS~ zFlvW_i7K6;^3haOiYn1Uv>J{EyU{^79DIN-qZ{ZhD6>bB@|RV=3KYEo*TaqEgF#yy zj=RFaU=SV-ia#Asz%$@zFb6LKQ&%$QcjJR_M7V%I#JBN1P#WLipKvWG6D=%H6D%iR zSRkP=?K{I1?hi^K78F1xEcnT=s4HM$E`^1*36{=&SOjNaLf?R+&pq;pd{2HRFTj{| zV%)%(tj{!MY_QRVgX!NJ4okzpxE}+KgF3v=Jc0rE znWKn!tP=Zu*caC z*h}mU_AdL7{g!>k{?5MSSWe({oEK;18gsr}5Z8{2;JR^rxp%qITnd*V8$l)9JZ=e? zKGobdFnkViC%CiR749bYDffVT!ad_&@Q7FOTHe6dKENU(B!OH}X69ef&}WH2(pAnZLo`svE0))i!k-b(p%Ry1#m;I#!*m&QRy8r>V=-bJa`KtJGW7JJtKtN7bj* z7uDC*x7GL5kJR6*e^yiVpAMXZql4bT=+M}~*CEKEokN5}7l+;s1004rBsyd`4JVsAjY#MU$z?*G$$FYbrDgG|Mz=HJdfNGzT=tH6Lg$ zYd+F^qWMzuSo5RiH%+a;2pYjv@DwaUBcY{W6WR*lLRX=WFi037BnYWOwlG1MDwGOy zgvG*2p<37`yeAwMP6_9QYr@CE=fYRQcfwCXjZo*vJ32YKIhq{nJ2rLnb8PL{!7<9Q zhhvQ65XV@@WXBB0JjY3nGaP3*&UakuxW;jl<4(u@j>jC&I9_tR;ds~a3&(F9e{lTO zQFJ0s4o)sk9!_SbhE6S<0-f48g*kO`>g_bpX}D9o(^#i0r}0ijP9;v2PK%sYIIVZu z>a@q{kkd)0b52*CZaIDC^w8;Br{_-8=}#@Eb=2y$My-#wiMEwCSleD3sqL=qryZ;v zrA^YNYjd>|wbQlb+IiY4?P~2t?GEie?NRM%?M3Z%?H%oX?bq6;+F!JPIAdqEv$M0i zv$t~t=jP4<&Y{kooI5-BavtD3%sI|^jPp3>0_Q2tGo5EUFLYk+yv})x^KR#Z&L^DD zI$v?V>HMkl1Lr5s&zygEe(A!x2rfDoFBhvzV;5hSAeVM75iZ?a`ntU9GSVf{CCw$r zrO>6^rNU)_%QBaBE}LC;y6ks3?sCTEvdc#fvg2ZR+ah z8tmH6HPW?*YmDn)*I3sS*Kw`|u2WshT<5#4aNXd#%k{A9Y1hlHH(ft-edzkF>vLD? z`lpW5IqLK}qs~XyTxZj@*G1`i>)zGH>c;A_b(3_(x=P&=-CEr?-Co@>-C5mL-N(B7 zx+l8lx)*vz@1%Frd+QtMo9hGgq54kx&iY>Z0s3M3Ed6+Wk-kJDI%ozuPdkIJYrw z;XT7q!#Tqx!!5(-hHnhNxwGzC z_j>LP+ymX)xp#IS=pOH$;XdBI#C?(bI``e~$K5ZuU-78)SQ<7uD0#QXyMlnP;CN}fF?RfoKQu(a5?tc>)qjHHb8gt1{+ zDd|bEak)7OVNtRdq5O@Dg)$LwDOqv3X^E)`1rhNXIk9nYL7yWN^^;rjkFZ6`1trq{ z5kX2;L?qCUwU>*ElEsR8Rm?xiUtu{yVL4oq5!h11iBM#WP*{#o62n8H-fkQU+pC5} zDWb^D`YVb4wkSm~IWat8WBqA2>W=1b5Wa{B>tpZEm?N}~m%Vjov!(ndt|PR__mR|qQ1McHX6 z1tOK=QGUIXb72N%<))>^=1RfjueTjct~%#j-N4~dq`hAQ*JKdk>NcKrNbRg4($rk8^i8KUIj2=KQJc-?nV%CwGB zIzC!yJIdan_AZPX@VdJ|%-{ik>rnrw)?ovrWj;Wjg)(EULk1|baF8tdpf|D(O3I4O zOBfWN0-yP^Q?duY$&o9DL=Bb;$dPEJucDRd5EwAzO*cj>42K2``RmFE_m6!ec9_yj z;jLwA;fnqU50qnJN-Qi?i77?GB9)jjU&H(%2Gd3I{G-C8dJqeQ@0F5*i&X@SeXZbP z6J++{-Z1GG8YhoS+#4a|Ub7qjYRLSf{G#LEQfU$oux5f2b1v*isUVKrZlKZ;fl^06 z&nr{H7ML!VN`Es>wxIO4h{#oKtrKKj2i26-Vhhc9Gh&g-)QMC^B~l?Asf<{p)F||X zJlp|+%J>B+V-XRV@p^?uDB~PuuceGqq*5+Y$^#nF8UJHVM)_yF?nFP>@?~y=6n=sN zGybmR6tXsjUO;4)EPB=}(P7#9XZ>CDAi28&`~$P!%=jRM+2EjTyGqM`GYm2Z!Ae&L zE7Alj`~-)>cmLP>We!Z6oYyV;%SC|!MS@U!{m9%my&P=sA!Ta$E1ew`n)|v7qm)X~ zN^4PytoAO6iq8E@-@WOy0Q>rA9iD4n5z4vS@QfhGUmV1Yx%Mk8~-Lp zt|zN)*wGZ}qwQ=3jekq!g-(!ZCXP&u8>!6B(7*|=*BvB}OqKqmB#z9H{PFO=?2$P+ z(*MRo8-6x_dAqbJ+mX#*o>w-1sYS?>Hvn6xQpC@mDEFI9HgNoGvbF=yPDNr7>Pgxb z66LvS^OskoEkxe;Z1TPgMUYzt6W@>7_QR}rwQBr0ZvEkJ2qHtrx#X+gFNA!ctu zXMWQgJL&B7LVfG42 z>#|wxXA6@{2HAxUQ>cX7>nWsV``ynLu22bAT99pfNVHdwNe9_GQZa^YviS=|6e{v| z;%Afh5%83LQMMCXq|#o5(si6OtwZKQ6VN91AaDn;|EV^C|aQst<;OQ*OMy*DGMRUz7Rs> zydY(M2H9t8h+Hoy!0stBDE6i;P$8`-W}CcZ{cJ(XG!0cIZJ;u6vIXg93skyJF`jL* zs)a;lW(6vwgOrX8v@alKf(0t_DZ7s?P>~@>@d6dW0+o6;r9T6e8EI3PP;7ErkW$j7 zFlbYFu_?WznBg{?!i!De#ilT!*tIrUar@b93NJQ=GsUvC1t}$i6q-SHq3y&J&VrPN zg6v`{)opf`6m}H@+oq^`QI zh$$?|XEInFN*BmyONiOmgVIoh(jl^?082)ZR^G}XrnD!U3J_Cdk5ou2+q^AGp(0xX zuq>1!u+K@VIZ9z(-qc`qC?%tn7GR5$izvjRm6G!210|JyiB_mYD5KxFiKqinQbCV-C1!0-P9DCs$g*HTibdJ5Ey(rX|_{afY zW-G_u9>nF+5`Bp=seqlTlq7Y8l%#MYg%oz)(19eG^X%Nw*^>N{FSR83FuDPLA<~e8 zC#eYVq>%?t(qZ69OBOt7JLQkFtd4gsf~aWNlYE)96p$NB&rO3~TLoWySj`+o_+d6yU(5bX{wu zvt&I5iAoQ)mXgp?PZpR9i1{!FPaTPqNg zHHM#T6F^KE583z#@CygEo|O@wA={k+P(Lv%Ha$+JEb|E^q>Tc+u+)^SSUD(L4v-?P zN$?bU;r^NMW7!g+4L>}7 zQ^E!o_vnPwjQrP0irx!U?6E+_s0a*@hb~ar9Rd|IBG7)6Q+AF3#b^q!pJEjwEx>*p zSN4$rW#QH&oALl3tyZ)(ehI@G=SHTke6al@Ma<1fmG{mW0vhrw^khyDFW<-`7;|EgU1**NYm zeay9>VQ4yf4?Tm=uk-N^_)S6>{8peRd_FCP-yWQSUl2}%Up8)p51U@_JG#B>P0ovJ z$hGB?xMJ=gcN9K5UgU1Ur^QYDUj8HaaQIZ^sPcl(g(0d4_(Yhkng|~TSE|;jHmY{2 zE~y@h{Hk940q{Gq{`HkwYF!J2bIEBJ7>TG%Y? z6OIet!e=ob$0Eo3j*lE4!zZmKPC-u5PQ#pXohHGDt3S1Uw8OL++EVQv?OpA!&K;ej zo%=a2bzbGX-uXM{AK+7wk4wDEMweqQ*In+q{Nz&WYH=OmTI5>cI?r{b>uuLB;8TvE zbJ0cX2I)rV3Uy_=Il5iC!@85YGrCKkIV@;PcD| z{Z9P>_&9S_e@p+po6gPT7U9+#KEGtTO>!%Nk1tEy_PQN*yXJP!?Wx-@1`mUep&5K= z2{N=XbTo7`^oI{ENrrSofngGSWLa(4YS?2qY&dB+ZMbT2A_i646-8Z`LcR%8O)BQX5pWJ`*aPoM^!{4K|M<aoCMlgBoXLmsC+u6W$^_|)S|kDom1Jl#ASd$#cO_YCoD?-}XY$8(rxyl1Ls zmgiK@S)TJemwB%B-0Zo_^ML1B&pV#qdOr6Qy|9;~m(I)6%k0(4tCLq}uR&hJy^_4f zdF6Rc^qT5b;x)@_uGeC(6<%w-c6*)lI_GuO>oc!!y?*oh(@2bJqt@tV^fCGx+ZwwV z2N*{h#~9O%ImRi*8OB-0CB_xT&BoovL&j6av&PHD8^+tl&x~Ihzc>DFtTka1Z*nym zO;$q>KCWPVyk(dwVO7Ci^Cf=os#SX|M^x_>tc)`YhU@%>s;Ui^OR5c%tHzn5`Eipc zkF)epjjNix!A$$Q|68{3lQ*|xTKd{#Q&Vrzm$oqMpiSmh&)HmA?X{7goi#UoZq^R5 ziKo^e#&(Jl2Z{Y}N7Gn3>h^WopAPDDLmXuh>$67}=Qn6vR4{Z%(W+-ZFJ67jA{hS4 z#9ui8mi{eU5aT-z7yTRU??>6e7V6!b+dXN~v;t$n8a z1b1m+<)kvpu#)(ak*3`C)OEry$L3O%*PPG#my52G)LKIVKXl^c(dCxXL@u>r#e_Yk z@|4o#Nhu!{c&^p#D=(}XYSON;akmy--TTP+EabSzjWVxk$!%J;y)?}Tz2X^{(mrisc;4pq^XIL#=zkVN*y{Py)3Rn1Wo6D-T)k!9f=w2!VPH(j^cc$=5p(4` zkCq=Z?U-9uIH9C0rQBjG;e1v4Cl5=xUFCC2^No4MWdjp(%4c^smxvrUf`vW2B7OU1U^wvvcR>n)CS46|-pM0E;-9 zzaeH%uB1+d>SC4XS}=EUm{_T%$^2>BZo#_MmFm5G$;7hBQ;e`0dr)81lCrAOW#+y7 z+S2(s?~Co!g0F_Uz05Vh=+^fZGkTVc>Tk;B=k3>sqs4GlMrG>!baNIzpyU9}=w%Tz z`8(pO>7%JRUuvy>ZuyuH@wA%e^K`{0v(}$7t>Gq?7kn`y9yHmM!Nr7f&3*k;EM@8zP5>aJdMPX@vvDY`Zx&1rW?%QDe zq0eej2g9;hBbulW*U6g`=qIYhyVq5$HEmclJ=Y?hr-?Nhl^|xSO7q8+rkgtF@1Ry% zf6b1&PtKK>-?1#Ge%zYyo(n``5~tZ(iqgvct6u%9&K1OV;*|+wCniow^qRrX+cS6X z4kJA$j(!d(G#IlV&C-8O0mIqz)QEY{83G(d&2z!4T*zwET4F zlP}-jcVGu7?d*xm)>yuw#ndPk-@fX-&Pim7?NBq9k ztM^+@c?+X7`syCu`sB%?meW_a(&!gfQ3!3W>LGFq+nTfn{R%&geppX$eYkapL4zEzDvxFSI&7^oLs)H=Vm;7E;Bow0<3GUj#pzo>GL4QvM-T z)zz($;(d#duz;t&!AGx)?$m>$Y2E^LD381#_5q zpqZ*$anJW%`1u#3Hoc-KbDnwV;*slm&K){u$dJ_{QUjglqN6IWJ7*iInl^LZ!b;11 zTEK}-`TF91ZtRq`X|O+Z>qdR9@Vl3A->X2wD_q{Y$~~q7gYu6@6eD(-SrB9BolsEw-ThRN{$RcTQ|kbBMN3 z3D89$w7u|RR0D6JG;VxGa*=x5$ZkvhOmEu~7U9cTG`L1bZMt3btay^w)AQzJnL3NX^ek<`>u(J>Td$w*6jud|ukKIHVrCAR)}G-CVY4(@gW; z87IeGEIu=H?*|3X)$MqJy3`>*X%>zuLVKyRj;7I8z<3Ca)6h6!T2P0wIOy%I2D(`c zRweszVh5{g;`Bw!=0OWJ9-KIg7u$lpFff1j;15i6i)f{TsdYAgcQr>fDlN6G+Vinc z7RRNOtpv4Qo>&$?CGldO=k}wk4%{~iQumID?qLK= zSz)Hx6-Q4|FXLC^9yVTRo&($S?Zw;g-Y` z6~|$Nt`MsYM^}vRIbdpDOy8n4@1I|>`jkaGVG3<4Hp;7Ur42Z9981HJXb=&_o` z2C-nY$cw&W>tijb<-_v__U*PzO_({dB2EnpGVz5~wWY7vbV;~Lzha=c+VE4=nuC=v z2+J!rmaQvQi^Ekj3dR?YgWO@0m)*5!C8;tx1&bTSjkkko2F<+lCEZ9jcKlMzw3LfM zhO5i-#b`0QFu!Y$iK}Tejb66;5*QHrkTp#;`atX0iYaOH%=(3=)_T+OaD(`%O244f z)Uo+xxu$VN3)focc`>n8qteH80womKNzy`NVHX$+W661o<7)Pa!|8BgRX9gOYf5?T z)v459)aB8$zfdF1)##61@)mcDc;}ExKT$lZ(jObDq5ePq(u5jkX|#s!8vSj`Y4o4i znfR2p(CELb@f9aDgJzt?0r$JWUK7bZ_(F;eyw{a>fS6FT&(JQicyb%dJh2f+BlvSG zr;JRTHnF=!#G)s!e?swW?rKF<;Q-^%oGGEbCRNPwH5Y>oUG({9(;t{<#LWw|As9cu zrR;CEObw&_{L8A%AAD=1n*ImGaI=VBI)xuj^IMSrA^_}tKzw)&L6 zP&KK0kI9pITeNj(=#$@t3~wz>)Gz5&1E_=sQBZxVvFJB-5<47kNfFD?=cD?4(-ynoQB1vnXoEAf0eDUIPic;@fo4*H zW(u@j3Aev&etC{Dby|6ROvlQFHaLG6x%>y8l-xH_+ry>Q_4C97zVj?|RYFZ4!+@me zIb$u9pS@)LCnnmC*MGi%8aVyawVis*N-&8dn-35#irX$m(2;cP{?B0g)lWPl`dNC4 zXAOPJ)=<4=@v5bB)|-yapBWQXIX1?kg~1gQhPD->tp`GAlhZpFtlMVsn>isl%G5k( zRz)|Q{qowZeI}ZI?;QPruI_hPjI#_7=NUenx8vyks(ev9+dREs(#&jA?36_Z zfTG4gb)pmX5R(LU{p!5zto;1!?EKZ$>sPN?4|WjkN?n`(B(@ZTIB~By)Ifc|Y}xS&%j`qk?()JlNv4W@l?ST!bzbY4G$?myD`Q{P;ELrF51RxqIcj_J3&k*w z9^ebcP0gG(P7JK==1G%y8dvjxdw*5Jk-jEv6?EhL^Ec*RH|?EYo|QMFd~BITY+J&K z4l3b~dItUTzaA6yPyTw2)IWlgr2fg@3O)K;p(jGkZ#223Mxb51X*X}Crq6ASP_xlc z+lDU?&z2=uXY88kMVZ3uQy`GH1^oBW?3cY(w7>lf-vo8lR~h4&|osi+8N4Sfg02!U2tz`qOVXaSZ(aT-+e4 z=>{nb8srw z(}64Zrnx-XfHZmpkCQOZ9hV7 z>pxpYeHKy&^_JNymv1-i7wYPoE?owCp{5^*wo5f>=-655rXf?8?y}HXVw!kFCAwUQ zp{5hJmTv*u?qBaF_AZ^&bB;xH;4jWuwsfyaoXL)wwCtlY3w7Wl%O*{X1&dM~q$*0! zDa|pBo3?1Rg?1Jb#2Kp4Q;AeKeq!PB!)AdRylY&jqv%M3VP1kYlS7SM3ZGKAXoE$d z=C}6dVAaIpMa$+`sAEk>d2eo9TgVM8+%E0S3q%Lln;mBJ*Ok3_(BdH*JJ0P76Z2*X zZ7rJfXb^1zl)?T95uBJO3pl;9sM8IaKodl#TVjN~$(`Ad)3oWh{Fs5`R{!wBhIO$2QU^MOI^a#z?;7=IXqwPR z+&nXDhG0L^?cg(qkId~@xK!jkY23)iwBZg)K>LY}^S0;JI8pCe`2r2Bnc%67)?Czx zJwyA6Ehkyh=Hzc!dQ~mD@wsBN^CPKinOeX{Km$k7G)90!;9YMa{|U(W!a%he;eqC< zMmlE-ixP*<>1|r?4f7)=`F9!(Ub>smGJW2!Gc3RGH03Cay^LpJ%EFpkdMItPG(;C z)|Aptn$}{{l(f>s;#9atD&AVUYs!{jnhYm#P|>%jvv`Zw(s^)bY{^wM7Ok^H!PKHl zcVA1bo67fE_wQi$vd*e{1_!T}oUn@OH2JzI-Z|7oFp1u@x3{YGOipzAqEs4vISHgo`OOB;GuQCB^@oi*p zw;@7LK6}cPY)d~?_L3><&BEr8=JO(82gx_s_}KjXSc`l@+;4u!@0U)9a_7dHFNo6( z!t(*%^j%FlNF?#of6`8G;r^pS;P{2%0Z3He`>6Lbjd(y<_{I@OHI()s57{PwMtOAc75TD4?UYULPHEH5N^ zM{D3%+D2@c2WEi>O!rWo5UHUm3Wu{E-t;h-tdTX#@^!~S8_-tN6Amp_9dHPfK3rJ7 zeOdML&4R9)juU7^UEOdp2aeEn6JR7qz{SRtnupXG@1?gGTKi&n7udLTqK;a@V7KZX z(~*K03uoc|ViGrM{-(TxaC3Ta_q?^#wnHf2W1 z2)MzFs5vsqTlidqg%^F{V9;eq_TYCd#|lPPcQJ(z&gc^Zqx&w^;)5?Tm>0|GM~0Uf zqV`1wtOLo$uGvfdbtgd;<=R7r7~16w ze{A9S@bGDcLoC`%jZUcDP+LYv)nMvWi{+u-EDtsQfR3i|bTp{ML83o>SD;B^9888f zA zTu~4|Du2R2OGp06+*Q?QOj;e7tb%T@q|^Li9w8WdCopwFYZiZ_5x_qAfwsm6Xgu)X zFV8FK!b3O=J8@guTi|;qkBy(2D!jM2YBx-2{pK^?ygr#$tMr*|g)mwP9Z$KDe2R%)*C%g3

1P!{b`PW_SdQEV!8KUM+gj=9{<~Y31o~*PKVcrcsmfcjW61(1dU32%%>FBpRy` zHi-4aiDjcqqG@<^OG__-j@9TV3bRC&sd;Bmn}XP~Q_q@mtmDSq=wIW?PT$gLB!i!g;Yr>$xI-)Zw%`8uH^ZG5Lfb#N*7P^Fzk z>(!uq-C<#XHx}}Br+^SHt@(u!4o_SPy9?|C78)lGpsD&Jg4m2U{|+{8|?-=!kWAn(fQQoEd-t)^y8k}3s!D6YgeU# zunyi=@&p=m`o}vIPDwD@4?c%!6jihMu|`l)mm6@|B)UX%!amv_N`FV&8q(8eP0g^t zTpC54=qUNp(GQYsgGnrS;2!`50VnEFxUJE4V%i+cK zD!c+-SvSP1;Z^n;ydJN^)qqdX2;O0Dz#H)g+QJJ!7x)97Df^?9@LD=hLK%P$;&u2X{u2O(Y!cD{Iz?DO8{h!DKqccA zI1xucyA=S%zy%&2y8>QiFnXWp&}m{oXNVj605AgF0TaLr@BmDJ1z-Uj0B^tmXaE=h z^~pN`XB7en0FB@)dt(#|;8SNwQ*;jA|F?km|1IGOvma_pTA}ms?%yAvp)SC?{~&nt z9|-ULTceBcyty5`^=||3{5zscqyxGP&z-~Ig?|LPLL$*sG?zq4C{6IjzYDqs523q~ zZU8m43Eubjgh$am0If9|eF(4m`v8vXb$BEl11JUq;3fYcbVI^XKpz2~frO3fNlfMLJlA;WJyR1 zfNPjX3Q-ThTNsae%7_b-WNZaMT0rwrFTlv`Eh8?J0Oo>(#86IVp*w&tbr+BW!3MGs z9-j9_>i~-+1|EEG2K0n2fS$0O>_q(mJz*ER2WSbq0X5+Ope5`j`_Upa0I(7c0ZzgZ zz(_boP5?U7eR3RqK~AAB$w~A8o{OIbl!Ole72zzPB3yvS;}-!9;R?A*J_OX~LFip_ z9iEeaL~f$NfPwOm+(KUgvX+FZbq5}qe~N~Z&(I_C1-TCo&Oav)$d}|R@(^%O(@;A3 zntVeZqgiMUc|yJ;-@r{v>szmb?T6 zB*YMgVN`(k#4{Y@zzB?*(Euuv6QczLC>^6`TmT`-jd5o@7z5+U7#S~k;_l5@n0kyE zaFcxCxw{q6lNvA$nMUyNy&2OS@S<7*nojKZ_djf)3FF*j3uz&gjLe>C402&1N215aL zY%n~j9|2f1BLNj_)NAalB)|ts0ThHWfK8JIcnIl$Pm{%D0zyp=;2-1x{#HI zgh_yaFqxSMCznH2*XLMc4Zp9Q~FsQ~n{O29>!3(xfzF!KQ|VG*;K zS;8!pQ4^NK6aJNehPIkn!>k2NwDs_ye*>W2Yy#AqE%3B|E3*rb7q&Ay;gSDdW)Gm4 z9ROsLeau0?H8~2;{uPXq6U<5GG;@l1pE<*vXU+kZ(OKpK00LYFoRq78jB*XIQf>e| zz%9Vg`3MkGJ^_rKJAk9}DPUCS0HeYU02JH-+sqSCbc}$V@&&*M+ymsDFPVqT1LiB{ z8|G_(6?hE50#BH4neUh%nP-SVQLA02CZ0sK-CIh16dnD;w=YMs`Y@a(H)#8l(YapbXrGZH=^m&lQ5k z0EpsP0Ncw0=!kp-|34lmmkkAUvbKOD+Kz3{c3?XK4o?e!+2hzSwi8MKNQFo?obAj; zvr%jpwg=mt?aFpTquE|4p6$s>|9>+Z(Pn_2FtdH&*G=ARU$!4w!Nve2-x9VzJCGf~ zz6+2HgV`bMFm@sAa?NqjCV^A&)I!$Fmav>R}>V2*_1a*r|YC zHI1E)Cdt4U#en-Z9Zds#q?xD)m7p1D3Oj=>24IMpYzbS&Ru=Ci3 z>;iT^yNIm<*oejKQg#`;oL#}Zkbb-+!Q*yD0{{SM0s0XAf<3Swz~3!^P4^jqwX_CR zpA0}ZRiN&!!eZ|Mlk_=L1JgnW!yN$KHV{N9Vz05^a-FzvE*${2mT)HlGs1@t0<4Ik z{1m>5e~+9>7_b~d)Wg-Y)XyBu4l#heu)yJv!+njjrnP1y zASdkCT-7`lw1QEH5t0D;pi0;(oCREiK*#QmBLKf(x#J#3>eSMyv(p%-8BW`rPB?w# zBx)OJJ86e%^R?C5(|{G=1K0qAohLcZbKVRX08dpcC-B!EpH8e2z8zKxT@S6R; zySw{)?&m#RJ@g(XkCqy+28#ysPv z#wR9|DZ-R&+G@IJ`qK2B=|w%~dOr19)$3VrT)nCFw$%H?TkAd0dzSY_b5nDOxx0C| zdA9i%i?^kNCDF3dvca;~a^3RO@`u$GK=Ybd+goF;)2!>PyRA2^zxp)x3GwOWljJki zXNAuJpIbg(*Jtb7>ZjD-^?z7<@3^Rr?tgp5HA%>f^KrUlm zQ4~Z)Km=L9Lb3OPh+Qn$6?;oG_J+pTqluzXV+`@!W!CV0&%L{d$&=^z`Q!I`UU_8i z%$%7yGjrz5nfEzUO;b&*R zuCKYfma&#wt#-90)k?0ltX6IfEpMzHWuOt?HWUuCM!~ z-Z%9I*V|rSQ{TD1NBzM1v+A#{f2ICgHy5{FZu8xKZP2|zXoL9;-5Pdp7~XJh!zYcL z8ntgUtkKp+w;BtLJsS6GJhE|Y;{}bkG(OV!L6dTDyC2#lvdOY0JDNOcA~)^TbVk$l zP4_mv)bzJzRho@&meg!{vy07MxI4NxaF2K2=>Dt6S03Fwf;~(g8$B+2n44E=9@G3z zb86w=qJN8#E#g|tX|blowB+Xz5Z%7u2pQSMXmO=y4Si|>p^YGwlTJu-ezW-C2exr+-O^_ZMC*uZAZ49 z+%~Q4`nFfwKKE|tJcJckI+Ls^hkf&wZNtMEaceb@8p|+toMB_d=&HJ9X+bu+#WXxt$Jl`nJ;I*{i+^o@FaL1=OaAx#f9vsOkA^*Z^cdA6tH+TZ zg+0slY|=BL=d7N~d#>tvqGx{3pL+h*t8A}Ey|(l^(d$lcyWWj@hxgvt`$C^eeTMdV z)pt_2}%nE``VX8w@X)}Y0-OT|1VjgH z3V1!J`Jl0b%MK15ym0WU!QTyjIi$*vxFHvY$U{Ac#tgkN^kJYr&?|6CV0z%*z!yO& zL92rH2OSH_4|+DN%&?ZjMh&|@?DcTN@W#VC3?Dvx>hSf$zaRc0xLmMT@S@;%BRY^3rEWI;&Hkg*|YA%Bh7#N(?L#YuHVO3)9Thq^bYtk_&<~@% zMh_mHGTcEyJ+m=apT9` z8~0myt8oAD@bEd|+rke=7$edmHb>-)uQfh?{Da7{kz*oPO%Nw^oiK00`H2n_-6xtR z{xHdI(kg_0tsm7UYEV>S)X~Y#lSfTHHu+w(L-dH~DbXvVZ^TrKX&Mt0vm)kQtV66< zY=_v9v5B$kW3NxKpE7nz#+3b2ZcKR@_hnpzIN!Lzap7^x<4#Yl2}Hs5_^;#V#vhG8 z9)C9e`-H9ui3#6L`)pe4X>F&4Pg^=|)3hzq4oy2ZEq~h2)Ba3!NGzXNGtnclMWSEg zfW(oBQHe7WmnUvYJdk)X@mV5ZFs83fjZE!Ky-g9OX{NcR?@d3No|_7j$|M<*YA1Ol z`6dlcnwB&#DJyAv()UR}CcRA7C6`Y&Cf7@DmfSkoFS&Q};N+3XrsTBbMah}T8_#V)06iXp`{B{U^3QXAGDTJR@;N+KfdrR?pZx0#;Lrx#_oWsJyJm64rsFym^*&5R#1?q)p9_+z&7 z?0U0(W(UtsoV{{(?(8>nYR{=V$8AodIZfwy%<-JlYR-YVo^y-lO`qRl{@ev+7sM~P zvT)$Sy^D;CW-YqDc*x?dOR6tPU1DC^XW19aCM}z>Y|XNZ%N{N-zdU$(!tx`_AFa@> zXs{w+#oU!OSH`SdysGl5CTJtnJb8WM= zx7LNNTf6Six_j#zuiv~OW248$WgAayys+`o#zz}}-&AH(g-uO1`D_}nDRNW#rmdTf zZo0LpU=!QyzPa<}fX!n!CvM)b`RL}$Tl8D1Y^lDb=9Xq#`fi!DW%8CeTQ+Xlyye)I zt6QFIDa_I3RLpVCsh86rr%%qfob;RxIk$42<@~j^`qsW%=WSiPb??>-Tc2%xzpdrA zUfV`&o4f7cw)@+^*zUGHXnVr;?CsaLKW&w~^$}{OoxN!0&zs{BEeg3MxyeO{FC_FG?`5uH@7nmqbC$ zwNcC;2)LWnO6bwE1Z#PNV=X^|_tdh>sIp{7@7~zcyP_;Zdi2zk$unSV93o9;$E>Y; z`dlj3Y+WYokwl_}MLi873&EcQC0x#o=Xqd*`EzCORvxd1DW5Pbl44)}3{;UfA#b z*!*0p9lcnSqxAkcEhy@15P!Ayz9nmD=ph|zqosYeGRlC{Epu)!Y4wM3w(-uVDt6Rv zf?!Xh&GV{A*FVftQ>^2wcFx?ne955lDb&M!C0Ka;A=XBuSabIJt7~Y!9qH_4yOqM9 zAKuy0{!}N_3iIS<0-gJiZ2SIz1A4kqJ`7;8JiAEjEQEbnZmoL-26bM<*WCpeUH+7N zlY?My_M=V`m63jzD%vpF%7D3&n>4BYIdAg#-ofG}C;i)qbrja!`{kY!g*|@y7*+m- z`8w2aT%sm|k=jg`=z^*% zFvo@@pBu4o;`*i)v0~2bz>U!&*Ss)6d_yVb6odF4xSKaB;suzSn;%kC7Oj)at*B`S z3IDD%Kf)4rxBS>a+CUwI6EswkW1}Tp-Na&4Uz>Y3797xzrd$Q(hjO< zhf5QCIkl+c7=Z;bPkg>EsYM!pSmY*Mmr!J+Qltu$JpSpCgge;J)pDLi9!(?`+DxH# zjNIQ!GssUYkjoa;s4R_Rp+G6HDb3y3Dz@s88%-h2#l`Ed8>dne?exw)(`&hOisQJ` z%9%T^zC4tkejT{eCR(xJnZ$8H#8{4`$r~)lM!wI&HgA45aNIw^@>_I8Odx$qSOitiKx1 zG(<*b%${Ua$WD|{r|q63Ddw_DH&?F2>Fx#5K!vEa5y%Zo@D4OGiu{(NnRn65!@QYy z)g0pOY}N-d;4b!anc58O7`%plb-Bm^tw%2_Z_gEO}J~v51Xi z{lP;k2^#S4aG0s5y2`$vfc6`z=>s*PQ02TyS!%D%Q-P-IEs64S%M+xsp5(p`JW%@|y9yS6^tu;%T{3pE7ZsZnZMcBGq9;@Gf#3oonsHMo-LOGVpT2Y2n zdaouQDM^;)@S>?y3$38wFl(ker8Ct44Ownm6l7p+sY(lug|4YZZk?Lj$HH?L7dNpY zREjm>5nrowuvjxe73A_|W^cVqf;h(od_@4z{>N4QqZb+TAGr<;8$UWZ!Y1ey?wr^G z1p^nxF|K)}7sOv_JeQY$Kwkc8lb7Nz)Xwr#HNhX3WNWB8CR$57+~?ZU1sU>s2H*kp zwJYl5%HLPA;LaL(GJtZ+xPMvNN z$5SC!eQvMV(eKL2F|i*$&9$8-3P-3d zYY{DPqpokIbEGq&VTaX*-9@E`QR&@>sFSzd`#zs`hku7} z4zkA~`(dSxSLw^QQfJCXvK(hE20>IB3X zNWU@Fa z@lB>$9yGQo)e;Ndq)9O>Oig-92B$^j+=M4N1DzWCO__)kfemNQ*iCOrV!?Uc`en=3 z8^6`BPh2+1mAuR2#xYj*;*g|6(A;>&lnm?k5CRs(y!E97*CZu zcNGz|r-%CacfcVO#@y!9tDh(TYE|-3f3c>qA{&Z}V}I(5wiM9x@|(@R96J05)H?_9 zt!?3p1&KG+d+16K9u64jaN!5&OvMje^QH>3Xl#58pObe^7uClF_Djfu8&@qU305tCJ-`+Luk=2tZ1fhx}mfw0COG zn4H)}m39e^`>;x{ArTG~_Hs7uHK<7ry9BDq_Gx+k8-p82t!F8~5>*hbG5h)g0&|y7 z()wg4$?f>`B;~WYq8yD{bz+`no<8Bza=Cm;y0J(OXT}$jBUr9blc>_>~H+`80LQIcsq@;ct z&Xxco!@EH*VkjU+;f%bSybU&=7;@MDu~++tzS;;lpaA4}Qa>zCTTOo;Q_CvpOFPmy z()Da=DV!+QoG@wR5yhHQCOpl4vLjl0T@@X+#9~c4V3&S4XK)CnEgSn@kst4{XemOl zZzVX&^Z3w+n5Fmt@WNOzzLg-?k(n|w5N#M4TXuOdAC+HOrJ9oCyKn(Yq#dUs@8J6N z@63mP=5qwZPSB87q}xb?#KKmBXkq)=mklJ8;p-J?yT~sKX&TWYH&m8vA$%Mr@$yP9 zR06xnZ*>WQ&6P16g=`pkT=-V7J3)iVL__S&9r)ZH!glF`=LIha=H8u0Vh&8*qK?tFj`OxXhoVi=CPh=^6@%Azg z7jh#O2R6->9PRHAE->9yD4|(Pn zGb9?xKiq_}pQCy(z2TenT=JU(Wj+pt>hlATcV%cy+boaxg5YIu6kS>(v0y7LMJoju zk5zkv0WFe~iu^+a@qRltPOZzTkG_?Pi*va;T3ozm!7Gr5R{DoV_AlyTDDj99f7J|> z?&|Qpw8M;p_{zlQvcwXzLTCd}&V!E(-*Z^sM)=iNI!jgFO06dd9YFdO9mta4Eb7FD zC}}&$u%GPTO8(>~^hEl5>Qgk|06g+-ve&b5%+1hUS6{$h!~YS@%z-sm%59`t+jzPD zbb!T@=Q7@ExF(HI3j-ah7a9AURr7||MkH&8GB;s1+Mu$sgpW}Xf>^N4au@7FqjBJz zF4Sg@N(IH5JZ00tG4&79jaBH&bi=ms6y`E}wUofj}HO?l#c{ByENVIbzFJWNi=BEyii5QtwY41Sql~rw?PP-m^lgTJXU6jO$ zKdd}@a?URfV$^W7Glz9TJC$k%nJ)(8i~M;as_6%l#eQ2`|0LZQwVERNGxKjP1-Ul% z@Bdv@A*w2}RaH1#a0JOcI|TH+xOk;H{WoCxtBu!)w>31^Y%++?G*|<-O*V~J{v+xi z^@uMtR{t%fSE%Q<$yU(|4Qc|{Hxvztl5kM(tg!t#Un;at*}^*yRX*AD#LhU!_ZGOC zNGQ;(lajdGszf4DEQG!9RSNjB6!?0cCB&8mBzG6RIwt_#>yB?XxdMRm0q~#lNv^FH z7vEOZ0L?(C0aKvf)|_UbAxrZgQl>NQ;sch+iglO5iz$rf&Pp4%7QJO>zUl_n=&)e*V}9X`w9vNmq&lgJWSe42Hv;j zIHt6K4BNy9kuUD^CYn}s%Yb$DS$V9gyWVUfYt6M5Z!Xomd7YOkmsC1TI!N|t*{>Q3 zC>nTF67OkjWBx>kuiMg==FD`>OZhhZ>P#*W8gS`Gza;=KUk`BDa=^}OaHg$?{bf6b zup32)(dItnq59fBrF8h(rr*?OuUxs_RXG^}I9-=X8SHbH@e^m5CL6`vtO30i`MR+9 z=G+x<*CTI=zjSKJx}!!hI)43@lx;3JUb$v0e`VyLYBBdi8|rGHW|_OMAK02YW1Xv| ztUe_wJT=J0Ck~@wbX-ay0(p=d_Ns6k&2T7twLwV3LG3dj3h|xF#6V>Xhf4>Nevxk* zI#Zcfz~|~xw{1^DW!)|vr!Lg3%W)QFoXM^lx|7Fw-Kph38&8|s&*(TwpfKrykPeZ| z|CM(shVDC-`EFoKm;}QSKI)Z2S-vG39~JHGu!P-r%n8y>n}J<jit$&?I*I&dA#33}OFu6C!=zuy>48AA`O=XCExAf|*nl1!Mk8o7%{N@p?OKr> zvdEanhHK$$-j7DdJ?fPeGQZLS{rjccuRnAq_ohc-jC1Xlp4<>lWHbgKP&v}jdul>= zS8u9%TX%j{LT@;qe5id^IwQ~(xb%qyH6-yGwHM9^a#v;38^$e_wyzTt@&#H(wVVJT z%^=U=I5ZWIT=ddgH~^PFHkMU6?MbFrTISA66@pd)Xz@}w!CvGdZlq!%9K@RcBl)RH zHikSWgKQ!FT=di%&I7EqfmQX>rs!Ce%K>eu0sBJxK!-v7Ld$w$I}wXeNg=PK_%Eg! zmnv|ayaW{dV9+_LbnBB~7vkanU&398NAo4o((Xf&o20M>yT8&ygR=hzdz9)RRJ9#w zQaZs-z&WOHTH#K<6#Zd(1BC$2*_^ErQ^t$T(xY~<;NARR*wm=dcb08#p-WzB~jM^PG_vr zbN%tviEysZ>KT*JeR#~=1-)IxHZ$N!CuSv`IiGUIh1y>~M@`d>j=K}7DIBFMBTz*{ zyBrz;Cz@b;x@_)a@TzQz^fj(vm9$HLcsBnkWW&E}vW{sxw_{(hnr~XbDJSgb z7qpU=H29q*8Z#{?4IL+E9nM|3{*}XY4R7w^n3zrexCIJ=7>E-bQy?JDy+Btz z>=0`Oc1p%AIUbhZfGFmwU`^nLm|uq))G{1} z3`lT4onvD0Uw^1mu|1}uzvRU8V-JJNMjTeS#nJMko0O=W@ob4T_&F+0VEZlkSZ)6j z1O&&|8?oAwI3S5|!gS9sp&yJx6-bB$EXQ&O6CsiHr7wRe)n&`r4Ue9@27@LjU1Qgu!~1x(bpDe ztN!hc)9>dP9Y4u`M?R-)*hl5+N&l-5)wOEu%}8Y8DG60(Kv3H%9jsP5_TMTMf421g zumqj_Tjc@V5)0XM>3>$f5u8}ti6hF+n_r@b=8O$H8h7?J8zhvD_knk{>1&>@_}fBc+2}==_}*5iEDd% zS$}1sK!RW>Hz+$+Ob`AE)*4KmW!zLl)jau^AIbg%3{x}|T7uJQ9GRT`zQe33qNJh? zB^u11G)9p7^}_t&nq34myQc8mGxz4RsJJ-as@wH~ZWj*St~l3?) z>|NzL%J{RP*PBzHMAso>C)o5mt8z#FORhekU}w3G9y9O&F6cmeB(C)Mp2ltO?~4W) zaHn@%GI~vy#2@Kf){nOz=Sam?yj0<5AMkUuVko*xvy19a`qvCEWe-)syUP{4Nm4Ek z$FL#BF3s#=Z*FGxg&SHEOTU>DXVNgCiQJFJfob)jtakLGEm4R))LXY}%eve}M#q~% z(O9!@E#anM{(>)DTF)xg667)&@CK=fxr!@lyER1v?ByT$YNfTcOC>7zvyX8V98wH?Au$yA95~Ne&nyh z@e7(SBm-O<=tpi=mDALZ+#*R$sFpj0K%Js{~OaCZZF3`t#X3Nc0hcoS;m}4xS}V;uuxdr555M+n3XWG!ooyu@6^ zN4g#QkJPr(Npd8t+10kn>O~Lv>jxqoEDI7yh<}$Ah?6XePN3sH0N|V$Bq9SFv?Z3Nvpqh;4d?Ncf@R zIY4k|wv}M(VIVj(8w6KpD+F;+_#DhSX|90Ff&rnNTX4A19}>*1%twLo=!H)zhxkP$ zXVFRX7d-2P|IH(n2z4+g{Tqs7I@8)}Q*1p~1YcNsz!Yz}QIYW{| z{88uN4s)4al2_1wnQ3>S4os99!p}~`h_*J7xBLq(F$2BFw^G{JnvY)~AHOUT5IHy z<}tX+3^cI{P5&DmzE_Ql_&OC^R6Avh;>EH|@-g5|9K@X(e$PM`^lDI_wycsVp{;8c z^xAok@6JBqa&Sfb=-I|utdYJ(w?SUU06kx8nk*mfBjw`aiph3!!3yXPTU0#ps-`3` z9(bk1#>0}}coVdK;NyoF?BPJEXv8+zSjc-z;Z(!`?;JK*=|_u`e1!Rstl&fP&+;u# z;tss5kCe(j$3n`s!B$$HRBIPU z&WNGl7^nR-3Zpkp%#v%uyR~bt(ILUcrMu_vPv4tH#)@pzhbFr4@2E~9B2L8aqe}3< z>pJK*t88p;F&M;%sp*k(q7W=DRKIZb>IEBJjx3M!z!9cKLiDgySI2jf9UMUI>9D-i z1BPYw7jD+GfNdGcDk$F$QbjZbN31(?U-Lo(tKXI%U+eu4&<3CsYQZY-6Kr$Dz(T~O z4k&R|Qpt%Hcgy!~(p3rc_9*n~dBAv}e0;}c(C13sverBu#^OOn?-GZL)yw zm?u@1!r254mkH?T!}_s)*L`THY^<gYi#ldyC`qEP)vuamb5;l6y1Q+Jn!<)5WjUIQP?$r0m zEt+Z+?~{Gxn_l^@tgoe~VOVnJjVG%Y?8;i5o|b8xqGvACCkD7G&HavQa~JTLywOh; zNm=(XH1dA9tE&GvOcLupKB>oTmDuGmd%?;XLg$3c8ST1U5bHd)_JWPli3=Wg;z4d4 zr=b5QA2o+*0V1cq$^0Mle+>O}VqMcUHcF2VzLoW2S5x!%`q>j_Pna{w0d(q`6gu+3 zQ#x^xi9NQsfKEIcMee&4Uc!%eTq5}mog$sa9RW}3MPHsONoo%1qMaf!BYO?t&bmY( z4I7aQcd`Bg|9r`VL0qJYOJaC~YMw0Wz!5x_ICArSp!;EC~PG41bmdU%$0nk%NFTxDT9POa*E`ZluPoN212%_0WuV!Xd#Lg zq39r7_hD8eiw1|gKY3HmTilT8H8Q!3bOESJw{*khu8H9O=^#B0U_*h!GNrMDF(Uqp0H-Cw3)n93B>9&wF;F1UeWv(w4ntjas<_mH& z7HsGVFbo^frXverZGLDTDen(qXaYH+fK1)YQ~qr;pK1vMmG__` zgUWlbhqqe+XTsT^(g7?onNO6~bUxxUt^N78-Y9+HJ#j9 zkw#fMBh8F*?@`RGOb;%Hv=XeCqrsR$+9BU)EuFBmM!rvmZj!W#M%fr1Wu2pOpcDm4 zabR`fR*MH%jj7tm{7tYh+0ytQ%_!DH6SY=DEe`GzTWaZ(ta@ zJO?_xQ-Dq=)fA;TYxts2SyQT%2jy4i{E?fPcYK0;dZ!?tnCm}^7Z-Oe!9aDxNq7{r zjA-=)tbiQQd3k<+1C$HQ^op42MTi?yY8C9toilHTabi^b{@6tRACN2(+Y z5>Amu02hmkrztygGt3)Le)iE|zR*bdxf zakT;ZhOR4&W8`3wqh_5x&`^tWDSeuqLBhz?# zv6g)c6xpDJ#koe1%w4hQ=+WgVqg|12^t9wbuBhQRcE>O|W@cO8*aaI`&0Dy9iR;hP zwWnsSPn+nB#vLUmTl-u&-jDL+LpWW$HqrS(O$C3T+be#W{*#;s946A=4d&@EdVcHh%(bgMWIUZ130a-Lzg?#RmJ`(_*G?$T~ekIM{knZ09f?us29 zvnqxJMU8ChJXjw*d)2ffE_8jc!msz>+iRcpME{DyPN>AAj!Pien8{gMR~syXcU&L{rW2O1pj7RBHl) zPJGT&Vz}y8joFu?G2eWAkmSKWx8^K_{RJ9>7lm5QFHg;3)nPk{Wzp6gzrp^NO3uxB z4h{?pFY1Y#$3g`eR{D0nAen_&i@d-RM)TPq)n3zu>zU%)A6O#NA9Mc=rSr%V!umrK zmH)v3v9QBP&L$flGR=FY3yWB7EB#{4Gex4K4yysj!TgmC5>}N-)@{QYx<3QiasRJa1(=Zc#$r*Z)%liIqyaFqXEL5=e zwz$~MDrb{mY2=vOck~~=t#K{Fa>KAjPGzAOUyX7=E3}=@MEP&XGCr_RA!v(>Z*VC) zn?hClQvN}6++smIZTI4rN0F%%hts5GPOA*i(Vis~X{wHuqux_CP23j0sM0+B z%Eg=3ui8{dohq_8T^-g_J3%*p+uR-7oPR+~&r~enZDabT`uIu+_6=$KyT!j+9 zczY=|M33^UHQZSviTj4JxCRnyoB)FKBlMP7h2DOQajZ4l(KXUrGGq%Zhg*7HN;qKp zi7l*&133+>Crs!~oQAv4Z1W|1MJc$6FV^y zP2FT#Bhg=U0|T4GQT~TPlE<+^)F*b0Ld1R6YV%QT-g`C+fF_offXHp;7z&SZ%E#>& zESjHDO@lRB9(C70+y;b6V z8LG%4N66GE`C8UO5m@4tvoOd!A9SQX&!yZ_BPZ)ke!n626%)^X+f*w5GZPA2F)1a) z%O)13NX3NgJdTMNEs5K6aJvAJnaSm<@>M;FP|NYp0iP(9O0}^)Rm{N7p%GW92MzKF zLZ;2gbPgm|DWadxS_GF{MY=>t<;%Q|TgdPWGF*mOzQXjDqquUfE!`vc0s%JGaAebn zD`}guf>%?69-z4cMJ}VrYK12E!~#vLr2hxa3#zD3U<1hG6gqZ=Zv_UwcH?_?Hj1}n zt<1xT@)_OLFWI@iBue^aeQbQn1RLOO``wg%F28-t0dI0u>}k&fj?@8{4wEt#^tJ4-$8O2N z1H9RsSGQ5{8OmKLK%CqU{%1L-Zb3#tMkqLV+!Zy4nZ`#|1{a@HmBHoQQnRSCRbVNx zdoT4wJJy|yy`>e`doxeIymjIkZ;)Pm5=?y}(OG$ERpE&w`51Zzw7U7#%OJd{7Qyhyqvp4M22#%nL(cWbtMZ zYHBM9_MPJ5xwf-Z9g1Xq)Uy=S;&&#wvUyP{9NkNJcmPND&h#mc?zQF<9Nnn;oCV}= z-Uk?6zXrUf@ABh4TybwQ(lU-B5jGKJ{^Vsi^h_(h2$sYr>N_Z>XXH&oaPU8Gt~zvb z&JzdmrKOyu(I_nVt*kxTr_@l-{2$z^0y(18fKZIM=d?95pLCtn8XnM1b3@pJKgjm% zE47{nsORn{^?b0^b62g$Q3>t1Wrv_ljw#A%$pbUPpI@eSvR$TLFj0_v(t4SC;p1iM zyOZ)2c&_p;<)1`dH#MJB_U@#uwp$u&byy2sV%7^3ZO#VrEt7TOTz|nA4MoX^aFFdZ zn18trC8mZ{oAPVG>IN`fsCfWK%DMaSLxu%=(OdkY^&i<35S`Mm zSfJ=ag$5YI9;%Q7imqo-rII`7yOnJyy2=oGcPlF>I&WKb3WyHPd1<10=1hR-?v{); zKy)unpMvOKYutjW3It`roi(MZH{aYKD7EB*Sb`JeZi>|**Ia{Y8Tv-A*q4I1wmPbF z_zo_a(tW>Y-Ccb9CdUQ?9G4y3cX3A-7T8{SBPidO0&kpNoW0K|9*Ew5%5>f3=le@` zURMlWVs5fW+q6+G(G+LcX^Z>V1(6_EEIyjnC(5N^1*|}-EQ*#}{_n$T)FmJg_ClH;nO~7kb5eUGB@Q5BCyI|oI zBaPHA&dOZ0&1KIj6Vp_lnmF9(I8I_+vwz?MtCSpyOhBso&qe!5YT5&qVeGPl*(02jFrPL7x37NZd{jiW>X_ zgV&dR(L&&PPr(aRgbs!+I2G=>Q5O0U*Y{l}WvMR<lix%n=7Z)9(A=lcyaAdQ6q@-~ntLs0vDK)> ztYlFVvBnkB&<<{CaGq4jgG>1)&^n+|h~=9=?UG3$cS~by<86&f@|_9zyRUI;olZ`_ zBeLr+I3s;SeVB&Eh)2z?lw%mMUmLzLB5SR4_S(&BHoERPu`qkDGyNy zy~dyI@azS?QnTAH&i*Pmy`WIcbtSm~$#>Wnk9+oUJ5yiZ^!$KVhwm*~eZZAR^X{)3 zmxyTIdmg;-Jd0;DzLLlj0elf$`tlptiJF+tK9Kl94#zk=snEl~Lg5Pta!1?oI|0Pf z=XI9cF#zVdPwEX&-FCI&eaN{T?Gj%yjitGp1Wz@b{`N`mG5e%#JWKviOG}&%&;UP} zOSVxhD7(!Sw94Td=GFkKv}ETHy+p2^3J@r}i4UOU^!tA%MR)P_2425(g@D zrz^&5+(7Vi95M}se^P12D4Ez$%jvVyKw-5YwxSPmY8UI@@^UWTejCnz!xDt#HqgRw z9djDdD6;S%PhfXoJ|-ZQANG~xGs+c7S5rI{g^1n)gd1m1Cc^DDgv8yijjSa2fjhCjdy`kk-5; zc>ECN$LCa_H=5rDFUG`J0U6YhRSCsn`v}VbXz;oM%DB%l8QhH5NI;>Z=<)-_n0MG_ z%)`7s&A}8krS`xEwkv7kS$SJ&EJc<#E_gqwe4y|&6WXdqY<80KJ_5|*ADVi@a8CTb zsM*OrtY3sQCWFe$x)>TP$#411#zb8YJQy%;#@JcZQ{wN!&DiQsTPosvsfXbZ`(xXN ztenM0$LoSwmQ!m>*9G}1R}d(Ixzv_u2B^XV{Y!qkV7JJOhI2k&}k9l;Txz>isyStPs%l7i0X+)2&}2g6!xU9v()KJDDD8X4qP75IAm_Ax%3@H-t+cJGl!0 zaGWhbN8W=wneBPJEx^&}d1!-@1}KYeTX&VDB6tu(hLo@diom(Rx>?(X3F$-#V8Bgg z%A|C6Q&SWRttLVZ0dQMgFWd{~igmTz#?4n&`?`W#1~nA`=ZmoiRNe)#F+P64eJtM`yt2fg_0K8!`P1nK~#B1i^k z82fNJSgrWgoE!o&7pVix?;zEY0)enpHkYTSqNrPv1)}<#X`3Fw&huQak&|x8&>r*f zIL|knbVt2-(*)WVO(5P8!~;RRHU16NJIc$sRW+9ep^a*|dyym_?w&W7I&njuMqF{S z=r8Jr6?Kw2DlPRq33BcyOSKiKE>;FlNS)lKKd^e)W>>0Y8IGrMBy)hR`|W9%_^gPs z1m>nw`eeI=be}gueZYaoAh7YEJ(@R67V`D$R+=U+G|mD0_@I1+hCVus_JvXlv@PDe zM;VmnV9|FfOM_d_8-qK|7I=_PJPP(dE_L^5o`%|MZo|uXlC5&(2J~`CEzhl7ZV1ir z87jfmj`&J027?`;A1VCZ>H34h-_ADv>RWJS@FC|X`0Azdm0WFneL~Wt7)8zW=G+vQ znUgs$y}(MV8i^8k+Od$Fs&3QoU%EUOf*#Bh2Y`KafcLsFRb!6P^4BCfVKoJv1)U*9 zHI$zJsAnDf3~bptyB~dqN1E_t;O?Z%S<{^3Cug+fPX>yu6rFfTEPeKS8g3}PF6}1q z$%s9k8;nf9O*?qGDPyVg@j~mGt7B*D#7h zKlJG&L8CM);}I+*KO&sN5Y1LsIAkaC{qUEe~VIpt8z z%Ty1%h^1L(d&9s6DairG74@`p&z#K2brJ7uSdtQLtfliEHm093OyBKP*!eR%H*Q|* zx-1A!FA`W2OPc=M>*8U&&Me8WNWWy!f>m=|_s`Rg)=y7Jm^sZQE@j~oyuC1l*1n~B zzuRr1CYPv*Jw>20R(arHEMvp*q40pIeC!Yqs1*W^0FhRs%%=G!ziu;4k>h7By>NN{ zQoO;cMBlQ-UR!Q`DI^aMPn4mCPGSFu{UpzE+bovWCC|1FRI^I8ub?e#T2;AS;jxxSf_nPjzr3wE2ri5Nb$1Mm1b%qCm zijS5kNTRXkE{30_Z2+?baaR#w(Af!QP(OKnjEP^YF>!DBWpJ8De2hnicveq4r)T$! zJ}y5?6sv?wq2?H{+8KygUze&nEj=X_+quAz9&uO>^Vb}J`ffp$1@=T=&#z0KIh$|^XtWrwJ-ZYAD@fj?O@9cd&>RC)33{-4&o$Rb~dZF5(y+U&B=Qdj3V3c-Zz zj&fg}bL3G?DETS3E{TN0zai?56LK*-YuKHEYS^9DJnRmIA{bdY8ewmqgcncnwu0-L zlzl%umOOA5tD{E3pp?^a=+DQs-4L3{1^rI5{}Lds5_m9+F9pXp>H`3hWcK6^^uf9| z0NLps-|*-k?MRXk0;j6szrNn8zU^wn3pA0X%Gt=#EX8AHDEsDPB30cZApAcFJ6T`C zs85~6c)6^3atmzmmgfdJj|J=7;1Cx_f=)bq43HbDs&_m@Ur66_AE@r=<2YCyOTEog zl6GG4d#u2U|DNM^aq%BG>36_ex?O~g(Rh}!s*}uJGrlob;eCFJ$5jMz_6wc!MHjw@}>pnN4%=R^N?gYZcNvrpZ?_DfFF&0irh4_pj_xZ%c5 z5M!fQZLOF$N7yfMUh?#Ky2hFKda)D~^oFlQFIh;xFwG@z?=x@0mlkt6JJY?5b0e7@OU(E zv7z`6?<6I2KIh?i)jV8ytN)Jv;9CSQ4Q$qpRl=hIq*eZdW3sY-<)S{kj?pMk2?b03 z<#iRB4=Hv1WNp+kYBV1VE5L1xQd2uyqu$bF-6F^is;yh3EO^LEU!7z66^W8!lccaG@v>LGtOD^V z5CjS&MjGjNf_oP}^ET^|xspV0A+Pbe&!16g(r4mopILFnb` zL@WbzDQo&K7t`q*7xKJu93~DQv?rK%DTq2B)E!p4Gz49GZrwhPz#d%@TgXDr(+J#O zhrK~#G~ya_XSuVXA1%c5cwz)B>UC%Vi{L$?BY4d52&&pS{g+$mB)L$7>)@VITtm(M zj(0X@y-kxQD`Api{w;hDbpUi?FZo>L?x91l zYHCr0z5J6r(h%0x6w}T4lHhr?_nH34q9n|fB=BPw9&PDy2G6NG%H_G8ACHmphdLd| zJwajW8!V>w6esRCH{nmG4s6kbg~uCf>csK1%F5E+Z}j3pmbmmmR|;~W#7B4@%qZ@s zUCnQ^L|5^k1vz5EA-^^5E62ygc;Cpmy0jpsjT2T?J;T6D;cxEiXeGqeR zk>m4+$v8tFI}IT#&xT#>F(S?J2)IGjRFk#&6GUW4Q)%SJzE;SE_C z#C9#imu41UnpnmAA@z@vs~r_#7mhE_x82S6la}9eNu7`um7qMTPLuU3($=MIbiHp% zVq5PUk*7LcNZ-MH);VCy?nX1U+c(7QAMWy@J)S!o9=5?q-PlYm9&7Iyl{Th2yWk*4 z$OZ#6c`q$3(mCG5074Th2X?w+ipJsTvN(JClaHJFe6bS#LVdtZ4JTn_?qx2li>x}| z$hznX=dasz!NpR!OxLK*R0i|8n~s&488yDEi{mZs_vb)u5`baJiE&CZ4;E)5Miuw) z%UPGZ&?tWUL~f`(wsif<{Vq$g($kh1#l=vR#Mz4j2h9%0v21k1mWjq7c3{@T8E_SJ z5I4YEP|GIi6n8;!w(2nGI1~exN@Z~#X=(SfvI)Yud7GfTsfIX_3XfST1|b!byDU_f zuk{o!@t6rY66ZHHqfM!5+dTOHbW+T@|ehx{2fidS^E74?{bKj~ERNE@xuFWS6* z&I*@9D<(E3_(u)s@sLS?H5Bea%qsA5WsDP7qlz_eq2u{TMGX*!au9h>-oPAI^D!z> ztA3*9!l05skzak7!1b#w^i@k$#ez^eY}K(2LB~1_9ZR(I`Y_&2I&7?h-XooEZ_J9WC)q%UBhqECXCGDmQF)`X8%|H*FzrU{loo89yJ_|YhiCi=;IfTy zB)Q1L*A;YSpW$!J=Fcp1?@H86E&Ur`L*4k^eCbEY(h&Plf6Iou(rYxnHr1!u${SP= z6yG5HpSg~*N#9fSHJtShD=&S;;iWG}n!}^#{X{Kip|{k4uX_0bRC8rO>azxjmPfM@ z!)nbnEWXS)Z%_t0vJM~Uz#c#Gfqntilk4%EN*mt#SX^jU7D{PndSD9BiG4~Z zqLfa&R9$x(%GD98v_92;D-lp0&uN61ThxECA(qN%Q-j0Ohr7g1nKM7m_|ubvxET_h zseSdUtTn6c-huUZ6$6=Wdz~}wTvOv>(_&qiuJ?5a>&knN+`=^@o>gRHn4vLS$Yzrx z#v=Clz057wjNxamOwD&Wb!NfJ9Bhm7R>RK46MMMF_>37~oOCqd(j(`~i?-}>bqr62 zK7dCH5p_kQ$AoHu`^ZPx1|D}-eEjc`XP-&dV6{^&)}&UGjpDV1thyFwmW5RH?7X}s zM^;sGOa#BmbLAw6Gb>Uymx?}M!FzC{0hewrwUNt1{MsCFIh?O6Acz(DgJNbVtnLE5 zBPwbe0x9i+xY*%Htw8^2f+A(P4p;nHZ?1{i%Vw;C8Z-(Xy&}TLr2&7(6+MdJhcBfO zP!_3^q8F~U>4lw;g5U_2bWG7EyhR1_3PoqTwg+YzA37G}#MMlwul2|qbM*_QAb&@8 z$heG1yd#^r{o^~b=lYP#v74*5Ty$kC_~GLVOlCxoX{=uXr4BYJD6o0-ApqySD!s=Hlx304uN|&&?MU@)j3w zQ$pq7AV$?OGD*~hxkqo}>ro-$q>!k1E|(e>Ys#Q4Lm>NB zn**tfK`po!X70tT&FMx|cfvwet0Ht{F>oPOxi|mf%G~9Z#MUfBo)6N@7C90zEODI0 zkw!hy%CXA1aGs^ye>vCgWL-%70Wk<+a~o$b`{7`?OZxr0P}aCZYU?^i{-9vsR7A$0 ze$Ld;_Z@4v#MLohJqYR~*@MDs;OMClyP3b_^Wv%Ab_D!JIRe(_N5F0tJkQ<*GU1rS z521G{TKFMDVuSVMDVgnXM#l8C2}OkO5}Aq1{dsww0Wh|=fK(kofFYYR=z;;6g|EEr}HGq&s^ZWgI(eK7T00sQUiF&AKA z=p2QC3FqbV21Kgdjw|rioGE(!(&WV^SBpR7MVb!K3pZ^80GKbVnA*Qf^mNajBWBNQ zfbeQFSbgL+-G7$ylMD5_`aSl1~fdxFrB zf-z%X(G@iK9kpj+AM;s*-XXd@4<-JJ4)ZLmyb|<|h6-@Yj@Mu{K8312GH7|q!jh=UnK2U!W6*VUJSB>xWe4A;zQ8usmfq>0KUz=7 zDn}86u~uhXN7+%WTz*tONpH>bRtRjfWq^8O#&KCE9`nX|*(fG>t7m3caoS1c*lasA zBfXL|w79s6kFi)Y>+nxcsOs;kUh4$C){`0oc=+~XlRoOUurZL!c-`oTsNw0ZtO8y` zp7j12X`LxhFUsD(+tgm(?1ze|L)=KYKi+LMH{$yaUWOOg8m!+n|9Ba`JRQ=0SMNl# z&d&Y`quMA>t4^PCmPayi{=LUTFLHKu+=!hg56#>fV>gWl)bJ>eNOF1F`&8DGzbwC% z)BNP+c>~+3^<-u5>sVEmXM2BM4Zoon7;|VMn<#I$EX5Kjz{Q%sLHwEdcL`xtYi|#D zl7a)C__k{DD5#vytm>^0ToIJNyJYiEu2ZRsc4{r}>HaPOi7QThyKMRK*>L)ut0fmb z2-Kac4W6B}^sw{6B}@0;IyW=viR&tY<*OjGz3&3{nTz8|h~#2TU8`{~P~dW1%rt+= zIiyZ0koqRM$_8qrpO{FwXj`-#s)EB25Eaqr``Hd=F`K zsJJ);tig8I8B0SW)-+f7xYzlDF^&pj%JaRhCg1C7aJ^@SqW{+5`fqSs$!YB??Bev~ zzl8LNNyPRSPi0}v8w-^p(q7(do?@sGTw@Ea{CYuV1!z>BDtDjd^pzfz5$6`S8*y^=p}82M;!7{q}P4 z>f=Vo;mK5?S~QJ%d!4?9OI84Ux%(rgGY<^jofaA9qu=)yY~6Xoxv=ME)|P$IE`4T8 zS4)OoJUsK4dy1i{-nGqzcSj$pw*aW27EcY4$#A0Uc>S7g=aT8;jpE^9a7yp+_=axx zvXrpU#FSCE2=So067`bj|0pPb0>8}xZX2114^?^EALjD7H~2<7XVAcmAui;HkTY~u zPi+x=8i$ygTB@ga+>Hl(5uf&JCwzeYJ)j5GMA*)oG+tmQ^o@gtdrdPYcus9KzNLdd z+dxL$3i^h-yT8_*L7*a?r8e#jvQK1QSoxE~hIuQNtaaJUOgioY`(J&h8=0NBLuxHJ zcox=xjUQf)g^KU%_uMb`CijbNV|D(t`NdKln5KTFZuaKtwA64zLbROGxHgb#B~TN@ z1>1*^#r7rJOa9!pX{jHg6sl)@goXy7Fud`ex2K1dkAExi?@*$`p zYc1{uxeOl1MjISvYsI6Jn2VOG>vA|thFhq(ws^I0*O1 zj?Ra|T!ZS{mgzl?={b)IR=;m+j!q*12bKz7we%HAF$qfHgKx9H*4d} zyl%InfpM+~-qeHI>czb@aMkTw)XJIdK=1>aufLp_8P>wNW!zXlldE`y&82dNhnd?i zFLPz{^?pm^w%vDj{3qlC2SdSbD_Z{<_cwbdr)Ek(Jce+Ft>>>JjrfyB_$jOI0$+6_ zESf5^2LGh;6JsBBojFpX`p`BeN8n59_WziB@3<(g{eO6ub!Kr#7hxI7uDfH4Eq3e` z8}{B65fK#?uu`P=UZqz7!HU=gdxw~%eW{eMw3_LO+mB@8kHl>(@)qk& zdAk{9UCp;kAGlpIBusC7MWm@P4Gpg(yJJCwEC^bJ7veo>7xR~ zF2obqeA<^Gt=T-%S6UJ#vg(nKL7pUa??O0W!pyUu{LFhoGqF%oM$he0$lZaYJ zy5HK5bw@vOFP$&YRZTo!?Pm{X#khM!N4pE^V~_QlNM{>#t=l8X9|8`FU6IoYRx_9M zG|Fgaz<~dT+=}BK+(;tLb)?Hp=NgdVidVbYgPF)MCVC0<+e_XT%W6T5c)WCKy|B`s{oTQch&PML1vUGf9J20H8mY_Elj`bGi$B-$lnNYwI3kCpMu z6D&1u`Os%*N{Q0%>z#Xuy69}duNfy`c+JhJ(ruA!5Y13Mw}iVF01vMtov!VNZK&mx zy>yz?SZiKyWe;sa-D0EASY&>zsSFEA3xF)LWR%qYGayaPm5Krjgm{nK=a<2U3&aq< zbR^`-k#q(sGy@Uka=I`b7Kpfex08rcN7`J*izEw#)wCKq&Olw8EPJ|_-JKER zN`#PghORX{0x;`V{+RtO_mJ)|J7A#_S%_?hv5e*NwD0I;v|F$+3JnQ(Msq0Ulv@zJ zs8jwePcl$P=6rb^Yn$(gV|0#?U}X8ZaRo1a%qTc{bW>>8ZZV-S87)Xg81Qs|girxn zvR!n5%^u?Z5?(a^2&}^^<}LK0Izf{=yJFJQjfOa-Z{qCOPi^so6|O> zZPV4lfy7-*V>SMpCe28p?R4ohjQ5JpKDsq)Q;l$@C#y#7hA5{;EL=Eem;2a zx8JoSqOr0YRiuA1DWM7eqME2}$Y*4hW=)hGS;dlR7sGQ->kH3gPfYC`1 zA8GcIS$3p9yQ^yR4p;_meok_j{n?xIcI&c=k`i+SoPx8KxTgR@$8w$1j3{9>9S}L4 z31kyW63XLCCXka3bT&)ujWZa{UZ1Qj0o6J+b;SPE<<*a*pZqq?I^;U}g+Hhw!}Qd8 zWXIc3!FoamEq_JjS0p)0Jq>q5{I~{e<-^4DH;ihLCx>{~1rY(B!gZ4|?TUc-E`^qoxbzFFIsO?0=n%3V!DoHRQ3$*3q(SaZnx7(_Y{;wz zSw5Ehh6~vF7i0F!haujYf3)myw@gEZ@<)|PrZOZzrx(v0O5BvRLF*lrbq(qv<7w?fO01)bL)l{Z$BhoomJE@CShOZw~AQF*k7U$Eu#DIIYP^e2DlEn>=w)LHp?l?Wfc;LFgHx#>?gqT_Nd* zB|&AzP)RDlPjf(CGzVcn*znBayv`)f7mw|c+#lz%{m3ev z^mHdJZ6JX`4epL!eN?|h?848TxzTqi4j8Z}Ng|nKyOUXZDtIgSu5TB!|}i75?N;obW%< zFEtH)w9Z^{(+*yf|DO@QfbV4n1QRs5+fI^$&Cfig?= z05sHk>_{NZTQ0TK8Vq&BI#vbozl)^x z1^J8(am3!%jVvF7+uy)t6I%GU(EGoIn-RcpTN@{$JhoDKUWkd347ih3=bqAM00kAY zGX&N@8e})6h2aDihV~j)@dRF%A_;(S{1{BCHU#qN9Al5$QVS)$0!G!UPhXp zIG$ZpXVAFPflAGMqGL6MQqkt4XdBIvu>0T$d7+ zQ>sN~?(Z|Js7OsKH;lOWjWRDSFFh~ak`6YD&Q)mTh3_#^q-J&#AE10BO8LXwW1USf zD2B{k>H808lfd-|$hxUgT(vKGpv>J{@gcDMqEfREyN9MkD&j&E@gtlQ1knEzdgc51 zIE?ziI2sa_P8KS}6{HitOHbS6eKnlS(ES_0XSp7y+V7)CFRJ&i^e0PS-ILU_cu@9B zRC?ob`xjbuA-b`o9{vb?RG*=VOLV)S%E+NjKO04C{PSo}2WcgB%OzbuPrs0VvPv>Y z#E@TrI|LLE1yFP)G!#jbv>eL5<G9PKB(=sCKr6cEhTKmzN*$aBQrcWD>n9!~* zcz?{yWv`rA*=th5$esdisw9&`|9nUWVpW}Ti!$2{>QW4pJq-<>?+=w7F~HX0RN0*j zMFskcUz&&3H%jy2QZrXNUiLT2l$zcIF3j1Xv^7II;GElY;RbD=A&5HFYNgu>nAL{oXjS8=-hFaGY}Ey%0`@J*=N} zXnb#+=mm8kRJy(3H;AA;N9F0RiA!!&m^j@g#mr7NmMP;f4GjuK_IdOMS#UN)gdP%t;)ey_IM0$x6;8N7_Fd1wvK#cRhl?}8nmdvH3pA95Y)4l}v zDwFU!4m-HytB5UW3@b^kjmKqk%ef_z4wK08R-{9kIX2;F1lcFvh9M%~*wlQ2#_?G) zMEvdiY%)nm=li(^O^CDU82$bb4UT`7@oWS6XrT3|pVBe4wp^%PNRfjaiZ;_Y|#1!D%vgIy1P#W0rDs8ACkT zU&z#70N6rKn)?@lG^3b2Yn!Y$v#sdZv1^b)J9cE zDABY*Bmns|9I@(c$y|s4-x0(xdYgjK?FNllzQ`Npsey%|%(&x>Mx{Twk5!mk=Z@ zygJ$ae19e>COSDvr%sag36oq5F&Y*O4~WrlY=G{Mr$d47ITX664cJ3qVz+`syhPG{ zWnq7)Y-m{d@6DqQB75Z>8tg!)vR{(m?COl&n|3>@m*`8#D2dBln#RTTwxlV)gtP@R;Z)UDqGZk} zHLfS~YWI;K{pEs!eFpXBMpf&5vg{Gisp{>ZZGG32w!C7LLvDmuq3Y{ z@ZeOCM?U(UDz9YNg?=Ps(fKYr^G_P_mzr# zIa0Oe4^&_gR+%N3pvNa8`~QEHCr|QNjE1-3HZ)QnsgdqgfuFm~Uk(on_;1L>BRutH z$#6ZbCEiN)q-5d@8>q8WQGc!CuqJmB;QY;o-BD>{wlTK;WB*(XaAoAvk|p z=(mwYbP@vFR4^?~#-Z*dIkif^fVfFNz-?xUg6xaZhoD^x-}m$9KKc-8EHY#WG$J_h zd*cw>ADri64fTfa=2%8^vl5;LPCJ z-{O{!n57v3t3k6GsNQ9Bzywg3dr`|+WkstRcwAGM9+BRF1<^+g&V zTQNQ^k5q;Hq1yXld|a3;tv=@d$a>!&pH-PEBgdfz{V`0cMQhYT>Jb4nglB%hASu zS$19(V(yoc|IsgpR^ethy;LDnzZ{K%S5E(}dh+Xd6}|2v_9C|6b`OE4q)V=z{4wDF z_UncL%h1+6^>k`HX{P#po}LB`fc!p_G?5>NeDIq5G!OPol`t@uv{O;n0kv=+9j2o3 zWX)w2dAR`34G2R9J@nFV_%cF8|3AobLBv+QI6$f)HcVT+*h{KlaxSi+f*Yci>BT`( z6_Uwtht8(&u$$V z&uYrXlh#+2d-Ir|0b~#qL7MgQhh)*j=D4(Gy%u}&^avYH7bN)?29+f^K96Ab#pT5N zYlEX>mitUjP4O^j0wXAc$duT#PvdKKL|t?9?nmtwfp#mE+70DDbXg_#lv*w#3>A=C zE}|A+&~gh%>Q;UI5UHLd-_(`$eWjX`{9Ig?s!GzA>Fb9{b%i3knMxcjbr?xSj|~o} zH5XTcaeZCiXP!!cEWAc#7?{i8iqv_ykGc9PEZ{y-*z6-+&yp_K2_BJR5g5eBSFcZq z3=oc|WM`p4csAn~Cf{vb@&+BX9^p%;(~-xP!aG8LgalClsvZ}t1R7sK=hO$ew#OoEcuhIg(CJg-HyPP3iv0ksQ z2Zxw;!NS(awfEtr&$m^i<&+r~Bt%86LXamL*NF+MyOUg@Beu7y$Sg^}Y{A?(dO;3=*SblA?4$VW|kkLu3Am#w<5ArqSG(g{Hc@ILDp+8u;IF7)xv7G`*5ca;m2oxB z&~${DrXWuc9|i73aw!=MCekWUf`!bUv?o^5s@aV6Mjus6+jwtyD7W`4>GWLz6X%~4 z7@(!Wq_vZKgNl~#vbhyu&rCuW^ zI&2Jz_g||W3?-DkvTa&GN=QOLtmCu0%)y%SgH_sJrfoK9cRx=iquaj`wI50$&cs2j z80FaxGC#4GRGR9)l?G0R6L_P&R0{ig7X}UFp_-?RBJMb~wxdC;(A2wUUQoE zXZ`RD4MPuyDb;^qeS_QRYp90%2gu9oCn@SDh#mPYM9ol^EK+@ne^kM)r)mcN`#~KT zsx<$hB8&Au0S%A_%%bFJMf=MUw%gWHIu5fTdI9mG6}^(bm}DX4&e~+493NS z^{(I|^b8N~FJw>yLzb{dilW!W3X!hVYD5klXo*^FhULF+8Tmx}=ZNF9n<3P=1^Kjv zlgB`0G)YdTN*P@g3(a*y%>qDv(AS@SqHX=3~_ zJwa_RviaFjVZyuS%CM-YFvAoeG>v929z1was9&wT=y7lgrc4nX@OFy4k}Oh?pFpKU zSI_7~JJU)nt@s5dmDSS?TfSx59$A4%R97u=-%Z;7en@(%9;b0!Tcp^5ht@kWzr*0u zRtgGrT|wKmU1-?i#E{kJeu0v(LQ5(;kE=1T+H`T7 zbkQKf>D9vJDec^c=v4Q~ypR4;(=SX9ld{H#8!v2=E;K&)jCSsg2i4RggbcQMO61Rp z9Aokc0;#(4p74CJ^Tdyn0{1{7Kmhf|D3Vc z`{%F_nV(S``$)HApTh$hchl`&?815?sUFZme_IbH4o4 z8|@Y4*`(lNJULHoELIzx)W#vE|F2fRvr>Pfj}MSyMfyg_PB+LtLGT4=P|N`%Gh^o^ zjZAXfPY@NJ2j_Qn_|)JUqSs0wBr!0IbR#QB2f*A#!g**(L&I%J z8YqmA4R4SYMaa+*^Tk|Z!)poyL7y5kVLZ5C2K$$O`>d?=p+LH^nw@2&+1fns>{XeL zn!?=Y4DG>24rJ(vm&CHyqP$geVznFJqi=`St))Qzq ze{nOJ5D`!nP>Ghn8E({b)d)e5Zve|%xCODVxON_0DHcpC$+)fnu>kIipfA| z%9ZRbw**scPSVWS`AMSzbXY+F?$+2~X>5O5&cts?+Ic{`pAO*vAU`m*Y%4TkP-t3a zgrJ@REs+Xy%yKOpurQ!F1pjbgd5$4}@S5tHsOpgIhFiD#K5=njG*^p#R%9>JX^Op8 zL=U(Oxprlicm8UF%a|X!U%$?T?5K{a(e2rtU9?@eEOyopKr#`6MIoG?)C6tkct95$%3yo_T{eoRU_4{e&@S+F>J zNrt1QV?^E$QkQDtA|m=SbZp%Cd9W#F+%Y7d)=;S(!cfg>d z$#FK}_vboG{5e&p`+dxxlVj$uG4bbIKK+dn3_7b9>S+}Hj2BB@8cSGpc6ftq$5|Mi zh7DOuEOro!2HDV3SUFmK&t)*C}L^5DaG9D5v2-uy9Js3K>WpJ4X3VY;%}zcTyN za`SiU)X8L8&*u-YF*F4M?@c)F)RC{HxUgW{*@Y?S0!lR(J$*A#sR>N&$)E^z9i`a5 zz*hu1@VX34*ftMHB>W>HAF*XcgObFrQeQEk3%VveL11Bm*R?)~r!EheyEh?)!#R(+agPC*&~UwCW3x+OEGQ z+XEntBKmQL9k{`1A95frI|l!ABz@ToNMlZHS|*r)D;OHeLYK3hS;=Nsr|+po%pdik z+h;3NJ1{44a`gc&KvnFnsGSC2$b*V{(3R&Wp5G?}5C&Z%?uET=mA-28){=rfh`(l~ zhUvq`onRWjk7DEZFH(jvR|+n^Ozyhw_9xFI)DGA z8!hP|aW@&HR2N2JmFs#=W%C8f(4Nf32>e}a#Z#9BOxns+pS9ZAv8%>L`z8Zb5t_FZ z`qTIaH+LTzr<~};bXH!jVP=2$rU|4A(Q#47NMQ0d9U1%O52R~d^u@5Vf;tO8A3)gO zK^7fSu|a`Eyd!Kqp5Ruqm{LS)A^XvDgs9 z2G?#p7+4KQ8-Is`>q8LK)SsQdb}c*|xk*a2$wg{0Not#m)B~B-u?OO7V-FcNv3ZLN z7niPptP<(qQBmYqr+dsEuc|sO5c_jV={>9(Q1hT#-4A!7FEIw{2g5tW8Bn(oBM#Gr zI%)`l7eC^s$176@F_(?bXy7n5sdRHv89-`o)simR!Y!5>-T8H-Z{>5nDYpe*62+IU z0Fgw7m^Y>vmU=;4%5P38O)NHCVbi{3`m>svuT~DOqTTThDN;bt9Q<^mGGzqwIaN$# zO`iznWi?lc9+>Jxd%No4PT?!*(Qyb;NGVP!*{lVkeC;59H0gT_Z;neQLwi316#)Ug zy!7fOt@%{&-Ag z!L>Bw8AIoP&XOBVP`7og+OG@{5kE-FeQ<>AI8mG-&E;^01Xm6z=MU_xJeqUPl33y- zqhM%DHgR)&No_NGUZxFZLkR0ijL?4hR(a}Zch=K)?b0}5A$=Q6Etz1pHfe9dZiAONND8CT zypT`^+@+*(b~Z)y;{0&BD;52MNNiK4YYvkQpu*U>buD#3VX4%@sO*~FeIa&^XqZ$1|prN zt`GGH_l;i~2c*8Zoe6uwcJzk6wXX^@;40(7rcw(=+(ayZcQqGMdKymv_K=T51p0g~ zd=5J(HCR23*-D%{VFCJZ@HFDUxO`fDmOM*Di2Aqnkiq-2#(wXzq(ieBepLQAjrPL% zVG`-85MxDPm^;B$qbsb>PH=a00!Um}(u+8;>IopkZ7;7A{UlFxIq*s$d-J!%>GD!> zr9uo9+rgXBk{YNL1c{s=lY{di3(_HZ$P-~N~?4lJTp42`7iML)En(U1O%|AY1J1F5i% zXc&@0+8h1QHjd)H033}*DQd-iJng3>+0HcEnZY-46a-Jw2YOdK>7FWaj6z(Dn~Y;< zPiziKaSX-p{ggECF3G#gs0VI=Q}E~Fe8uPDQ&UbQD`|qxNPbl*PQ zCr02#<7BEdxY)2-w>-WvB!5&5Q0UD$gs!B&~4p_Q!CQ- zFLYZsrE#TkIxnsy-Hj_*_0*T})O9AK%S|7nY!HoAHysG=2rOQMkM&Lvv0IXfqCej; zd;F9g)Y=j_aGEYvvH3d^40Un8t~iuP6mci7_z;yPwPx33g!-f#G%c58wBF^BZmIF6 zi<;oU$?qSm-unJQFY|*}!A2}SxHcn1de9pWR^vf6A~xM5#^jD;Y8qq<>ZX$j2}B*r z2RpGDKRsps+%n2p0ttPu83?^Pmhj7uC4HV)d)A*=T0-@=#tf^tCWGqsx~5oSP(W^x zi@-2b9F&H1JMvWrCF!2Rka(r~#IY|<-6BTX zP{(MDnfr?~uIY-5Dn27EAx>DPj8902GkCJ`32EuVUS&pFS~|AVMK~BZK-tpv1rYEY zfbdvECWsTs1Qf=#-cgL>yUkrWWgOi3FHRd%-3f4qQ(Z8_lxJY%{oz#g#cP7bd&>D6 zD}T|EmKSakD*?_q%2~Imm0=Ez;N3Tr99k{JXC`FCXOw0+nG9~7J#-!EUeCf*S57V|5FP5q51Z=d zlqsBiCu96l<6?t!Ght--lu0Q4C8@hKwpRye5dhzBv<0m%1CGV(e@6ZNhGZGY<>sCDbrugo8}0M~|yyf)%BII8Rt z_bS8-xX)M!02;_o0n~y11o0N|D;!-jbGIb=C&CE>8NDP1Cw|-OyX6ICh-%w`}e~n ze%fRbC;OkMG)1S$A`~T4rI~Y@j0ES+X=1O}>^d#x(s{T_ zH>Ufk*433d2^tO7l%uY2S#EjsC~-1KKRdY|r7aB_7t9*HMhE+VUQ_m_F*~unU8c&| zp33=e_4tmgCp5@fILrJSERIFU0$}vDah5e$*a6IsoTwkg$7Dw*$3y`Q>Kli+=;YXp zXn;aJb=VY@mAok%F%wT6GP060G-yj<+P2qVF zvh#@S+)rj4CzF1YoL$a~?=Y2FdVjeaJxk9WbQ6`o{hpQms{lvO&y{rkhDZXS`jTYw zDZ*G)2qp|$C4|w|${sV^MhI@oezzArzIS5Zz8!|5i3~Qu!z^ht`Y5$EWYUBDEM=Jg zy66Di`mnqrp+H%bms6gK*^J1G-n2KAwm1P}tyoh>KE*k&2E0j20H=hAQxn!`L_M5V z`FSk7MXQ8ApD8sfB8Yu&rDk5lcNEY`D4wF8Mspk^uOv&?q}comTD26Tc9*n}lWd~dPc#ZrUq79vab3oO zL$u%ZQDjJnVC+sb^*fY#`IzR$yZAm_nLl+<`fQzgG@#MDzy-1^eA&B(2VhfaB^|N1 z?TTAn!M`{uC2T;JUyVUvumNkcUxf}8_ z$}CIMD^f4(?(a-ZI1VdW0s0#RAj2t_?yehv6_vJQ7t-eW&cu2uQO z?-xHo*MDtN+5!MPwqc@flV%C9Y!3XU2Fo`$Zu_!Qfqrt2aoHQ1eOs$09YSAT$6>q` zvA*_FzV+AJI4U0bRUzu6!n)JmP`xgt0HuZM)gAE{PLh))Jj?J&7Ym)6z(~=QT1YMe zV8F4UpFrixL9hex43=~Y(pE?x2mSt>xwIYq2o$)&R=`7=jmtXB|fHPsbnoW zcEk?Q;#Eh;)>f}xNomJd)JiZqH0kMl=ZEj_-g*Ar-QhjDI}h(AXugSfP3-uX9f4^f zDX?4ZPtU0+(;i<{IC7qUa>6PD^?ZVer-(1|l(}h1k?DfwMnvuu<~fUN5a85&2&*|2 zv7=B~l9m`Q;9__}{6-A(ccSK7qWVh?pM|!>(1_02AkD%^38J%I{Y0LMt^T4___^v& zR@{4@-<23r4Ere0`UHgd#$%pYB?cx1BnCRhvx%k2n-fYyh?T?k_<%xR9ju3|LV{K$ z3E}h`XaU%4QpIGk6|^7Yo4z@8hwdJ`V{^gwbfFwxlUZyYYt3eo#&)<)J2#>2P2bc`aA;|tNv1)S=9B{#YT~4s zO1{G`^P7sS1&l1HKo|4B>thlUVuYJ2%~aZ*Rv~+30iD6%s8vAl(O!8X?r>zCfwF9* zTb%nmt$I`_u^08kN&cEly+WoaL<5Q9A0PSrB5}|X>j^h7C_4-pLz^4uJf%gctx zJLxA5Md_vKrJ0r;vM()qqdRsk2W;H2zcTGux8xm%Q-lLWdyBRgS&kr;{Pxt<9t+p| zc?Jl{Ny$mt@07JkmAegUCqyO;%_QwpNbmR$mC7dVXf?{MEmfj2dRxRCM_Y;aEPtmnU;50NFkO?p1XJ2N}V_ofTSQ!!21@nE4>rK5&2}P z3_rXxp;~u{-ISJwK&B`eJx?d`M3cneLKY;ey11&ylM)L>e}?C(B%FB z^T_Qlc6@a~2+d{2&zQT?SvO@=5n|Fh5(MEGOX2>YynMCb;<*c<6AjccTJ4HQ*83eIaKRtew+5*^i)AYMtHp>t>xoGPk+kQdLyY<(1L0x)J1ay_ww4>UaKoiF z^`7nYuu_O%YL?SAu<&)N_X3DIu52R_a%v=36;xB7HNkW#hUCkQ#o}^>v2}gIhQ{Z* z+R&M=U@4)U>fJw3bx0Zf3o!G>IpQz{b*f+A%XIf);vhH97P~5X)yJ(+NjE`VDsT8# zkVQJ_qo=m@OH9;n_eGS-{q%5Dodm07*Qn93dA!rfbSv6Q}yY&*-?>Gdr3hFNY#&_3$V|u%(LYt%t zS=T4bH|72u1u|--($tDOdz-MpPT9^7V+EJeYtu2Q-#zTW_xOIv9E4t+U}fc z!^~pF$7AENk=lhy&-`%sF`_6|V3~ooxP|m+65&+utmv!{4ZX_L&eR2+LElN8k-5y& z7mYY~azrRtE9lIXUD0I{Ye6~~xa18DZN%xs5_c<7`AN%HdPc6wQb~jbcpbcSK5k6U z_ic%@B3k4(w204qG>EZ<>4?>BGFUZbs$Ve--njqUA26(2=c)E%pC!t-27W>M z{P~-y%o5~@_d!ix=bI9-CeyGWcTvTp3`-a-rkG!a&XN(O9LwJ$#p1V`9CViX%1&Gm zUFv(p;z|$c9z-d$0#8X$a#RJXEvjv*8r3n?Mb$OcV-@9OTr2Y zT77EO!>XUvB&%6g9#$)@609<*m(h)@`l3Svy(xwRX4mwGOh5wob9mw%%!d%=(h`HS0fYTH5ro>1Q*{ zW}?kJn?*K(Hla3KY%bW`vH8yCcbm61|I#$kG}Wj<0oOw_Ofyn5Ni$osP!pz!)#PbP zHQO{bn!}otn$I*hHFq^%YrfU|q@lJ7TT5H5ZC~55wsUP4+b*~Du??^dvyHM%w9T;1 zvn{r*u-#^R-1fHZW7{8X|KgkQHoT5+$9LuX@PqiN{9@jV58uWc{ZoJ)8yV-UN?3UX3+6CB!*+ttW*`?bR+ikI{u{&aS z&hDDsExUVmU)w#idt>*zy~4hQy}f;F`%mqA+7GZFZtr40$$qB&eEUWAzV;jK!|YS+ z3+=btAF!{rKW2Z{{*wK5``h+U?0>ZX%R%AL+(GLgIJ9@@>d@C=h{HICSq_UGmO1!3 ztak`@h;)c|NO8z?$Z;rh*y^y);kd&^hg%Mh9G*M;^j{&0@06NQqXU-?A07xK=@oi` z&Hsrg~lF(P!BP)Z${^d}EfPU&h3LcCJo3)w^Y z$;A1Cgn3Htb3ncf9R5g(q%L z?4kHQF!DJ3+sNayc4@q1lJ>_r2%Q z91R}L!fYUdaO=av*9+5?>+{0582-*q#qmMkOe*tTyeM?~^x)7*=p2whJpL|N=$y}V(R1(l zQbyd6_)^^W_mcQhw*QSUWgg4XhswxR0f~OPwGr9n0=WpF50#SR8{LYEzUfLfe&j3j z-%xBhe!5@5!6*SH1=8UoKGF$uV}h3mMJwDl&D9O34iTZl%|qnz{gjis0~jJg4DF=s zIBEV+jF7JP7kvNoxg)jJhG~cH`Vj6TmQpiEDR{@xy1NTvSFMPNUnEGaTaEx*TCijAx-}8&b!th`tNANppI-B)^USpy2h}aGoV+$@ zrK`5xF;5ar7Co&ZZC))rLD?(=9iO*6HGW%Op<`lsWztri=2Zlle*F-!EKe+rEf&sZ zGdLY9`1zsPH3G7%Dabm0JRb;VxX&vrYQ6z)cunu~egSdATmmzziqbdb=NP_=Va~*F zNnEE@^M}fdFI+4ST5Nck&wN)j@-em2QL9n?dld;BEQNijcZ5&eGP9j9eor{;gg&qn zqEF_H8ck=JS)1;EoxAgbnYC%+1UP0*2q=AUe>2nqqzhX{>==abb6Zf=R{yW7>il1- z>ikhvog1s#>c3SLyp}sbYw2xb@YxAc%R&>UWp(~U%482hr+_!ye!+d(Wf&99(ogTr z8w%PZdxqn`QFYgIPX8MnB$>(8kF0lTujim_^a@@Z>L2Cp7{_MpOsm+ch5BwXA}=RP zC@u2~D@yidZ-;Fm&MRTHw-!PC9LxdD;od?#-oV$NS+?n6nMQ!Nqq@{-Q3y2>HJbR27zTNPwUA6&uM=$SZ?fmMN zme?)&jIK4L&{q7p{D=v&A|j?w4aq%or6Bjbp!p4o5&m*P=(tItVH3uM z$I2$DIJ|A}fY`8sLMCm`ka_H-qR53FasJ~3>PQ_VfNsZB=5k6w&}{9*_W-Mge*&!D zI!`(#3Q0ufeWF7lFmyC^FY?PS{0eXXiTmhigL*a=4iFhzvz%Elo0B_#>zE9**q4ZV z{F3F~K-&6^48#TfoP`L69C`{s2E=gs2pLL-&OQQ#3vJqDXIjvJ0SQ6gJ_*HNf1Osm zLr~97pEau-mPO84Px`)KxUIm=BYinZ_q}qaGY%@6y8fis`2*RNdxVa0fj)zDpL!*y zj2AQ^QPd7zmwrzkCLh$1z;C4Z+`V(I(+$Enn#n&%+j8mhrj1lcF@&w#7`Ik8D?A5q zPSC3K?0e!qY@JrbRfWJ=droxar!9$IyIdgh^wQ0bfOrG;ge>^%YhIQ+4@(BSnP=Pi z^g7*pYb>1A*POTuNbU}9mtldNguwLiF(sr`l8{$fno*@Ymlri*NaFel0v56s83~I6 zd_5x_56pEgY@_>_WkArpxdJ$-dxghOr#`pTyg{T#Ba=9Y#P9!&NBocXG~)N)la`NW z02FeW#YP2B{W#Kw<9qgtTs{iRwGET~^nU6A-RbgB5BP{!v$Vqk&u%Gb_LMIslc@-F zy#EDoAcqe7mM#_Ij5>a4Nan8Ho6_sxgOe~OBx){fwvv5rE*nU1Bzje@-V^6YY=Upb zZ4HihbzB%97(7TfZ(>^77(o-bk@i8*Qp6A6$9$ zM`5+;=J3N0`3G)miQ$vow5vfKkZdL|#n}44gi}euR3C*>ap9!TSqbZci+%PY9tX;y zDpF0V``)FIg7HL?HEWVn)(af4cN*b(xL@_m?kL}KFI^{n4FyWaG;)UDO*&>&rf*NH zbll3OuFLSvShpLDE$cYm1?zoJ`ihBSqhr!HB?&{ww~WN<*uvP6nNhTD=@s2U7DXO4 zV`h&=;xx|K$9R`-6x9ALxj`zRp``O*1U_c9W4H#{w9&%n4YDZ~>D+tQ=l|^ZY<7F* zg7nmP1uu>0V=k|;kj)1Y=x@23j~~koXeS|q3Yxr_wln9xJavx>gv8+ff$g9#-p+Nsw?!RWGZGho|Rb*}e^53B1_UgY&Sx<|<5V*2) zDo!HPXr=nl;sA?y!I=r=ta11X;7ErnPQfep1q5ucLZ`>KV(Cd-ZMq@BwuH=NxH*sYzrQAJ18lCD0sl^t3jo#g{GIfFP5YxT3u)V79qvi^dNTlL2YkJo z|99*^v0j=Kui=L<%UDT#04X<%MHel2Iu_;V%~CnSuU`Hw{7Ox_BrqqF^1`NTXN8B( zo9w))sDmLG<9+qhhmph%?09!19vO>eSK4F?nGobm;4s4f0EgkobO2*uNeKLsq5V-~ z;KjTML?ieqOB2fD$_*Td+D$?4f@b!A3VJuQv_tlNa}=L`^BUKpw^=^=*wj)bB~WevdE=t zf-qOvPvScK#%Lm_=NqRS-uqse6KCH7R##t|bTgXdt~ zZQVOC*d2?Z6O(=OR?2?e_d8;{WC`t9I(+0jI+*snGZVbw-mh*0%sFxNpEOO#H6GyS z1eNYTv3c`p;U4=*{KmD@bm|Ank7pP?a5#0j^)Srty#E!+){zsxiBk((!9L1 zoy2J3+*-MEbyAeK@Y_x1TwUei`&y#uQ%1WO)cmKv!ac0djd2WJxPYIcI_AP~W>7?K7j|t}*jizta&3MXXlimv zYyR(-{(d_U$GQ6724Z@gCw--*LZ$-wazn!gLmk#ECtw_oz`6z6U$}=X=Ps$dNn3~S z0%z6s&~djA+ASUk;P}hzfzp!w!cpbEz|tj#iR_ZVz@>t#(zA5q0fTy9ZN>h3+G9%2 z>@@x2+L8Uc44gb%ui&5}Z}dY2V)e)Vq5z7y@!rLhbe3Mz8#siTGkVS+(EVLF0!)H7 zz_7tC1*Z>)B|5TBFHQgslRt;BlZJdl-Ab?=Z?#vEja=Xzh7K?-0~{R!Z-EkX5WR~j zh~6Ms&%D|HC4}BMN`eQ#an$5--j&)WQ%1)DK?8iCoV(tJgEKm9K^BK>TfH+R%Q0P9 zn7wUF;nqJ$e+L@GcA*0qUp8Y`+U{Li012C5tI*&4H?V)tdOVgPD`B++mZ#~$Y=%o$ zmS$C!7w<%iS2##6-|c82vy=r3&r4N=Y7drk2Lv0z-Ex_V1H{e|7~0!#Kt5||2sCw6 zKeC2SkveKP%G;hP9!4#ayXm;?X*;*UW1Jg=gRc~h427ZG9E_|W#oTSFWzmY2dhWVP zGmHy{Zo-3|9VCVQBuHUDr5g^K!hS;B9;|aXbiT4N>}O*!d?$`I$igLqL8e}QR z1=jfW_~^l{3nk-#NauV-rMb!ZBg&H#xAMk*Y&IRvkWw~qZPc2`wX~P9uLE{7Ko(zP z&TRHPiuH#)ROW0eNGa59$%*z8=tU6m0w-)+A+A(rnXfDrB^^M2gqO}~e*qgr2`q>Z z#6g&Zg|8o?AnE#H~$PpRm?3mQAcm-V#^kOL{oe#;z`N*HLHIb^UtRBs9nU zIR2kT;lG=Vxeo-^Ch}@7iaLh14VV_Zz$?}@&XNzJ&(aU5;RjXf<*7?ky$l~ODcm;wQk*uUScz&oZYNiEO2xs{yaK*4 zz6!2%6oXLZ)-2}}6zdyd;6jNUP(O!=yfp&GW)nF)h00A1Sa39v{IEEpR$=UNOT(7U zG7$qb2gE`(nW*JRwwUX#;#Sh7dBk@)irAY3{*0w?!kE=lC!(BVhp(P8Uf=+3w2Zr- zS-tb2mZ*mm(Wx9M1BV?4d>AWY!=WRZs<Ct`WAO4Scyxa2ni674%99+&qwQ z9Kz$XVAVYUqb{kc4~J2g+OQ_${dA>U#@d{@26!~&oXn`I)1Jd36>qWuo9^c7vtm>L zyZ)5g`I97w9wW)8Hk>DzMX(ksr6xY9!b;#CV8g`+hc9=}Y?bQBZJ*+lHCe~`sN@_C zWJoiXgChQUC)DsOy~I8VO}z|qP*VG4917{fkphrY?NJsStw!L(i5!VUFPRgqcw!Or z;4B~na3XR@aNFRsDB2SK$8rg50obD)A{m~Oe#rs5At6pv(bcnK-FxW#@UpDx6R)(S z&G>zEvH?=%rzmurpU9^O4CII#!dF+~^^IqsZ5YHrBm|r%2mkRE#vu$RkE)-h;AkfM zKXjp{#e(wwFmv>Y3?Or{40(|5(p>tV>Ol2;3Hb(%*#l1BaOGXZ)MEJw)JxTkQpWGz zlUSqUl;C;hZc6KD8?do*bbCX?%r%t_vbc2D`T_XJ4#rQz?Ia`Vd;6(mBsFlx9HS-g z^{R$FWX6St^p&!OAp=>p%~8Ceb(C9A4?thSk-l3AY5NsP(PF-%Ax$C}gUS!5UHrvb za0GKiB9fYIf?nlj>ffNqs}Z}01CJIYp`7`sZpjhtK7xVUn+pEiSv{S@^(SYOs%e{Y zn1z^0Qz;uGaHFTra2b7J<}L6~ksutL%0PvU4rZV+fSm+c zD!|Vi_1+rIeW_PR!&t2HCr9C{VMjXHaAEN6kOL)C%&Ng;Fu*TaCJh{KME#x!kiNB+ z{K7DTeDo)Va&RVxS2@ce+M=aJx<8jp)<6-pLGo6>9bjTZ@A-gEiUa2n%cUO@NFDaI z!DNC`Gnj+?+h%j@!G}-u9E@o%I5=_-grdrx0BOjEi!@^4o(|TpH%uc}MqSC)foEz4cQeudZ;OSDuU4ivjUvTS3+ zvD-<12Eh@&v_Hf7CaiN@&&F5AZ;z`)E7`Ed7JyN}nBl?yrdF<-%yg3q_y#-5SI@ta zON|gBsmox~&x1`L=d^jSL~{P&Kn1cTc5lc;ZX2!RiGm)c3XJGV#30(%h5>EFM@WQ)fW+)oHC$Yg0 zXc%VwvO$*k%9evy<qmV^2tc2%H5HA$m5YF%S(`MmY+a+O8yzr^K#@PehwfEJu!N1fs=1ap>^|3C)3OHC)IS5VorBm+&Mng7wUV| zx2(FQ+Q7mayG`ph=Zu%mDCrj){N9E4XzuKVcZSaq*M-kZ=!X+_sJRw#4l={dXnOE8 z^E7>Tnb~gBZ4rHQgq>h-wGY{ub{;G6%j`#Xhe`FFO+Viw*x}C(R`~OS?S62u%?}M$ z!Nr};&Bj5WgUiG&V?;XJ&elY-55$+g%JVvipZ z>{Q!r*lxkL1l!%%Zr4;+5!YT^KG0Nl1{+CXE3WIPjWF-q$@@A@b1!M`P}4T4RdA&w z*h3z+1RuGr!5-drNj|aPM(pm2meT51XI>3bN`IhE-4*rYb|XxhV14j%@K<`vVOQ|0 zU}~@^_+7BJyi@R6uqIedxRn*`*9Du(+f;lb#@B-F!8%gho$MA&OMWXelm1rH*&57} z8XrGJ^WFdIizx}EDvKldF!%)b8^m@}{j0C1tl(;}n^1QA1hF+Q+DZ04czce0$1bre z7-dTAF1z0zauG(5eAmb|bFE!5eXN%o;BIkK+(YhhuzaSQ?cQ@M+{bQ{+vWDt|MGl& zKiS{zAMjKCqkcMjQ(o}1{anAmFZ7H2a=+Sd@Fjki-|r7aB9Y8UP9!%nJaT*F-pJI* zqmk*6=OVKre~-Koc`Nc>~9{`%)fCnU*pmWp2u%lnp8SQ!`U@Qgc)D zQyZmTpL$>FL+oyOBK4WnWoemdIcd3R`Du;P+N5z39h?Z&j*)9y{1nVz0rKfPJ{ z4e7U}-=2PV`hDpSXJlqf&UifIxs2r*>oR*}4$mB&IU(~pv;b2wAIO}RIXiPnG$(p% z^r7hU(RtD3(H*hWSS;2jc4=&UY*OsH*p0C%v3p~4V=H1G$2MiTtemX+SxvG=XFZU$ zFgriH5xZMjXBTI8$?lasAbVu?W!cwfPs^SGQstWFrjBW6TbXKhfN5y&3Icz=sp1El z96yv1#$p35m^!r1qTo}rJowCZH@VoZi}&L_^wyoq@ey2F*q$cM_BAc>0lyzcT{*Y4 z>Z3fBSc-@xiqE#1dYFf!p^ma-XqYT={H(b&c+X}Bn{9iOW4i?Vh`A3j*CpoO_Dt;V z3O3m(id8TB@zMkFk%?>6cuWm2<>O}~_E6uQvA4XvaHVo*VX@l zQ8o-Y6p10(Z^AYjx0P5Mky?F?Pimlme4c_$JMxJ%r?jS-8N6>^=6;3yuiT5cKMaVv66J!hOj5eMO7bRcCbd*hiM!O&I=Cr4c!~Vhg#Z3Yi0{#^^$FFF7OiG4 z51zNb2v*q#gV#(wvn7~iJ$GvGs?7@iPD%e^YhZ4L`NH6RdlC0I-tXYP6Y~`O{+#Fi z!5sTk@V1>3thJ!Mofj;(^D)02EcCsDRem7%Fyw&?xJPi0rD-R1NTkbx0-I|Gp#_$ zBHExEZLq;VPPW_;qQp z#VlfGwcIo(7rV&$DC)Hj`Mi*N?Lv+Y5?72Iv?9J!NPQ8hHzD=rq~2N3fw=2alLJiZ z5vbHf6Jl$`sF8xHn7cFmgt@lu$5Y14v#~qRG`54d?=p=^uPN!BMv3c_W^X^hwD)Im zpU;>unD?Qkr5}x-F{Y;<%X1vh$HCs|TF%bYKpj(u)Cx(hkkkrDseqIUNU4yNP9c?3 zsNd$)Z|!*f)+Mz9QtOkHT5VFRM@sEUsV^zDC#Almlut^{D7B1G`J~yMTJ52E%_DRc zdCelP)d-zOUKa2ZMA za_I}7(N=3gzXOz{6>YTLK8TMwNDcF-&(-w7HKgAiZV2l!oitj|c6*4wDe<=?{tmR= z9!ir!Y4S;Tfde5y3|Wc@)02)Y>92Xio4kz2y;y?<0d0fK3q@>E~o_;RE_goRXCw4oKOo+s7d|hQsNjTjoCN2SCcOC z8F}dnM^q(0#k5Ux+NL@AYD2!-ldpboMOAX&60VRoYDqp@!VOu}CfW^u757c_PcYv9 zj^6h5+FI&?c^-XyG5z}kaA!08vJF1jL)k#^U>CfwfLfFJ?IwILr`9%8W4oCnErP2; z-#hWS4Id(%?!+~e@50_}i5+~Ury+w8W}ETY{D<^5f+s2Bf_n`5H}s&ODtFY%iwy`1}t( zbMW~NKHt-kxFfOW5POFTZ($5o$kQ|AXASvGC;W%xry(I45<*6yTEw-0xOTy9+sM;= z_Z}nP`^<?#286Cj=x&70jORx3y`2!BQ1&{=ghNbw(%eCa zO@wGn2$7=u5F&>V)kt$4AvTfbPSV>;$gSv|qz?O1w?oiP4x>f?OA&h;7AI_(rujQ==Jv*UoN#Si3_PgSoEE<+I^feiWL(R-5_*K0N8iIET z??%p(6h>b>b_mEll3DZq;EiBku$)=<--A`bf5?3*&+WXgVV?al_r_pLfX)Nmz!rRN zDVwisyPEG~tL*al z`Sqi^^v0wsMReov&F*rjm=4dPV`dcE!o3wgm0V>m+S_*ro9MN>0?~<|;4AnncoKAY zl~M6Ybmh-VeuIAp&+)dDclkZe__;M$8%zt{BNy+*GmsuWDbY5hs4u;cBu~mkzubFL zBK}rK`c3p{8Ru#3gTV%#VDr&jI_~U+dt}^U9qJnycM6g5+n^gMCdc`jYgU4}a%Dvr zO>B7cIP8*;1^guBmtQef2V&@EbD^^OnX6&LH?cX+t30w*8j1EtRtPIx+G=wuSf0e! zP%34-Jiz=QX^pG$B=K26_ATS?$|T&%>?=>@=v@SH$+^-ahf++AyO)>ENrC0Em;Cayf-@zXl0p|02j1l2AaSq;Mr21R% zRH@fW4Z*vWIvvp=(aOQ{BRU_^G9k5>uk|B({Z?7hA2ye*_fo4LegoMnViw-b6!9~9 zC$dmvn&HAunD|v@O4x)UyP5M67GLs|*lG}~aAJL)%}7^hXfHdo`o+x>bA9!jaH|k? z#g;C|?-l%pufk7<^AxN0yMmR>eAWi+UqGJP9`c{`7a7q`^!4TWte7HmniBfyO7v}| zSFl952A5s>+{gI)X&GAb_7&$Ohv%}Kyh=VQn_-6jsLRcj`H(`C$q9;?NNPH(JK<6+ z@s@AHoWu+O=`f?TI;#ikv5%7H_1w<~Gtm(}9K0EK&oJ58%|c3f9dw)#ECvT>1q*_= zk>b}umw=joDvhgB0~)JJFXpQ|n1}BLQ}T6Kp8#@-sbs5 zWkwE=EBHLQ4Af~!g*FSlCDD^0*}Lz}5q;s{c|+c0HScP2^?dLFrFe<_yorRmDOe3} z?Bur|*>!(XX1=pV=5OoawihYuJKzhu!l?Oulx{O^_Zg3nGm=XY z_Acy2dxNZoTpE|yl6`$w%)x9p@_@{tL8nh>#kibbamN~^{G68Eo7~gBD`h-FJ_}7- zwH4Yl;jXB;nzws{4IoGp!BqUUGmRM;8?lmf+%v623McPL`y5g4T-ILSY0PO(%{4&Q zOTOyH=iFs>Ss~uU<*!ZU<`7&x2(s?` zV$7i)*xB(-m#KXE!8??1bMQv8E!s+5+Y!_$U+ywrWja8SykzcQc73~A63K2gqs2^c z@*QRYTUZy|f>gcl%cPOA@_gG(%;eFih)gD}0zSr9NXptMECJ>I1c_&3X#e%=E{?w* zbsks3Dla?DDd9e3>TQ_iw~lq|3bU5P%o|^&`?gtc4|OH+Oc3%@?%lyF-{N{GFfBB@ zEujs=j8pDClw>t;t$406^|iOPFz1?jm_*;18v6XUQS?yDk!qf&*8c?;u0uDqj?(Nv zTHV8M9T>U;6g_N>yS%ho_Evu6EH|orQ$;U87Re#;g3=7+q7}~N?NojSopcj)(8=(R$>qJ0Jn;mJ?g6`qj1*MzxB=oe0O zdS8Ehq3puSVlB!j<6&Gk884@5fpKAG0c9l7Co_>FU9|fFb|aTw#J8sO<%Aj7*K|x5 z|JT{f81XuJUqOy!1`PW1wt?Ips7#_crX;>$&tRv>r84qurKCF(-1%+jK_{qcL{rTF zJ5_U?&@YRQIWw-&PUx4*k_+|NqJ=i9Z5EU0pcAVj61MEB&zrmp4S(J6TcmapK9gJ0 zXokL8@*-~un`YQ_Q$2Q=v(UH1mHaMd(RC+i!Y#Bh!7|BAdC9pfdkGW$aF6yv#Z@?% z`DEG1m(UH{>k(kug% zKFYmNVVXxrE9zIiEL6A#_T`wz7%6)Fgl2Tdk>f3sZI0~zP1uGzvcQ*2nw?g1OxWr0gZg zX|jgF?j71>BlcT^zarU`_P7(7U1a%9nm&~0UUE_@1CqM%{SI=nJKW1en{Q_pO7A_f zV-=;9{gGRwE;L0=S7WDRkgB-|@ix?`$bEO1S^ zt0G?0yWTx9c?te43B@U^WMz5|`me}D+9F|Qs1N?fR3;Iz8u?FZavy6Xi*Y0L@m`_K z7N;_1CFwzB1xc<1pHwV2+_4~$C+g)>G&h^zp-no+klDr#d{ly=Vay3yadk6cFHd%{ ze@#~~U(-`sG0Egz8S1OF?}R?-C-V~8|B7Lc?VbN|aK$O9Bx)biKGFY`Ng0@v)}(pc zOMm&Rw36UEeMTt#SvhH+_UFyC)8?`mzbI#*D`Nm!IHUto-pmR|BDE^aF4tnaT6gWQ z;{Or`K3u`->1zBRH8+yqZC_QZQ?b8(QHhS%jh20z|1XzbAoXJQ>nuf2`8IQyWt4gu zSRS9Bi8tzQm(YBhp!QcsY+Y-?9#nbh#GUBK7o0@6nGH3rvaeihP0tyeDufh4EEJ-f;fm znm!@ETlMe3H(dCy6EZJ&v7TC$F@Ljhr!LcYhxHu5|Al(vUP28W);dW!`8tfu$dHa^ zfJO^3?PDG%bH}gqVkS!JNm%f8CN60O^U6|8jGFX|ldyBAES+RiVkVnx7n%>(2p{g} zWZRV2Q=Yuk%C$ng?&;NAXdl_R!M}h`UfL2fxVNAzg#-rD=Rah`m;W$)49xV7+#6i^ z#sAMBj`d~#aDnea{pnV)oH;vOu$56BTGcEb3=`I&~<%SgiiW=f^M zWX}~^o)q>coWHpC5BHbsKiQm!ud-*NObPcg`AH<-GS@Ow=(B7WTY{65@`MJ2vap63 z_j{P0E8%kZ^GJ1jEaf>o#-p%Fl@ve)G&<0vIoub8m4AJ}GfBP^b#gdo$0J>yb)&#PpCa!YhHB!Abb%LvlG1>BUn$$!MHNt@2i8xBjv?9%OS|>mC%b&#{FR_sa@Gyyc@(u14~3AOD3dqjW@aG zDkc=yx0lX#5@T#)>_5!^E5S<%yTk~=7$kGd{Ydg9iL{b6>6O((A|Apfjq{XbKJ&sw z%p6#|!>x?h1dEP1i)0G-rs|nW$A>oA!1vj zd1aJ3`BGY0>PIpqa&#oO6J+P=O_f<(`z9Uo*h|omGK*Gje{w4xPfD~^XQ@#VpSqn@5J#fTG8NW92`wY&F<8P=( z(iwYcpCpH}(`6&~=8Dn}eVBTbJcEv9ySG`3mrM54AN?v3bs*X~!G!pg7>5(@#Heyr zWp%{dL)On%SL|73;VUyqOCEhr508bKlz&dh9<8$7LhG<&olq`X`e2z{7207dD~X9- zDm=OOtMX(b=8DfmJ`S@_j8_#MD!jv;rTkFA>Bz5%^*6NEsz1-5b>*KW@1i$aoEQ&7 zbWFrd>&w1C_WK=8&#D|*kDQ^gI$HC6<|Et4`7-h?D~1&`Kf&M0 zuWBO1lzh?hyC`kxEFjtK=*(zRLp&%cl@{ac(dEM*`{-OgeEGKoH*wm9#?eh#^%+?{I|`k~hy->3@4x>nE{t`Hh^4WXyG8qiBzGiZV1`$IuT z*Bm-bLIs%`>IOCUc5R90IxAlk>`e<>yT-j>Y^^S}22ckvGhTK>Ik?en;zn+B^iBto zP(j8cjd~w34yg}wm7M3$9Htf4OqhSod8AjQ3#s(e zbTxi@#7XX1U(&B-XQ1UMb-rO{+c>@iXU|Z&PU$J?+Ca_MD;=YBw9;-$FH*WvsS|3Z zyLX|FNLVB5Ih^sJu7j0cqVzVU9}DG+*^=%^r7e{ofon_*p9{5}l>S+1gmH&c zBGlYnX-B2)l{Qz}Lg}MQ>nW|Rw1%Qh6TvRqnUUF=2jqMOBXdJ*exrUCy7sshtGS){ zu@`G?v{jqxntD|=zakVj!dAPv`sJnAGdE>!|Mt+Vi?c4y+!NBw16dbG z&C$?kDn4V;YS6s6IkY*P*2hni=&8{*(GK4V+Kv45i5?B@kI!?WmC+&55z$Mdmq8~) zL-UEH*O2=4(U3~5-mLX}bM!XMQ=<1mAB>wro1>u*6YBA3NT0_1eDo#gtY~OHdfF}e zcd5gZM&BS;ZwXIUPLC?}_sHS0XhRRO?}6NMobP z|K&$TC*pH*tTK87uD8T)kKG-+@7qANbPpX3jonVpr^TLtJ`*>GHX)r6n;DxOJK1zD zsV|6ybfM-tq>Hd$9y@xv8vh$&CD2`QDy5)Bj*;$<9mfVxsq?H_Oidu z+7HzHV>RETevskuxkBxKqxRvPVzkb`F40_t^P>T39-uyp)f~=}PGcp(+Ky`9R?VH& zJX-zyR^tq3XQR|+l)COy+Fxz@tGSJu!x>*=F{7`MJfEhso^bAyJWEQ_&&b(Xl;ZZX z*^_I*Hy>nnCiAH#IvdjYlB;;%TW6T?iZ9))3QbCN9S&? zipF18X&ucQ*&()CZnN9swz?9x&24v|xE*e%+vPbq!uRxN`}6!DKg18^9H%?{o&GK_ zx;D$V|1GB!_3(ZCnSOvj%MbGx_z`G&F7>0(_Kfjk{WyOaep1~BoC&qoZ6I#)iFRtd zzk=tB==$pLFVcGaPpN?^Fpc>qY9U|VXl7dS@8Z+=%0?&CnJ<_3V5eSRPEtIJFTtN@ z&gVq7A$-kzxEaCs%r8dQH`B|1o!&pPReQFU&pW zf6*lV(%f%;ZGK~ZXQr7)%%hyh__+DKdBXg`JY$|it2l!b-d;9;HGea6&@0Y0^Uy5* z(=0ImGH;rHqg`BR-ZAg;<@Cj7iCKz9k#FOh56ud*(tKprnDu6Z*=RP|6i$fCve}&I zm}8sUmYnI>+P3A)xX!k#?QVNo&YrOY>>xYb{?J}$e`K$>|7~xuKel(xaA-DCIJ49*MNZ)0)>rOk3& zHk;GKBDRX0M`?3hmaAf`x@xYPt>Id_mbRvA>)P5}ca}TL)^dZ~Ae-lIbGO6Q@3|#5 z-z{^?Y(ux)eP|mAuhRQUT!}3dZnaH)8((Cb!>`?JOW(`)vTb}{f4Xh!`}uyho$v4a z+hTu?KgV(kh(F(U@Pqwe%PCQQsO{t@`k&d(@b;tjT+SzZ&W`tg@-Nsc$avIjv1nMO zE&1kt4SOo*ezdfm_)`Dbb}(lN4YfnfdG-Q3%A9Y<*o9`KU1S%V1$L=jZryR?L#ZwM{bSwq>Y@g7IFmrl$_>rMjNZucB|dS zsRTPY2{fuFfo9v!Y+$N5>#WIj-g$a@ic2+lF5Ph!fy;4KO#@fm)iDh@*R6$V?pnFl zrZeY(7MrfFgX>^=xK7|mPuJ7+=2XSg-2ii@8|Vg_bKE)ZJaeua?1q^^ZnzsxpQOe( zEA(gRuI~VUTIdO&MeaU#pK0eFa1WVcH`Prg_J`dgri*)wvp;)q_UAv%Q1>tQrWxzr z;?z$;48FEcT%MCZS;zGM^b0uAWDVzk))Y6+1cj;eR8XU~vSM%r<>wSs&OqHl9hBH@ zaN;NM;!e)3+f7Yy9x8#-I0ZG!WpjpI9;ctyrNo?mN?AK{=4lt#)pc{-T@Omy%k^=6 zDeD=opF7j_ci-cbyR#_u*_8QwO2|p5?ov03Q&7jcaqcqreRsM0fg8_xsGNn$NvJn- z0_y*A^67o##o^s~t4EJaEf_u@uKIg~ zzW?l5tKiwkoWe74g{FwC<{aUYZZB6DQ|Q4HI)(o~$xW{?b=?xT#CSOS1J15ofn<>4 zR=d^MtaWR#+2A%{!zqxMcQA6KxIL_kc*mj5*c@PeB!!;Tmy=)4^qd0{&+Xa%Y)(%B z4LL7n1nVDZj7TG)m-tIKn`M+Ah0oD`G-t$&@nb0CSU(o?I6n^aWsFy;Iyyz;rG^VN zXI67#H6N1q3{BZ-%87cCG`*(jHBGOng|WKQ_#*LqhN*|?hBfTWVA_^-B*sMaq_lNo zG^|bdMX32xa4Y013K71_(E?vB^?c#JjEtOiYUK2!vq1ASMn_KLWKz?LY6MumBsxn%;-#b~+Q$Mj0rh43tp@$|%FRpkx5b z1!a_h%Bja`GRi<1WuS~QP(~RjqYRW$2FfS{Wt4$3%0L-qpo}t5Mj0rh3_Qdr17(zf z_VT@;j51J087QL+lu-uCCC zrR7_23XQb%X|!`+GgMpJ($be;FKt|3+qeTQe5E;4+jR)77`E9X_>tCPRf5*)psh7b zTWhHK3%~x_W{x&{A3l?IifB8fXgf8~c1qQDDqtLh2a#-2Oh=G~kwaUq86#shZB~Vr zYo_C49mdC&oDSH^w&Q%PV#dmj+M=BpG0(+(o*mBVJr~-soS-(2ldbF6JMEovni{9P zWY{ToiYW$_?!)GOPP}f3JTwjaN9=S?$a%{C&9p)un!_18at3xDlF>X)@|(}dTU)uL zHRJCh;#_Q35Nf4eNemw`3fF{hR&zSj8n`FREq05|MT$L9#?_^aYSQX`6^Dx4hqV0& z?eo>$O1IKn=vFb0xJZ#H%ILesbmM%}j~N{WrHb4-$0>tuy<1NxL9FU-quWR*!L1_r zW;?E&ZHud5Sasy;ow)9HyNOfqEb8{Uy~MfC?ITXXwj#IR?I+Y{?lVFO&Q*5@-9dAq zFXTMq?!KvSY6kgczL`1KxAZMJ(d;yTnmGgRY-0xcw!WKNN=Mf3$@x^heQ#5!_|{bMt*LT$w&GS5 zKhO`vRZzBxa(P4L@Dh9Sy3~Z~o+YXuZQgf=}VN*rl97W%%ioQ9DzEu@{ zn=1O&ptnq9#JP%-u=frV;y}yC8$ZqmKG2ipI z_*+ab|5N`{Y;NWBtQ7w{m9O?LRbAf-tKS9h- z`X@P`Yr3D#$!AY-9#^g+b`|<(3#3~)r(L+;DffHj`xN-T3MUQL3$?RC`998_Y$DQbjrsYpW<#q$t%^QL4J4RI%cdReWlp z_~aCyyy8?Nm?OslK*T9mOZk_5+{l zC_Xh*eCnw9R8#S(qvBINZG+m{1|78x8fzQW(>7?L_;iZad$!hlRjv1GTJKd9p9;11 zYbrj~Q+#Ty_|!!4siopmE9PnMBMUEbi_G^Gt9mO|bylppK(T6wqErt>sqTtW9hez> zWYBnkRlOCfIxAN7QmpE!_|!x3sk`D+2j&l(Oeg02Tad)Ja=!O)9qEQDR`pP<>aJMT zL9wd0VpV6ws$Pm!Jr$pNC_Z&peCpsncb^mIA$JILIR!mYh*$#@u_h{FP4K6(Z{V;g zm?9accY$Q7ie#-7$wn%Y)m0>`t4NlqNETHj8>vW^lQdp)!X@K%h9X(MB3Zs7S-v7! zo+4QTMY6hzWQ`QbVv1yq6v<+WWOWtEPE#Z+QY5RXNLJ*p_E&?)f@jqg&vN}_KiOQO zs8+0~R-~xb*5BxFG-oQdbyI9RU$L#NVw+cNi=dCWle6Nd_$lUM|8xIy^I!gMf43R! z@A3DTG5%hEuen_D?_5scp2|+3-}>Kz`pH=Md;fdJ4MD-`ihrjn{$=^6(es?)pY_jj zYULmOAI<6hdH=k*NO3U=@;(M4h%5{?BEQ(UG$GPmm^b8o+JYTX$eIRUDLM^EgNiAJ z6q$u>j@rsR!E>{F97#4+?SzJ=bp3K=HZrK(ps<-9Pg7*3W{O4~6^){bMjaK6Vv0ji z#i5RhL(LV3Iw}rjDGn7Y4n-A*Iw}rD6^A-14z*8`kT^w>Ux6Y}6-A&^6@hXTd#Wn- zbc&A-qBV&q_H>krobqTfX0eb-1>!3ZzY1_=G87U6gLuf_ z(JnMZyO3^Lx++NDEzmLKFn6o&szY;KE*gkDSKD-8=G_3BChin$3SA-Qrs!rHx#sMm zYwb>Tr()9rnY}jJ@M1I&%+b*obVD1F%iO#lq58W4Xfi~WudOKSG;wy}J>gH@Tb4Dd+%h#{3ia z6Vuk+;%>owtGksL?r?XQ40ory6Pvr-U8awl;(m_J-R^Gk@C)=NY3L5_C5OLszr^N# zcRxNKbPtm5Z{5SV{?7dl^E7lQh3--JD5*c@9>eBw_j~g2w0j!=e{g>w>@)5e%+I=K zDbaK8kC>l#&*SGs_agDkbTjdT1_Jw6-QTcz&HaON&2@9}^SXPTJj`?RaGmewV}1io zO&c^d|01?G(buG*uX&4{|Hm!F&)e>8?B7Lm(?u~as+i{$^P-A&?G^1Jif~ayxQ>cv z9Tm^2D4yjg4z*XLDMk;pl)fz*hEUre2odTPj>ay5Og;&jtfnHU6^kQ?%v+uI!rD%^z)xMOb{U@S5CzLKhIr`6!n8^uBh2Qd$ukwTlm(5eITt&OkEZ-H& zVcuMg*>rVg$Tihn{1`MmqU#YV|9cmoa;2(?6HL$tAaG_}krWn;-F{-;_RM)r$LNLm@A&%2b6{*tDFc+aUrkP?_W5urKZi1U&PE`bJtO!=92-a8;tWXiG zg%bp;q6pSf5v-LWShgZqV@0smieQZu!HN{Y8oQsmpMqwBV})oqe+GUEn)OmNYpiJ2 zM$xR7qFGZ#vqD9)CW>ZFRTtb$F|Dy;S_{RrLdCQeifQc>(^@H}wNOmUR!nQGnATJ= zt+8TSbH%jAifP&IPwr2YdItNd8!EmPijEbtpj=ZltuIqcf_04*>k84g&LRJTcvTef zvK8@~DB?9%#A~96*GdtuxguVnB3>^=yvB-n&D}d_X`89+$*IrCJH;w>)>5f6Po>U0 zl{!19)EQH$vzAJo`6_jG()n{|l{(w2)LC1l&e|$<)>f&rj!K<%RqD)Bsgu*A{TNQc z7VRY`Nc(Y^MSGd2(izwW=P)~_BYFLa^d-MkY^3j}fi5Cv32LQ*TWR!jK`lWEk+H-* zymRRBY1}y=RdsxZS2ge}4Xnu_4zUwt4zXEcO(nG02ue$=A%a9oK2v`Ewcq4uzsc3UQdRp(UF|FR+E?mnFR7+I zqptRey4ojdX`k@gC-SsU#I#S;*4|J@`$2W>0R`Fv>S_#R%I~$5-?Nn8W6JNfl;3MBr{^n=S5xk;t$dxMd|g-hI!F0BU-`P8 za&%qg==#dhUOBq9@^4J}x0>>AUFF}1a&9%{+t*Lw(YS}r(-j6e(K0G_F4-ZH7OjjpbVEpO*1`aVb#{Bm+6HJc@ zqb5&el|xq-f`C>QPLhB7wKN^khn|h@a{?TGD{H$Cv4;CRTwwbQ?q9&!dq(|R_^uYK z^{rS%?rY9L^1qT5lb^8?{2Nw$|D?VwtH{MBz4wSS3e1SUy@wQ-Tl)@zK66&@5e4SG zv(Ft^U=9pA_v`}OXb7%$z>q;_6t)O|&PCTg5k2~CtTazGPqLOQ zzN*5p*^I(X(BO74XP}|KklDvoXh8l4E&Feo$NV|&Pe%JXX!+Z);@yu`?h$4jGn5~j z+f@_)lzAcUFNM0O%Su37z5#ls8H6U~GESDc(cEF~L+|@E8u>8YRMO68HND7mN7Fml zjAV`c8grAmlQr;Z%x>6iqWP0vT#q?aJJ#91XNIt*emSd3H?wm70Q&xC&=ZIL(&_#6 znav@Iv)VA!Tx@<|CYztIV(=^GP0u1@h5jLA#+`_8DgUqa+ zV|_jJCvt^+VY~yY`vc7d%+Ic%y?@GT{jXV-|D$=u{B_i*36mqkm0qg!a;1}$Ua#~P zrFSa5SLs7aA65GFm{He`i_B0uQ|WA_bCoVox=`sNrOTDBR=PoH$(S)$PKxYOx?kxb zp(zoinM!k%<|@rs+DK_LrLD(K_`&y6ij{Uz+DmCar2~}?QaW7e#Y)F29j|oK*ojwN znR1=d89MCmT2`;{IN znif%-sWeAvuG0Lgc%(H_+DvI{rNv6SDD9=RpVEO!2Pqw{^x~_o89Om;tkMZeCo8>C z>1|5yR{DU_hm}5|^f{$3O_Ds!RytSd0;LO;E>gN&>1w4Ll$I#nrF8$bKbUw~+99Fo z5v7?*bCl*P%~#q;X)~p*l@=@Qa_tXCUz^@bX+Na{l@3xmTGPDnsq`JCOO&oq`mxeYO1CTB zqx67K6<|cVkQwEPep(P*V*V;L%+pt){I!xid=)CAEql9;oBH_dR^-BPo_jJ)vR*Fv z{VG)E%IuK&3RHBQGBXz{vadyI6)GA`+4mq+q#3JHtA3phv&`_n8m+A{96xn&4aA9l zhPzh28WkOfManvUDjE)v1dpGJX2hy~B z5IZs+=JNRSviS4v_*3>HNnZ79j?8tdh2h+Y&_41&Sl-A>#ztnVUA?%?`Y4Y=|02P@HKs|ujTW6ZC?lXLCE_yBKuoyq#x~VBLig5bEFG4lB3hb zM#@~8$3EC}Drb|U{*(OpL)b7MiiffhX*2T5ey8V+x8v9~Wg~f{<0AR!u@Ox z`{npPLOhlDo{d&-6)Tu)Sh-xw?uzxSTFP$6qqKwDZ=-dx>2JmK9Lma$5N98u7SkEg za^V@#^Ui0r8(X^^I$wRQR9_BWjIr)5ZmU8!-%D#P1r({l7}JQIF6>$(j?S!}%kwSb$!0C=j;0hzQ8y1jeKL@#GmUslkaS1 zSHqcCO=R|U4|BBV*@e82oyFVB_i5X~_Fxb3Id+)6*j{EQvWNI)d%L~IK8Vix3HuDY z0A||RcCKAu7i!tN*xu~$5Y9V|RoS|<+-BaR@L?Nvl;qQn>~r!lxUwxPwe@J#t-NQ! zqeZOQ)~Aix0p+vd*ml0TZ$OK0<*B R(xk+)Md}IsI$~&J{vS2lvf}^% literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-BlackItalic.otf b/src/qt/res/fonts/Exo2-BlackItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..6097c7b9103c079a62e70b9d1f93edd30305eec6 GIT binary patch literal 121556 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 N^{i6+?? zunpJ*W56cZ1RDozV~lBWM@H{AGfS{P-}~Kj-h2OZ{>Zf*rbAVAcXf5oRJn7H9-WCZ zDI*+d8xtSz|Mh|aiGvHAEd_p`?-Z?rWEjiWj>pP`* zb`21gfefuxJDCu-CrH=H$SxdtE_*bdGtPv#KFm%Yna928f=A>cK$DZ4otEpq4&~ho z2@$5`h#QOe>rl==h;&=h z_J0B9e|i4z>o+2?>=fYk?_e+bKS*3yIdlM12k}KD9$_R?r}`(r4Zv!^OXTV0=PFcR zbA)o4D#Ys{{Dv7pJY--?(2fiqB$k^3JUmFK9Df@)89zDCn;5tX5-9_F6?}<7J%s-R zm<4b0cY?Nm2Ft(6|7-apsQ*v!&u#v-?ptNJeQ0MW@EQWxjrb&l{|VwrWA?v=1K`h0 z(unOtjBGz*QbIZYHf$qN?EeP$Q0AZDf2%i^Xt_^`@85x)K=kZjthfIL5=aB~?+{Mv zu>UnwfBWB;ebX*CoYawl?Lt~G5^3=7fbB*avaLvcCG3Q_oCffN5C#JG{|MEO|MT zEm!@3Z6w#Jeui{ygf|fiDpX%)o1$$8FbOD^K$tz=Mf z`sa|#ek(r-Jorbb{`sHt|5iQ?>3@QMZ1Zn*-zvjR$FttRs~ey*=EFAdQiX;HTQJ+I zA3M^Ki2ugAlDhvjd_auM3S#E>)X%KQ`j&$@qYD+KGbGjaPnuy(A| zV50r6zy;>2ctM&h~0$ol}{Wc2Y0S6Nm@6At-$t}WW$1Y9csr6{`x@I&=;_FJssdL%*NOCj>M zA#WeT4*{jbiu_20x8Sd$f5?1HCN*Su%}bHEzUHOOv&|So89?hRekmb%#Z-|PnJ)@m z(=b=^2n)KJuuIS{_A*)Svtz2OFqZKg!M^@6;n^0X9@`cBd2`5wo1~=z_pqjlh?xz6 z%ya-3hO_`44J2(|!$idG4uICmxsq_UKhhmhuRFqiqz&^Y;tcugF zb2WP#<0khVO0>)a%&SJECD+Y?cSn?slFL{B$u0&DauI)le#RqA1Kd;h6qX|fHVf^` z5Dp&xf^;X~+8mJYkb^6$U$OvM9xHs2@ysO73hl*+gEp=u^pzK>RAA_)e0bcQv zc|km1^HRq9m3#xOulXhO4eiO}BJ)L|%LBNzz?>Dpn~vxg@=ul(3J+wNm{xro^4wV& zFL_V8M4Gb0kUtH)D8fFo3;d5pUKsiu3;xvyo*hUCYao7@8=;6d`mf7n0Jllizpz%! zO+B$D_NdmM1!~;SB^0Rt?P5?PC z7+?m-`7*>PJj%j6U5D`shJLyi^t>HkMFN=p#E+SX=j%x@GZypa00~2xQ06~9`)}L$ z|F|4kTiunLNBkgL{J5LoauA)(|8(8poFsRy1MCxmpX{*>uXYB4<^6Z@iGUxeADKETBFLAfB(ocSJM zZ-lGg3N@q_s{!xAQ8xnND)4YV_JIo0h~WyB4lC|#$MLN#-snc)pyW0ubg8hL$)Q70F0?K)=wbEK~BuUp0W!Nk9F4`>j2Mr zJ@I1a6CZ`<#+bW)n4dA21CNP~ZHPV)XVWof1jtk14*jPsAe3#5y(SL8fWCOZF7Pn` zbY){R%$B966>d%s|jwUoNY2RPZOP7SY!& z^i1m2iTD$LiDi#hM>ApEQ*zRuFiYg(%+Jt22%cgq#Cm)Fy4HL0LxB7%koO#Mmhj-C znvZ!(K6J!+q9->Tae=fX_Z)EzabhfvxD#=K9-!8RZpDN+;s)?29{n@C6FMtora0mZ z_8m~INa!ly{HG z%^Q`UnVwPTzs)~5Fes#nf2ZWa}3B2B_$;RIjNZiDY?aI`Dv*EDY@DH z0sfgeLvtG>7dHIclZH+FOEL>H{JW(Uq~#Z@@$lk+}i>Ju)&2)V%Jw zLkmli^V9s1k(HT}mQ#SzMLDTy`Tm6&Y5v_4JNS3bOUqFUcTfv7@qZ^RzaTR=$3G|_ zC;$!m2S?{-r3M8A1_rf|2e}3Ef}6^D%0quS_NIzls!Ml&1WJXB+`^RHoMN;U7!VQB zB0G6_T5jRcfUL|R!2zKGVfOIw(AUlVg(v^Ok&ME^yynfC6{O^6<`otM6l7)vuvl|R9vMaQNhV1r8Ke*savLC+ z1Y+@pkS2(CBFV^4COLpKl7*ZE#IgbYqyZ^W{sQnc6>Sud6tq~3a`}K%5}>5BQ8ECK ziBd!HyaDPKl7|0ForX&9C8$*h%=}3=v{<0DEVrMEoOraAqu?y#n2lV25=TZNSMIF` zYRMSAU9LNx4MmL-l$SA-ags}9AxuF!N9jRsyGX%Kro&(9UoP97B$5sYJA-F(*|%Hn z@Rt^3zP*Do`Diaw!O|c63{XJDQ08$oo@9X%`AML{@fM^fNg}<#^A-+Df*}ZBm3vdu z|8?F!_42B%F2LB|(ej%fGSF+GGA=n7DHX3kU=V@77RtB|2j+5_p~#gvGX%H>U=s-- zVNeIc@fZ3J*!}x?^54x7dG-~8v(2&1Hv`{Nz`abQ3lR@c_?U$-7rE(po&rn@{ztiH zD4&eyX(*Y8@y{b|l$wRe8HCnSNh^$-Ix6)X>CTu(9Tb5J`GoBN8ia>KLe`KamXg*m zm3ZbvC^yVe)DfzwfA`A`<6^n?Ts)W0t>)HqNn8)EC)bLb%0+X1xdg5w`vrTQy}{mO zzhu8+Z?U)8JM3L9itE75=4NoSxOUt+^k0KmNF6MO7!r%g(S;1gfTV(qJTiu?CTqz$ zEZIZk1a8s4AYWnE{Fdv+wdT5Wd$~^BSL8=VU^I*i*qsbI6d*h?~bP z4z8_e8dZgac1Hr!Ay znOlRg3nHvC#k)Z?yhHkuu|$6NFrAzv?~^l3bM6NBHFul4#(l}%<*swLxI5ezgx3e4 z%zeBO(SYmCNGa2fDP<~{`OG?IFLRN3#Qeniu}#?!Hk|Fl9%E0j7uh=;&*3!6896_$ z4%dJS;DWe?;OKGgecqKf^S*pDK9q0H58_k!;d~KaEtmw0&`@Y*b+Wozy{r~%O>13i zV{0>OxV42f(c0bG&zfn?wT`h)u~t|YSeIB=TVME#{%-zee_wyAe=Yxd{(=4>{>}Yk z{qy`s`A_#>=fBZ^3pUnW{`>t8`oHIYqNb^)XU$qQ>(vaX#n#f)a;;^oWv=C0%UY{( zt#-8r*Gj8<{`n1wt*!>GvcOo2IU>`zmf3?D@g4Ic^Dnj$8>rBDls(CwV{dW{rvZ)b zps_Yr|1UHW-i`O<{rEsWjBmjY;fL}0{0zZO@D=I^0al&W+3I1fVfDAxu{N>>Si`K% zt>*pQ##Up#Evar* z-LTrLT7H}L|N7qpm;0V_BM*`Qiuie8d64^H{DXS;|G0k&e>3i1!o<6NUq0QC`$v`E zW%rlfpK^c1{R#J$6LN0`AP-P-Z}`2$dyNUXb6qY4iE$t6b0zy&PGBu}gVagID#+lr zbI|^gx1T%29pTP!pWz(wkN>#y-1pp5?q7T@z6o#V$MU6o89!CX6N-hg!c<|JFhiIt zEEbju%Y~J~YGJLgUf3w?7v2|63pa(k!b9N~;fdU^@QY?GUe#>|Y}f4mpIymM@ocqb zJ$~0~Hojd#0~%j}ny*=ioQ0ajpy2;%xylWPRFkFR2*|zdkc~IFP0TltZVR~nkdU__ zGv`8P1Vc`);x<5nUFQOsdysuCxaM3-E)nvNg*@|7q_ZzpYzs)}Ajr19P?BWXRuA%e zx+33}kty6XvV@#bq}*wopV#2LEkTk$WmrgZT>U|k*M=;YC3y^Fxh%;IkmUuC<{6OW zx!iPS0;Ks?S)McJnCXzQX50^OIJjfJK!-E7E6!?exX-JHyAV&j z`>Tn2Gn|tdFOt9n;`|jr5^;CZjtRoqH5_*Xp*SBVk^xKt>CUty1DSTDH`APSW#UOP z(}AQgotVyKDASc>Fx^Qy(~V>@JxDfAzxhmmQixMn0W*M<;1s!l8Arx3>0};Gc-R}r zdS({c$jl)dnAv1IvykjzmXY1eQnHg-OpfAq<_NQn9A?&%tGKcF3@5@XM#JYto;IBa@jNG9R}?n{czSg_%b_V0MsC zaofF@Sx(+#Hjt@I9$CpuCFOVn`hfYA`xGnk6YdgL><#Vxu_qYSxyWC0c7*_dF$nKw56Z0J_vU=8qHL$L%j&)+)nBSQv%%3dJ+-Dvz z51DV7@0lN%$IQ>nFU+sZQ|1}-2lJevOeOPz`4=NGRm@AKn#Gi1S(alptd z%T8javD4XPb_mYX1K5e|1a>kzg`LWdXUo`fb{Lz^7P4bl4|XPNW@oXU>}=MHox}Xb zX0Sc6%f7>Y$~%-1vec5@~iRZI5*afVGUC3J5MXZfo%=)uS*qZE8widgL zt;4Qh>#{4^dh9B;KD(N2z^-8%vTL!otz#Rr>)9sk2JGdVSln}Cx7)%7vBB&%?CslG zJG+AoWp}b+>@MtryV(eK54)9(WcRYo*?nvac0b#aeV1*;9$;Iu2iZ34A+{}hn2lnO zu+i*M+#kHh#zH%YV~?}(>Gj`Z6 z>_==@_G7ji`w82fJMf1 zjeENg(i!(>9horFi)l-SF+E8Z(~IQd9|hp=UAV7!7x!?-m`&t3vzdI(oFJE&qvT8GLvkH=DmQTl^ELAc z`GNVIxRZYo6YgsCxEFFJe-IbkYZwS6B6)`Ui=UxG{Ytdt2`)^2!`;R&xcjSxd$c+v znrVc)6kpuW)WCg^1^1;^62kbAeoQRs!$gy5Og@>x6q4~wCYittCli@0G6{EyWy~-# zizy~^n31G{8AawYqseUCM}CMq=CjNm@)5I-e8Rj-&f^aD0^TQmjJv9P%mwlda~^x- zMe>mOj7#S-xh(9B*<5c$o9v_LlgZFrcR^<@=0JlanEIK6T1|r?o`zWab)_3e+*th5r$#(uTS`LszIe2sll&eYVfPsN)Ntj zkaVO5|Lk86g&NK4xYmd^yC1SZU0H49yjg7STCmiNLqTm^rO86S4bCqeA@=)0L6y%- zC1e7bM&^)(WChto_L9Rm8hl93lPkDLyGtI*qF)jGTE?C6W^7D7yiDnXUEa=4y zU{avMk7g$0U{JvWb|N+c$I z0w!<|h=QS5{)JfXrC8E4u`HKinQg(sIfy0jA*S;c9DMGu580pCr|b*dFljjtsFJm~ zhMXPSTr?E_&NwRdhiX3zgD?&oSrI}7o58N%=`_YmxV%Dv#Kc@6Kv zdqDB@=j-zUP_bL`iF_Bn7eA0sgA$s@m+%w$Y5Y8X3BR7-#_#11^C$Q-{006C{uY0q z|DOMqf6o6Y@Pa591s}m*s4oNvp+ZX`Mrbc|6?zMUgiIkSd*nG(Tved z)J)e@XclW$X*OzhXbxx&X-;U)Xf9~3Ywl|-Xt{tY$)0SvUwNtdSvqO{yRNM+Ue{6AL)T9?M3VDEa(NWz?C&9_t$>ikgRMRQIDb%T@Q73IAr^`;CJKc1;<#gBSp3_68pPZgLz0ecAR&UUo z^)>Xh^^NpF`Urg+eZ0P-zK6b_euzF(pQkU;m+GhJXXzK{m+RN*x9a!k59v?n&*(4c zuj;?lf1`h-|3&|YzDndoz347_i#D;I*i^KOEyQRsQS2i25(kQDVwPASjut0~)5HpK zvA9ayDDDvVi$}%x#gD|##4p6#;sfzV@i(zjtajEoyEuC|`#INgZs;879PZrOInKF* zb9d*y&dJUh&biLT&f}aXJI{2U@4U=;t@9S=-OdM{k2`hCYVD zhIB)Yp~x`SFv&2(Fwd~mu*R_2u*-13aLjPp@QLBF;fCR^;akIF!|#TFxiYRgS65e0 zSBq;M*T$~Fu92>7T@ze8x%PDJ@0#K|%yoq8NZ0YMQ(b4fE_7Yty54o0>t5Hxt|wj3 zx?Xhs-1RHhd#>NR{_6VN^-nk6O>{H5`MCMJ)prYU3w3Mh7US05t*cvaw?S@0-HP1C zx=nJM;Wo={f!lJowQif;cDo&NJLz`T?Sk7?w=do9xqa{Us~dGE?mBl@cQ1E;_lE9) z?h)>--DBO`yLWZ(7M64(tU#a4EF`@E8I7^?{+`z{(<`i_p9z-x!-sH!TpIl zb$@9TjLt@r(brhh*vJ@SY-Nlyb~g4lCL4zv3yr15sm3|RrN*_!?Z$VF$BZ8uFB-ov z-Z6e>{MGov#F?B;o+gW_j;XOJ*c54MYf3P6GW9g|H|3i~naWJ%ra7iXrj@1*rtPME zrX!}~ruR)}O&3jb)n#Tf<8#I zoDxKbsX?$B1gg*MY7nDl%BjHMK*zHv^;v`(sMVv?>QQnLlnjo_PEN_s&56oQ&&^32 z9+jV&lb)PXRG1bOrvx!6$#@#0#Fb_OBVtl>3zJiD1z#AGl9``Ulsz;nZKT{

elR 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 ai&iA+N)g2C5kp0ZWu2=h@N1t>EA{{FipIA9 literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-BoldItalic.otf b/src/qt/res/fonts/Exo2-BoldItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..7c2cd2fd0f7f11f8ebf9553004621e6c2494c90a GIT binary patch literal 126400 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�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

mo1DHep{0Eq`8Ni&uP76gh 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%0AtCh4sehyObVu1l&KOBLBSVRZR7h#hVW9&oPk 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

T{VSK$xox%uvoyyhg^?D?# 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-ExtraBoldItalic.otf b/src/qt/res/fonts/Exo2-ExtraBoldItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..538591ea08a26d1c4c63daa6966d3ab4a1ac17b8 GIT binary patch literal 126116 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�U$rwpnyA_>(%Un~Ly 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

bl|l;K~?eL2@Jyen&b;os#y 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 W!A;dBeiljNkggxN)^%em_5T4UZCd{T literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-ExtraLight.otf b/src/qt/res/fonts/Exo2-ExtraLight.otf new file mode 100644 index 0000000000000000000000000000000000000000..171352a0007fd67c986632cf932d4b50fefacdd5 GIT binary patch literal 115784 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

KaG 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 O*lOzssg-AJrT!lq%^Okx literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-Italic.otf b/src/qt/res/fonts/Exo2-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..79fe3e0806a6cb9237889cc71ad5a26aa43f1e84 GIT binary patch literal 119976 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ᄏ{7502_ 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 THt};v8cDi-kXo6>R_gx)9LpS$ literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-Light.otf b/src/qt/res/fonts/Exo2-Light.otf new file mode 100644 index 0000000000000000000000000000000000000000..7554d847b7d29d4dfbf68556a25e564486d6b2ed GIT binary patch literal 115720 zcmdSC2Urxz7C%~@W`=1PV1^+&Gng~NFo2keCXARfNk9=01~7vPqKGJ%bIx%MYtCuS zx@%fD>bkpbxT_l*w^{lBx_egLd-sO-zVE&7J^ap8b$8XNb52#AI#u20*sEW^Uc{Lc z5r%Y%ijDRE?t*7WLh3Idl#9M|bWE(hBCjr?0yhyt<#g`dEB@JoM*)PgdJ|H(s&jn* z$m-G_{Rs8WK|=I>d&Rf1j*VJR2yyqo�tv3E92xyr?3?s|6v>k!dLj$-2D*qVeo5 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 T9pV>~H1-<$ptUX-TdDsCzkVBJ literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-Medium.otf b/src/qt/res/fonts/Exo2-Medium.otf new file mode 100644 index 0000000000000000000000000000000000000000..d0594c0818e4dab0536a4af691d896ed18bfc74c GIT binary patch literal 117528 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

GSF+fmy?J5U>=P0*%lv*7(pxwb;P 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

IF4b zFYr_^sIGcJMb!vus4h@UwSej>|Bq4m@2mVjM&*AEmH)L={?}H?@2libRmq>ClE1o2 z{%R`otEtSd$r$t$ldY1!m`Z+MWqxs$_Qh1%*V4XR3GK_3)LvX-L{-MN%4#ppX)msv z_ToxuFRrwXZp>b-?@h=)BEoO zuQe^Mz5J&BjFIzy0R9IMKygAn<&Y=!;c#tC7kV?-BCUs*2hCH=z`X^9**4ufRu@jJ z?kzmOJkqEEQlPClhn~-Mw4i&;L(JZdHE*jc%e-F`lis@Lnbl3twyk?qH$&QX1IL}+ zx@UDWqszIStDD{3&h1j&*66`k+o?ylv#VSFHJ~v#C|US&LwI^Sb1vhq{TWle*F0>V zF)y3(>Z&AEokd%z#r$J)_DJe#E~58!Jw31c7;*hS^NRU*++7OosuCQ#5nQc3^O8Ny zmGsd5VTS6c?5k!%++BpSkbg{`2&d~{x-l!$*WAGTwv!i!0di(_a#@Fd7hVd4o{Z>QnoNQXr^Spq*XFqeZ8O#Xt zlk_a#V4gH|7lq$cN4_;hes^XE*iceHasSDj>YFl~dimwo-js5oVlTz36bC5Y zsyJA2xZ)#lL>s?o`|_n3kd#RV<-c zPO-}MJkn|?)>CY#*hI0pVk^b=ik%g^DPE{}>GcEq^iS)fc&*}1inlA?t2k2eam8m9 z$11*|`0fBn!zYT96sIWupg2=8M{%*@O2zexTNHQRcy<52Y5N7!Qxv0$B^1jkR#B{> zSWmH`ViU#YH{N{3jp?lv+becf?5233;-!jx6#FR-P#mOq`;9jbxG{Z*;&8=>6dzZ7 zMsbYdD~fL@PEh~)s3S*_w$j5pQuL5LqH~HS{>PhS?o?8GG$_4w)=nG+O5eevg$T+> zuI`x#ir#Crhpjs?ViwKXqTdQiFZ}3G^l+KEI8t=TYw3Od-p_E&!_lGiO)Og0k)w=P zh$eXCC}TGk9q!0c|2wLEa(e`rjb7Fs{q;gL*nVhmx1sZnK-YT)EomHD;YVhY`OeH> zM1Hy1Xm*(WjJ{{tayHx6v8)S}bbGgk6zRRF)acA=vpY1gUaLar#@2{G>&2gOzqWq- zojE`W%O<|piNDv1KNJ3|$KM;rpN-x2B>{6~}O-Y)U z?iKUOcxAnEUU{#ASJA7)_ii%(m?A3@ZAyFU+op74=OUZZ92-edJF$_x<)yI=HZsPQ zZ&O0uC)s%Wv7tW{cVkne&PXe>U~e(6awY3#Y)S>QM@uD3FqzMWb080&I&F?YVl?REQ@FANy2U_q(pc`07RqYv-p;JS!)p$BpO z3H{YYZZUKFOPSMO&W!#_x5}+PTsx@!UTP5k7_Wv`)2rp3>zzuvv*=x2NWZE- zy|0JpqrJsi(jQnWy0KuJwoPpd+n%*w7uZW}U)$dfvUl2{_96QuBi>`}IA+Nw+E45x zJH`H>d2eo8v!X#L?*y;5SDBhy!@Cb1HuCCtRj5bSym%Q<<%wQhuPU{=j`vJxw6Ryu z%chQ54dZ1&u_t-Qdex}$4ZIhJew%p5dDW@^jl7qDnostQ_l|)YWZg_jXuGLb->U&_ zuyV&M1*MQ)RD~hKbp%<#y&D_DXTdxP$m#L%pa=x0QA*CKraOU!qCxTisqXAN8XyrPZa< zA|9jNNvcGK$QsXoNLraG?!?S4DR!esO&w^i9&~jav{N7YXvlhkE`;S#7L1u|jHHEd TeL^Uyp{$j1vR4-E+nE0ck6jdM literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-MediumItalic.otf b/src/qt/res/fonts/Exo2-MediumItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..bc276071ade18fe7f0266d78832121e8b2a9b7fb GIT binary patch literal 121032 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

u_)Pp{0eF?w}j@ttbw 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�?ruD5TI#B$Je*TEni)SC01uFSH?28m|MZ* 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 Q)lfD|J|Vw~^=-`m17b~P`v3p{ literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-SemiBold.otf b/src/qt/res/fonts/Exo2-SemiBold.otf new file mode 100644 index 0000000000000000000000000000000000000000..351fcd71063ecc371e6de70c7efcaf5c812dcfcd GIT binary patch literal 124144 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 Zd6Lw5aAUQ3KAXgGOqUO+b={|x`hSmCuEqcW literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-Thin.otf b/src/qt/res/fonts/Exo2-Thin.otf new file mode 100644 index 0000000000000000000000000000000000000000..71528bf51e5fd519e107e50b182ec33a238f0809 GIT binary patch literal 109016 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%0AB5-$i?hvH@1ei{K?WX}DFTTlR#) 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�d+C?*f5I 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/fonts/Exo2-ThinItalic.otf b/src/qt/res/fonts/Exo2-ThinItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..e31db57f1e7e44274e95fb5d164d566ff00c48a9 GIT binary patch literal 113264 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 diff --git a/src/qt/res/icons/bitcoin.hqx b/src/qt/res/icons/bitcoin.hqx new file mode 100644 index 0000000000..9323f44b88 --- /dev/null +++ b/src/qt/res/icons/bitcoin.hqx @@ -0,0 +1,5725 @@ +(This file must be converted with BinHex 4.0) +:%'Be0Q9K0M)e0M0PCM*KB68%9%9B9(4dH(3%!!!!!Y!!"#TqMje)EhFJG'mJGA0 +P)(4SDA-JD@0[EMS+#P0dCA!J-6SJ3fp`H5"dD'8JD@0[EL"dEb"dD'8JBfaTF'* +[BA*N#Q%T)%0XD@0V)'pZ)(4SDA-JCQPXC5"QFQpY)(4SC5"'D@jNCA)+BLNJ3fK +[Eh0P)#G(CA3J5@jQEbFJCR*[E5"dD'8J*dCTE'8R)'ePER8Z#Q-T)%PZ)(4SC5" +TEQC[)(GTEQ4[Gb"dD'&d)("[F(-JGA!X)'0XD@0V)'pZ)(4SC5"TBfpZ#Q3T)%0 +SEfpcC5!R3fp`H5FJCR*[E5"dD'8J*d9NDA3R)'ePER8Z#Q8T)%0XEh0P)(4SC5" +TEQC[)(GTEQ4[G`S+8h4PF#!b1L"3BA0dC5"dD'8JD@0[EL"dEb"dD'8JC'9cDA* +PC#"TG'9Y#Q%T)%G[)(4[)(4SC5"TG'9Y)'PZ)(4SC5"'D@jNCA)JG'KKG#"jEh8 +JGf&ZG#"K)'0eFh4[E5"TBfpZ#Q)T)%0XD@0V)(4SC5"TG'9Y)#KQD@aP,#"QEfa +NCA)X)'4TFfXX)'9dBbNJ#Q)T)%0SEfpcC5!R4f9d)%PZCQmR)'CbEfdJG'KP)#G +'D@aP*b"YC@je,JTM+5"*EL"dD'8JD@jQEb"hD@jNEhFJG'KKG#"`Eh"c)(9`,#" +ME'PMDb"[EL"dD'8JD@0[EJTN+5"$D'p[Ff8J*e"KFh4P*b"QFQpY)(4SC5!R4@4 +TG#FJE@9ZG5i+C5NJ3fa[Ff8JG'KP)'PZCQmJGfPZC'ph#JT6G'9`)$-k)!T&EQT +[H5"jEh9b)'jPGfaj)'0eFh4[E@PkC@3JD@0[EL%+#NC[FL"YEh*P)(4SEh*[G@G +S)'4TFQ9MG'P[ER-X)(0PC5""F("XC5Gc)(GPBR0TG'8JBA3k#QKdG(!k,bphGhF +ZBA"`E'8ZBfpY,h0eF("[FR3[E@&M-6!a,f0eFh4[E@PkC5mf,`V6V!!!!3!!"#T +-!!3T6!!!!$)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!"#P)D@0ZF`!%+8KTFc-b!!!#pAm!Gh9e`AkUQTr"cYUiYV@h9P0 +,Prr32h'"R,6$bDkTTci!!(@EMVR!UjfAXV[r`k`!1`$rNkZ+L)44!('DVE5h4%8 +qV-ZMkIMqrrXI#UMNi!!j5)5YLXl(d2rqr2qQf1-!!Vr!TH[[l1AaprrrXHRN!!" +MB9#3!*bMRQ5"YD2HprTlU(Vrrq,rr[rrr[0iCFlhjrpNdILci0ISr[[pr[LZiFB +!Je3ri[(Gi[hlrI[RUYh&,S$&UXRLfYE1d0Vrrl(Cf[m1LEb`!!"H!*81rk'dUEN +R!!"eRU#a[ELdUUDbrjbkF%QJref1HhQ@TD'JSV'[X8Y55C*99ri!!,l%bB#i!,N +2!%)m1e4(5cir+Ma2&KJA'B!!$!,r#!X!#"dA%4`N+LZ!!"`%*aG1BM8Q%")5rcS +!!"%!rd4B(3`"!3!+&"m9(S!!Id0V9jMMpXUa!!!c6%F!$K4&BNL+VE,!RSq'3P9 +6!!&14MpZSG$)Y*Z8SN*ZGJ!!'!m10'#1MdT48NKNKB`$1IrrY1(frrE2P6FXAiH +)#!"MTA@JV06IYT!!Fh*2E'B!6bFGMkbYcYqfMh&R3PT!!!%qAS@SXm1cNhYXEMC +)4[m!-JaV93!!!J!,!2m9*KFTJ!!X(cFI,NNp(!N$%23Y!!m)1(JJ-aF!"`X#!!! +H+Lm"!!!D!!#h!!!@$`X@(4dF$`!#!JS!090$4K%J-!3!!!+!!!`#r`J"!!!,'") +F#`8&J!!C!3-+*6!Z'`i2"3!3"!!"!0F'#aXi35N%"J+$!"X$"!-(%KB-"3%"!J% +!!!%#"3-$$KN9$`-!!!-"J`!+!`mE&`i$!!)#!35$!%B)%K%$"K`8$`!#!`)1$!B +2'53K&Jm@$JX!!`!!"`3%#K!E("-+!`-#!3)!!3!!"!`3'K`6#3)#!3%!!!%)#33 +-%KNA$`J#!S!""2m!"3`(J`!!")3!&aBQ'a35%!d$!!!#!3!"!JpH1$8H#!`-!S! +!J!%&!!!3!!#$KJ"c1'eV!!!"#!!!!!!"!3%!!!!!!!-!!!!!!!84!!!$-fH$E"` +!!J!!!!!!DUQPYmI&`r(rL`!"!!!!!!#'dDjY0"S84pbB!!)!!!!$!$+0GQYV63! +Ek6X!!!!!!3!GBP5irrpX!,ql!!!!!J!kVjQ6b2cK0J#qpaJ!!!!!#bFQ+L%A#J" +2rrpM!!!!!"-L)"-2%a%!1[(r4!!""3"CU*RGp[$eF3#3!2mJ!!!!"P9G90ErqIq +R!)E$!"&NB"TZKBClH(pU$J#X2`!!$BREA!N!!!!!!!#0K`!#!!!(KH$LjHM3YV( ++K!%!!!!!!3!@0NU!XE0r*3!#!!!!!!%"!!!!!!!!!!!$!!!!D@`c-J!!#FQ)!!f +%XlQRUDLXY,5aXDf`YSF!&jD1FDZrri1k5a4EF@Y8!1+UVVqdVkkaXSB!'"6*ajf +X4(1D`ic#VDZc[XDhqIqfY,HfYVq$!"D0If(#rrqPrfUT6'pUF)'8SVHpX+bXYS# +m!-+#!"Y,)4GFS,`ZL+f`a1R!MAPZBR#PZl+`M*HaUV$,JJ!D"Irr5UU`CSbcaXV +%[lqpYCb0XlbmYFV,ZDDZJ3!FK)T!rrpGZp+LLj5GQj5#DeTLCQ4pS,USVC!!TqE +BJ3!0#3B%r!"1RE+GI9S+!MH"!!PL)!b&Y*QCV"RCJJ!%#K!08"U"!"(rriUd`lQ +PalqB2aqCbX2%aYb$!!i1!!$rrlhrr[lprrhmrIk"r`B!FXICiXhFJ`!'!Im!r`" +fai$&$lR`rrhqrrlrb+pK[0cDf0Q,!"%3!!$!rr[pr[hQ!'T-YH$+[X'$!"N#rrr +Brrlrr[lrlr6rr[rqrIqP9N'llH,#a)3!&IrrQI$UkqVUkH[VkHVYmIEicr9eh1f +!lS3!"#`T$Mj%J8-23Np699$*pC!!88V(kHrdmr1$!!9%680RB@b$!!hriI,pUcJ +Hb1APp2Riri-!"4)8$#)J,S3!$2lqrFB!!(2@k[6lrIq$!!$mJ2k!r4,mlIEhprM +hq[lrU3!!JZRcm,qcJ`!+F@0)j[rkqIVqqrZ!r![prIliEKNFarE2c,f#!#0&-4N +MN!#cV,#HY2clr2hpr[hqrIm!!,$Vhrlprf#QZVfGY-5pJ!!rNC!!CHhqq[[lr2h +qqrrr!+ITjHIQ!!$3dFbrr`$Rrrlqrrlir[rqrrlrr[hmr`!!VZ,BhGcr@DARr`B +!!,6QhGq!hS$E&pcEhqAXkiJT)VrHkGM*[LYGL,hGRJ"`!BJ!'%hrXpIhMmc1`mR +K!"d!!&UefY(aQkhq!!#"rdcqrrrP[m#UEE5di0-$f+d[MGLB1T6"ZUUAIe@3!2r +dr[lr!!"R!!#+VVZLQl6-Y`"`'#F!*QHCR)b*P+r&dGRCakfNQ)qATV5kUEkcU+q +#!"Sk$`jYRDb`X+q`VUZRVE+bX+fYV+M,[EDl[,@"!"UFQMP9!!!RB(9lG(q-PDZ +dVDHJNNY6Y,LjZUZ$!"K1,K5Crrr$(`F'4QYiFfjN0*)!bl02Fk0@L!!5#cpYLD$ +Zk0)!!2qi[YbQFS#A8S`!$J,Ue#eHHiQ-KhGH+"e9#S3!MJ!(""%4#3X!"ab(!!J +"!!!#$J!1&!@$!!L6!!!X$3-!"3q(!"F0%3J2!!!%-3!K"J%$"3d1*LN4#a!2$LQ +$!!F"!!!$0$SE+S)!$3%F,4`D'3J!!")D'"NUK!!C!3!&$J!!!bP[ZfJ2!LSB!a8 +C#`F!&4mK)cZ$!"P),!3S1a342Q0V9dJq,b%5!a!A%4%K(4``-S)!'`%!PImN@RY +@+LXc-bXB#`B("3-0&4XF*aXG69D%!!KK!#G9@6-&!!1$!!N*!!!3*#3H+3"3JJ# +!!J!HJJ!4rrBhDAKZ@&)j&`!!(MJq1MPBJ`!C"J!!PrpSS,I2jqV9a,@RQT2ra!! +Y3dJp2NZ%!"L(!*S!3(U1SE@SbFHeTjQ@NfjL0Nj49e06L`!4$J!!S-bcTTQ@N!! +!)"T$APC,6B3!')Z#@'q)T,hBq0c0bVLTQC@62!!!3QaTFA'%!"MrrcaPHj+T`0E +8aEDSR*+3!)YA85*HFRGiH)3!'")3"4XP+c)j3$j%3cmhLCG&*#&BDAZ#JS'$!!8 +f2MC@8&U$!!hT!!#Q@4-)@Q9UJik-PS-!"3d2#"SB)i3!$(aqI9`!!$9IEB54Nj@ +$!"QaU+@VXVl*dp(Pip#qV*Z4Q8d!!$aVIi4TBi-!'8Np,CDaZF62iHRPdX#ZR)P +jI6J-$PTjDQPJJJ!M+5!1&9pmIiU#RZRQdX#ZQiPfDA)!!%aVDhem!!!#"b3!!%B +RJ!"6K)&DfqM4[kfELR9SEIm!3f0QBQ!!TdY(4PMr!*'XYX,0epVYkpI%XTq+GQK +d!!!r9eTC@!!!!JGX&!!!EjDETDqj`m[)YkLBLAaaF$S6#cp05NSlJ!!&!5aD&J" ++L3!B)hFc,8BQ2%Jl2&d!"3!!&PQ&JD&kG+i!!)(r$I$rremZ&"`0+#`c1!"5J!! +H(`!!6BGU24)+!$LZaEqqr`!!!`!!#KSM*5BM,6X!$S!!'3-!)c)C!J!G4@D!LA9 +-,5!6!JB2&KSE(M%dJ3!Er`N!"4mk2cJ[,#XT*"iD&`d(!`!#"``C*#JS,)F!#`- +B)"X2"3%&$K)*")!!"3-A'aSE(i-!"J3!!$2rrif#!!%)"i)!"3N*'"3-#BF!$JN +!!JmC(MXf-3!!'J!!!jF!!`F("!'*!)i!"`34%3N,!!FFK`!)!3!!!Ji!$K3&J`! +)N`!!,!d$!!82LJ!8!3F!!3B!"!!!"4)C$#%f$3B%!`BJJ`!D!3!!!c%P$a!!!!3 +#!J%%#K%E'3J!!!%$!J)6KJ!%!33"!3+#!!d##J!#&4N,"3!""!%#'B-!'38#!!3 +(!"Fb0d"(4Mia)a)$$a)(!3N%"Jm3JJ!E!3!3'J-*$3NE0$mi+aF)!`8&!!3%!3% +*"J-&(i3!"3S!"!N*!BX!"!)!!%3'K3!!!i!!%L%!rq`Q&!i+&``%"J!!!3!'"J5 +(!"B,$JB0%aNI(4F4$!F$#3X2!!8"!3!!"i8!&`B'!!-*$K-B&484$!B"!J!%$3F +%!!-#!SX!$`%!!"%5#`B"!!-)"J3$!!+*!!`""`d6'b-F&K)-"J%"J3#!!3&$1BF +!&3%'$"%A("S9%!X'!3!!!3-""!%""!+)!"-"!`8'#!F("J3#"J)#!!!0#3!"!S3 +!J!'!!S-!!a!!!!5!!!8A)3B!!!+(!)!"K!!,!3!!!J!!#48)!!%$K!!B"3N("`S +1%KBB(KiC&4!2%a3$!!!%"`!!")3!'3%!!!8+$K)@'KiH'484$!J'!`%!!!-"!!- +"KJ!4!`F*$!d5(KiC&4%-#!-#!J!!J!%+"!3!!!)&#`!!*bH!!"%3$`SF(KN9%3` +)!`!!"J!"!3+"!#)%!`)&-3!#"`X2%aFC(amD&K%0#!-$!J!!!J%$!J-!!!)'4S! +!%`%`2%aFD'KB5$JX(!`-#!!!#K3!%"3`&!!Z+!!N#!3%$!3%!!!%"J3!5!JN +1%"B!""i!!0EFj+@V56)'!B8!!!5!!!3&!3%*#B!'"`X*+LJc*#E%L`!!!B%!!`- +V)`H!!!J#"``2$3B&"!'$!!)""JL"!")2"3!!(6e#15iQ)4`A%!m3#J8#N!!!$!) +A)"m8#J8*%4-+"!',!!B%!!!crrq0JJ!""`D5!!i*!!)2'4il0M%!!"S!!!1A!!- +("`3"L3"X1'eV!!!%#!!!!!!!!!!!!!!!!!!!!!)$!`-#!3!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!%!!!!!!!!!!J-!!!!!!!!!!!!!!!!!!!!!!3-!!J3$!")p@Q& +503m!!!!$!!!!!!!!!!!!!!!!"K%!!!F!!!!RAhbE`HVrp,aI#`!#!3!!!!!!!!! +!!!!EMlp65TabA'K@89"'4R1iq2rIA!!"!3!!!!!!!!!!!!!!M2qiX[Arr[lrr[r +qlGrcrrhrUJd!!3!!!!!!!!!!!3%!N!$rkmV-cm1ZK'0-3845GE,arlm2!!%!!!! +!!!!!!!!"!9bqf-+66K%!!!!!!!!"!%(Arhm!!J!!!!!!!!!!!!!"!!!!!J!!!!8 +)"`F#!!-%!&EliKX!!3!!!!!!!!!!!!!%!*,hl1r[k0hGhYH%#3!"!EMrU!!"!!! +!!!!!!!!!!!)!J,baY+r3rrlqqrqJ!!8!Hrrr4`!$!!!!!!!!!!!!!!!!!!!"!!c +Err[jrpm'!3"Lr[qH!!)!!!!!!!!!!3!aF'e[Eh"UK2Mrr[[rU`!&!'[rrmN#!!! +!!!!!!!!"!,Rrr2rrrrlrr[lqpD%3!!3!N!$rq[p)!!!!!!!!!!!!!"JV+5NT+5N +T,5dZ'!!"!J!Kjrrkrk3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`)!)GhrrIcraJ! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!9UIrpqrq#!!!!!!!!!!!!!"8J(KiH)#) +L)L)L)3N!!3!#Y[rpqe)!!!!!!!!!!J""rrlqr[rqqr[lqrVkjQF!"3"#rrhVA`! +!!!!!!!!"!#0qIAjqIG$rrIlrrrlqrd-!!",MrqmN!!!"!J%!!!!!!!!!!!-!BIr +kr2cmr2ArF!!#"p2rV!!#!!!!!!%%!!H$UU5PTU(GrrhrrrrprqmP!!!2i2ml!!) +!*N)J!!%!)HMjpIEepqcMj16Nj1+b,3!%!#lrR3!#!!!VKpREK5m!!!S-#`S*$!i +0$3d0#!!!!J3!Q133!!%!!!!!%BIerlFh!!!!!!!!!!!!!!!!"38#!&liC`!#!!! +!!3-"!'Dri[1eD$%E#!N%!!!!!!!!!!4jrkB*!!!!!!!!!!)!1-#qX,QbVEM0hY1 +QH&Fq1%GherqD"J!!!!!!!!!!!!%!(T(EqIrqr[rmp[Rrr[lqrIrK6J!#!3!!!!! +!!!!!!!%!!!J[8'4UJD+mj2rqrqqh9`B!!`%!!!!!!!!!!!!!!!%$!!!!!!!53Pj +UD&Sp&!!!!3-!!!!!!!!!!!!!!!!!!!!!!J-$!`!!!!!!!!!!!J-!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!3-$"!3$!`%!!!!!!!!!!!!!!'PS-c)!!")N`3!0QlR0SkQ +ZVE#[Y+ZaYF@F!"-5P@j5TCeYTE$0rrr)YV'aZqqbZBd!)4@eYTU`YU8G+k(r!)Y +p3@GPi2rrj-2$SDkcMjbeX,+[X,Q1!#!YQTZ`UpKKMjqh`DqhT*kEQk#TXEDlYkb +RX,@bXDD4Y,D*!),r'ri!CPh5Q+*11L"TF8B`1P&YKT@MYlqeXUp,rlD!Z!#pL3! +Jr`!UAjr"T`"8XCUmkC(8rr[rk@`!!"%qBCR!Z,5aX,#iJ,`!`BN!*!'"!#1@Y+8 +c9D'HU-(4e-#URk'a`XD`JNk*[E@dY,I&iVkm[FD+!#2rXKHUYEZ#6Cfj[,r%bY, +9dXQrYV+bV+#d[m'lY,R6dX'eZFZ(!#B,!!,r!#kqbXHjDQq3!+DZV++6K(0J5MJ +c3P9IGj5h`UfYf-UrY-#"M!!0,UV4cFQXLACV9$!!!!b%!!S1!$@3!-1PNH,2YIk +*!#3"!`%k(3"ENTbFPBPpI,$rqH2&ZE+ZQC!!k"d!!"H"`kZ"r`#eeBN!"J-&!c! +(#2q*!"(lqrrmk!!Gr`!fNFI$G`#ef0b-!!XEeIrQr[McmI,dmrL"qJ$pJ2i-q*S +*!!"cX0,5dG2rh)`!"5%!!0$rrB$r"2lrrIcmJ2d3r[rqrrNhU2p&VFICe0E@jH@ +,!#%+!!#!emh1cXh1aqhrr2hqrIlrr[cmq#%5$U,&hGbp`H6QL!!&$2rreH2rJ`! +B'3"Dp[lpr[hqrrllr2`-!!#6bH$4hpcGliJ!"4NS(@T2BS-!'%dm)Yrrr2lpr[r +qq[cm"`!!JmMRcm4IGHH*!#2PjGcXl1IQjZAZlr62`rVmr2hpr[rqqrcm%3!!HYA +QjpcMiq')!!8P!!$Arrf#raRqrrlqrrlrrrlrrIRprqS`&3q0k1EUkq[UkiJ!"a! +!!*c`j1APJ15"ii$N%ZAQiq$dpA6rPR-iaqRUlZl[lZk,!!)+-cH&0S!i%$Fl-`! +!iH0@*!!!TZENl[,cJ2+D!",qrrrdMl&E!!#Ui1$SmIAhp[AeL`!#(ejIL9i5B'4 +0FR)2!!#6kG[KkI2iqrRhpiJ!![rr`SAiJIH"q"(jrIhq"`!!(*EShqRcqIclqIU +(!!B%#3K4%aIrL3!5r[lpr[lr!#i!!*MYj[,hqIIrriJ!"YI5b1rbmI+!m3(dpS$ +eJIB4q2hmrIX!!&42'FEZl[EZSIrrK`!&!`!!Z[rpJ2m$r[rmqS$lJIb!r3lqr[N +!!J!!Ir$UplM,6(D(!!d"!!"kkZ6PjH6Pi[,rqi$mJ2d4r[lpr[lrrP(rrdRGlYI +3r2hcKJ!Q""%(!!)X16Bh0ciP6H2rq[[mrIcprIlpr[lepr095bA-kYrXiq6PKJ! +')M!QVLFNLi!!0J3!!+rrqI[mrIcpr[lpr[leprBl+4E$kHANiq6RP(kNXlR$rlh +(!-IKjEUr`m,#`ES!Hq$rq[Z"r)$p#[lqpIIh5cmNa16JJ1%@k!!1D!kCZ,r(YbJ +!!0Vrr[rrr[lrr[Q#rK6rr[lrr[rpqr[mUi@%4-cGh0VEfqL$r`RKlrYQ!!#[rr2 +fJ28#p2AeJI1"p"remqhUkr$0#rrrEpEAeG69iqB!!%b#VmE'S[&S!!!XGi0f!A9 +fJAH!H#"fI)"0C0VVE4F!!*cCcp69mGm!!5i!%%Q!ZpV-S,U6S2k0!"$qrrrje)3 +iYFpDamm!rlEDfS%!#!B!!$5AiZ#cbi$r6DqLQjDRZEUlZE@eYVDeY,5MJE+#Hjj +e3+r&Nr2rYFd!!!jK!"jpA!!!@mIad-R'[1jaZBEMc,[riH[Yk0c3a,fhSiH+rpp +DSEfZ`EHeqB8!&")!!&a-Fll%Z+QFNAK0(pTeESU2&B-!$!pf6df"U,QibmLrYEZ +&!#F#r`!KKDYS9fCdIB@DYmhAhqI[pIIck0rFa*k'IiZHYEZh`FHlZ,UiK`!6LM) ++EE[4Zk5FQjkNUDkbY,DhYDf!TJfMQjZLVVDbU`$KZm2$YSN!&!N!!"aXRVDr`Eq +mZEDcVkbRT,'fY)#c#V@dV+'1SVQh[,ZIL`!+*AiI'J!33&eYGRZ!IK+!Kj@j[VU +hXkbLPA[rrlLGRkP`L`!I(J!!92rrf!!!!J!!+f5#NCbKRCU@MS*X-P)Sak(AkAQ +2!!X(GJ!-0fqXhIpX&`'&!!Mr!e,0N!!!!'`2S!!+rrlrrp+&8J!!-35G!!X%$aS +N+#XU(3N!!!1m!-8!#3%'"`N*&$J!'dfP!!U3!2rr4KB)##rr$LQ1!!X#"!)##QF +3#aBj!!+"!"!B"!!B+$JN!!!i&%JN(*j%!&!%(#`!!!JJX"aF%!J%!"!`2%"J +9")!!"33'!!!2+BS!#J-%!J84+4N4+b8TK3!3%M&"-4NF)K8*!J#($")4%5D*!!! +9J3!I"38!!3F%!e*(P[rrjPi!!!3R&!!-)KX1"`-#$aNA&b@,!#)$!!JE#4-!"!d +G6(U0C68F&b!Q(aB-!!8D&a!-$4X4(KmI,iS!)c!!!$!m28d"+%Y59eYKD@PI66` +Y)KN4"JSB'"83&#!H)LFS1iJ!%K)!TJ!,8QKTFb`C-dK24c3J$`1#!!d#!JJ3&aS +A'LSM)M3j(B`!"K"@H(*P2Jk,!!S$!!86)amF0LdP8)`!)40h!#a,56`U&JdJF[q +EG'GMB&Nk"JS3!!m!#LJS)2m!-dZ*!)!"!aB!!-U*!"'*PjQ8LJ!%r`i!%63e0!! +c5eU-!#!)IijrPk1[[Y(MhYI2aEZbUU+MQT9C!`!!(M)r3ce#XPL-!#%4!!"dSUf +rd1(alYh3alfcUTqAPjD8'%k')8G!5Na+5Q*bL`!K"3!!4S'+Q+@c`,A4eFDpXkQ +IPjHIQj85%3T35&&6-caCE)J!"39pH94Iri-!#48!6mc)[E1TRjH"PJS'!!"$6PK +8A&TDHiJ!"4!F&9-l5B-!'%)f(VR0[,1TRjH@P*D9!J!!+%aL@98F*'k*!"4G@eP +MFRq0RD[!dH2#UY$'[,+TRjH"PJS$!!!39f9TC9aJF)J!'3m!!&KYHSZFV,h2i1r +TiYE,`EHYSTD8P*D-J!!(*'GTF(&eG(1)!#3'!!!qBQamLTQSYmE8d-@pYDZMQSq +'N!#94ANU!`G6Ch&iHAThGiX!)33@'amL*LSZ-68d-M!Z+bXN!!#)K6!3!!",C'G +iIi#!KS@D!",(aFqF$8FR!!"-Bf&XIBD)KiH'L`!K$#FZ0$T!4de6@9G68%a)4N8 +b58`'!!!qDf*MEi#,N!#1LiZ)!#5TTRkPVE5l`XV4f0rRjYR0`E@TRT@+K`-!!!Y +%D'*[JBf6NBZ0K`!'!JB'53d3riN!%Q"rIhjm!!!9!!"'D@arLBf0Nj1)!#51LB1 +KUE#h[XA-eGrQjGR0`,@TRCH+N!"[!!!S+3eEEAU%J9HTTSF!'3)!!(Q[XEV"bG$ +Bh1$Uk0[2`lHVRT1'I)&jJ3!(1facIepT)6H+!#*1QTfNUl'j[0ARkHMEcm1hUjk +5KRP`FA-PGT%LBR"UChjqHBB!)`),"3!"(LJS+5Xb(N60lZIEcm1hUjk5KRTZBQ& +Q*5)4@'PTEi"ZKJ!'&4iBF#!M8B!!6!3!!*rdjY[2`lHVRT+'HQeLBQ8B%JT3BfC +QB@*Z"JJ!#4K(rb0'!)14P(b%M*!!PCZF!'h+lZIEcm1hUjk5KRTZBQ*S(4S26&Y +HB9pIEi)!I`-J3Kd@!!#&T+Q`Z,r'cY6DjZ[UhG(&Z+bJP)KjEh"c5M%a'8P69dj +39fm+#`)&"'I$rrmP!!"USU'TX,LraXh8fZ2KeFQpXD@DM(ebIhPZ#hQA*8G-6NY +,BA)"!3!"!38J0&d9!!!F6&"69PTGB@4TEA&`DQ4H@9*25bSeBf-P!`8!!#q!4!* +(Fek$!!3$)de9%B!!!%'0!"#YX,D"3"X!)MF@0M``9Lj5BB!!+`%"!!!-1(5&@h6 +QpYD88%YLPCU@S+UUS*L2KAacAd9Z!!%2"`)Q-59BHMC&K!!R+J!!-)1TLS"P*J$ +r!!!p3LRAITLIPiCbANXe(JF%)JB!'LFN,bXT9B8!&!%!"`!'8Raa9M39"`-!!"J +N*$!c!BF!#!B9(KmT*bJh1S8!*`%)!!-!$Jd$$!m)!!NN2eGZKCZZZm$&jIrrY63 +*!JJ3&"FI(#3V,#q(!#3'!!!63e8q)!d#"43N-d"*6e&+2#XG%`i-"J%#"JN0)#- +K*58RL`!@!J!H3&"66dFp0#XM'a-,"!N2$!N'!`'!!!)$"41"'j)!%!B2%K)2$!J +%"JJ9'a)-"`-"J!!!"S!3!4%0MJ!$"$NR*B8!"J%,$`i*"J+#!!3$"!)""T3!"J- +1'LX0"!'&!!!$U!!%JJF+&!,Z!-8!#3%'"`N*&$J!'dfP!!U3!2rr4KB)##rr$LQ +1!!X#"!)##QF3#aBj!!+"!"!+#`F+#JJ!!!3!!!i&%JN(*j)!#!35!!!#"JN!!i) +!"382&a`9")!!"33%!!!-+)S!#J-%!J84#3m*)KSHK3!3!J8)#3mG)K8*!J#T!3B +%""b*!!!9J!!1!33)"!)%!`!G&bL16L%$J`!,$#)E$JF$!!)%!!!4MJ#!!`)!"!U +!!"B#!!),&4mQ*4X-!!8D&`i("4!N"!!!%BS!)`3!!!3'"`N#,da08&YSEfaI66` +Y)KJ4"JJ8%!S"!JJ'"!%"&SJ!"4)!%3!"#)!,#3!81%a346)I$`1#!!`#!!)&"J- +!!3B$""-8M3!&!3N-$!X$M`!(!3)!!3N("!Z-!"J#$3!%#!F'"J8($M*[*a3-#!B +&!`)%"!%"J3!%"F%!'3b-!!-$!!"8LJ!$!J)""B!!!!'"!!3Gr`X"()d!$3`'#!` +2%KBD(K`C&4)1J!X$!!!)!i!!!`-#!!1!!!!(M`!H"``3&"JF)"iC&K)1#`F%!`S +*"J!)$`-(!!!'"!3#+Si!(J3+$4!6&KNA'"B5$JX(!`!#'aB)!J%"#!%!!J!!#4' +0!!!DJ`!+!J!*&4)1#`F%!3'!!S!!"`F#!!!%!J)VP!!*"`B$%a-1#`F$!B3!"`3 +"!3!%!!!4M3!8!`F,$K)E)#3E%aB5$JX("!!""!3$J!#!!33!!J!!)Bd!$`3)$"! +8'"dK(KS@%Jm,"`5"!!!&J3!'"!%!!3N)"Sd!%J-(#Ji5&4NF'KF8%!d+"J-!!3+ +#!!8%"J!"!!53!!!5!3)$"!8'"`B&"!3$!J%!!!%&!B!!#!32"3!"!!)B&*S!!`- +$"!'#!!N&'K)%!!%!!3J'M3!4!3-%"JF*#J`,#3J("33$!3%#J3!**bN2"3!"!!% +'")J!*!B'"!F*$!i4&"BC'aiH'aJ@%a!1%"%,!!!&!!NG%J3!!3!#&4++!!-#!!! +2LJ!%!J)""Iq"!!B%%!8!!3!%LJ!C"JF'"`J,$K!6&KJE(KiE'"B6$`i6)#X%!!' +!!!F&"J!"!!-@&SS!&!-(#3`2%43A'4`I(a`C&K-3$3X)#)-!"3%%!!%!!i`!'!) +'#!X0$a)8'"`H(a`C&K-3$3S("!3"!J@!!!B#!3!!!`%"L`!A!3)#!`-&!`FC(am +F'4B6%!d+"`3#"!3$J!!'!J%!!3J("B`!!!'$!!`8)"mF'4B6%!d+"`3"J`!T!3% +!!`!!$`B)!!NB4rmM4`!I+5SC&48@'"XH!!`C(amF'4B6%!d+"`3#J!1!!!B#!3% +'"!3#J`!#""!MJ!!C!33(#Jd2%K8A'4`I(a`C&K-3$3S("!)!!!Q!!$i#!3)!!!i +1#JX#"33!#!J&!J!!!3-'#3X1%"-@'"XH(KXB&4)2$3S'"!F'"!!#"!!$!!)!!3- +R!3%!!3)$"K1!!"N$!!%$"!8(#!N+$!d2$`d-#JN("J8#!`32"B!!!3)"J!!"$JQ +%!!F$#!`&"J!#(Sd!!`N*#J@$!!B"!*8!#3%LJ!!!!B!!'`%&$!i+$KmI'3!""!N +0$4)8&aB8%K!1#`N'!`D&!!)C43Z&!"8*!!!&$4)2$Jd,-J!4$3XI(J!&$K)6J") +#%!J#N3!*!3N&!J)%#Ji+"S!%J!!%&"-!!*'0!!)##3Z'!!!$J!!"'KQ#!!m""!F +*$!i4%a39&admM"N$N`!*!3!!%%*B3L31!i!!#`-&#!S,$!S("J8$!TF!&J)!(6p +28Np(3$J`+5-G&a!6&3m,"`3#R!!2"Ji4%!i*"3%$"K-D%3`(!jJ!!`3j*b@&!!B +"#`m1#3B#RJ!'!`iD+`d%!B8!!!1S!!5#"`S8!Zi!D$KYD`!!#3J!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!3%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!#!`%!!!!!!!)%!`%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!3!!!!!$$4!,!3!!!!!#!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!-#!!!#!`)"!!9$N!$$iHl[jYDlM9%8!!!#!J!!!!!!!!!!!!!!!!!!!!!!!!! +$"`!!!!8(!!!!!"GQG'"KEifhiIhrr[r`UN!!!!-"!!!!!!!!!!!!!!!!!!!!!!& +"VG#"0JGeINiV'6%I$"8E'K82'%5$ZZlrrIr#1!!#!J!!!!!!!!!!!!!!!!!!!!% +"%j,rl*a@err`j0rMkZVTkH20VC1)M+cTqIVrrT%)!!)!!!!!!!!!!!!!!!!!!!! +!!!#"rrl4KEIcrrlpr2lrr[rrrrrrrrrrr[rmq[r0)3!#!!!!!!!!!!!!!!!!!!! +!!J!%Qrrkm,fTZFcBhG[@aUU,EPK18Q*mS-rhrrVri6!!!J!!!!!!!!!!!!!!!!! +!!!%!#SljrrrkiFLYL@-m"3!!!!!!!!!!!!FcQ1lkqmBM!!%!!!!!!!!!!!!!!!! +!!!!"!3!lMlR+bVD1@bX+!`B("`F("J8$!J!!"(,LqqjQ!3!!!!!!!!!!!!!!!!! +!!!!!!3%!!!!!!!!!!!!!!!!!!!!!!!!#!3!$!!@Em2r""J!!!!!!!!!!!!!!!!! +!!!!!!!!#!`!QAeeIAPeE@eaGA9aG9#3!!3!!!J!ThqlrJ`!$!!!!!!!!!!!!!!! +!!!!!!!!#!#l`rrhrrrrrrrrrrrrqrrbS&!!"!!)!N[Rer6F!!J!!!!!!!!!!!!! +!!!!!!!!#!#c4jZ2Nj1AMlIllqr[lqrcrb!8!!!)!8[E`rlS!!3!!!!!!!!!!!!! +!!!!!!!!!!J!1'"FA&aJ9*,,rrIlqr[ljrdm!!`)!-HcdrIp+!!)!!!!!!!!!!!! +!!!!!!!%!!!!!!!!!!!!$!&crrIlrr[rkrfB!!`%!*qEerrb&!!%!!!!!!!!!!!! +!!!!!!!!,+5JT+LSU+LSU*l2rr2lqr[[mrc-!!J)!-HMirIqA!!%!!!!!!!!!!!! +!!!!"!"c3rrcqr[lqr[lqr[lqr[lqr[hrK!!"!!)!5qhprIr[(`!"!!!!!!!!!!! +!!!!#!$Rhrrlrrrrrrrrrrrrrrrlrqp"5!!%!!!-!F2hqr[[rKJ!$!!!!!!!!!!! +!!!!!!!!Y3$dq2Miq2Miq2Miq2Miq+33!!J!!!3!-bIrpr[hri!N!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%$!!!!!!#Krrcqr[lqrc!!!!!!!!!!!!! +!!!!!!!!#!J)#!J)#!J)#!J)#!J)#!J!!!!!!#E,rqrrqr[lprci!!!!!!!!!!!! +!!!!!!!!#!J)#!J)#!J)#!J)#!J)#!J%!!!!!#(,Trrhrr[hrh!F!!!!!!!!!!!! +!!!!!!!%!!!!!!!!!!!!!!!!!!!!!!!!"!`!!!3"0lIrqr[[rI!!$!!!!!!!!!!! +!!!!!!!8T,#XV+bXV,#`X,#`X,#`X,4d"!!)!!!-!GrrqrIrSH!d!!!!!!!!!!!! +!!!!!"DlrrIlrrrrqr[rqrrrrrrlqrrM18!!"!!%!&p6rr2r0R`!#!!!!!!!!!!! +!!!%!&GVrrIlrrrrrrrrrrrrrrrrrrrlprfX!!J!#!*IrrqMcC`!$!!!!!!!!!!! +!!!!!!#!q2$`m26dpSIlqr[lqr[lqr[lkrqS6!!%$!'hrqr[`'J!"!!!!!!!!!!! +!!!!!!J!!!!!!!!%!)1ErrIrrrrrrrrlqrImc!!)$!&crq[qL!!)!!!!!!!!!!!! +!!!!!!!B)#!J)#!S!6rhrr[lqr[lqr[llrqmA!!%$!&rrr2mj!!)!!!!!!3)%!`% +!!!!,Rq(Dfp[EfpcEpIllqr[lqr[lqrcprhS!!J!$!(IrrkX!!J!!!!!"!!!!!!! +!"3!qr[rqrrrrrrrrrrrrrrrrrrrqr[rRB3!"!!!#!+Arm5N!!3!!!"GpZlU3!&! +4!!!!#PGaEQjZEQjZEQp`F("`F("[Efe-$`!#!!!"!"EIrfd!!`!!!!!"$d@MpIr +XS9d@!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!!!!%!(RrRJ!"!!!!!!!!!!!!(j( +drrM8G4!!!!)'"J8$!`3%!`-$!`-$!`-$!3!!!3-!9[V'933!!!!!!!!!!!)#!!! +iUrArrpGd)J%!!!!$!3!!!33$!J%"!!!!!3)#!!"Fkq#N(`!"!!!!!!!!!!!!!`! +8IS@XjIcrlE4l5c3B!!)#!!!!!!!!!!!!!!!!&)M`rmNM!!%!!!!!!!!!!!!!!!! +"I1ZYHS14PC+-LjH[c0hG`ijH1L!2"!%&&$CkdIhrYa-!!J!!!!!!!!!!!!!!!!! +!!&MNrr$Jh0cQm[[mpr2cq2rqpHI6a-$*f[,qrrGi!!%#!!!!!!!!!!!!!!!!!!! +!!J!4DX2errlqrrrrrrlrrIAcr2rqr[rrr[rpVbJ!!`%!!!!!!!!!!!!!!!!!!!! +!!!)!!!)J5Qk)QD'IPj!!MTLdjIrqr[lqrqbK0J!!!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!3-!!!!!!!!!"8Z0ZGhcq[E`iF59948!!!)#!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!3-$!`-#"K%C(b)N*bBG$!!!!!!#!J!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!`%!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!3%"!3%"!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"TG$-b!!" +1F`!!!!$r!2m!r`$r!2m!r`$r!,!!#TqHPUUKRU@c`FHhk`!CPrqTSiHBSU+XVDq +YVDk`Xl1QYEZhSlc%rm,J!!ULIqaAPkD[ZqEJeSB!$*bAN!#VXE'bYVfSZm6#f3! +Q-M1hre@IZ[rqM#a6M*QSUDfUUDUYX+qJ`[rre*D"GUU`XlQXXEkfe!!5"!kcA3q +Sj3"VBTURV+qaXV1dXi+b%l'[VkkYVV'daF'fVU5[XlcrYEQl`J!&amE(`F,!K3! +I!K`!!)MF!!#FXE@fY+qTSjkDQ*UITl#k`F2#[VZiY,'!V`Z`YIq&SkU`Yl1`ZVb +a!"HVhVpfX+ZPaXq(jX[@!3&q!++fYlHiZFD#!$!d03eJ!!#EVDQDK@TC8PGIBfY +eIApfEfKYJCkh`m2#`EkjY,'[Vl#eNjUXVl5`VVLlV`!D93"LNUHk[E#dV,bpY,K +G!"N!VkLjZV[#Z`$$J!!)%IrrCSk-E$J'J!!P%KmS-N"2D)1L[Fc&TATLFjkk[lr +"[lfjYE'[Vl'lZkZZYE'[ZV1d!#,#j1DX[V'e6@3!`E1kYlQQY,Hk`,eX%3!!3QK ++!!J!`fp*&)B!(33TBTl+ckGYBT5k[,bp[,blYl1`Vl'fY+f[Z,DbZUX!+NZj!(D +IZ-+kY,5ViX6)i*F!!3$!VXE)rrhCZUZTR[mH$6!I+3$rqER2rrL"r`8!rJ!!TK' +"!"SYJEZUDf+K[,UmZlZkZEHcX+qaZVD[XjD(ZEQU!"`%!"!I-9ZB[,HaXUff[qJ +!)!!6UE#BXFM"MFVA5j-!"2p3VUFDJ!!*3CU1@i'hZEZkZB#i#lDcX+qab0bbZEL +fZl!!6N'S[,+dPDfpH"i9!#HZU(+#VX#lXEM'dGICiHR`p[VelHIMiGrEe-UlXDf +STkDm88`,!!!"!#jpA'kdZ,UjZELhYVDeXV#aYE'`YkqZ[EqT!%Ai$c91"J!3NEf +i[('K[DT1%3!aX,+!9hDNZmM0d0AEiZRaq[rqqI$LcVDGKRCZEhZ'NCQPVkbVXY, +r*3!!*be9YELjZ,LhJEB+YE1cYEl#YlZjZ-'Y!#S5!!1-`m$"A*h$Z`!*!$#V[Df +$@@'$T,l1fH$PjZ(8[U'%F'P`Ij!!RkZbYS#i%EHeY,1aVkkdY)jI,!"$VlHjZ)' +h$,DhYlDeYVQhYlkm[-QT!%%#!!--%!!%QFM)a&1Pc-Er!!!MQEh,a+&pCf*MCQT +UE@aZHBQFVE[%bml2d-r2cXh-bmV)aX6#[VUhYl@bQfH0Y,H(Z!LhYlQpZlfm[Eq +V!%-##!d!%+l-d-C6V0E3kJ!!$A+hdH$IdX+dVUb[YEh&cG,@fGVCf0I9dp(3cXh +,bXM'aF6$`X("[VbjZVbaVE'jZELjZ)#j#lHhZlQiZmIr[lfq`DX!2J)($!!N`Fl +Ac&UPi0MUNJ!!,S@hdZ,VlZhVkHMRjqANiGrFfYM@e0,2cF[)aX6"[EQfXl'`XE1 +fZEZm[EbhYS#iJ,S0ZELcX,ZrZVc#`m'r[mZV!%-$"`S!2Y$4fpPXLYlPjqPD!!! +TECZhbG6EhYrIhGcDf0A5cmc(`VbdUTq6K(GR@8e!0M%`-$)j49&JGBUJXEh#[lZ +iZB#l#l+KUX,![-'r`F$!bDX!+38+#3"1epEFk*KTYHEZm10r!`!#+P9dLCLKTkQ +TTk+FPBYrFf*62bdA")i!&`FK3QZ8YF6#[,Um[lbHKl2*[Vfk`X6%aDX!%`81#!" +2eplDlp+#GDM6jZlVdSdTJ3!'"43H)b-G$C3!!l)!!#Q#!"-E8j'maX'l[X@`E)A +*aEUk`mE'dkS!)3%#3!N!0mEShHEadTKfHC'TZX6)aEb`T*Z$9KF!crrYaq#!r`J +!rm*$$JB#!!''!!F"%J!!4Z5H#i!!%50hXXM"[-A'EdDkblQpaFM*b+S!)`%!"3S +!%)cHkq2RlZ6+UBeiF@TUF(9kK*HU[E@IL(*GD6`$"T8!&`0H!2m,!!a,HVR,[X( +3L3fScEV"amc-VkS!(!%%$a)$!#U,bq6TkZcYkqAHep(,aEb[Riae@MF)R3!9!3! +H#`!QDPf5cX2!dj`!SFqfb-1%JD`!)!8!r`m!!!e#Fj@SXV5bVD19K@j90`m!!`! +"&,RXZ,ZXdC3!!`%!!!L!!"!'!"QEE@l,am(6S`#`d*I&c+m!"!3!!$B"JJ!#"JF +#K!!*AIrrIJi""JX%!CX!%J-($!!)XS9EbFV%dkB!emErriLc!!!&KJ!+rlrUpPS +,!J)"!3+F!!!$J!!4!JF-!!qlMPV0bXI6U`$rD(epY!!2!K10rrrKE#i8%!i@+fI +'kBAVLH`'lIVrqIrrrSS!%3)&$!!dbB9ZeFR+d-2TiM(8fE3!#4F!CGlXmr[rr[k +9r`AqrrlprIk#riJ!#`-##!"je@bAem[1d)$4!Y69f,3!!acFaDfH!)ErL!!+'3! +4[-GDaY(2d0'!d`(JfE-!"SL9Hr$kq2Q&q)AhLIJ%qIcprIk&riJ!$`d!EH'8Jpc +2dY,6U-h@eYUa!!Irr`$+rrhqrSApK[b&rB(qJ2d#r[rqK2q(!""M!"M,dQ6,e02 +8e0A6eGcFhE)!!Mlmri(pK2b&qiAmJ[d(r[hpr[rqrrq#rJ$kK`!2#J#AkSUKhY2 +9eGECf0M@hl)!!NhrqS$p!IclJrb&q`(mrB$m"2hmr2hqJ2d&r[hpr[rqJIm$r[l +prSF!%#B!9qZdHpr8eYIAf029h0lCX3!$$H2rrB[r$[lqrr[kr2hmrIhmr2hqrB$ +q"2hpr[rqJ2m&r[rrr[lpK3!(!3!!)Yc6EpD!f!(CfB$D!Hc"X!!%#!!jbqb(ki2 +U$1rmrrcmrIcpr2cpr[f!rJhprIlrr[rqrrlprrlrR)J!"J,%jAA(hGQ!fJAEdGA +GhZ5Z!!B-%J-!!aiLLb%%)"diV2k!r!Apr2cpr[f!rJ6prIlrrS$rJ[i!m)F!#3X +!TqemZZ(Dfpf!h!2HhY6KV`!&)*'D+`!"M!!-!33!LIrlr2hmr2hqrB$q$Ihpr[r +qrrrqrrljr2c9K!!6!J!!'3#1lS@cj0[HeY[Kf[Mrd16$!!d@49d%!0Erqrhmr2h +qrB$q$Ihpr[rqrrrqr[rfrrrGK!!8!J!!,3"kl)H`jYcHhEA6jG[Fhq2La!!,!4N +!P[rkrIcmrIlpJ2i0rIhqrrlrrrlqrrRrrmH(!"&$!'hRJV6RhYrMfiM6jrAKiqV +&!!4+!)IrqS$m![hqrB$q$Ihpr[rqrrrqr[rjrrr"K!!9!`!!9!"TiAA"jGrKi1R +-DHALjZ2RkU8!"GlChG6GfS6E(0VEfYVCfYIUrrcmqrclq[-@!%3!ZrrkrIcmrIl +pJ2i0rIhqrrlrrrlqrrIrrq#(!"&2!'l@E06Khq,MiHZeSqlcj1HP!!B&r`#Cq[r +qLIm%r[rqr2b#q`hmP3!!8[[pr2hmr2hqrB$q$Ihpr[rqrrrqrrlfrrr%K`!)-`" +q`A$PhZ$MJH8&TZVRkHRUTJ!$&rrr[T3!$8N!!(MTrrcprIcmrIlpJ2i'rIhqrrl +rri$q!rhqrZZ(!!JB!*1GMqhGiZ@!jJESi+ErrqcUT3!%VF#2mID)p!Ecmr6cprh +mJIX1r2Mcl2Vqr2hmrIcmrIlpJ2i&rIhqrrlrJ2i%r2ckrp#*!!HQEm(Si12Qji$ +S"HRNjZALlk3!#2r6!-crrIlqriAqJ[d"r2b#q`hmr2lmqrhmrIhmr2hqrB$q$Ih +pr[rrr[lrqGR8kIhrL!!*(U*ZkGrLjHITkB(U"1cVkqlXT3!#3IrrJIk&rB,m!rh +mqrZ!r)$l![cpr)$p"2cmrIlpJ2i"rIf!rJIrr[EPi2(rrSB!$!)!!&PkV1lHj1E +TkZU"k`6Xkq[Xmk8!!N[rqi(pKIb%qiAkKIZ%r![lrIlrqH@aIH2dm[Q(!!`q!(* +ZkH$KjHIUkqcXJHd%mr,ZmI+N!!-)h[rpTIm,r[lrp0QVrrrFqIMJL3!*,9Dql0l +MjZMVlB$ZJHm$lZramU-!"`J!,ElLi1(KM1#&hiVJ#pc3ZjaP!!$'iI([ZiF!$KN +!"##,mGhKj1ITlHl[li,`!qhYm21L!!8)$!-"!!kM%!X4$`)!!L'YidpKQP5'!"N +#$KNa!%lQiYlLj1MVl[$`mI(bm[(am[(amk)!"J)Hkq9`!!1N!!KArrr&1[rr&5f +'!!!#J3!-*G$Uh1$LjZRXlr(bmS,cJ2)"mrE,!!Vmrrqb1``&"`!&")F!%3B!!-R +r%,[[fYrKiqEUlI$bmi$d!2@!p!2UVr6ihJ!8!4B5#)p&$E$`fYhIiH6RkZhamr6 +eJID#p3$fhJ!C8Q-BYhFFXqrDh0lIiZ6Skqlbp2AfprIiprH"pJ$hi!!6rrp"`1c +DfphHhq,Pk1c[mrAfprL!q3$iJIF!q0i!(L)!!)V9jYVFh0hHi1,Pk1c`mrEhq2V +kqrVjq2Mhq2II!"32!'(GkYVEh0hHi1,QkHc`p2IiqIZ!r!(kqB(ii!!F!J!AUr$ +GfYlHi12PkHc`p2Iiq[[prIclqIVpqIRH!"iC!JB8!J"qlq$EhZ$MjHRXm26hq2V +lr2hmqrVjq[Mii!!6"5)Q#!"Rlq(Fi1,PkHc`p2EhqIU!q`Akq2[lkrRK!"3#!$d +,!'lchprLjHMXlr2fprMjq[U!q3(iq+-!"I2cl[crrU6r"[lrr[hpr[k+!"!"!$! +*!*,dhH,Pk1[[mrAfpi$i"IIjXpM3bk!!"3Ir!(6cqT!!q)RhLIJ!r),p!IlpL!! +B!388!J2(lYrNjq[Zm[6ep[Ehpr!!lr[mlD)!"$2KXEMrU!!)rIcmrIhqr[hpK`! +A!3-5!%,Ziq2RkZhamr2dpI6mF'ArrqcjS3!&2J$rm2EcK[5Dmi(d#rVqrIhqqrh +qrIhqri-!$`)!!!-!#!#UmZ$QkHc`m[+!m`Eh!-Mrrr6ZS!!&@`!!bIrmK[f)r)I +lKrb'rB$q!rrrr[q(!"3G!$rZiq6Skql`mI,`rNPar12cm[5L!!0%qrrpK[i!r)E +p!IclKI`"qrb&r3(mrB2qJ2d&r[lpkZ[cL!!6!J$%lZ,RkZh[m1lfc5RRp[rZm[# +I!!8%!!"NrrU(rBEm!rhmqrb$q`2mqrcpJr`$rIcprS(pJ2i(rIlpr[lpr[f$!!! +#J!!6&`"pp1$QkHcZl[$`+XRikqcZmZkI!!BJr`!br2rmK[f$r!IlqrVkr2[mqi( +m"I[mqrcpr)(p"Icpr2hqrB(q![hqrB$qJ2m"r[b'!"*f!$VYiZASkqcXpQf[qZ[ +`lqlaSJ!'"3"pqIrqrS[r"[lrrr[lr2Z"r!Alr2[mrIb"r3AmrIcpr[f$rJMpr[r +pprMiqU')!"!1fHIMjqRUp+ZTpqVVZm2Nm+-!!`)!+PH)9JYA@9KC@&*Sa[rkqrZ +"r!Alr2[mrIb"r3AmrIcpr[f$rJ,pr[q!rJ,rrmq$!!!"J!!4"!#qkq(Pk1h+[r2 +TkqI[lp6ZS3!%#B!H&`'1!!B"!J#2rrVlJI`&qrclr2hmJId&r2hmrIlpJri)rIl +rrrlkr2cdK`!4%!#PlYrNk1$AlqMTkH[Uk[h`Y3!*ra%a8JB!a[rjqi$m"I[mqrc +pr)(p"Icpr2hqrB2q#2hqrrlrprrriSF!%"m!NHlHiqAQkZERk1MFeZVKZ!!(!38 +L!($rqIZ!r!Alr2[mrIb"r3AmrIcpr[f$rJMpr[rqrrMrrmb(!!Ja!)2Zh1(NjH@ +!jJ6RjZEUr+-!M`-+!J)!!"(r!&2rq[Z!r!Alr2[mrIb"r3AmrIcpr[f$rJMpr[r +qrrN!!0f(!!Bq!(lYfq$LJ13'jHASjqEUl+!!"Vlrrq,rrrb-!!*8*45!!!0krrR +lJ2`&qrclr2hmJId&r2hmrIlpJri)rIlrr[rirrr'K`!23!##l0VIiH,Liq2NiZ2 +NkU!!#KIrrl[irrlqrIlpJIi#rIlpJr`)qmrr!!V5rrVlJ2`&qrclr2hmJId&r2h +mrIlpJri)rIlrr[lfrrrDK`!'-J#0kGRHi)$K"H,Niq2PjU)!!e[rrrL2!!B"L63 +CX[rkJ[`&qrclr2hmJId&r2hmrIlpJri)rIlrr[lkrIhLK`!1)!#FjYMFhYrJi1( +Hhq6SSJ!*MF'pp2rqr[hqrB(q![hqrB,m#2hkmYlQrrVmqi(m"I[mqrcpr)(p"Ic +pr2hqrB2q!2f"rJ2CDrlrK`!'$!#ZipIEhB$H"1$Ihq2KS`!#(Z6rJ2i#rIlpJIi +#rIlpKI`&r[lkqrclJI`&qrclr2hmJId&r2hmrIlpJIi+rIlpr[rll[$clZk)!!` +)aGc@fG[FhGhEh0lMS3!&!`!!H2rpJ2i#rIlpJIi%rIlpr2b$rB$m![[mqi(m"I[ +mqrcpr)(p"rcpr2hqrIlqJ[d(rrVZm[Irr[f)!!8RepE@f0U!f`2CfZ$PKJ!1PkD +JRSH)R,ZhY,+br`$+LJ!'6`#Drr[qrSMpL2b(qiImJ[d,r2cprrlbfqEcrrVkKJ! +1!J!!8q(5eGMCfGAAf2$JL3!3!BNkYF1aXV@eYVHla-A"`mL'!!B`!'(rrIlrL2k +(rBRmK[f!rJcrrrlrrZc1JhAGrrrHL!!0Z!#*i0$9epM9Sc2$iGb(!)6rJ3!-Tm# +qYX$&Vp,"l-fqZS)!!`%!Q2U!rS,pM2b*qi2mJrX,pqlG`ja6rrrNrrrAK`!1!3! +!"V[Ad0A@eFh0d,r8LJ!A!QZCYF'pY,'fYlLpZVhFhm[,YlI*jEUkJ3!$!J!X5S0 +(K%D'4BP'JN8"4N@"4!Y'5$N5!2rrkFRkr(5(!!m"!`!!4YR1dY68d0[CrmqlM!! +E#6"QQlQpYV+cYlc#a'c@bI[1VEI1cBX!%&il'Dm!"f6rrk-!!%%NL!!1!9lZ!*2 +DcG,6d*Vr[Z'lL3!$BJ!!$S!!&!%ZH+krZ,Dl`FA)b,Q`[rrY`mRIrkm!#[r1mrp +T$`-!#`F&K`!2"`d%!!!`cFr1dFr'`FLk`Bi!'K!Y6J3!!"4ITX6#`-E-d02'SE$ +(rrr6frCc"l)!!!'+!"!"!!!+BJ#1f-V1cXV,c-[*[C!!!"XU!!!@!3!*@+r2bmV +4eYcARCV)e2rriZbSQr,e[!!!!B%!#ajBcX[-c-l-d[$ZiC-!'`)!!#)$!!TP`GR +5eG[LjE&k`H(9rrIYmrrfmZQi!")#!J!!r`!b4Ur3b-[8!*26clcEP3!F!3!!)!- +!&)AAi0VIj[,6EU2Rkq$Rk16Pf0RLhGZd!")""`!!J[Bc6ir4aFV2!*6&`VA$Q!! +H!J!!&3-!-+lSjH2Sp[+4GpEkp1Ahrmr4c-I$`[qTakm!&!)L(`k#MMCGIF[&bVF ++U-h"ZYh"h*N!+!8!r`d!!&l6mHVTmrr+EChTqr,HrrqVUE@eZ,[#bp$*MD5#VS@ +HiHh4S3!9#`Mrrd$,iN0UH-6(aj&XZmcldVbc[C`!*!FK+`F!&)lTpZhVqr1RETV +5jZIMj`#lp`"G!!#DUkbPN9h2i!HL!"B91J!!I[m!A(0m`XQjIjl'a`$rYVHk`jd +!,KhrdQ%!!#fSlrRZk[ANUAChPUqk[Ec!bpAHj[EM!2qjSlLUfHrA`U5ikZ[[kHR +YP3!A1N2r!)UN35KcGBR&`k@5ZFM!E[qf[,Q9RJ!c%`"Q`,X!!J!eRH$dm1[Zj-H +KJhGfIB@-NU'rfp#pTTD#EB2r`pIQrrALjHRXlr(akG[6f)d!'CeML3"&Qki!rh" +pGTr&YCbVa-5lG[qf[VZeS!!I"J"BXlLf!`%!'f1LbGVKjqRPh0()[VDXSTQ,H@G +503Q(!$(@lqlSlZr`m1lZl1McbH,ScGIN!)Er!,#MPCZUSi+SZBD$HB@c`+kV[-1 +qY`$fYEklck!!J!CB!%UbXEA"2`!"!!BQ4f"VFR9aDf042L8%!!%!!2rEcFE,cpM +DfYrPk1VYmH$Qp`$KiGVPj1,JhGV@e0,3cmDq[VH1!1[rrk1)H(kN[EbeZ,qqZl2 +deE'lZ,DL!!m'$3B!3E#cX,#Z[U4P4b8$J`!I!`"QaFV'`F($aXV1dGAAfYlJiqA +SkZcYlHRQiE2rreb)!"MrkrrraCb#G(kKZ,ZhZ,UkZlLU`mZTXE'SS`![!3%!"`! +VRm,*[kkNRjZBRkqqbp$0a,fjYE5hZVh!`mE*c-r5eGMEhq,QkHh`mrAhJ2JPprE +cmHlXkZMRjZERipR'Xjb'GA5*TlHiYE@hYlLkXCDJZ*ZMUA#P!#-"!!)*!!ecZYM +LeEqXQ)&YC'GcJT!!R+@YXVLq`XE+cY(6eYMDJGX+f0A3bm5mX+QLQT!!J)XJLSZ +0LiU+Ki0qI(TdHSUJXEDdXE+dY,@iY+04,+ir4j')U!"6!`d2!`![LEhDkZVId-' +aS)jmF'4JAPYJCQPXEh"bFh4dFh&YD'TXE'PXFhGkJ)L0NTDFS+1QU+LTUDLPSCf +PVV5eXUqZX,'aXV@eUSRejk[rrh"PUJ!U"*e3#!!"0i#[c0hSkqIKfY2,a,ffX+U +QSTqFQjZFRU#MTUQYX,1fZEZm[B#q#,fmZlUiYlDfYB1d!E1`K+m+XV5VNMj+Xj1 +fZ8'Z!#N(,6i&!!!KABk`a0,Dhq(Li0lFfGE8dY(2cXh,bXV)amE&`m,"[lkp[,Z +!ZJZjZ,HfYV@eY,1cXV+!X4'`XE'`VkqaXkZ8A-lQX!!!E$#a!%SAT*-,!!!#)dj +dNkQi`XR0d0(4dY(3cml0bmV*amE&a-2"`,klZEDdXDkcZELhYVDeYE5cXl+bXE+ +aX,#[Vl+dUC&F!!#dII,l*KUa!!!"J!!$1%9I"i!!#`-E08jMGS12Q*fLTB#R,kD +NS*bBNib$I(0Q@8`p0%&rXEHiYlDfYE@dXl1bXV'aX+qbYE+MKNm!!,+B!!!p&lN +!"3-!$L*G")-!$3%)$48E(b!J(adB%Jd#J!!5!3!18(L1SE'eZELhYVDeYE5cXi# +a$l1fY+Q5ELi!!+fI!!"a$K@p!!N"0bJ-!!#"rrm3K`!TXBkDZVZiYV@eYVLlZlU +kZELhYV@dXl1dYVHhXU52F$m!r`$UQ!-!`!N(a3!F!a"3%!Ir!!"rZkZ3!+5ZYEL +jZ,HhYVLl[Ekp[EblJES8ZlUjYDfJMRCA+`!(!!$ZF!"Vp`F%d!!T!J!3*$4#8Pe +TGRk'Mj5BQjfHRjqHQjD1JhKQ8cXE!!!$!!$rR"d!CKJ%i!!*!JF+$!i3%!i-"S3 +!#L,rriS9!!XK"!%"h`!"!3'+!!6frrq"')!#!3%"h`!9!3!$#Jj'rrq[r`!!rj[ +rrA3S#`B"!B!!!!(r!2m!r`$r!2m!r`$r!2m!QJ$r!2m!r`$r!2m!r`$r!,!!#L3 +J&c8J'LXl%5N`mJ!5!3F%"J3%"3B0$`3A*b`608(V3[J!#!%)$adj!#Q!3Z)!(3% +&#!!"#3B-#!-$!38'!NArri-!!!%!"4%SC3Si*Z3!J!%B!JF0$`i+"!%!!!%)&9Y +'(J!!!a%lraJd1-)!"@&EBdK-4BX!!!'-!!m'%"`S-$%U(4!(!J!##"VrJ!!&"Ki +&!biZY!!8"3i%!#*`!*TDGJ%#&`!F'4-G+4a&N`!'"4-I*L3C"B!!&3SJ0$ij+K` +3"J%#"aS!!!B$&!!!*61h!")%!$dN%3S4!!!+!J!R'5a*(`!mN!!!)332)$C5Ei5 +$CM8*!!!*)63e,bJG%!8"!`Xb0``%&3-!-#Hi!"%&!``!'3![(#BA!!!%$aNY)#D +'!!%$!S!"K3!G!4JqC(GZ54S!!!BH,5SR*L%@#3)##5-D"J8H&JmZV3!A!3!!!`% +!"`X"f#`+&!3!!!3-"BFE'4JFJ!!1'(i,"!BS#J$bTR@@rrIqJ2m&!*J!!$)#J3! +D&M8l)`F!!!`P*b%J(ad@#`)"##iE"3X!!#!bY!!'!K%)%3)!!S!!#!-)"JS8148 +*AT-!"*d4,$`&J!!"#`L!!"-$(#8I(4SC'"-+!J),GDS+&a!1+V3!"JF+!!NX#3+ +$!"d#!`81*6C,A@q"PDLlbEZQNS&`ANdj*Jm)$Jd8+Sb"!!!"K!!6&L)G'aJ9&"- +2"`)&%`)#%3!!*#Ha!!J"$4d6!!88"3+$!"B"!3XJ-d9BDhk4T,I%ZkUBJfa61L- +3!i-!#!8#"!X2-K-%!B%!%a3I'KJ@%a%3%3i("`dZ1a!R)4NiX!!+!a)J,aF!%bS +!!!'!!")$!J!%'#e$@'YqMjkRSj!!EdFK"B%!$!--%K8B'"B8%3d*"!+#!!N"!!! +@("J@&"-5J"%*$JS0'!d0)"SD8+N!!!+$!"!5*$*"&3dY3)d!!3)!$%Si"S!!"3S +A(KmC#)%!&J-A,%"3A'*PC'*H@P946%C!1#iN'3m'J3!'!KJC&aB9&)!6#K)5$`m +9"3`G&aJVV3""!3!")M9%8"XL4&Cf!!!$!!jGQBPB,48'!JF4(M*)Ah1#LBQ%IAC +`DfCMAeY@88a'3$Xi0M-`+L)B$JB!"KSC'"F@J"8,$`m6%a)B32mJ'KXbV3!-!J! +(0%48AbB[@@U%@B%!2`jAS-I2b,kjZ,HeXDUKQ*!!LS4rH'pP@%Sp,b-D%3`)"3- +#!J-&#!X0$3X'$aXD'4NA&a83%4%9&K8C+5dL'"K)V!!1!3)!%845BR!k-@0jLC- +iJJ!6#c0CGSH2NBk)JAKXAe&!-5)9#J+2!!B""3F,%"3AJ"N0&a88%a8D'K`R*b- +C'N#V!"%"!J)!'P*HE)"F-94kLT''5!D&!!-"!`3#L!!"!J1""3%%!i!#JJ'!!"B +"!`8+$a3A'4XE'KN@%aXI(bNQ*b8Q,kX!&`%%!J!G@QPbL)*4294ZHAPY96-9#!F +'!i-!#`%$"38(#3X0'K!00)N!!!'&!"-##!m@'K`F(4iF%4BL*#`Q+LSVA+X!)`% +I!`!@@(*fK*+%Ad)l2d4#15XC"J!$%"3692rK$!)!-rrrX*-!!J33#i%!!J32'i! +I#b%M&!`M+#`Z,5ia-U`!'3)%!!C"ERYqKBb'G&e(0LSI&Jd)"`B#!JB%J3!$%'B +!!TB!!JS!Gi!!%!)5)L3L)bJE!L)X-c-b16X*U`!9!3F(!3!64'GfHRTjGQpP@8e +!0#FB#SB!!!'E!!%"!B!!$JBI+#BQ,#%!)c%k2$-J(U`!)!)!M!F!!!BJ1%G16dY +&2$)R("!(!3!!!3!!#`!!%J!!ET3!!`%!!!L&!!XB,#ST,bB!,6K'56b[!!-#!!! +EJ`!"!3'-!!!$T!!,&$!Z,6-T!%!m9&NIX`!%!Im!!&@#!!-j!!!0S`!!!i8!$!% +!%c3a-6BX!&3C(Kqe!#N(6IrQBbJ5#3J+%#0AUXh6f0cJiGlFfGI8dFr0bXM&`Vq +lYl+faRVFrlZ1!!d#$33G1$3e16Fj2L*"BE3!,!d!1(b(NTfRVlDp`mR3ephNkr, +clq[QiprDep22bmI$[lZhY+ZQTk@TTU@RYBS!$`%!&5)0+cXi1Ma#3%"(6&Dd!!- +Ac,1KRJ!)PT@6QTqGQk#`L!!2"`!%-Ld91M`p2N"+58G`9l-!,de44BQ5PjkNUV# +f[-,)cY6Di1ISj1$GfGA4cX[(a-#mZ,@aVDkXTkI+XC@AaVQHR)J!$`3!*NNT*d- +r38*&!#9@4eHa!#f3!2m!ET!!NjUJTUfbZEr&bp(BhZ6Vl1MNi0hCeG(1bXI$[lZ +iY,#XUD@LRjbKRjL!Q`#JK`!3,!!+8NSI3%0%489+48KCA'5b!$!JL)k6QU#QV,+ +j[mA,dGIHj1VXk16Jh0R9dFl+aX1rZlHdX+fTTD'HQTHCNC+GQjbIK`!2"!"(Bc) +d58C(5%P99&)rD,)!-#Q0Lj1CS+@XXVLqa-[4ephMkZ[Riq$GfGA4cXV'`lqlYl5 +`VDQPSCkDPTDBribIXTq(!"!8!#ja5LP-58T,5diq3f"H5E%!-3CrPT@FSkQ[YEc +#b-r9fq,Sl[$XjprDfGA4cXV'`lqlYl5`V+QPSCkDPjD@Phf*T*LCL!!1%h0H+%Y +068j16e968eY1X!!b"!!JFiU2PCUJTUbbZ,h$bFl8fYcBfHARf0A4cXV'`lqlYl5 +`V+QPSCkDPTDAPTLBPTGRL!!'!QYV,8G48)"4"9-[2PYLF+i!-`B+!3!#%K39&4B +A'"ND'KXF(4iI(adD0*RIe0(1bXE$[lZhY,#XUD@KRTU@PTH@PjqFQVZ(!!J&!&Y +[-8488P1!934D@9SrDkm!!a*49KL2!"`$!(RHcml+aX1rZlHdX+bTTD'HQTD@PjH +@PjHBNi3!%`)!!!`!5f`c4&K99e4A@9GEBP0X``!H&$p6!`'hemc+aX1rZlHdX+b +TTD'HQTD@PjDANjUELi3!&!)!!"8!1f3[49YB@9P*9PjGA&jIB-3!(!%9!)$GbmV +'`lqlYl5`V+QPSCkDPTDAPTH8UkjhK`!4(!!`@#K*A9TEAPXj@'0B8(+#a3!E2`" +chX[+aX1rZlHdX+bTTD'HQTD@PjDAP,@kGB3!&3-!!"i!*dJI89aGAepM9beMCfG +QDAfP!$TR@9aGA&eMD'jdHAq%LBq8Qk#PUEh5eYcKjqcXj4-!1J#Jfmc+aX1rZlH +dX+bTTD'HQTD@PjDANjbGLBF!%4F!)68F@eTFB@*LCdp)E'YNEU8!1`(r!$jPDQj +eI)+*N!#@R+5UX,Hpa-c+aml9fq,TkZb5!!"*ep(1bXE$[lZhY,#XUD@KRTU@PTH +APT5BQ)'(!!N+!"`H*@0DAQ*PJ'B&5R&dGAGpTJ!$#[rrFT3!(N-!!@[-fG$1bXE +$[lZhY,#XUD@KRTU@PTH@PjbDQUH(!")#!"-)2f9EB'9SD'PUCP1PVSGlT3!k5&% +pBQ0QE(*iIS5+N!#@R++TVl@k`mh5f0lNkqhQhY2Ih064cXV'`lqlYl5`V+QPSCk +DPTDAPTD4Mk*rL3!3!`0FB9jMD'YVE'aYE'TUASQN!$[r53"6D'9SEh9lJBH1P*U +JTUfcZEr&bp(AhZ6Ul1MNiYcBeG(1bXE$[lZhY,#XUD@KRTU@PTH8Ki10PEU)!") +"!#9UA@&PDQeZEh"[FBH)I(YhT3!i'QGQC@KZGAZ"Kif6QU#QV,+j[mA,dGMHj1V +Xk16Jh0R9dFl+aX1rZlHdX+fTTD'HQCHANib+NTZHL3!*!3"9CeeND'e`FB&b"(C +bFhQ6T3!i(fTNC@KZG(U!KSf6QCqPV,+i[X6+d0IGiqRVjq2Ih0M8d-h*aF+qZVH +cVkbST+#IRC@+Ee++Nj+UL!!,!J!LE9jJCQT`Fh4dJ(8>14IS50T!!h!eaYCfY +aH(k%LT'ARD5UXEHp`mV3eYhMkI$blHRPiYlDeY22bmM%`,biY,'[V+DCK@RrfBL +EQ)f)!!`"!!*ECeeMD'abGAChJAJ%IAPkHiZM!$F$!"*0@eeMD@jdHRq%LT!!PCZ +JTUZaYlc#amh6e0$0bFE$[lbjYV+[V+LPSTkBMAaQ33!!M)L5NR1(!!i(#JB!1fp +GB'9TEh4iHAU"H`4mB''%Jk)!$`-&!3!!"JF(#!J*#3S+#`Z!$!-0$3i1J!m#%"! +4J"#"$i%1JJd+#`)!!KkLRK-CAM1(!!m'$"J!)@YLAQ*QE(&hHhapJRi$Ji'"Ik) +!"J%,AQ-Y!!'N!!K9rrq5(,If$4Z'!!!"J3!0%&pSA@&MD'ecHAeqIi#!J3@!JAa +mL)6,!!Varrq'*`J$"!!$!SF!%`)!!&Yi"e4XAQ"LC@P[GAYrJB+$J)3&Ji-!!*! +!Tpm!(3N"!%NF"8jXB'"KBQCVFACpJB1&KSH(KS@&N!#0M*!!hJ!H)LJ+@$)-6QY +LB'"KBfGXFRKrK)@(LBU+LBL(LiQ+TH!!(,hD'e&TC@0KB@*ND'ecHB'&KiU,M)f +-LiQ-LBUChJ!)$3!!19PTDfCMJ')*C@KZG(U#KiQ-MS#2"Bf,M)U,KYm!"`B!+&e +UDQGNJ')5C@PZG(Z#L)U0N!#5NT'2M*!!MSq,i!!'!3!*5@YRBi"L%Q9TEh9lJiL +,MT!!P*@6MijdDC@4hJ!H#J%##!%!0faQB@*LC@PZGAZ$L)Z1N!#6P*+2N!#1MSQ +0i!!F!Jm3!`!ZEQCJBf9TER4kJSH+M)q3!*'3!)q@Pj@+QZ%!&J%!'`8!-h*NB@4 +SEA4kJBD)Lif1MSf1J)bM!!LeXD[KrrhqrrkFr`[qrrlqpr,RYl+XY,H-!!m@"!" +&Ff&MCfacH)#%KSL+J)X%P(Z$IhZJ!$J%r`"-S+@RUUb[XV@hZVfr`mA)bml3dpE +CfplKj1ETkHAJfpI5cXR%`,ZhXUfTT+#EQjL9PD"kRBU*!"F##3%"AfjKCQYaGhk +$K)D(L)Q&!)QBQ*!!SJ!%*-GqJrqS!!K[C&U#KSq4LBf)!"B"#!!IFQ9NDR"fI)# +#Ji@%L6ifM)TmPU%!1bX!rk#QTUQXVV'dYVQm[X(%aXR-cY(8epRFhq(NjqILhYR +9dFc)`lkkYV'YU+5IQjfFPU+ErhGpGh@$Q)-!'3)!!!%!"!"4F@*TER4kIRq"JS+ +&!'U6N!#%KU!!26`!!)1QTUQXVl'dYlUp[m,&amV0d0,9f0[Gi12Qk1cXjq,HfGA +3bmI#[VQeX+bRSTkCPC!!M)Q)C(9hMSYpKiF!&!i!(A*PCQebH(apIRk&*cZ&J)H +'K+)!1bbKTDDUV+qbYEHk[Er#aFI+cG$6eGMEhH$MjZMXl1ILhYR9d-[(`VkjYE# +XTk+HQC53!)Z(JRprIA@5MRL)!"-"!&eXBfY`GRPkHhpU&AH!F9#-ACm!2`)!!%5 +USDHTV+qaY,Hk[Er#aFI+cG$5eGMEhH$MjZMXl1ILhYR9d-[(`VkjYE#XTk+HQC5 +3!)Z(JRejHA4c-@YpJ`!!!S!!%`X!1h&LD@ecGhGjHK9QIRTfGiP@R`"!%Im!)+H +QTUQXVV'dYlQm[m(%amR-cp,8eYRGi12Qk1cXjq,HfGA3bmI#[VQeX+bRSTkCP*! +!LiH#IRPdG'jZ6@pSKJ!50J!DE@0QDh&dG(Sf9hefIhalJU)!2J-!8U1VVE#cYVQ +l[X(%aXV-cp,9f0hNipcJiqESl1cRiYlCeG$,am+qZE@`V+HLRTQ8N!#,Ki*qHA9 +`EfaXFdZ)!"!'Bf9MD@jaGP06HA0dGh*dKD-!23%!($Sk1c`p2Mp!38&$3d9(5%P ++4PZZjZ$MjZMXl1ILhYR9d-[(`VkjYE#XTk+HQC53!)Z(JRjjG@pYL)&cAi-!!!' +!!"%#!&CRB@CVF'"EGA"aF(0dB(QK!!-'9K32M`!T!3)!JHRLjZMXl1ILhYR9d-[ +(`VkjYE#XTk+HQC53!)Z(JRjjGA"VDfTVHSF!%3F!5QGHC'TSC("YEQpfFh+4M,8 +!+rm1+8S&!,6Vj1MXl1ILhYR9d-[(`VkjYE#XTk+HQC53!)Z(JRjjGA"VCQTVBSF +!%!d!2fCFBQCTDfTVDfdV)RGdZ!!T!33I!'EZj1MXl1ILhYR9d-[(`VkjYE#XTk+ +HQC53!)Z(JRjjGA"VCTDS8iF!#"8!1'4DAf4QCi"S"'aSD@ZHS`#2!b`#!J!!$rm +!5qhNk1cXjq,HfGA3bmI#[VQeX+bRSTkCP*!!LiH#IRPeF'YQ!!"CK`!3'J!eBPG +GB@0NC@9QFR"XGS1J!!Cj-cG`48C!M!!#4L%5J!!PEr$Mk1cXjq,HfGA3bmI#[VQ +eX+bRSTkCP*!!LiH#IRPeF'YQKj!!8SF!$aS!0Pp9@PjKB@*LC@"KC(ZJ!%)1rrp +eQU#LTDLUVE#bYELl[F$$aXM,cY(5X[m!#VrUj1MXl1ILhYR9d-[(`VkjYE#XTk+ +HQC53!)Z(JRjjGA"VC@TXA)F!$a3!19a69eaHAepJD@GQCfUL!!0(rr6IM`!U!AX +Z&U$UiHESl1cRiYlCeG$,am+qZE@`V+HLRTQ8N!#,Ki*qHA9`DfaVE'q(!!i-!$e +B8&9C@eaFAe4@ERLL!%&CHRUBSD5QUDZZXE1fZEZq`F2'bFc2dY,3[m[Phq2Qk1c +Xjq,HfGA3bmI#[VQeX+bRSTkCP*!!LiH#IRPeEfd!!(PYK`!1"3"$9%j59PKC@Q& +IAQ4BS`"!%ibGRU'NTkUXVl+dYlUp[m,&b-V0d029fYlFi12Qk1cXjq,HfGA3bmI +#[VQeX+bRSTkCP*!!LiH#IRPeEfGSDQ+(L!!-!NP26&"89PCC6P"`DD%!3`%!!%Q +JQjkKT+HUV+qbY,Hk[Er#aFI+cG$6eGMDhZ$MjZMXl1ILhYR9d-[(`VkjYE#XTk+ +HQC53!)Z(JRjkFfa[EfjaBSJ!$!j15NT08P*8A9PCA(H'!!i9(4i%!!!')K-RBaA +r!%k+!%%a!'#KQTkKT+HTV+qaY,Hk[Er#aFI+cG$5eGMEhH$MjZMXkqILhYR8d-[ +(`VkjY,#VTk+GQC52LSD%Ih4SER"[DRU*!!XG6N9)69"36Nj3G'D4!!J$"`iC-8S +Q-N''!%!G!$ZPR*kKT+HTV+qbYEHk[Er#aFM+cG$6eGMEhZ$MjZMXl1ILhYR9d-[ +(`VkjYE#XTk+HQTD8N!#*HQK#1fL5Pf5)!!dr!#p,3NK-68Xd!%&C9)J!!3N(J!) +!!B)!#aB2#Kic0QNdJ9!T*i3!2&kES++PU+ZZX,1fZ,Zq`F2'bFc1dG6AfGcIiZA +RkZhYk16IfpE4cFM%[lUeXDbSSjkAMApY95fGNh'ES@5+!!X#284"5%P*489(9PD ++!!%$!B!!J!B2#Jd6*"%94NF[+a!3@j3C-S%!2!%!($![-$%a-M-c0$8e0MFi16N +k1c`p26ir3%""3N0%4%*"3$ip2$Sj1$Be-c)`,biZ,5),!,QbQQ0lJ$Q,!!X@4$j +#48C&58U"5ND8!"-"#"BP-aFa*hJU!3Y,2K-!#MXN$km!"d1maed!!#%6L!!1!4C +'!#a"28&$3M4h1dmpL3!!%SN!$JN@)c!l5M!#$T*K)ML"akm!#[q"Q-Fq#!)!"J- +#M!!+$6Xm2$mr26Sq2%#@!")#$a`R0%"-@P)*!"6rh&*Xi'3%`J!1!J%8!#Fm1$S +m1c`m26mqP`!8"aXY1%04A@ak23!L4`)!JT`!!+qd[`!0"`m!%$Fe0MJk3P5XTiD +C!"8"&MG,9'"YHSaj'c4HF@mRSUqqSV'8Z!!!!S%!$48!!L`c-M8i!#G!0#eTQ!! +C!`!!"5j@CQjlLCUC3cadMCfEJiD)DfD#GhLk!!`#!#!a,M%d!#8c-5idQ`!E"3% +!%dpeISL8Tl*b2(UNVl#hce"34$a"1B)44l8!$J)!&bdV,LX"+$)Z-M`MECN!+!) +!e`3!!#pcMT1FUVfE5Q#CU*Z*KCJ!"33*%a8M3fKQ-`!!$J!bTkf(S3!!!S-!$J% +!%LNS+L!A+Lmf-bda0*`!&`-2%J-!#9'1RU#NXDaa4&ekHfaE93!8GS)!!!'[!"! +C!!!5*58N'4mT+J"!+5i[0Ci!'`mP&3)!'QLCSjkES)jM2cNr2#mG#`S6&c5ljRb +#!!`aUVpmD&9TNTHjN!#2T*F!!!'"!"!#!!!8)L%G'L)Q*4P8*bXX*Ti!'`%!#3B +3&`!!(f',PT!!LBCjBNJd*KJ,"JF)#aNEJ3!6!3!JVcjJDj!!Khb(NjfQVkkLQ*+ +FM3!!"S-!!)D!!!i%&adE'4`K)L%B4L8T+5bM!"3""KN6!!!119aYF'eTB9C*2#m +L&!H2!"`kSk'*Rk5QTk1QS*A)()5K,'#2!"eY!#3A&K),")-!$J`A'"FB'aiG(3% +Z)LBQ,+B!%J%&"M%&!!!%&L-U+5BL'a30"`'$!#Rr38"'8&KPE(*mKSqARkeAI-` +!E@KEKB4rIAC[Cf*D98ir-#SL&3!$!3'!!!%'%)!8#KBB'4SD)LBI)L)NU3!&%!3 +!'%%,L3!F!``9(58Z0cp)89PKDR*kJBQ3!*HFSD5MSU'*rrp*L!!9)K3J(!i%!!! +%#`i2%"%6&"8@&4JH()!HT3!!!i%!$L*H2`B!!!)0$J`*#JN&!B!!2`),%a`N,$8 +p48e9A@9YG(b$Lj'ARD'NTD5LS*ZANSb+Ki"lF@YJ6MS[*4S3"`)$"JJ*#J`1$a! +4%K!4'KBA'4@X!!85F+Tr0JD#!$!"!J)"!3!"#4)D)b`e28C19PjQEA4kIi+%KB4 +rHA*UB&C14d!j-bmU*L3L)"mF&3X$J!!3!`3&"`J+#``0$3F"&J8)&"@X!!S"!3! +@Fll#NeSX$BB!%33*$K-A'amL)b-L(aXB%`d&!CJ!$J%$"!B(#!N*%"B6(Ki0%U` +!&3)!!3-!!!3lKEM(Z*Th@$iU'a)+"!'*!!N""!F+$4!5&"8@J"82&")4$`i-#JN +("J3$!`)"!B)!#J)$"!8#"!m0%"%'XJ!"!J5!!$3$*9*kPkHVTjk5KAT`CepC9&" +05dP)4d9$36mp168a,#JN)L%G'KF9%a!1$!S*#!B&"!-#!B3!#!%""3N-!!!(",- +!"!%!!33%JJ!D$4mb38jBA@"LB9jE9P&,46ih-#NL'aB3#`J&J!-4$"XB&K35%!i +-#JN("J8%!`)"K3!'!JJ&#JS"!lN!!`)%"31F!"%"'"N@&")3$J`+#3F'"33$!J' +%!!3$!J!!!F!!!3)%J!8$"!-#!BB!"J%"!J-$"!1#!"!$%"XB&K35%!i-#JN)"J8 +$!G%!"JXk*33$!`5!"3B'#`3%!3)#JJ!5!JB-&"`K)"`D&a86%3m-#3B%!B-!!!( +9!!-'!!!"KJ!2#aBG)#!G'4F9%Jm-#3B%!Im!"!!!!3)"m`#!!3)%"!+$!!-"!!! +"hJ!$"K%2!S)""!)&!!!Jr`$r!2m!r`$r!2m!r`$r!2m!S!$r!2m!r`$r!2m!r`$ +r!,!!#L3J&c8J'LXl%5N`mJ!5!3F%"J3%"3B0$`3A*b`608(V3[J!#!%)$adj!#Q +!3Z)!(3%&#!!"#3B-#!-$!38'!NArri-!!!%!"4%SC3Si*Z3!'`%!!!%'$!i1#J3 +"!!!"#"9E4Ki!!!-41rmB0$M#!!9K@f0)6%@,!!!"L`!3!`X5'bB[-#SG%!F#!!) +)'[q!!!8'(J8$,Lkd!"3&$J3!)R!!QPTf!3)A!"`C%adT(%@8!!-"!`-#J3!@!3d +I-cij+K`3"J%#"aS!!!B$&!!!*61h!")%!$dN%3S4!!!+!J!R'5a*(`!mN3!)!3- +&#!`2$`X%J!!8#5%d05mS(4!&!3-,-MF-""8$!$!RZ!!4"3--!"N!,a`Q&`!!"!m +C,4NJP!!F!JB+$3`)!J!!"KiY+LFQ)4B*!J)*)aS'"4i9$LkY!"F"!!!$!3!(#`( +B,!81"!!!"!`&KaXC'"b!!"B"%`%!!!8$&#F1"3FA%!)$!J3!#J!!"i)!'J)&"J3 +"!!!-*5FK)"mG&JX#!3JY'`8+!!!I,l3!"J)5#Jm"!!'!!!J$#!B+&$N9#9k8!!- +#"3)"J!!!!B%!%`-F*4mG'KNB%`S#!JYmV3F5#JNTYJ!$!JJX#B3!)!)$"3J+$!i +1&")9'"ND("J5%4!0$!S+"JJ1$43UM!!!#SB!%aBL(4XB&436$`B""")!!!S!!"d +LXJ!'!3)"!!34!S3!&3%"!!-&"`N,$3m5&"88%K!1$!S("!'%!!J&!J3,$Li5"!' +"!"-8(aSB&K-4%!m,!`%)-d%('"%0-l%!"J%$"!)!!`Z$!"%$!J!!"3F)#J`1%") +6&")1#!'#!!`%$")9'"J@&"%0#33#JJ!@!3!!&K`B&K34$`d-#`B!"")#!K%+#dH +T!!!#J`!)!3-&"J)!"!STJ3!$$%Si"SS!&JJC,6p2@f*PC'*H@P946%C!1#iN'3m +'J3!8!KJC&434$`i-#JJ(!J%*!!!-"!8FX!"0!`8(#!)$"JS8"!!"!!pGQBPB,KF +,#!`@)6*(AA'!LBQ%IAC`DfCMAeY@88a'3$Xi0M-`+L)B$JB!"KJ@%a%2$J`+!J! +%!J!(4Im0!`-KX!!*"3F)#J-%#3X4#i%!-JjAS-I1alfiYlDeXDQKQ*!!LS4rH'p +P@%Sp,b-D%3`)"3-#!J-&#!X0$3S$#aB8%a!1$!L!!!N"!3!&(#B,!!!bV`!0!3F +)#J`'"3S-$a!&!!+!!"-,-ePfKiq4MSL"H'aI88!a)K8+!T)!#!)'#3`1$3S'!B) +!"J39%`N!!#H[!!m##!S,$3Nd2$`i(!33#J`!$!3-%!SJ!!3)$J38""!1!!S) +"K3!&!J8)#3J$JJ!'!a)1#3)%'Um!%`-*#``1$JJ'#3X0$3X*"33'"`8$J`!,!3- +&"3F*#`dD%!ddPJ!%!33'"3'"!!B#%JS*"!C#V!!L!`!!!JN-$!i2$JS("JB("J8 +%!J!!"4)8%e6ri3`#!$2rrl#H!!)$"!'"!!B$%"%+#!S2X!!9"JX0$3i2$J`*"`8 +%!`)"!!%#!3)'")%!!a"Q!!+B!!!"J`!#!3)"J3!&!a88$K%6X3!$!JF,$)!0#!` +,#JN)"J8$!SF!!!'M!!%"!B%!"38F'Ji$!ki!!"'"!!X$"3F)#!F("J8%!J'"!!N +"!!!,!!!5!!"ZP!!$!3!!#)`!"!J1-5J9XJ!!!j3!!!1V!!3@&LBY!l3!"L`!!"d +$"!@T!!!$MJ!$&3!"!VB!+!Mr*JS$!3!!!3%$#K3C'adH)#!H(4`D'4F@&"35%!m +1$3X((em!@h4'PJ!&!J!!4J8aYJ!U"!8($!d2%4)8&4FB'K`G(L!K(adF'aNB&a8 +8%K%2$Jd,#`)##a%P$3mT4i`!!J%$!B%!"J%-"JF0%LUd!!-#("36S3!&""J-##S +pL`!#"33"J3!&!a39$N%HX`!["!!!#JX,$3m3%K-8&KFC'K`G(amG("XC'"F9&"- +5%!m1$!X*$!m1&iTF"JH#A"SqLJ!#!`F%JJ!&"3!!*!FRX3!a"rm!"JN+$!d2%") +6&4BB'4XF(KmJ(KdE'KNA&K86%K!2$J`,#JJ("JB(#b-M#"-3%L+(!!8%!!%)#!' +#!!8*!3-4'c5b!$!""`N+$!d2%")6&4BB'4XF(KmJ(KdE'KNA&K86%K!2$J`,#JJ +("J3#!J30!!!@%"3PL3!#"`S&JJ!&!KF9%!3PXJ!`!3J*#J`0$a!5%a8@'"NE("i +I(aiF'aSC&aB9%a)3$`i-#`S)"`B%!`%!!3Rr!"j&(iF!"!)!"!`)J`!%"J!!+KH +c!#F(#3X-$Jm3%K39&aJD'adH)#!H(4XD'4F@&4-5%!m1$!X+#!F'"!-"J!!&#!! +!*K8bL!!$!J`+!B)!"3)0#`S#!l)!,`%(#JX-$Jm3%K-9&KJC'K`G(4`E("XC&aB +9%a)3$`i-#`S)"`B%!`%!!3!"#3-#&)S!!`X,!`#"!3B!"!!!&K-NX`#"!B)#JJ- +J"!3$!`B5'4F@&4-5%!m1$!X+#!F'"!-"!!!"!!-H'a%dL3!1#3`%!!%!!!%!!3S +(#!NaV`!$!33&!C%!'JdB&K86%K!2$J`,#JJ("J3$!3!"!3!""`8&%S3!#`)!!!% +!#!X&!!%!!B!!"!%!!!-G``!C!JF+!!!8&a36%K!2$J`,#JJ("J3$!3!"!!'*!!X +#!!!#!!B+"3!"!!'!!!8#$!N*"b$&!"S#!!iA&"-5%!m1$!X+#!F'"!-"!!%"!!% +!!J+)!!N$!!8*"!!!!3!"J!!%"J!!+5E&!"S'!!`A&"-5%!m1$!X+#!F'"!-"!!% +"!!%!!J+&!"8$!!!$!!3(!J!"!!!"!3!!!K!-#b8STJ!a"!8$!3!"!J3&"JJ*#J` +0$a!4%#!a-6)d06Bi+J)!"J!4&a36%K!2$J`,#JJ("J3$!3#!!B`!#!)!!`8"!!) +"!)!""3!$#J-#&k`!0!%$"3F)#3X0$K!4%a3A%!J-$3i3%K%@&!!!#"F@&4-5%!m +1$!X+#!F'"!-"!!%!!!%$!J)%K`!5!3!#!`!"!J%!!3!"!!!B(4mL+-%!(JJ!!!` +A'"B9%a)3$`i-#`S)"`B%!`%!!3%!!K83$5Q*!"!"!3!"!`%!!3!"!3!56f!i*UX +!0!%$"!8(#3S,$3i3%4-8'"dH)#%M*#8J'aSD'4F@&4-5%!m1$!X+#!F'"!-"!!% +"!!8!!#%"M!!0!`-"!!%!!!%!"!!!%5LV!$3"!`3'"`N+$!d2%")6&4BA'4XF(4m +I(KdE'KNA&K86%K!2$J`,#JJ("J3$!3!"!!!'!!%(-iX!$`%&!`%!!3!"!3!&0M` +G$LLU!#X"!`3'"`N+$!d2%")6&4BB'4XF(L!J(KdE'KNA&K86%K!2$J`,#JJ("J3 +$!B)!!J-8'i`!$`-'!`%!!3!"!3!"#`-$%$+U!#X"!`3'"`N+$!d2%")6&4BB'4X +F(KmI(K`E'KNA&K86%K!2$J`,#3J("J3$!S%!!`)"!K1-!!B("J-"!!%!J!%'!!4 +*5aFB-+N!,J%$"!B(#3X-$Jm4%K39&aJD("dI)#!I(4`D'4JA&435%3m1$3X+#!F +'"!-"!!%"N!!!"`8+"3-"!!%!J!%'!!%0"!8E(+N!+J%#"!8'#!N+$!d1%"%5&"8 +A'"NE("`E'KNA&K86%K%3$`d-#`S*"`8%!J'$!!!"M!!5!Jd*"3-"!!%!!3%!!3! +&!!!B%,%!KJ'&!SF"K3!!!T)!#!i2#3B$!3!"!)%""3!#%3d-!Y!!"J-0$`-!!!5 +0!!X"!!X@$3N'!`%!!3#!!3F!!3!(!!!G'XX!""Ni2`F"N!!!$J)*!3!*'a31#3B +$!3!"!))""3!&!!!M5H)!$`%$!J!))4S8$JN'!`%!!3##!38!!b-H&L[K!"!"!J) +!#5JM'431#3B$!3!"!))""3!#%Jd-@1!!J!%1!!`a,#%D&!i*"J-"!!%!JJ%&!!% +1"`JSi3!3!3!C3$3U)KS8$JN'!`%!!3##!38!!3F%"!2M!!i816BT)KS8$JN'!`% +!!3##!38!!K)0$"EN!!d%*LiK'K31#3B$!3!"!))""3!&!!!D+H-!$J%!!"XP'43 +1#3B$!3!"!)%""J!"#`)$(K2R!"8@("-1#3B$!3!"!!%"!!%!!b)K%aBaj`!+!43 +9$3N'!`%!!3#!!38!!3J!!!kM!$-L)L-2#3`1%")6&4BA'4SF(4mJ)5-N*LFS+LX +Y,c!Y+bSS*b8N)L!I(4XD'4F@$b*45806M!!!!B!!#3-6$JN'!`%!!3#!!3B!!K0 +((b3KS3!###)!J!Fa#!N+#``0$Jm3%4)6&"8@&aJC'KXF(4iI(aiG("XD'"F@&43 +6%K%3$`i0%")9)%F!,bL1!!J)$`N'!`%!!3#!!B!!!a8X,#HM!!-'!J)+U`!&!Ji +r3"JdM3!+#`S&!`%!!3!"!!'!!!-*!!!XS3!l!3$r#JJ'#!N+#``0$Jm3%4)6&"8 +@&aJC'KXF(4iI(aiG("SC'"F@&436%K%3$`i-&"NB2M,r!J`!!"p&J`!!!S3!#33 ++"3-"!!%!!3'!!!3"$3F))+!!-3%!!!-&"JF)#3S,$!d1$a!4%K-8&4BA'"ND'a` +G(KmJ(KdF'aSC'"F@&"-5%4!2$Jd-J!X)$43!!!P+3aX[L`!)"`B$!3!"!!!"J!! +%!adC&"QL!$X""!8'"`J*#JX-$3i2%"%5%a39&KFB'4SE("dH(b!I(4`E'KNB&aB +8%a)4%!m1$3`+#3J("`S8$`Je-KD,!!F%"J-"!!%!!B%!!`B!!#@M!$`""!8'"`J +*#JX-$3i2%"%5%a39&KFB'4SE("dH(b!H(4`E'KNB&aB8%a)4%!m1$3`+#JN("J3 +&$!!"!!!YJ`!!!S-!"`)'!`%!!3!"J3!$#J!!)k%!1XJ!!!3&"JF)#3S,$!d1$a! +4%K-8&4BA'"ND'a`G(KmJ(KdF'aSC'"F@&"-5%4!2$Jd-#JN)"`B&"!3,J!!"$bD ++!!8&!`%!!3'"!!3#%`i0'U3!%`)&"JF)#3S-$!i2%"%5%a39&KFBJ"SN'a`G(Km +J(KdF'aSC'"F@&"-5%4!2$Jd-#JN)"`B&"!)##J)"'SX!"!3$!3!"JJ!%!NXf#b+ +Q!!%#!S!$J!5""3%'"S%(+!S8'aXF(4iI)"iG("XD'4JA&K36%K%3$`i0$!S*#!F +'"33$!39G8KJ*J`!!!B-!!J-$!B)!"J%!!3!""L'L!!!"P!!Q$a`F(4iI)"iG("X +D'4JA&K36%K%3$`i0$!S*#!F'"33$!J%)"JB5LJ!#!J-"J3!(!3!#%Jd-)c1e!#B +L!33*!!!@(4dH(b!H(4`E'KNB&aB8%a)4%!m1$3`+#3J("J8%!`+2!!d#!`%!!3! +"!3!&!!!D",S!*J-!$"iG(KmJ(KdF'aSC'"F@&"-5%4!2$Jd-#JN)"`B&"!-#!!! +"!SX!!`)$!3#!!3B!!3X#!KXUS`#2!bF#!J!!!9B!#4iG(KmJ(KdF'aSC'"F@&"- +5%4!2$Jd-#JN)"`B&"!-#M`!0!J-"!!%!!3!$("X4%M+f!!)*!`+!!#30(KdH(b! +H(4`E'KNB&aB8%a)4%!m1$3`+#3J("J8%!`)!!!%#L`!-!J-"!!%!!3!(!!!2++% +!2!3!!!3(#!N*#JX-$!d1$a!5%a38&4BA&a2r!!%A(4dH(b!H(4`E'KNB&aB8%a) +4%!m1$3`+#3J("J8%!`+2!!`#!`%!!3%!!KB3$KJRS`!#"!-$N!!!+3i%!K-F("d +H(b!H(4`E'KNB&aB8%a)4%!m1$3`+#3J("J8%!`%"#`J)$SS!#`)$!3!"!3!'!!! +T)k)!33%!!!B,$!`0$Jm2%"%4%K39&KFC'KXF'aB@&aXE("dH(b!H(4`E'KNB&aB +8%a)4%!m1$3`+#3J("J8%!`%&!!!M"BS!#`-$!3!"!!)4$J`*)+3!2`%#!`3&"JF +)#3S,$!d1$a!4%K-8&4BA'4SD'a`G(KmJ(KdF'aSC'"F@&"-5%4!2$Jd-#JN)"`B +&"!-#!`%#!45+!!S%!`%!!3!(!!!j&k8!2`%#!`3&"JF)#3S,$!d1$a!4%K-8&4B +A'"ND'a`G(KmJ(KdF'aSC'"F@&"-5%4!2$Jd-#JN)"`B&"!-"!!86&"Q+!!S&!`% +!!!)A%`m',SB!$K8G(J3!!!BL%bGM&Im!6Sd!2J%#!`3&"JF)#3S,$!d1$a!4%K- +8&4BA'"ND'a`G(KmJ(KdF'aSC'"F@&"-5%4!2$Jd-#JN)"`B&"!)#"!!!*BS!#J% +&!`!"!!-!!4JCN3!)!`F1&bJh)#mVL3!p!3)$"!8'"`J*#JX-$3i2%"%5%a39&KF +B'4SE("dH(b!I(4`E'KNB&aB8&")4%!m1$3`,#JN("J3#!3)%"!',!!)#"J'!!!3 +(!!!-*BJ!!3N(J!)!!B8!#!-0!QXcK%mT*i3!2!%#!`3&"JF)#3S,$!d1$a!4%K- +8&4BA'"NE'adG(KmJ(aiF'aSC'"F@&"-5%4!2$Jd,#JJ'"!%'"3-%"3+-!!%&"B- +!!4X4LJ!"!`'!!)!'$`S0%bN'!`!&!381%&U9'6+%!)%"J!+"!i!%J3@!"S!(J3J +"#3Q"#!%("i!'J!@!")!$#3)!!!`("J-%"!'-!!)"#!'#!!),!`q8!!F"!`B,%3$ +h4)!!!`Jc+Jfd!!F""4!%!!!"!Sd!!38&K!!!!BN!!"++!!d"!`8&$b-C%$dI!`N +f5km!"$J$"4-%N`!"!3HI!"!"!J-&"JF)#`8'$Fa-"JjJ*FJ!!33#J3!#!3B'Q3! +6!J3&"`J+#``&!!F3!!!,&J!!*M2%!!!#J!!%#LH2L@1D!"3#"3F)#JX0$``""3d +9!!!2'J!!+5Zi!!!#L`!$$3!!2j`!&33*#`X0$a!3"J8-%Kd2#`X81N-C,dES!"J +"#!`0$K!5%``'$")@)"8B!3NA,aXKAa&(`!!$"`8!4*X!!"D!!!d&$!m3%4)8%!J ++%"-8'S%!%!)*%a8M3fKQ-`!!$J!bTkf(S3!!!V)!"J)#!!!"#!q!%3`6%J`(#3d +0$K!G!!!pJJ!!!Em!!!'H!!m-*!d!!!),%"%4%"%2#JB&J!B)"`J0&4NeZq9mJJ! +--DV+@KF(%#FXD481-jF!!!'c!"X"!!N'$JS!!!-+$K!2$Ji0#JF&!`%"!J3'#aN +EJ`!4'AN!#!84#`-'$aJK-6B`&JmQM3!!!C8!!!+M!"-""K3*!!!""JN,$!X,#JN +("J3$!C%!'38%!JN5'#!K-6BRLJ!UBJ!A4`!##!!#!3)"[3!%!38#)!Z!!!!"JJ- +#!J%"K3!4#`B&"JJ)$3d,$4%8&KXZ!!"EJ3!$"!8+%)!4!"@!&!30"!3$!T-!!!' +T!!m3"!!41!d(#!3&!!!"!3-$J3!D!3)$"!8'"`J*#JX-$3d1$a!5&"B@'58k!!" +FL!!$"!%#!VS!!!1"!!dLAMm'!!!"#J`+"`J(")-!+3%#!`3&"JF)#3S+#``0$Jm +2%"!4%4)6%a36&4B8'4X9'KJB&a!&"!-#!C!!!!!$V!!&%R#UIcB'JJ!#!3)#J!% +2!!%"!J-%"3B(#!N+#`X-$B!1#`m2$Jd-#`S)#!F'"S3&!`3#!J("!!S"!3!@Fll +#NeSX$BJ!!J%#!S)$!J)#!DX!!!@X!"8#!!%$!!!%1i@ialLDGeJq+KX5#J3#K`! +,!3-'#!N,$K!4%a38J"-1%K%3$Jd,#3J("33$!J)"``!"!J5!!$3$*9*kPkHVTjk +5KAT`CPpB9%p05NK(4N4#3$im163a,#JN)L!G'KF9%a!1$!S*#!B&"!-#!F-!"!% +!!33%JJ!D$4mb38jBA@"LB9jE9P&,46ih-#NL'aB3#`J&J!-4$"XB&K35%!i-#JN +("J8%!`)"L`!!!EN!!`)%"31F!"%"'"N@&")3$J`+#3F'"33$!J(-!!%#")!&!`3 +$!J''!!B"!3)$!`3$JJ!3!a!E'"B8%K!1$!S*#!B&!`(4!!B,1L8%!`-%J!8'"JX +%"!%#!S)!%J)'$"3F)5!F'KF9%a%2$!N'"!'$!!!"e3!$"J!!!BB!$`X@(5!J(4N +A&4)2$!N'"!(r!!3!!!%#!I-!J!%#"!3#J`!$!3!!!Gi!!`B4$`+#!33#"3!!)2m +!r`$r!2m!r`$r!2m!r`$r!+!!G$KYD`!!3!J!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!%"!J)$!`-$!`)#!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!`-!!!!!!!! +!!!!!!!!!!!!#!`-#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!)$!!!!!!!0)c%r6&&56dFj,4d+!!!!!!!!!`- +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!-"!!!(0R'PcHMkrrlqrrrrr[rmp1,,US&8*`8!!!!"!`%!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)"!!!hPH,rr[lrr[Rem[, +dpr[qrrlrrrrrr[rkfD0K)3!!!!)$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!3!!!!!!!!!!!!!!!!!"!!*6cIrrmY6&`X6*cG,BfpcFh0hKk[Eqrrhkqrlrr[r +h`h)K!!!!!`%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!%$!`)#!`-"!!%!!!!!!!!!!J%"!!!!!!!!!!!!!!" +!`[,&KeK-8eYTGi@9TEI(eH$RkqVNhG[Mp[rqrIclqrlqrrDe83F!!!-"!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!)#!!%!$b-!!3!"!`)!!!!!!!!6Fkeb+!B!!!)+#`X0%KNN0%K +LIjbhc0cSlHVIh2$rr[lqr[clr[lrfR!3!!%$!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%QCjDZX*YY)`-D!`!$!$) +RF&B,)`%!!!!"!J-"&Nj"#!!!!J8&!`%"!!!!!!!!!!!'&M&@Ik+kbY[Siplerrl +qrrlqqrcqrqCf$3!#!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!,2hHZe1cmr[riT9Tj0!!!&(PMfD*TPA![#3!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!&)P##RkHphplSrrlqrrlqr[clrIrKB3)!!`% +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!) +*$4e(L,[4mIrrhS$+NJN!,UHHq0UYhr[QaSPNG@0IAf"PDh0rLj1ET+U`XV+XSj& +lAd-Q#J!!!!!KBS1+[0cKrIlqrrlqr[rpqrhrac8!!J)!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(5kI'k[lrmC[Th$J +!4,R!qrhHdqMprrlrrrrrrrrrrrrrrrlqrrRZjGh@cF'eU*b-H@YH4LJ5*%j9KFE +CrIrqrrrrr[lrrI[rqiN)!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!"!3%!*CV$jrrpqE[YrRJ!5El,p[rmk0EBiHVcq2[ +lq[IbkGl5bF2&c0ILlI6lrrlqrrrrrrlqr[,4VD1#LEE3rIrqr[rrrrlqrrclrp% +a!!-"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!)!'TM$k[rqqFc[rlJ61VE1lrrqrrEThpRAeG23cXc2eH$Yq2rqr[rqrrl +prIclqr[lqrcqrrlqr[rclYlYrrlqrrrrrrrqrrllrrGS!!)"!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)!(k(&mIrrpp( +[rqT9+jM,j2crr[rqrrllqIVqrrlrrrlrr[hpr[lqr[lqr[lprIhprIhmr2[lr2l +rrrhqr[lqr[lrrrlrr[lpr2qE"J!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)!,Ul*prrrpp,VrrqX2f@`eZrprrlqr[l +rrrlqrIhpr[lqr[lprIhprIlrr[rrrrrrrrrrrrrrrrrrrrlrr[lpr[lqr[rqqrV +pr2qr&!!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!)!3VI0qrlrqYEKr2rbN9CcUG,Yqrrqr[lrr[lqr[lqr[rrrrrrrrl +qrrcdkYr6bF'lZ,Up`m[8hHEYp2Rprrlrr[lqr[rqq[(er2r@)J!$!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!9Ec4r2l +qrZ,@lIhrlU0XD)5TbZ,bqrlqr[rrrrlrr[VbjYM&XCQ"D94#-LFI'4B@'"`M,$K +*ARD4V-ABjr,lrrlqr[lrrHrPp2rJ+3!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!Alh4qrrprrAEf1IlrrhARhGNC'j +mLTDHSU5KPi9`@NSl+"J,!J!!!!!!!!!!!!!!!!!!!!!!!!BA-PD"UFRHl[crr[l +qrrEEiIrP+3!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!@ER1mrrpr[reiGIBirErrHR,Uieb@N8[&3!!!K-N'!!!!!! +!!!%"!J%"!3%"!3%"!3%"!J%!!!!!!!)C4AkZbqAhrrlprrlGa[2S)`!#!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!3DA +*j2[rr[lrrI6ShYI9epM@cEbURT+-Q+DPKP!5!3)"!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!3%"!!!!!$"qUG6NprrprIrRT-IN(!!#!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!((1ad1Iir[rqrrrrr[rqr2[ +pr[lqmY@RDM!+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3)!!#jVM-c +HjrrqrIraKS@p$`!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!%!!#KRQ,V5j1rfqI[mqrMbjG'cM@%e%!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#TiIFMQfIlqrIreDdk"!`!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!% +!!!!-+dPKG)#'KRpcBNde(3N!!!!!!!%"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!"!#'2KY$[e2crrIrU5#Jp!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!3!!!!!!!!!!!!!!!!! +!!!!"!3%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!## +LQqE[e2hrr2r*(!F$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!%#!3!!!!!!!3%#!J%!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!$+bY[hSfIrqqrq*!!)!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!""!-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!J! +!!!!!!!!!!!!!!!!!!!!#!&UpeIrEj[rprIp5!!-!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3-!!!!!!!!!!!!!!!!!!!! +!#*!!aI6pdrRrrIrT)J!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!TSSU#JSD'KSD'KSD'KSD'KSD'KSD' +KSD'KSD'KSD'KSD#DK&`S!3!"!J!!!!!!!!!!!!!!!!!#!$Uhf2rRhrrqqrqf!!% +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!""brrpr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrV ++CJS!!`!!!!!!!!!!!!!!!!!!!SI*prl@q[rqqrpV!!-!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!0XMrqr[lqr[ +lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqrVlr[lrfdS!!J!!!!!!!!!!!!! +!!!)!4,cNrq(TrrlprqdK!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3"berhpr[lqr[lqr[lqr[lqr[lqr[lqr[l +qr[lqr[lqr[lqr[lqr[lqr2[qriS!!3!!!!!!!!!!!!!!!3!6S0Erm0crr[rlrk) +!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!"!(2*mIrqr[lqr[lqr[lqr[lqr[lqr[rqr[lrr[rrrrrrrrrrrrrrrrl +qrrckrjX!!3!!!!!!!!!!!!!!!!"icIVmf2hrr[lprd%!!J!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!-VA5pIrqr[r +rrrrrrrrrrrrrr[lrr2hrr[lrrrrrrrrrrrrrrrrrrrrqrrlkrf`!!`!!!!!!!!! +!!!!"!&(%m2rCprrqrrcr[!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1SHBRCkHRTkHRTkHRTkHRTkHRU1lcq6 +qr[lqrrrrrrrrrrrrrrrrrrrqrrhrja8!!3!!!!!!!!!!!!%!-lRTrpharrlqr[c +r6!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!`N("`F("`F("`F("`F("`J)#LCqZp[rr[lrrrrrrrrrrrrrrrr +rrrrqrr[rBJ!$!!!!!!!!!!!!!3!IV16ri1hrr[rlq[qr!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!!!!!!!! +!!!!!!!!!!!!!!!!!!!D!`Zrrr[lrrrrrrrrrrrrrrrrrrrrqqrqG!!-!!!!!!!! +!!!!"!"1Ki[rKl2rqrrhYp[p&!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$!#U +bi2rpr[rrrrrrrrrrrrrrrrrrrrlmrl`!!3!!!!!!!!!!!!!!$CRJrq$Yrrlqrrc +8r,-!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$CRLrrhqrrrrrrrrrrrrrrr +rrrrrr[cr`3!"!!!!!!!!!!!!!!!+P1$rhI(rr[rqrr@DiM3!!J!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!2R1rrr[lrrrrrrrrrrrrrrrrrrrrqqrqT!!)!!!!!!!! +!!!!!!!U9irrBq2rqr[rmrm"QL`!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!"!`)#!J)#!J)#!J)#!J)#!J)#!J)#!J)#!J)%!#h +*rrlqrrrrrrrrrrrrrrrrrrrrrrllrhF!!`!!!!!!!!!!!!!!$TVSr0Irr[lrr[l +mrf*''`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!5T2rqr[lrrrrrrrrrrrrrrrr +rrrrqr[lj+J!#!!!!!!!!!!!!!3!@T1rZh[rqr[rrr[hrf4B)!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!%AQ`VDkZVUkZVUkZVUk +ZVUkZVUkZVUkZVUkZX0rrr[lrr[rrrrrrrrrrrrrrrrrqr[rjrjX!!J!!!!!!!!! +!!!!"!#5apGh[rrlqrrrqr[[rE3!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!8c@rrhqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlrrrh +qrrlrrrrrrrrrrrrrrrrrr[rqq[r6%3!"!!!!!!!!!!!!!!%!2,rZe[rqr[rrrrr +qrIrF$3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3! +lcIrkqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[pr[rqrrrrrrrrrrrrrrrqr[l +qr2[rd4d!!3!!!!!!!!!!!!!!!3"EbYhQrrlqrrrrrrlqqrpV!!-!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(6@rIhqr[lqr[lqr[lqr[l +qr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lpr2hqrk)0!!)!!!!!!!!!!!! +!!!!!"R['erhqr[lrrrrrrrlprp3'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!%!F-R[rrlqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[l +qr[lqr[lqr[lqr[lqrrlqrp06!!%"!!!!!!!!!!!!!!!!!3!PM-$[rrlqrrrrrrr +rr[lmreF!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3! +YXG$brrlqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[ljjE9 +J$J!#!3!!!!!!!!!!!!!!!!!!!%@1hIrqrrlrrrrrrrrrr[cr[3!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!cK)q5Nj16Nj16Nj16Nj1 +6Nj16Nj16Nj16Nj16Nj16Nj16Nj16Nj16Nj+,H9JY"J!!!J!!!!!!!!!!!!!!!!! +!!!!28lRrr[lqrrrrrrrrrrrqr[lr13!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!#"3-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`- +$!`-$!`-$!`-$!`!!!!!!!J%!!!!!!!!!!!!!!!!!!!!"!!q6qrlqrrrrrrrrrrr +rrrrqqrq8!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!3! +!!!!!!!!!!!!!!!!!!!!!!!%!Dr6rrIrqrrrrrrrrrrrrrrlmrmd!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +#!&RYrrhrr[rrrrrrrrrrrrrrrrhrlaF!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!J"9krrprrlrrrrrrrrrrrr +rrrrrr[lr1!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!Br(rrIrqrrrrrrrrrrrrrrrrrrrqr2p@!!-!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#BM +mr[hrr[rrrrrrrrrrrrrrrrrrrrllrem!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"@4i[Mrr[lrr[rrrrrrrrrrrrr +rrrrqr[lr0`!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!#eUSb1Irr[lrr[rrrrrrrrrrrrrrrrlmrm-!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#+ +,`0[qr[lrr[rrrrrrrrrrrrrrr[[rC!!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!Tb[G6pr[lrrrrrrrrrrrr +rrrlprq35!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!"!!*R[0Arr[lqrrrrrrrrrrrrr[[rL!!$!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +"!!&`[plrr[rqrrrrrrrrrrlqrr8M"JJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!)$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`-$!`- +$!`-$!`-$!`-$!`-$!`-$!J!!!!!!!!!!!!!!!!!!!!!"!!Q,`qhrr[lrrrrrrrr +rr[[rS40E#3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!% +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!-#!!!!!!!!!!!!!!!!!!!"!#5VcIhqr[lrrrrrrrlqrr4,IS3!!`!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!lCf9PCQCQCQCQCQCQCQC +QCQCQCQCQCQCQCQCQCQCQCQCQCQCQCQCQCQCQCQCI5LJ'!!!#!J!!!!!!!!!!!!! +!!!!#!&c!j2rqr[rrrrrrr[crRelY93!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!TU[rqr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrlrqpU@03!!!J!!!!!!!!!!!!!!!!%!%Tr2rIlqrrrrrrl +qrqpIcIFE!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!,X$ +rr2[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqrc +qr[lpX#3!!`!!!!!!!!!!!!!!!!%!Am2XrrlqrrrqrrcrQjEr`3!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"hh[hpr[lqr[lqr[lqr[lqr[l +qr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lpqrcrp&S!!`!!!!!!!!! +!!!!!!3!PVpcrr[lrrrrprpf(m[pp!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!)A2q[rprIhprIhprIhprIhprIhprIlqr[lrr[rrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrlrr[[prf3!!J!!!!!!!!!!!!!!!!5-dIhqr[rrr[r +pSprrrcB!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!9-A +Er[lqrrrrrrrrrrrrrrrrrrrrrrlrr[lrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrqrrhpr%!!!J!!!!!!!!!!!!!"!'6*pIrqrrlqrm[@rrr8!J!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(D+Uka-6%a-6%a-6%a-6&aFA +&aFI4fZ[rr[lqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrcrcJ8!!!!!!!! +!!!!!!!%!3VrZrrlqr[rRi2rkriF!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!'#)I(amI(amI(amI(b!J)#!J)Mf+[Ycrr[lrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrqr[[r8`!$!!!!!!!!!!!!!3!UY1Mrr[lrqI2 +rrIlr0!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!Pr`1[rr[lrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrqqrqH!!-!!!!!!!!!!!!"!"ZSjIrqrrlqr[lmrm8!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!3%"!3%"!3%"!3%"!3% +"!3%$!"kTf2rqr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrlmrmF!!!!!!!! +!!!!!!!%!%U$Nrrhqrrlqr[[rD3!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)2Arrlqrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[crd!!!!!!!!!!!!!!!!!!1Qq2rrIlrr[l +prqF9!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Hq(rr[lrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrqr2r$!!%!!!!!!!!!!!!!!!kDjIrpr[rrr[[rM!!$!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$"!3%"!3%"!3%"!3%"!3%"!3 +%"!3&!!bGprrqr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrllrjJ!!`!!!!! +!!!!!!!!!%*hRrrlqrrlqrrBS!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!@H[rr[lrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrqr[cr5J!$!!!!!!!!!!!!!3!9T1Vrr[lrr[[ +rR3!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,9h0 +`FA&aFA&aFA&aFA&aFA*cFR0cFChcrrlrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrr[rlrm-!!!!!!!!!!!!!!!!"!"qZm2rqr[lqrrFX!!%!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$5G(rrIlrrrrrrrrrrrrrrrrrrrr +rrrrqrrlqrrlrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr[lrr2rd-J!#!!!!!!! +!!!!!!!%!,l[errlqrr[rPJ!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!"!&(Frr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lr[rqrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrr[lrr[[rpNS!!J!!!!!!!!!!!!!!!J"'b[[rr[lprq` +H!!%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-QHIrrIl +qr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[l +qrIcprpdh!!-!!!!!!!!!!!!!!!!"!'6Drrlqrr[rG3!$!!!!!!!!!!!!!!!!!!! +"!!!"!J)$!`3$!J%!!!!!!!!!!!!!!!!!!"#JeIrqrIhprIhprIhprIhprIhprIh +prIhprIhprIhprIhprIhprIhprIhprIhprIhprIhprIlqrrH9%J!$!!!!!!!!!!! +!!!!!!!!%L1Vrr[rmrmX'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%%!J! +!!!!!!!!!!!!!!((*irrqr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrlrr1#E0!!"!J!!!!!!!!!!!!!!!!!"!"f[prrqr[hm2!! +#!!!!!!!!!!!!!!!!!!!2*Q#GZEZ`SSpd96%1!!!!!3%!!3%!!!!!!!!!%ADSYVb +m[,bm[,ZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZlZkZVQjZEQdTSK +C)3!!!J%!!!!!!!!!!!!!!!!!!!%!50,rr[rkri3!!`!!!!!!!!!!!!!!!!!!!"9 +,HDR9m2lrr[lrrHLlHc%"!!F!!!)$!!!!!!!!!KBE'4NC'4NC'"JB'"JB'"JB'"J +B'"JB'"JB'"JB'"JB'"JB'"JB'"JB'"FA&aFA&a)(!!!!!3)!!!!!!!!!!!!!!!! +!!!!!!!+$l[rqqrr""!!!!!!!!!!!!!!!!!!!!!!!!!!'*&1*YG(MpIlrr[lrrFT +c3%%Y!J!"!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!J%!!!!!!!!!!!!!!!!!!!!!!!)!+X$qr[crk#-!!3! +!!!!!!!!!!!!!!!!!!!!!!!!!!!B[EDE*hr6rrIVpr[rKMRH463!!!J)!!!!"!3% +"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!3%"!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!3PllIrprIa*!!-!!!!!!!!!!!!!!!!!!!!!!!! +!!!%"!!!!'PQFaGcdrrllqrlrdC'ra8d!!!)#!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!+B0$qrI[rC3!I!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3%!!"&8RFEGprr +qr2crqlUir-Bp!!!#!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Nkhp2rkrhB"G$%!!3! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!!!6ADI+ir[rr[cmrqLpkIqb,!!!!J) +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!3"(VqArq[ph$m*V!!)!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!"!3!!(A+ed1crr[hmrrc8drhmS58!!!%$!3!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!) +!4l6Cr[hrFM6[N3!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3%!!$5 +1`YRerrlprIrYcq2rqD-a!!!!!3-$!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!&5pcrcrp'eZrk8!!J!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!!Y0SXhLqrrqrIrpj0$Lr[h +&D"d!!!!!!!!!!3)#!`)"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!#!!&[`XVlrq"pXIqZ!3%!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!&!#FRAEA5k2crr[lrqqI6e1Reil9q6#N9#J%!!!!!!!! +##J)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!J!ANll ++r[l4UqArVJ3!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!j +)3+G'(R#feHRjrrlqr[leip2,am#YNRKD25Na4&KLB8iJ"3-$!J%#!J-$!J%!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!J!!5l#eerrefGlmrkN%!!%!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!%@1NIqX05*JSmVIlr[rr[l +rr[rqqIAcm2$Yj0#aKP8S"J!!!!!!!!!!!!!!!!%$!`)"!!!!!!!!!!!!!!!!!!! +!!!!!!!%$!3!!,)fdZHlrpI$kr[qB!3%"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!&qfa2rlVd3A-'H4U,R+eq$PjH,Ed,kPK&de%!!!!"B +h@hZAUELrZkfAF$m4!!!!!!!!!!)$"!-$!`)#!J)#!J)$!`)!!!!#0)+[YGRrr[V +pr[lrI!!#!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!'1rc[Rrrp"[,bXp6P"-3MNb+4d6$!N3)MpPN!#ifrArr[lrrrrrrrrqr[rV`C0 +Q2b!*!!!!!!!!!!!!!!!!!!!!!!!),@+9XE[@qrrpr[llrr*9!!-!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"CZ-h[rrlrq-H9J)D +@T+DPTUbkbYV[rIrqrrlqrrhlq[Vlqr[mr2cpr[rqrrlrr1I2XjU!D9K)16)[,Lm +b1e0ZM+@e[XRNrIrprIrmqrr3,!!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!3!rTFMMr2lqr[rljpRCi1M[pIVprrlprIcpr[r +qrrrrrrrqrrllqIIdlqVQiZ$JiZ6LhYE+[lDYTkDRVE[+cF[-e16jrrlprIrqqrl +rP3X!!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!3!FHVR6lIlqr2lrr[rmp1[NhYVAeYEAepIBfGMBf0I@eG66dY,5dY2@fG[ +HiZARkHc[mI2dp[Miq2Ifp1h[q2rqrrlpr[rqr2crhN`!!J)!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3!#1SZmeqhmrrl +pr2lrr[rrr[rqr2Rhp[Admr2cp2AfprMlrIrqr[rrrrrrrrrrrrrrrrrrrrrrrrr +rr[rqrIhqr[rqr2hrq*!!%J!$!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!!FmIUr1j26prrlrr[hprIhqr[rqrrr +rrrrrrrrrrrrrr[hpr2cmr2cpr[lqr[lqr[lqr[lqr[lqr[lqr[lqr[cpr[ki03! +"!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!"!!!#)eH)Vm[Il[Iprrlqrrrqrrlqr[hprIhpr[lqr[rrrrrrrrr +qrrlpr[rqrrrrrrrrrrrrrrrrr[lqrIcqr[l%6J)!!J%!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3!!!!3 +I3QH*TVh2hHM[p[Rmr[rqrrrrrrrqrrlmq[Ibkq$4`,1hcHMrr[lrrrrrrrrrrrl +qr[lpr2hqrrQk83B!!3)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!!!!!!36*MT2BA+!M*@GSU@ +QTU5KRTL1JR0L6cib-N&MPXrer[lqrrlqr[lqr[lqr[hmrIrqrqDF338!!3)!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!3)"!!!!!!!!!!!#"JJ+#`X,#3-!!!!!!4JjC*6#k2l +rr[rqr[lqr[lqrIhprIlrr[lrkl9U)J!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!3%"!3%!!!!!!!!!!!!!(9&iRm(Kq[rqrrlrr[cpr[lqr[lrr[rrrrlqr[2 +8T@NZ"3!!!3)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!% +!$MjZSFIGjHRVl1rcp[RmrIlrr[lrr[hjmZI9ZjP[3aX#!!!!!J%!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!##a)B)Lmq69TRFRZ$LSq +6PTLAP)k%GfC41L-2!3!!!!!"!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!`3&"38$!3!!!!!!!!!!!3) +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!3%"!J%"!3%!!!!!!!!!!!!!!!%"!3%"!3!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!D@- +`1!!!qX3!!!!-DP!J)!d+K`S!!!!8CR4jF'T`-L!!!!!!DR!b)!!!!%pUF$*S!!! +!&QPSC()!!!%!!!!"!!!%"`F!!!!!!!pMEfab!3!!!!!!%!!!!#*MC'9Q!!3!!!! +!!!%!!`!"!!!!!3!!!!)!!J!!!!-!!!!!DR!bBrp2re%!-J!!!!!"!!!!!3!!!!! +!!!!!!!!!!3!!!!%!!!!!!!!!!!!!"!F"!3F"!3F"!3F"!IpN!#-!!80bC@&dEh) +k)%TKFe"PFL"@CA*cD@pZ)$%Z16!`,M(r8J!-!!!!!3!&"!3!!IpF!"0!3%K)8%K +)8%K)8%K)8%K)82pG!"3"3%")5&")5&")5&")5&")5&$rA3!8!N"!5%K35%K35%K +35%K35%K3red!&!0!3%K)8%K)8%K)8%K)8%K)82q3!!!+!!!!!2Q$!!(rNpq#B"& +mj!H,&c6YX'0Z,P`(6+kL8T1I'A1q6c3$2r!(Th&YYmqVkG!E"'GPCp*FA2$HMlH +Bc'VeS@S)9b0Sm)a`f,cE2'@$lL1p"BcE`NrIJL!4FqPLl6#X1I,9c2Ka4p'Cr3K +0B*lS9-a',lSUMD%)MYM`I0k$H6@5Db4jjXGfb4Vibf,STJ6J8G#dcqlQm%pGpZS +M$Yq"k"&heeYD8QVfklRZZqhX[QhJMM6[%@Q**IQ6A$Zh*[4+Ik9PjJfYak1(&hD +Lk,l@F8dLa$[I%X-)p*f2*B2IJQ!4I&4HY,THR-N&0HD4`I0F#r+dKR#C&Im)aeQ +D1E*@1'"dmA&a&q6D)YY(i9#[U-Q2CM-*LGEN&lTEGL+5&'X0NZYV&DdRVDMc(9e +4cm$qr0'Mm%8Z'Z53!)+mN4HmTK+3!#r,p$JEFKQQm`"Zi-QM2)Be"L1P0c6k2"Y +USTm3)kI(3+jaBLd3eaa(h)l*CPY9E`hRAdX'm`@0M(mQ*F$L*db+[bNk'[-*HY[ +JQ&`3`h@PkV5b!CJ@RIhEk40RerLNDUh9Hc0E$"VC8)G0[J&US,6NZGrdXfX[UGF +G`hIf821bP*C`5`YPGkH&D4Fhf6+iM#X)*kl-B9h,%`G"V0e1"iBR)%iYljEU5%c +#MN*f0pXBepH$Hd5!(XLT[#kDemI(fQeqCc$l6X!T'"&Ar0T`I$$`p1`j"jALHm& +R@T@pD!r),cf46M`(-[bZ$(idLq%V,YN9VdD,0*R*imRj&,p*pU99[jjmS5aNaNH +M5*`9eDAMK*)9AZY&EGXE+X&*SNHj+&$X*NDmUqT2'c'(e[ihC0"J%Y5d53dE9rJ +GHh+,TP3KmPd8Nb13!)'6b`q#TGbKJP'qQbBY6[#*95BRHRkAc60,)CJH8LPDc9- +4Qqe-Hb*jJih"mkL2Y,BID@!h#AeDCbF5pQ1Ul$e#r2V,GRXiD5E#JG+hbNLM(0@ +kZD(!IH[TNTjr*K"9V%bf9c"JNK[ir"HIEcp4XkEK!MTqL65'm@PG%TDj#4IMrak +X#%335a$,)2)0P#J29'rpMrkRAfc90kS1a!ZpZ$iK`dmaT')j*jR-1PmGhXQlbD0 +RGS[IQJhjT-IJMMP)l0cTi8LUrFZF&%aJh)eh[kXL-'AmbB4j!RI$L9VVm1&De%4 +Q84&KL$)9"-NfUf!b5A"MplIaAR,mY@i*,IlI*F6Qi"LpXJ1&r!$J3,0Sk'T(ERj +#LC0aY&**0+V1(A52NQDm[c@hb8+SKV"R5K1k@Hk#8mhp@R0k*aUaLh%LpqLAf`Z +6#5mj[aAX$%hGSb&+pmSC'`kFkSZ'+mC[FE8E')qMF(qa[qQC3!"2eaEHJdbY"*c +F5EeK4TIe#)cHHK)PRde@X"YGeAVd(mbCL[prhjejIRENIKC3Ll%4TjENI'j42B8 +S#YD0"fdDP(R"Ih0$DdjE@J`%hm$b&6jf+TKcK,',4NI2)"+Hh2Z6S3@V4H`2)MB +@h`9V),)dD&Ylq6iU5qb9pG[MdFMSAm@D@%&Q`Ya+4-0H5%982FRFEpN"e3H*&p- +aqUH%Y'bmUK,@3pGbSR&5VPVKLAfai!"#GPk4DFJZjl9PE!2+0)dbI$1IE')2H++ +kqLjr+TG[r1EjJhl6YF%MHm,TE+DJYMFd8B%`*YpcY"q#+9$m$JIH8SUDYUc1LcI +c5DR0j+jSlk@HU&N[j5(r6GXJC-je3bMS*%QZ$HJd8BZY1hcYQdpN-rhHMBb"(f( +Va%T*L"NiH2PFT$CcRecLMS+mA4F2rbNX8%XCiGJZH(#IX)TMK($0`3A'%)1UN!" +8*pMXVMp%JcPm*R3qJBN''ZqXYA[jc[M&&6R#BD5"YPT9"'Cj5Kb)lV)H)Fd"JNP +Q+jDLX`[)QpQM@b2QjBf)dhMK9ljA1DJ*BXjDG#5[*J+JXLeN1@k5LI9!mmShZ2D +bL)JeB6J+a!iZ+p`eIbARYUSG3(R1`5N"Bbj&lGmMep`#fj0m&`j6k%h3V5E9E1U +BUq2BU)"`#XDN-S)A2FrCZfH9N!$,MqUH@PqNIh!)NqmG',"Cc8JUF[8eMLC"FLR +Dfq4q#QAjhJX"!#kc,hDNHFXk"1k2(*He5"!0-aj`EBVaSr*l$URZb2#AXNr58$9 +8ZjRmR9"rDPS9"b#VhcbUNANrYYRH0akQ"$4EL19d-T3MPNcY1Cialcf%eX%J&e) +$**J'lmBSBQ@iNEH@Q&m8ljA!,22RY@H[cm+GRi9I$lDRLl%5fVIZ+5mN+-Q'['d +cGIJCkLcU0,XM6r3eJ(MUH()P)T60Ad)M($%2L"fXG[@Gaf[#R[UDL!q[0b+RdCc +kVlr%c9r%FP@h[eZeC1+d+i551[p1981JMLhi)'[TH0HSFXqJGV+bAFm0&DBe`QC +X+DV)`0M'35'mM'#ZFdT!hEMLbd60,4dUJUp-J(YM%akLpFIX"IjidPX+#Y$mli) +R`I(5rLB`hMF0T51dH5EJXMlZq(!#iN%),ibA9A5pmECU-lL5R3EDjF`Fj$ZDX0N +LRi$0@)iQ[A0GUK&MU2fX6%`UPMp5i5'*V5RU@CVD#-l-*6'hb5kDDa*U!HJ)E&# +QB)"V0$DB+bi%#%JPi!r4`5FM'S*,j[I"QEcL1QK5HEcfd6EUmqqMHa8@fH$iHSb +'UJb2d2m"jjIX9![,P!C#mA%UQ`3eD"NJ*-R#`hmTrV4YF-"QV$kp(piqpbX1#`U +BU`(m2embDeb&9q`&H%G2Cm@,FS%5kajZ`S8r%qhlTQ5Lmji0UE*F8V&!V2N3e-6 +FhIGjjiN3DfI2PLJ@+!p8e8%qbKqapZ)M(aQ@D!al"aRA2j5BrcEhEN6)m)Q2Gl@ +IQd'[fBYf3d&eEk8bHmqlP5Tlpr'*jXhE560dHJb$$PXbiM*1QPMCQKaGT-kE)rC +cj*F@BF2UHSqfMSIE3B#,X4'JJH*JHUHDNNE2lQ[L`ljB6*4l"*2M(Zm%Er#EPV- +b1#b%'JmRb@KDrQZLp%)Sq-YBpSV,d!2dZ'#L"MXcl$6#MkF%@&dr%cG@UB6k!iY +cJqXi[L#5IV,a-FKIHY4HlZ!4#eTqjQ&#JT4&KVJZc&MMrC+9T9NTIcFi6mRC9*Y +Y(A,R$%#58FcZ9qq(k3h(!MDJ9T0AD1*8!+M@P2m`jZI$iL%[X+L1`3['G"HT5rk +BL1hU#%G2U)6F3aVYB!mH3Z9q8d!TS(pM!2X0AHK0kYrq'8r-ZJ!j4S#Z&(U2ala +8lBKFFK'PS,5cZibl5Qc#5ikXPNHEjYfeG#hG5"Nr*@$0V5,jI9q')3%RmqQ"qFD +G+)RXFDID61RCBH*2[!RDXCcZEK950c++(@MRJ!l)YS6C!3[SJ4T`5pU"18jTIET +RiDB)%QV&&DhphN22T&@(fZE*"rPlKP58'SLfh0('1%af#cIqiLZZ1$LPK!a5r$j +DH-H-"ZQ0YA3N*)!a2K(pda)k941[Xq0kRpqGGAjfl(i@))Z,rZp(C'8NMpT$Q88 +d9k*$FrkErSf@*YYHM4ZAKKl-&CpH'$@+GC!!YRRh63'&`p5[mLiZD9UQqam$$i" +SJUq9KfaY'@VTcJ)J!IXKKe[4RU(HDVI&Q4$imRcCXXprCA0EX-CD1)+9`14++#4 +AmVKX[dR2UlPFjek3!$0N9d)k5GqNIQh+Z`*#qN,D6N6Q#8lG1e-MZfK38q%2UMh +ch-mY5Ph0*iDj6f0RGmcHJh4G@'+Gj&HIH+E[6kj[1Rlb#d4fkiE,,Mj,H%2Y('' +fP)KbDG"CV25rpN)ka(hTi6Q#L$`i#+S'$h$80GLKSee0)S3BqGLGNBFdZQG4)*[ +F,ffVNUlJ`@F"!hqfRr*meN6@F%cCQqUJ"+MTdm19C[b24NA#$bZej-lfYLYaqAC +ZI(P,mTCY"+kC&kAS[ZF13ei'-Ha,%5GMZ%r'(RJYVZ"k9GdS'#[3Z4b,l,GS[Tl +lr"$T9ldp213cj4CLGXR`k![I1"Zj!r4IH45#U&ljb-MPLL8U3Ji88!deX3jD&8b +BYaTQ!95bDIdD3`FYefrZ-Z&XqqR@Rk3#VR,K%5aJ@e,1-IR1fbrBSK2DAK)q@MA +HMi3Zje6V3YcaRiFd&QlLSiYhL0Ke*J1Vk5`NjH!!3eRIV"+fZ5m%Ij'9)ecJ5LS +J)l(rJpNK)Yir&jFS8*Db(VTj+!84hpm9mKd[XE)K+C!!1)f&dFMF#dC*dF##9i@ +,Y"Q'L94%3JIdjhRQm1k%c50-c,Kq&NrZ%--3P*4#I+cTaceqhU#5r4@iQZBVIP` +"p+C2[@-cjeH0qBC20r*MApqI3Y2`kGjqI4H!c(J&SVPQl!2@H&e,J)K'5!RQ)N, +-69PE8jDZ'D4&PS&,6mm*4F$c!`JQ`,KF)'+40IV8'aU*1pa$&B'd8U*m8"k1ZlX +`!N9Ke[k3!!rm`8e-[Ml,T8Sl3CdNY!pDEf,bD"j4Q$1Na9)V6#P5&9hIerZX#M6 +53ZeH4P3hNVA-dj!!,A!IR-)cl2K9A1l5PcRIrhI%iXqp9TLX"JZBPjQS3XL)0Hr +[DRP2ck3GPh4miY8Xh`jblRkbhF*'#&2Vj44F5T!!JXL0XdTGh%8akHAKTr3UJ5[ +(`V6Z8l*d5-`L@c'9SR56rQ$Y908b(9Rp[C5KJ&T6VIMFNLVi0+!*V,%'#6BM4ed +"J'm'm3Fd1$Z%Q0ai6hp54MI0iV%BIYS[605K6"Rc3ce2ir-`BqB-F(m2XF@Z +XH3&Vqi3@RYm)Zmm8kBU$JAjChPVK!%G0T"3%b)K+"%F"-*RKQbb+N!!XfqI[RT! +!KEb"BlE`ij25U#*+aQ[4EM9$LB9'VbHeS66cJ%G$XNYZFBHRi3D([NGI##HJeKR +G`LPTR9"&2pl-960'QMIkf9,4k)K4V&j)EC+4cY$ccGQA(jG%B$S55E6djqiAc$, +#%aTr9fa(QBHJbf81*NQ9"M2eMQ$H3AaA!Gk[j($$J2p&)iT*H)"qB(DESaTGDAR +jS%EhfSaJbcGK6NNf!9b0KGU%Eid$c,ShGkUX!#RMH#S),S25Jcp0f$I@GZ2Z+UY +r3hEX!lTjP#RYiA,6+GD"8Mj2M+-YE,i+1i-f[TJl4UJQq*HbpQZ%rQ41XJRbE5% +4i[fiKF[c![T*93PC3cc!T[CM)KI@a,"*B+%N`rf%qmGAZ@SQ88r+aE!5"i,HaN& +@%BY,1NLaApccG4G[29p9j0',ea'L`1j0a,H@@qr$6aDGk9,HH$53!$af$T)F5e4 +ca`q)*eVfJN`EIU,2Yj1eci&"2"N[DaHQJ5-B$K8NhBX8ffmA(B0Y$M5@5XHM@kN +C5%FdIE5r55ECKP9h!AqrJ9XhY5kmGe1$e%qQ)00k9`Na8mXmPI)lB`&b`qr2-d1 +KUkMPJM2r"@jKNh@)q6kC9AfI(50S@MXK`rfM3M(*Bk,C-aMCK+`qU$V6D1,Y,20 +@`MIGNkBZ8ND#YHLfBQQUKTH`ZJ[#1T2Nl(5#ceZba(VH'Z$S(Q`A@l2'@4DeNe* +$'("`[Ki[-V"T3#3J1+,dER&90pa%[VTfq6HP9c4Ub,$REd@'jXi[3")BBANHP06 +5pC)aVpp8K3dpTcfb!-[QDEq[6hAqhNG*aKFLb%N"F8RmAPQ(bI&0iXcr6QEY-dH +pS3SfGQF0kqXD54NZ,),X&*eEJe+[8pPUr46eY9EqT-Ml`IDABE!H*3lC+Nahe+R +&mcErDi09pYbN$SRiB$G)6Dbq[LR*N@CZ5!T2f56q'!G%MUaAreK6H8U3!0mG@hk +*Q$)[fp#&9+)4f[Uj9bFE!elhF5-E,Hb99P9I@,#-eBi$+-++MdJpT0Z$!LZ$LI4 +'VB#!*5+aS1C)!+4IG[U6@!GRr32+R[Lk5a%+LMNi"+59f-mdC%D(rHU*0fT3BJ' +9jN5JlT0$0HDaGPa)'JalJV2%e6rK5(U2,QiXd-%8$3"B#X*5E26,K`rRic3e*%) +*ILqGFFTN6F2,rG*-lKE[KM(qmEH6meIhjfZT)Tk&VSfrZbFBZ-4cE0%f,8e"Z(I +MI4)1CM($8bj1-5cAP'G$Bfj5qp+!YTX$+hbQ13ZH9b0YVYlU0iPMIHSeRl4(VJH +hP3@$2BcMAq[&$0B!@[Cd(cVChc9@AJ4)(q8q3)NFj0A9"b4"FAPHF(QddNL0YmE +BQVR*&9X0SU6VM6J1#`c*ZTHP@F+KCqckMjH1U3(rBHBcZl&LaY'+4hD9eDSlQNk +d(MXa*DB"ELqY3T,L`b+M1C@Z*b(m9Hr&!a4N%4hRHI"RAP#crVVD1([I'KK921P +VNbAbpiiPKdfeDYpT'5EF[Lj53L@&%HB!8mR)IX)AcdNlM11U&JN26B"P,Z4Ti*( +3Jj6"9c[0GkIVT"5TPL$-I410VVH2%VlVX+`9h%S)HhLXJ%QU%8eM9aE#RX)8K*J +Kb,peNR+iCKc&(-Qkda)VD*D'PIhVV!$9Q%$r'EdpfZ$UE'XT(cl'$r'hb2fH1q5 +kN[5QGD5RCHJ6cR1*j-65-kh8Yfm8&SBE@ha$R9BGE*'JiYBfB3Sj3!!,3qTXLQ% +BPp(EVHGG19i$k(J6eM!R,ii51CCh5eRA5aedhIM&M-XI1G9hr3rFj1L5IArAlB` +4$NXjk([d-h+Q%U3@3JqQGK6ca&Y*A*&`MIdNT&IIcm0bCq(3Y$lGiXahhI2m6fi +B8TIIdAY8Q($)P9DFDPYJCZm5FCL-E-S(&6H*4X!ER102IcZfh$H0&%9,B0ZA!1d +$N4XBSL&(Ejh$Rr5RNdS1aHU"T$!H-iIiRLA+['EBma,18-T`3I"-!22Z2aRPaUZ +J'DB&KX5cXDadkf*CdePA5R$pLJmLE14`&CB5+-k[+r9EQiMX(!iV8aR$#UKF"f@ +Lhp@X[GV+&34UUq'ULL*pkDS*pNL+$[)1Q(4'FJ2jDTqcc!01HBP$K+[0$HfYqYC +c6pi@Q[-Be@c8qp34QDX3$I,mV`8,r0R,P!!1IBb&A5icGKLEm"phS"-Ak2lh"+p +KTN,p3q4m2aVA(6B(k%bYAA9i44q'Y`m9QYNY,hB3f)a2ce,EA33j$-U[fYQUe1F +58Iq$GQ!ma)9p&jLpIFC,VlR5Ib+l%ceYjNJUrUDbFPG!8*Nd42!9hfUQ"6krZmK +RkHaIQVUB64*LD9-@C8GHL`5lL)MhP0-P8C[4RQE`lMZ8cbrSfHBKBahQZNG*!d` +R"$!&J0YVZUfUZEK!V-F(5@a9S'Vi))Z0QN80&f*5Z4d$6$F)9#ZQJH4IC822U[h +!pb(ir*1+a5[``P8a)!i%c'ZBkMX8JIMpZbX,a@@PAaAHVCb,c$6$Z6r+JQPI(AI +Cb!-)"!mh8cfcE8D%IEhM`PE6p0P98iNdL0j$9Hb[d(h@9&Al0eIec-rbjG,Cq!$ +UI["e"1c[MdfT0[UKP29$+GdT6Xp%kBUUE)IYA3dKX1GRUFaH5lheSEVB9c5#Y%Y +0[B&I,S$HrSLLkH*0,E$AFP$5ZI+#e@V2!C+8Km8Uq)SR3,J#Q"H'aP,2REbDh8m +,mYUqdpQ-[9Zib&Kh1kSm,cKQm!b@f%hi+G34#kj1Z9)N5KDpR8'QcC'f3+j(KDr ++TYm040cpNl'#&qB+YliQ$eE2M4YM*q-GT%A8')#"[!bNBR%i9-9&GLaVGS+3!2` +r+[h6[[8[bqH[Xc!`4`jJ`4*0'%5J!p@iIPhA*aJMl!D+&p+)*I"TC!FfqIfYVYM +*+-jL*AY&RAfVRMd@$d"F9'[[a`351GHeR)JfB)+![fG#Z[@9YVUCfdL9JZ$3DHT +2RF!X2l(TYj4E+eXeA912cqf5lZ&FFMDaINabEd8P2U!q+E)*-S'PPJN'2U%pBI6 +SEh&d[6ZjI,G&%c9fU8p-8FBS2a$NS'I"rcp+U+"`bIH3!(RF2ePlhC+Q@*BArdB +##X-a3qA@N`hh6HC5q3&!iXET3k1Pq)A'LZ8#X!@8hZQ),Y663-(-r@)&(41+F6% +M!F!2CB0k@hm+0h`@FDmp-XBHX4ELrS5A8B(pRF+3!*(0p4$r0G3M!29F9'1TC[! +@)B-)#FXIPI`Q*iV10b$C49a(5#QC+MK&+)BVJ-5T&dj#$$`iFAJ(A#9N!#PY'B@ +PJ&F3"qq2@)cpL(Z[k00m*C0*Mm183NicfTL'+$rF1iM"MYJ5I#$4ZVi9V-4'PBr +c%)0qRRr)""4EDSC&1LGGh6CEUMUq1!d2A+haePhiPl-ZXjJNhV#YlcKdGF*K+aj +BTb!&MPjqTUBLM"l5!QQ28SD*A--kRmiFChh8@%FY0EGJHf"(0EbYiLU[N!#(%)b +&q0mX[XS"2$ELX'XG!`3$4VPi0U(TF05hE6T)!kd0,3VarCIPE%9#D2(rF'2-!dC +UM4)UT+CG*h$+iii'pTHEH!fG`3p%(*Ff&U0cj2'+q+d"EDMDi+Th8mep8GVT`!! +kPm(q(eerX6*pNNZ#c8N$)L1NB1f9aQ!p3UFjPh1'f-AN)P&0h)k"Bdm,5VC(N!$ +!,hh2cE`06b,HL-(Q[NN*B@r4k-b2G(80P"km,pH1Mj94K&rQBqC5e8190pFZ!BT +KINe!`qFTDf,rDVT%56`$UbZ+RAiqZ@!%-d0PpAHd5+,IXFL88-KAV`d"5MrKSZ2 +YfmJqL4R9VjU*N!#L3%"#2`VG1f!ppPS`('erkc932mIEV,2`fFKpZ`#GX0ErG3% +VMS54Y'c!j([2A(cS+20df0%2)Kr[8[CP"E$[3XR(PB,-0E+*Eh8ha$Gc4c94hae +ZN6lKbFR9-l@[!mKSXm*PRPEj+E)!,lQN@--YGR3%'D*C3QK*NN3aq1*Ym[$#TkD +YNeCI(p!`eE-[*QJ0b0Xj1-%!F6fJ[AQ'EjdC'))mYBAH,Zl3`@V9PqZiB(*%6!6 +(Mc@GI2T@B6&q9R218Xj"UZ8PYDh4NKMdrc-3iH('c-c!B&4cYjHN4(be!epUaEL +VaPhk@h0(!B3MZ*1+e$,CTc#%%kYb+*,m#BQI,d%0'PA#Jkf%bm,-fFQ4bm04+(` +%Ueerac1D"b1Ime[M5&j!T0CQAK3STXD-KRG1a+peG5(TG4h0+[T0"IK5Lr54C`- +qAlQZi'IaqG'TdqcQR0U1&KAe2ePkM0iU3'9p"+IFFYclf[V+C0QQdRjSpGTdq,Z +SP10`"8D[N!#UHY`9kMCrQ26ChIlhNfPRN!"Vi3pflJQIF"[$B2DCQ-$h@hG)RjS +#ik'I5QV"G'`c[U$h5Mk2%pI85Mf*kk@ZMN,A848"9MFJ"C09@QHJS5)18BYK[,) +Y"I'k%k!Y4#a1IYY#M80'CNm#rJ8ea#Rkfj,R0h!X$,,r"6LI9R8+D#c`%`mh`pa +Y56CaS9$bI!FXk`-`5F2ab2BeX6`89lda$qTp2GHp@&Vr)aHrih!aU6qkAU+P'kq +-JTB-f`QVKD$)dZA0"KVq6'H-NPM$NdXmRKfp@Xf!5ZI4irq&+fPfVD1ahFHJcA% +@hiIC#FBjKEkac,-!pZQIDX8a3BamQU[6(*Jf#CV)jU"X4G(4H4@ZG$qQSH-RdQN +J4-Y$)L2dmDXDE$Tf8JKe2a6Z&'HIFEHDEP*[D"9ZG8FqQ0FmqjS[QRH-6H)@2d5 +5qHJ,'4XH'BMLj"#Vq"T$H&CZ,Md1e*Ee%k-*Pel1"hH&T)M&'ZPMjihCqS6"5&% +EJ$Y+cR-EJqeF+SdA0p5F,8q!c61`31cj@m2Xfi%+L(K%X@G3EmA$M1`KLEq"rCl +B6TX[1`re%#`rh6X#I*RCQH-C-,(+4TjS2c$@LkRiA48r"PGJ4TAR-DAld1&E6!% +V"eVEa3"dM,m%k0-M3i&qEe$P!#@@`NipD-5[KSe&"rDCqlHDjNq&Hijb6IG(M$d +)LGH2G(`XCb50J-N-1&cXBiGFI'SK",'!Y1+ECVE-)(*3T!M12RKkSkl-1RAd0J$ +K)e1(kkPA-mVSdD&e[MKJcMdCZ9S$h0MJkq`El)ZDj!6RHBh@&i&C@K'%%204$6j +&"6H$[()%)`48ZQBTVrVCB2JLFdX5'RGi[(kGEcaVFjh&)8*6(f+C*l1(dj!!q*Y +aC+(U*#LVQr`0e6Gi3,@K-@"f4T!!pVh(XAGDa(+!YV6'1CQA"'p`ZF6N(N%4AL2 +D'6"k0cqG@#SPp$,(A+&iZ3EPR@BZJI8*hZ6-a,MUQ[$1H`5,jrGPIVPi2($KM6H +*)k1IGQAIaSH,-%-3V9mLh'QNF0pcK`0)QDCmKp0aB[3`-XZE`Qid,J%(mL&-Imr +$Ekr2T5Rjl[L9N!!SNDJ6TNYiiqka3#RlrbfFl"ireKZqa&K0bEd0+mcKJK*)Cq, +R2HcVUEJUcCALqR()f[IYql8Y(3fHbX'F*bJ['jq*AMYerS9b@i,*K&A$f1pVC,U +Yk$$h9KpM,M0N2kYk)-pRIG@R%FA-BB)4ZEBb0fN!0mYHU)jBi*PPdcL"j`Dm4T) +U'Z'UdTM1hJD6",@'[aGqQCT1#21af5J`5S,`8MpLJ(5+&M4rYchIq8YA2HSmaSa +LM``q+@-b[J"C+6H+B"k0CHl#eYEQ@6C8-CJNB#5[mL@H$kkAU@*#Id@E%6+NXD$ +8Ze1E4*`5U41lVe6!MIpD2`A#-9X$VEKF`-A-%6-+If!Uar%`NJq1b[M"DPG,BIT ++5C`(ej(hB!S'&Xcr9Qe$)i,#XQUALRX&Tjcr!F!'T1Y2,*Z%9-8Rc[1[r+i-Kc% +f5CRqQ#p3LKr-lq@FY(PaZBd#h%",QTXU9bCX5MNBT"5S8ESH"ClmVMlHG-5@+If +Ba+p"2hVP04L5BDAM6$Z51#3KfCXSAH1#Ipb+F+mY[,@a,YTQi%cN(!ARAjMM*b* +K35XLCDR"rNkV&8rmVLYUk%F4AG58ic&FNp'k#3(TmSl!hc0k&Lr`"jcqa@N4`hJ +1I+'(E,k3!09R384!c3*Hi[plilAG5cr'%Vk`$AB5PE@`KlI%NbSN)30BRSl0*(3 +(Z1IlNi(DD'5I@m2ai3-(QahXd(B-[6Plj-UH0)ZLG3j%&N2F%QrA"!0DSJ&r@K9 +E#QL*+A6Z-3f9jpk[J5eYkK`2k+!#[iFlQ+,3XUf!K1((h9QZNUIH,Sk'HGYbVCY +316Na!1AIk%jCDc%'NDH%IlB$NkeMrE3pTSf&4'2iYTFiLe$Cm!aV8Jf5C!c!ZVL +X,ClX-X&FdiHVr&VjFcq[Vd6&L6%b+5JjSVSBYEZdC(EXp'KRF8)G#rLImrbAfV& +-QFm,j4h4`ci`d(A*6)$Vj""cD[8Ebl1&XT2BJE+[CN"H&,Nm81M"%IKf1lXB&Z, ++&I4jf'FlE@aSHZEdZ-iPcGbM1P@F5hLeVpB(UH+q*5e4iU9@d6[bK&S@*AVjLN8 +GpDb3!,cT$!!He6raJj!!JYFYmf`*MbqrKSId'P(BD51B'[[i9+hl1%pV,+b8A#% +M)UcR2'9("eE'dlQ1pi)3dq"EU4EbPH4P%D$l09CRM1q1--V)E)9M`A'fc,f$'$B +dRDK&Y8lcR#dh3*D0m8,ENjjU%,CF8DQ6pq[h$QKk9HebqS[E2m@qX40VY$`(C2f +eRNmZ$J*rqb*,mhpR5Xf9,&eVh6F-Z[)*-kQQ*CV2lhJ03!"%BB$()Bp,kb9cYbf +r#9UI[4JMGa@r2bS$K8cb4[+J,83mpVfLNZ(IXHRG4D1Y(MZ5iNF83e-drhq9Zpr +$(j1e,Kha(+,ViKl)jPdTp`*"G151'c)f"fXGhb[G+2`qEd'N[NIA$B*A$4c&aTZ +6cDcC1MR0TBqlDpai"3G'CX&r9#kZLcNIi+,@PH"'Zj%VS9VcbUPB5pX$3)X`I-h +X&IbC5[P%&'3K2%YD9EFX8q#DcGji[(e*@dAI0D[Hj3IkB`Ibp8[pX&C#Z,Zep0` +Sc$rhbB&25F*e)(-&Ad0j#k'1SP6r)F)M11E+IQq'@-QN$lEpT*)[9YMAYE"AEfj +db3E)@cAR862-C9hRhP"#)PFMH3aFfdP&FdRQm4J"M`eBaI%I8V8ck5ek1+fjj8K +2K&-E@efK45%d+R(&$JG[5`Z`"H6N"A&P)#LMPDd`EGL3!%E2806,INb&P!M)cI@ +QZPLc2Fr"KmXm+%)8B,(8N[XlBD#1IAmA[Vc5Gf!@q$r*6@SM+8'DlR+8EDAfQ#a +[%HZch&+I#-Em+!0lPKU''LXEa@YY'PHia#%@P9%#,cE!eJ0F[kSM"*L(@&Jk@9* +Jh&Ea@DX49&(2iJ(J%%(G2a-R3Gk0Ll(1*phlS@j!qI1EKN*QmKEfSaR!Apf[IHP +,D(rM5,cU@bh`&cb0jI(9I-QjfS8'!L8A'P6H4GHXrG@PjM&##!C39HjK!RrIRkc +Nr$fZjqIVY2*&Im+K&eCIX@T3)NB+"'F&q2mQ$#$&A"A'rdD)S2pJ[3K3%r(pZNc +j0`Y1"k(R#6)[Z(NqD`iiDk#@Nm33HmBB9P++5T!!HCUF$JIE-aUR@5H-FN[*8`L +BD2jm0[br(dD#mmRjmB,eLMI@FYe908HKU-3F1XJ(RmM96*!!)a2P-4F6mfQD5@2 +i$9q*r)F340$5FC'QSd4R50)#XQM#mIYUCmp48MT-&ED(N!!L8lilE6*`"PR#qpB +ZAN(91D"I3kq`)d(YTam4h"D#A9ERVIAVF0h4e!A[eP"T'fRI8[LHB`598rbPBZ! +3#Q',feeh)dTTJl0A+9Y`()`N2r#N!8Bh(i9f$3BYaH(K&2V-AFDNdVMEU$LbkF* +N3cNZKRDGBc*klc0VN!"MKU90'aV,j$q$-r*TS&3j)mbS,SmqM2&9%D8,++,H@NM +UFe9)[6dqRqZ,(GMUUL%LkeBN*mGbe+5)a`86je#GPe&3P5FZbedNPB*a$"&jhj4 +VK*ic1MG9FN%-36GLP,f6je1ScJeZfIq!3-p$f!HPpEU*5M6hIN&X8QIrEl3aUf@ +A+-$%h)%Xd&iT@,3H`(,JGj,+c`UIB%eKdCU2r*4`@pEK@[*IS)XH(PY)ZRI9R0R +"$#kKLXHac411Y5L"E)[TjB&6-Rd[0mKfDS`EHF!ZcDEY5iR6PA)4'B4LZc2HYaj +kIlqaJS*Qd6-"c%RRkAkf4c$lK[2dP#YUA)+ha5fp%Hi-*BKdDTIQSEa"GVmBh)E +#c+ap#R!QAN!,[aZr8aC#HRJ#9Np8UC4[r`4E+6&,R#*T*(8&(1Bf2f14Rj)h2hL +KMl[IC-)Mr8QVbB%XB"l#(GYZZXN%"+-F*"*--AfqZJVJe#+HNe!pE&8j[$4,m*[ +V!lYE4r%SkQ2Jq9eD*D41bbCMA*a8L,NISmE*Xkl!ja*%NSc$FM'%Reh&4P3H(96 +jLm5kHIehdQkV1fieMpiD592S3M(KIr6(2de,d%h9VlR#VE"8L0(4#CFLfV3d)&d +d2,SmJ%L"VkFd0Cf`Q+)Bc3Xq1Zp&Idar4VUierEIGLr*9f&![rJjb#h(*U%hQIp +rF9[ff#$Edf"qE@NV+"[K$F$PQ3KFhmG$),`m8XV+X$F+M#F)$X'"J8h3b40Z5,$ +`iC'"f4&k@"3rmUedS*P95[H+@8$Cki5EGm)1VfRQBa"cV)i8+p86@8&ik3&H+5l +VF!"0'p3A4*'@le3DYflB)j06@Af8JDK[Pf+G,*9k`GSNjS%XD-UM$9iTci(FTUY +0KU@F4#DGR,"2Zj[a#aLVBI6Icaaa62(`VD2QVe0UFRJNYLXRBf$2QU@9dkmpU`( +JharM@ih$3Z(CVi44J(DLP*)lii23b#5($(r-`5beX6eaRE$E!q*NkGqV3X3aISB +Z-rX&[18lY@+VT*e0XlSjA+iUD"C''fLSTpV%B*VIk,,h6FRa-K++0-q+a46CD-D +B3I#rbpdPM(PVpU1p!-L60f`+a+X,(ie'M#[%2-jAV6H#BP*)Xe*139KY#$EN'Np +N#bJ4UZEE$GZUPm2[H$V#0fIkB+cD&VC+'K,-VKKa,I*KcqP(NpqUGcULhhT4Zch +*IlN)fU85BVL,M'c5IE"24SjIP&-JfIJM+fUlcrKETd&J,U4aNIa!hDp$T-ImD0j +3!G"bPTT5r%JqFQM+h2ldhe3U%FKCN!$rL3I3)ZX*+bEj,DcmYB-Y8ZBJK(YLUMU +'@Tj'`!cf0YQF%Qh13Y,U'fAVS'ZCEqm['UQ8RQXN+1RDGj1BN!"$24Zj%QchZLS +f3J2Q9ZY@#QT)lm1cEbk0UZf3!$p@(iYA*Qp(`e@-N!!)8kS9!-h1-YqEb3qZ*j8 +ac9*0kGU5$lfDbp,R4kLU5DAT*Tp[&9(`r",@828p8ANmrJEZXC8KGL0YcBf@T2! +9j4CCEA!`Ajq@S(r!H[814*JG5G6cf4pdN[BpSEZFrbk*Y+eaBVXD)$e3*M1j51T ++riY%lX$[00rcM`391PRP4'N*66cI5AIj61Rf3bCU*qfNQha0+)+iI@G&kP+pJ-D +#e3mq1X`Ff@GRl9dT9rmC89f0+(pL@'HQC[G3RjBmI8D4XXQ$R+J+hR&)@$&843k +JYc,dMTqKq"f+K3+EN9@`r#2McF4ePJDbTr8HVRlA`NH#B'ZiA4QjZKJ(l,ZX#%' +4SB4"9iI&9B,YUbJ'lV(SB31"8X,5pZ60NXaV)XGXicpf'Lb2CBc"(V@1&e38H[m +3BCced4Qjd0U6'"%4kPJ62HiAI1IZh$f,PfFMM(-!dS4hd4VQNfGRlM)5d+)eN8` +GGr"-lBLC&Ql-lbFcQ`#PA!IZG3GF!@3A[EpMS$A%acX!665K6l*3")ZK'ki5MbD +3!(NUUXI@QNIph)GQHiK)j`$%a,Ue"+N0a&@lVqJ8r6(IdmSbSLiB9`h(SQG'c*c +VNA!P!X*dc#DRFV'!9JCF"8ZYp+e!NAahP$HpZ`Klm6'PJYVDdPVT@8i!RkZmcYr +-B)Qq"-2YR1018pB-k6rHRAL6aU#fjYC*Z&0P)khYE(2VJPj%@6UMA`k-f2RchST +QZi$Ac'Zj*ce`,Z5HP!a[SLF'*J4p&6d%NLcYIGc[X0)-SJTp"i#bf5TeYbM8J$Y +'krh$h"cpJS'Vm&0pXU59"'rH4cjVq0a1#Q-K9A2dE%N0[0U6)$'C1`LkNlfaK5T +kIid1TbL'Pp`$0fp$mp%%)1ZmS*dKZ`TB%"GDp9F)a-3*ST36m+'cGDk&pHq#ApV +Ym9JM4N4JSl`&!!!$fNLAi3f3!0IN`2H5CTfqA@Y+b9EN)X8BJ3bc#E"c)#3*F3' +e6QH4&6Ii-QM%&%#Xe'3e"NXGJKkm)VJ``R&1+-0a#NhZ$R(2E2p+1lSC$K#j[Gl +beKdNfkZXTc&U-4!6Df#R$`b'Q@T9Y@*Qb2@*[(S'jBYcXb6#`F+qJSp8Ci'TXZ! +4,IT5Qkireq%kLbkEDc!CKF-AjAmfci+qlL,ZQ9pj+JBc%hNm9h)3pBXpj6E,K-& +E3SNal8Qe&B'#q(SDAVC%T2TZpA%%2P8peRrBBjjrQFaE,#pTrLV&QHc"YEh0I@` +G$!B3&EbL&d9%")B&)aGP[(3KCFP1E(4B"lNP95Mqc2k"BUiZ%(@%e-kia,'a8a+ +@P5UJ#NBeAq@Xi#8"J%@GTa0ie21KBHl#-@ri*+hM3YIVpKJlGNk*DY0+b"LShAF +P1RD[BZqR6jPj+JRPZA0NNri#japFAi4'4!Gr46r0%*GrJ34@rbS[8#54#RfSf1A +PA&ShYej!T'Jc%lD0q"(M2GebT8FdKUFl`EmM"5R*MRQeP`b4IZa@R!KGjVU,eVC +1ABf!LCRLUA,&T&SeGD5r%d4+"5X`YbKP4$B39H!qqbTpQ5ISl5,mKPR@abdAiJZ +aRbp$G*ZlQRGILAN1GN8d[XqVEI4#AALZHqEZ,9(Gq#%`q8UGkH+RL6"m*Pb@m5+ +Dl@+[h"deeFZ!0$-fY%[P3Zf5M'(%`r(IMSHM`6)!A*!!H-[6YFpKJ-`SmIEqAmZ +8U56p+UMCT93J)kbpG&MGTY%L"55G"eXXcAYQ%AklKP$q$hTEk%l)83$1pj*`-qT +GIDc!GqZ8qM$8DPiI1S9U%2[C4j@l#I@5il5"Fb-f4pDMXH9V$XMElaNTYjTZ$Bh +L)q!$*k'*NMI)e)Q5,5"4T*!!F%fjZ#U3!#,r99YiZeDTUbe3h6#pc9USeLEJXb% +1DALTr%!IaB11GSbbV&J#"$`hICpq!6IRA3H4+'L$%N,YLH5a!%)E%6Pi)HTkjP` +LH5+4#2iPip8h,K`T)h(9f%STPJ+EI0E4&e@i##c%r*AbMi0!+-iJ#j1$!-#3!2e +184qM8!MSGUp)5A#kN!$STm%-k(il0C6)fa&(Ap*M[1&qY&[C!PjeZ'[l+i)f4*! +!IriHk6U!Jm'$VTidC)X(jSPP2[E)d#(`UccJ"!")*q2`lN1K"!%9[+)'ULD2DGp +J#%PaE9d-p%Tj5JJVBeD8j3MTGfk3!*dl)bV1RlJQ#Y4kRm6eV!8mljV+"RiUJb9 +IU5F1R-mj6eDF30$CMQ`cdPBj+5I[P-!`e#Ql&@+L[R0bERp(Hc9Ah"1IbUDj6bi +b$p6U%*,8LaNkYf`EXhT209,N%BiFe4h$DDcqhk!hZ'di+TVh0%A"PQh$"Zf1[*l +TRlSF8fSmN@CHHLL0,GfrEc*-'USf3EeMXc"*YAFh+#VBYr%)mdZT&&3&'3kfN8B +Q%%D0HN[#IRC"RAf+#pQRd8f4f@2,PGd9dN0mFXi$4CR5mZ$c6FmmUhb5G@Ui@RC +ID*HGEUD90@)Ub-d&Z2JL'[3G[E8m4(-DEI+d*'h-pbG4"B!rB(FI92T4S)dhmID +mc&Rh3bk8T+AHcXTdr`U#"A4H8UZ1dFVZJA`qjF1D+8RKh2de#DJXjK*kmNCqE8Z +PQ3hFBYHCqV!$0$q,daaXQieXMGQ)BZ9ZXIPS4QBmam8I6PjifXSp9&9Cbb9-fCm +RZer'8eC@[Me$JfR)BY$,MFq-FhBp"mBimSc)'lV)jL+'0@[Iq9k0!5V8q2lIm-! +UP$6QdS#Tr8`)ZENfU8qU,c,bLUa!+"AL3VfI`*eh5c4bQd3M9@U6P,P9EI@MX@R +)e#kk6STM9qUKiBp%e*@b`BqJpXG'Z#S")YQ-)#mk@e%*#bc&DiA2S5YPeSSkr6f +Jm@K+1*J2#BH9c"-l!`cSCZfh)cRC#RqfcqVV)AkF2C!!VHA1Y3cb%8NSNA9"bTk +0VUE0GYReAJAG*ZUZaa%@aV6@m*TGRmY'k6[bHM9#j@a4L4A9RiEQr4"P'2Y,iXI +RPMY"69i0B#3L*$J!FkF)Kf(1$FUHRjVj'K#hEFS3f`*dh)e)e))jS$J2E%Bdl,# +0b95Khd*U#eq8@B"-'%"Y-!HPQJkY[JfReGKEl'KXClBYBblqE'5Teq!mXdKh+bM +SlI26@"qF[iXMkNcil6JQjP[ALQ"PEPUCcpmmTK)hKE2LK2"Hlc94pjL[$Q-YPIT +M2f)++#h2X23kJ,I#*[,J*-pUHl2kjXPc+4290A`!(EN8"mQK`mf#+0EaB,([#V6 +##RJj0%+5B,L!Vj+RjJR2m[dH8AA[R1`1!HhaHGaqjj0M#N-`)k(-MZCj[@FfcHc +kQA*1j(JqJU!0R$HZHFA`*D"A9JL2!f3$"@"Dkpa'Ba9-6[`qc8@SBXfP5ZdM$YB +##$H9f3[1RMdB&4a'BDSCq5m04SGb0j!!GKcBL)hme5e3N!"V@lQL59K0KqrhVa! +j6NS+D1%h@Tf(H,[ikA5iS5(hGPbamBX@i2QC&@KBD$EfR`LTTAh!XDP%I[)3(Ie +LqbBr-)kb,#2*Z-haei9%RlGZdeBL6h-(11bqBMXIYNT!U3D*Lh&9d0I5b-&r36k +D0Pq%RX!G*UHHi-XlbS8AL'j-rfd*[9'&iBD0k!HledpCP9qHGibS6G,2Kqc8[U- +@&!`I0)ei&i@*GY-Zqd*K9KUi+4c&qf2HkRc,"PYKrR#Xp69hiNSY$-mXM(pefH& +13ErPIlmTCCL1b-"ij+-'8Gmf&3l(lR[`UBje3j*[rbIBTilReHR*&1898[CLEX( +2A%!9[ChI+6[KL(SPb,4(H3SMNc1m"0T0ZE8eS9EBDBDK26iMkZM4Z8aqir"8MIE +2q5%hY,K)LNSU5*q"YVk&IaURe[R06)0Q6eBmT0R1Namd2LfNC'1hUUD3!)J,8)+ +Z8h$mj2T`pIH$#,l!eG'm+`Q%b[[S"5fdrh3kGqVkDXiB53`dJbIj`Pm'jRR"@`q +26TqeV@ZZ1HZ,e"rTPjb!lJN8q1&p6+RIA(p5M[4KKLX8SL"!*&HL"dN8$mA%d'` +c26J$[dN1rek1dZr8Z3GqR+jZ)6%h(&[H)a9aaacdMAA2plRR6TM)$[Q1G5D,cC4 +iDhr(U3aH!SJ#P5!+N!$)'1aUKXqLb)m6*B[fNMZQ'E*hM,p%-iDemVM0X4UGD#T +h-'%hYR,k[Ra@r1heAFVjP-hEGfBq-$mma@!QVI3$iiTkfVkQ5%(TNK$2[#9bbTq +dG2`A'9+J([1J)b4LhCB2YFbFIa3FG+%k@ApKPHqd(al8%HC*HBhN-D1-"'#miqd +cK%HAP,r3FD4PMbV6dRIcS-A4A)A(mqQ4QDNCbDIjMPE-NBSENB*YmPeejYHBTAi +JVSrM)2'jpJR+$,lVpF!+3HFK*)`!AFL#iN!bSEYA@40VS3BM`A'3!!9[@MF+d!i +qUd0(LM%acNPC@hrpI$%B*(RJ2qIB"*)46#mPD!%$Imr$dfEmrA$Mm28+iC!!r[e +hbp-q+FcaLb&#E1Fim,H5IZZdjHZ$hGVcmc!K`-VKdk3@IdGG*+q(2pbJ!i9E!d* +HP%8`iFS,(kT0jSC58ZESP-#elm-`&CdUk&Q#3(Yae*`R%-iY5*&3-&-kY!GM')h +Qr2DE`(a)XEJL88iiLSrLTJkmC-BNVeiL(ehI4m%5)!R"@9!*`l-iPl3,RPhG08I +BLL-r5e$ETBZFbkXkD"j`Fm+9L$Sb[SiB)"4&K9'l5YV1+TEIG3qZTCMaiVKh$l` +SUbB5'KI"VpH9-Q'ckfC`GA9m84h*&k3MU233'V51EVX#Z-lLXiGpHpYl!NKM,T9 +NSB*eGeEEkTm3DdAb*p`CZ8Z%$APSBRECG8&)K`2mkG[FQqD!JaI$k`SUT(YIrUl +fEJJkDfrDA!DX`2UiUTl-"PKQV5fd-`1!(cl,-(G61X$0GUZ$%5SCS"[0Dh(-JDZ +'"#lLX[,%Kj0CIp6d@!ef(hJ4(Fp&%)Va-J*Kpm1k*c0VcJ,ULbaT[[@d2E!!H99 +,JB@141@pL%RE9c9IG2i5d+%c[Zka1GP4-L%'-aq6bV)hJ`9bkYkGX`bmDC&h#Rd +aAI5Am'[6SDSNd'M+VI)Lk+F2GcN&d-81N[V`bE5kqe1-PMJ0"H+PP4"bRr(k#qH +DQRGPb5Ip%dqJ!f*0-iIHR3De"*+[,8IL"r65+pUV*T4MN@bb!E-jT6UHjKZJC2a +f'iq#Ye`QrX@3!"[BLkcch)Q6c3TXJQ%!1ShTqTjjSYB`m8peCV@82NeP*cbH6T2 +E8EK`3bSXj!rqF'EN)5)J)aBAMC9jYKE3qNkqTR-mH0P(1326*&ZYD"TI0XCA2`) +Y(J"*ie-NM21b&`ADX2br*9r4`aIpRKM,R8ff9!eESAdFi%)3S*NRaE"`qBZ`,Rl +&+rb'6!90p-A9N!$$Q0hSD53M8IMp,'1D8dV+'3%BYa%C8XD@+4H4F3Qj`'jib!m +Ve'8mD)*flfSb2!3QeZTi9$jldLd`dUJ)[!M'42imjH&lDkqYmP4hZlKGH4hESZS +rr"+A+I8I&e$8KKdIrE0'DRU,N!#966E*'9CJVGFmH(B),[4CkIR`ffQ''G*6JLF +9#B,S5Mje0%bVI(I+QADR0M+D#E1f[@T+ee$p$%4iDLRmJG9l8QeqU"jdMemH2Ph +X)JdCcC-b3ljrfdP[B65mVQ1jL$E`B6Ge[d0kI%YjUQU,KF*J$BpQ`1iN5k)j +iU42DZ5N@8,qaCBf0-*Y21B%$JVcj1QCbHGAGadaBPdVNbP(PNX)4&I#)6q'NUII +35V4$cEm`akiM,"&0HCl9Z'0IVqBLTX,``LXj9ip,KMDiQEP2%ip-ba9b'H52fSC +,Bfb#"3jBRN%G)3MZ*3l0%aETfUSp+a-aZIBZBr9hr""ZK8iLUQ4E69K,3kEe8TB +(RRZKC6M[3Rp`,lpUN!#Ak#+YiBh(q!+cA4FbZhQ,Zd$+Q#MGBBm@IEr*,cU2@GZ +dASL1,`C8KJVXSk`6mS9KUMUBDa0d@436*JHSTr%I3(FNQd$pZ6KTRhqd9,KJJaj +N!d4Q`QN@+5,V1!qlGR3alVcP$JYc@(pm#5)[cc-"F`CRh6[D6j*@(@[,iHl`ahE +UQ!$LAhCNT2@kT%0aXp8i9iI[RRAULIa,)SJSQb`DYdJJ8Pje3[p4+p0SZXL6QB" +R6!R6IU)"Ur%SQ&Re!apDG`G,i5bQ-(E6YD)k84$RamGl*LZ+3jfcNS85Be2F9#k +*[0S3#Mq"9$dNA"6@-%K0FpQZafDaMpMF9X`*V'41e,DDqa#!0fmqYXSX((p+B)" +!M&Gd#*(CjJR(N6Z)3N$IL3CJ@Q!e1E4!Cb49jrDe$39KQJ4Sm,SR""U"Xb[T$', +4,JX$pil*R4r+aBV[P'Aa43#G(YG&S2mLUK3L6RJ#dfdT-&'c2j[#P2MFZc)UV`1 +dM@p[2-#iTPSaU0YTfDDA4MlkYP`r,AiD,@diIY*FVA$VBK-)d8`9bZ951P"aZI! +8S2iq)CEZlh1)f"dRRYI8VNjU'N5p@b1*5'cpT1!%*f'J`ZhL82",CMp*L+kV-k1 +h*3aMLKprr@lKS[pNMm4feYT62jJYp%r#VEA&hMId-e([jl(c)`*2LYLVM8QHZ8* +0DQkBJDe@YN8PlmD)0V80[5)TS,SCT(9C6EB-G*58MZNCVL1NQ9-kUS`G@m*QPIL +,*i+-LP&QZSQj!+8a(4@$q[*C01hr(k+d6`3$d,80X)jRT``CMb+jLp''r2+*2jA +Um8-YSpJCmZfpadF,b+3j2l$,'U8(FeQDlFfBPXfT$VP1E`k-LUldV@0!PY!AiGR +B16rFFCda+5URcGZjc+rh*1VXI9a4kiGb2B3ia04`'R,2(lhpkEdr00l6QX&`U,c +[X'rIK"RU5qV$fGKJ$kq6j2-j,D@43FZY+KZ5&HbUlQV-dX)e(p*(6Xe0RK4SK)2 +XQ,-p66QjB"PX40LLB982E&8GD'H"RKT[N!!`+RbkAhE0PbcDkRmekB'SDIV(+5& +Jm8CjL(h[lB@F*ND'RAAlpl-(kk6VM"J!Xae@CfM4+l2iKK2+d'hjrD(TCkH8IZ6 +M9Qe%fe5V-PhiiJ[*RACqTbUK)2#`(-)UYFKXJ*D$Z(P(0[%i3$01m6m8*bC(PCE +%iVFL2G%B@IH&YI&1E@P#3qCUJR48E#Z)I!ikQ)VYD4$LP8BdmDVS,TY6I&i2#G$ +$E+SlljK&@kGHKTXS%qA0Zc'YcZejFBi(%pM!5M2JkQcVC8UX-G&,XFPQ0kde2@' +L*l%V6mSZmkPA6!`M,%2l&FRSAirG!ThKMjhYcdJcEHGDMHl3H6--,r8!(JS(42B +#TEdVGp`-!1d*kX+QE+bpQGJ'rICm((0$F`!U(e`T1Ile`k0e#a!mU(lG6hqDc9) +k$b$bqk@[EE8JM#eE0INpdc5!9pp3C9F*RlZ`LE&Yc[H+9BA["fD5ej(Uq)RCrb@ ++Rpe3cEFCYQ6r#qdQraTJk!@1fQIZS(Q`U@l,*%"J!"#j#Kk&92,KM%@NGKNi-qj +``jqUm'6,0eQ@K#eYR-BGT#&!,CPE,0S61!GSqF`4@FD@lJM-2H2#+@+T%NdZ$+, +q[Pm2bHELc+M')XNDX($r@2Ailbf-Ej2eBp-`dL6!q"Qr6JR),MBQhD%mQNFfrLS +rJ9f'XqTE"eZ&S[)CjU*@bL[AkG'NDaYCh$"BrPdFp8e9Sh#p&3pY%[(Y(U1@&D9 +md%kDJPEi+5afY[5ck8#rr%d[MrDHml'3!26E0"4J9kG$*i3hiM$A!V&I5XTjPrM +Gd+EJe'Ke3kK$Zc-Cq)%0V)b5%@ZBfI1#h8YM5!icKKVb[``1+h2qHqY,8ZT1N6) +r,ZATrhNMK+p)[Yl`,Tjbkke`9iDEfShNQ[U@LGTh![9DN[pM6Sf&dc+SYJ#Nifa +1qlFpr+FfK`8K36c10U&HHiMr3M&PHVX,`LH*lk`[-$R`)F)JJi$B'PiEZfG2F9c +if93G($,[Q$p1[#2IZX'A0!BlkFH+EGIUNbEQ*rb2,3JYA@"V56h@(f*h"k,+jQl +08pqpMNGZ$h@b8NpRAE5["9U'ERH'r+S#fUifU#Z83`dfk)Pb-+m-JbVUGKDrEBZ ++D"rZb8pGi`arB'*+J-f1$CXdZ(p!pmUcZPV$HHI'1%UBAGh*GYB8k!)rHQ1BNK@ +h2B-GVCbU6mTUFAfc0`3mm*ZV5(FGF"%,61l6Bfj1Da,[PQ`D"kM8GN,X,VXcc@! +Q0J$klTmD+"PL+N-ZkmVKZ&bQ-D-c,*GXX`S%R*0NUp3#AXXLrf"aae",1pb+Mb3 +TDY0"mJ`9N9DU3%U`#V"DLZifrD"ETUJPbZ9j#Y*HQHaDpCZYiZl2r'4(ri8Sl`r +5`)fIL2#6BQKcZTGe33lR!,$qBYlMf*k@rKG6N!$F5c95aB26Ic5q`IHEYTHB+pj +'*XY#+hPTBVJ-jj9!lk#$Hc4SUCF(C2(`k@bmBRV3MCqJP1F[V[aGVFAbELhj"!@ +L%(T)3S&4PQ#G&NVN@fF44dLT5djP-(@C9NIL6T9+-dF53`BkFRKh'T'XU!M2(+6 +ab8H0XFH6FiQpkQlMMClq)qhT4c50MM6eX9DJQ[f8!jcI4b,a!9q!1V#k)BMR2H5 +@#6JJmaA(TD6bm6,cHG2mAe!Z&FX0Kc9f)*Saj-b#[3kT(+h29"SXde4$6Gb-MFL +qV,#`&H510NG#jp0FAi3re'JG8MNN0LPrBMZ8&+)(4-U+q$UhTTQhIhB!UC[C`RC +BmY!I[RRXre6+iecMC`Va9'c!$pR)Fe#b'9#,c`*ab)(S(%C6b+'X2%UZ,lP!DPM +pY5L3!0$araa+iU,5hJ)CXqdJbjAjHZ3k''-65`04AXhN[+K-03DeqqHM66IJckc +8jddQDZHp-,*XdQ55M0@qi@rhhC35C5ShjQYVb`2SMl5[S"`+Dp#9Y%cHLakm%$I ++2cr"@!KEKPBDqJCD2p(M1A@`*DCdiK,JGG$iiL'PNR8H9XS-mBqD@2%3Z'fIV&l ++U@0VTp+@HG+Jfp21XGfB+G(V1C90c4fLElk-CMU8cHUfVCV$N6LRBRNDVr2Lrf4 +0k&lmASUV82B)HQeE2J[AT@a)TrLRFa*1M0*%p8LHd3al0B+')JAK0k)6UY5ekH' +SU5'PJ8hP5LAMF`Xk'E1L,Mp!(f)1I*U8E+88LAaKR`G$5*+CaJpD%PXJUGNQDcM +N8e"2#9*'hR+h1PU5Fr61BHNbIPei``+AM[a8K6SI8rRRX5k%(jZD3QQ$V`#J+$# +Ich8rU#F'2Cm*i2FXmbJ4Xa[m`8`SS4Sqr"Th-MQ$K%jf-cREqS#j55Ak'4+Ed`A +3hcEPE%[8`C8D#FP%U4Vc+)ePc'2ir%Vd#"%Y'akY&)iXFD`G8TL3!2JlBBe[VLP +&45G306p5P22)*'K4KSG3P',ki0#Q5!*rQJ0@`(3![rQ6VL4p#0(CZD0U!TkA@M0 +3fQdP"l0b1BcV*AhpbcRb)9e'$54#L9ciN4@49KPM"Xl*4+3NDah4rc`eBZA1+PM +,2F-kIH9!X4D1[U!M5!lm*9"q3id8*JB5rEEieq35S1A5"VR'54Dj(DU65$i5,[H +[)T!!E$+8H[$J0N*JakNNPM3!L#YBHqGYK`IS0qZdm%i'2pbNaFAPr(iQ8h%J(rR +FF'bNI%A)jX%9XhkLmkA&3K&GABRH9Tr,F#aM5HS!BKa9cJ@&!#FCHHCC!E&(a03 +c%90Q'GC5&VKZQmfKdA"'r3-Q5-%Tk#"hm-&*LUfBbea-Zqa%!8"j$%H0bMR2@*k +9'`(46Dr@`F2r0A[pr3Q%R9!M,faN&2[p)R2+`#aH1Ai5"ZUZ-@B"6cV!"ZE'`5L +JdbfqSSXBXkK4Uf$`)6"T3ipj@S6(Z!9EZMqIcm1m1r2d6)r$[m$KN3N1i@fec+S +4k,'FU`!PSB9VlbT%IN1Nlp3JKV-j4LMhM,hfelAV8KXMA4Q3!!9dFYLE2@'r+@C +HfV*(((,r)NVF2QSTJ,YN!IGhM#3Y!9KpqPN#KHXDdeC@a+Eb&NiGhpD4FJja@UB +%,h6d-6*%Q!cdQZM8l(H!,,MJXpeINCUpZ,G5!Aa68ZB&@8B'GR*!kGX+5CGheK3 +b*A94RrXUCif%ZGUGlkN)ULk[i4KB+&JdSmVfE0kYkaYX+p24A#Xcfil*(qLRH50 +Ak`2BF$SG3G@DY+U*GD3DM8qSE*hD[fap0*R"54*+![%il%9j9AET3k0[,d2%rZ2 +P"Nd9iHGLbb4aMNJfFiCdN[IjEbh69)URXLd6KLY34b1FGB0c!le#YUXVdCS%U!6 +IQRZ[a3Vq4)"BHN3F98i0$8"TNH[,'a*chJ[TrF6(cI)i5,j0mZQ)PLj5*jDXSB! +,RcA'[,JI-9QHd6ST@Ml(`ZcM-P5Fhiq&$&GIRDN,JkhdYQF*PImAERI['X9bh'q +U(2(eD#X1UEf8#!*@TpriC-*B0bheH@2Z`[1%8fGQ`#&RAP8V8EYr1m[hFLfBT$b +P@$2RaA#R@XUJ@e@Qi)4@9e46$CZUEr2TQ&lFI9ra*qa"q3Na`[jepajJLX64M@H +r(k`NFYHJ62FF81I[BT%dBFBB4KAe5a&r[p@$3ZF4$LCCem(ji@&'QP,bbS+@pd' +T3D@@!l*fLad#(j(E5A`Z@@MY[C!!U(Sb)X&J@CL85JCeVUh!14GLJUVQhk8fRip +RDNbkUaiBSc)CcGXeNXk9HJV"p["JAAKqrec0Z-1ZDLBe'2XEJ-2FAP'"jmX9R)% +@rHC""&TID1rI136REejL$YL"DK6P('&I'*9([kkU)T6c(K#H)J8`e6hZqPA`H@) +T+Kj5MlM!rK`bq8Rm%T4Ddkqfl4aY%IYh8p'0D+a!$2J[c*NVXNR3,CB!QPdUTh3 +T%ZM(P+E6mfR,SeD+c53f`II#fk0q9MEY!*B`01#%d*V4+8XeYilDhT!!@9PM'T+ ++P-*4+cJF$3Ic,)0ra(1+ZpBd5VMlXY0Dd6!hDE`rTiKJ*Bp!0X1a9qCe5(q9+%5 +IrBlG*ar#C*,%ke9B8ll83G`9+"SE(124%hZ`YEaG$DAiBHF6lpSbI5H02Y#-A#q +-8eYG@Hl4h3&1hl"d60+-(3[8PiDM$pSSh!VY`TZJ'#e4HAVm#N0j#qUK&Q&Q+%! +38$3b$3LL4QXj32R[$LF!hlKb"fB$),B[d+NMFb)0G%!m6K%"&D,N'1D0qG(6D,V +)P&2Adaib+cP(1@P0'&1@j$BqfkR3j`91-RU#U')('lP01rEK))5-DT!!aMkaBq* +Tk&E2&'TGFj+Z&!lTZAhHT4AeVij)R-lY2d6$6A%dMa8q9$GH!+3GSbQ1,rXcT0Y +4Md#2+jVE"N#Pb)Sk"Mq)eXUr",VqM4Q&YPRj$qG)&C,QMLqF(2lK`A08dFULQr8 +XZXYhk!M8rXL++Gkhp1E@r-265K5)RJX1[0a(J,[#(c@M*U`3V[`C3pD9KVU"3Y` +[Kk3S"'V$(&3,SF8$cHr!8R'@j)f6H8XT!c930DYH@lr&-ZTI3T8-cG6!m,prEP' +6#`a['31eekR-p(`NpCd+Tq!1(RX8rP%@Se[KJF@!A4Fp'++l#XjBh@(iD!&)3@E +Y#e&Qkc5k9r&q@D2MS"jp'H,Mf*YShCqNU0"LF2J-[kT#&q[6V*K-6Gdb#%TKZ9& +4K9F`6fI4U!"&G-VDp#2PTI[A8(&i9QMh&%pPV[!8$jae+bE[IZI$&4I''dPP2U5 +Tr`mQY96J9HJ5GJ8ReK1aFNah6a'LRD[46jmV8SPe5LE!G,f#`)Z[iQ*Jmi-$8&h +1IR2klrdqY'qFQJG&U1+&QmC&G'cQDY1iE5PU&K!5KF#hr8Hkl2P)#RBA*pqQ$[Q +VAF5c$R!ErIHXBXmbT8(U4'PIj+jSmZm,NEA`B"'FkAC&-LMKJ6SVE6H6+-5)34K +B%&iTZ-EPj-@ja*HNX)eNSAZSXSeh[Dab)Cmp8h@pRX+2jVfRq%F5Qm(iEDmB#Em +9Pb'"HVZcHiCS%R*f,8"N'2e3Im-RPS,hVeRr2A0KpLlHekGl&HM&(lGVTjXRVc( +-aMbiS1ECHk6'$Sp,Ulj4KU4EBeZ&9Z#ii-p59d4bl4X@J6D$4%6H5&0V3f5MVCM +4[jM&rHD2@raEp$9TKC1l)!P3jbdmA$@cKLK8+fkhkYr[Yk+N6d!A0eL9KS*8mQ& ++dG)U3)YPJ$@'RV',0iTfHb-'5k0Fh@AB8`#e0bAb-1X"Al+JNM)RDcj3qfE3&[b +-PZkPHAK,EcF2Dp@L+PV(ki"8(Y#UlBi4Seji3,-lb5%JPZhYVL'448CBE2-rhmX +QC8K#FPacBBN"mBm9Bp`4p$@CD")'I-4Qq*!!Qf%[RXSSHcpH5-Y)&,"k+8LYDcY +!4#XeQaIFq"jK&djm#4M5Kh$@[[h[rdD6Hk08&$d`YNeeq8XA0e1m)+Ll',jm'ZE +6iA[`pcI,1jRDpVpD[f2p#LU,H0-QTND%X4d@RIk[fTXT$$`[aRBrL1EbYe"2"el +!5S`Y(Ib9fTHK$IjRI[#kp+fq!Fc9"@fCA9SdVV'jR'dRNakJ"%V6bdXR#*3iG(8 +)582K#dRD`5,@Ab42M2L-iUr!4--X@#-Q-MBd4KAQ@!i13,`2c%Ej%cC1qAXCULX +F!aA&"r#p8ZaK[ZPr8fbJ!@T$NTE$S(f@fSU9'3++9Kik'dZFLjha(eBIaMK+Q*D +c[P2l04#E)'Pl94aUrdHN0(,b9S&mH#GLEp2#J+S2!IPa'!V&LQ+MCR)Ai3J`LH3 +6#HYE815B`bArL+kmPmJ5Y22MA)PS`RAh!QRjE[5L*i'Fp4A5*Qm[%2[2VqHI2AF +ff0Hke0k5Nae)3I`QiGk@@"fDF8cMJS%,k!0+6DZbX8D@jN3j-fGEkSNpcZ$mJdf +!,'SI2lVieFlfPIL`NcXmcfldkqEjIEE05UhkpE(0@$8'NGp8%rc44Q`Z91'rT@i +Db$[leXicVbb6`XL1c**bNNf9Z6qJ$3Q+UX&(LGH3!)@r%dCMLmjh$1&qhXSZ[,B +'U-H@eV@8#()C3S6*%b4L1-I!!c&+BY16`N5RIAGBmPpTGUS#&f"p%L`6QKLN%Xd +aZ8CelC-Z)JMTRkK,(bI#PUG*6hC#J"CG-*b,J9Q,hRTI3mD"+qL-&bK-bEr54Dd +kL2cZZJNV,mV84''fKbA@jYJ`)X)Ap(1DR50rkGjYRaA((GZ-)HSZf4!@eYj"m3J +Ka6[G%mfqA3hl1bRCAT4[EAdeea*'EaSeh1-e%Xb'DVh)r3"rq1UhQ"QNr'rJeDr +JL-l6-`CP,$X2UKVET'U$1ZLbR8G"3eY3X-FrMI#ifrbZRb8@$,Ccl4dZVaFXMm9 +`lZZ1La6QGG'0`f)mK#*ZZc+h*`HS[YcG"H5Y0LlmF*4RF2jLR+4#,%%F#5Tc&HY +ScimAi'G%Zb'amZD'25EG13N`*Z8eVC!!J%-k"Lde-S8kG5#eT'`K11,Z1JP@AkH +Ma+Zh@J$Pcj,#BZXr8%HVDX38peHfI+Q2Y4S3iDN6U!"feIj)31'fAGXN0j,&bI4 +%8)CH`5i*QN5TGH%aPNiUFrGQL'991h@K#YKr*j(,2NEUA3TIj0)5mNVD%%-`5cR +DIl9a[3i(3Jef,jSVL@@H@kUF9pbH(MFaA!d0P8qUieF*+5QVL&HGfF,fAY&PV04 +Xf)59e8,"h,f%!XY+iE"4hc*hL$q&h*H6D,bliKDKr$&!IZi3X!qUpI"&N`M[k'p +Adm*H8V-em)CMi0(YYZlkGY"Ya8XCGkQLciJcA3KH2J[9%Z-&eVkC"Q"q`X,d"ZD +XirZU-Dq*f+@i`Ze-0lPBcr$0A@pY$iFl,Z[Q)B3U4E+'cq+5RB)$XQUHV8MaLe3 +,T+C[p,SfFJ2cB66Tim#40D&2GJJ8!&R`jmR1KZqbiKEFR-9`F%3mNQ0UYElqQ-D +KCbArA@a1(D)f,'aj!VIi!php5,el3LZj8l0'jSZN9e-P'64a#,hdX3CJa,"HBPR +X*ETMZC!!I,4S5BaXcaE21@i'eRR$19J3&mj@bAb5K,6D9LiU*IMj"m"3plqUShK +'TN`(&+H9$Jdlcm1q+IKkc8r2d66UZ$f0f03GSm&00e)[S[CUSUKRZTJ&%*MdJ#V +a""XmSY0q`(C6$(VR[k4iYkf&$@V+&QqZRFqaI&RU'c1MV[Q"KLF'j4p"ihH,UXH +i5`)3U+-3#PB*RE0XFTl+har(kfhlqLiHdl#ZkD-SBPS5Q'[K9R0Z1f,#iLr%KjR +'X9fEKVlalEGPe!3R@a%R0DMY(@86Yq+*'SlJXLUqA64kSi'QRP-UIkIhpb`E5ih +Mfk)&f0TV[lpTD3*pI1R"qN4IT*RV#Fd4mV$SE8)(bMYHH(ZiHV"9AkII$B!ZjK6 +P,#pM3H`61`#m!`dRS*c%cSUULZBkDl(MaCHFp4j1HP3P#+SfKE*NmBkDTdp$rEH +0i!ABIMZ0%[$ShD)DHa'lFd#p[e3fKDB5DJE-ZAA915$Jp#&,[e265L$23&0EZ6! +bP-*[M3Zi)Q3hK4#P,iG88$5ZQ5cH,rC3fFYPpMV`6dAeN8j5@IZNQ%1"MTK[mjd +0m(QS'k9L*C*k@pcU0[A!J!6R@i$D@J@"rI!4U!T[50P1ipP"HbV%AICKkXV`pF! +[bi0H8JY8rc4'k-Qi5Kajb5aUA[H%@"-h&+!Bi5R0XXV%0R`-PZB*S(8jm[JaNG* +INPcK0JldHrj)N3,Ie-G$%H&,J-ar'TDVlLP""hJT-i6lQbpr1CiEhlMphSp+LZF +'b$,j6lZ[4-ZA5*dV#d@b@Up0FB+@UR-[dRIJXRKU2)dS4EBd3U4PUNcQ+0fZjm' +$!`$ElZQ4Lc8QrU*9QQ94B,JekJYJX!+SPNIS`PSRhSFdEl[*Q)hP2(P+2V-KqS` +r%02`GPV6MrKEZT1$9+"dR%DN-ZqI10EIERi,`D3[1lAX,I2[aGCp1RHa'@Uk#0# +(b[9XZ,4q%S!FarBZ@Kk#md'dF9AEE"SiEAbj*+aUJ3%lKJY5emeXKX46LmYL@a3 +DQFKA`q9P,mS*&STHNbdT1a!Nqp(XQ2'YS*Z!@6@,r&(*Q$rC4$KB!J3'M*5+IIh +*4lp2cRYeG1Zlr0R3Xr8T6SLFZ1[pQ80TLY2dVpDQM,qUqUK2X0d,3j4#+HI)SrB +(a5L,3`YCG)M!PG#aSeXV'`FmHK)0X-ENS4YlFqHc)'Pke5m"G`L69@Lam``%1#[ +LZKPKA"A2BASjj+9hdKi,Dl,GehYUS[ZfcSUS0+#l[cbi10f9HrDqcEbZG+L`L)R +[Z'YFZeYi,MpZ)TI-ATaFaL"fA3kAPN(L`D*5-h#V8+q2YGYCY1PXc)rcq[GqDHd +lZIAA#+N#cr,pl!&,8jN3J(4N!C0f#D5X1)Lk8MhT#6(*DNYC-6!2KVr+b6UJ688 +D0Qm[Tbe(`Z%1NA1*Q!UfTG5NMA!+@G)J0qL2V`9h+rZFJ)#TpB``P8!#[A*IIIM +"(JUjq&8-BY8Q2P0QqLQ[X$pfIIG4mA0BrAcaf"0!VIbE46ml#Kp&DeB)J$F&hAU +AUBJE[%)4F"!0MjF,9!l$GBM6(LeE3@@bQ9Qf`fLB-Ac43*HiTM$l-j4L31DY9*L +N1Q3)bZ-TM4pT!$MMbr4Gj,kSXUUiKZbC59hDaScDV0eAlD6B,br'3#S8R#+`68[ +&MLpJ@I+HDq@1pJQ935`,FdLf@BCcAKfjRA)Jl'4%6J1qF&SbDfc[MQH`SDecABV +rB&4RTP0-UL!a*qC*0"9DRAA@Q42[$qi,3rHdIE9A,JPK5(h3q!mRrS2*cM(AeIe +$bAIK&a$6AMk21FNM3I(8"+@[DA@P!`LF(L`[fQTT8fQ"BJk)"KEGQarSNGKrA9+ +"51QlkCrjPlQSl2Bq#Sdjla)3dQ'Xm2(6jcb%mMeRFEEd)e[J!2Ir8RFGFqJJq$M +AlFb"V%aBHBdbH)6),bJ4qa19Cm@Q3ar)UNP+R+H3!,L0&l6l'9r8BBqef+G&eYl +-ekfBr8q@r(Xr&bqi"pNZQLKK@,NKj*Sq'SILXG9PA+q&1%',l26DR,0l+606HZf +h,1ScZQ)R)DVjb9!BqJHU9QPc`2Tr-!`'Qh'q`kQZj@qGJXcGkGa'c'f)%M&mT,3 +HH8iTpE+#-8PA!f'`XT%,&Zp4LhiIhP,mc#hJX+NdB*5B%l`Z@1i,hBT45p(c%BX +iXGkPQe%VT`I#Ub9G0ST,rE[q%U#jCK8!k#5lPbdL)TcY`V3b$IQ"I-)#6ApX-f) +492fTB88-%JPkj5)-db&9!YP1Kj0r3qTK8V05Yl@"#[h3$$@%qB&0!![&*CR`29& +T+@4K@N'Y3'Jfe0ZK,%K3kf[ApNrDqXGP0Ned594M9B$$b(4(B[#fcG*5-k01+JE +1q)G5'9GBN!#R3phAm@3!F4P+6leNA0q9iB%QBe$c1pcI#&8[)r951KGQcBQ4Z'I +6FJh%(K[9[lSica(XAJ#c#IpRZd-fdJK#CbYTXjk3!,c"'f8Yii'hFFQ)ANlLm0X +U0[[88d!458[NRD-b#rk$Fd9iK[V##DN@Kh[[4-hY+"5SZGX9*!dKSUHBY"G809H +Cibbd63"eG1ia0IU##0A4hrpqK1Yqe'p"!ED-jD4C(k0SAfCLA&Qe"6!ZUHdU-3U +R0%l)Ke6T+j($GqLD!!!!+G!ZHCT%Eb0)U$205J[2hVSb3VP54THqkqcVlTQfU4) +0V[h!JfLF,@1h'G$9Q(5A9+TSp9r*Dd--),QR)VYiRJ-r)0rLkSQMkT`UKr6KVDR +V-h0NAVa2eTT``*3SiX[c2Jp@5$(3UH)cceA(qQ,EBedm0VcN9cN9b!%ZTT34pm@ +V(+$&b"9FGLZ[QSLjM8GAkkFH!BhJK#2d(Z"+GLU9%@k8IY-EQJFS&Z%p8LS60b5 +1I*C1XS`0NTMHQl)'m@5%SPPf&faiJ%K0V8lBC'U"`5iGLdMdY"5TI"M##iB[I0f +q3V4b+Ba55p+!P8[hd'L9FQ6Ld`9IHH1e*qX8HKM5c`[Mb,BYV0k@Q9VL3%A'9f5 +)qfYaq-%kY5rT5[E22U)L6`Q6FP"JMiQ@cLr(1lPe,IKNYK0Qe,aRZ[H3!+dJ(0H +PDYrS5plaSN!+rb!MViN%34Pqc8c9%a+$*2@"+h`&q[Cf&40%)!Se"!(L"3'crVU +KR-V['%NX*Pmp(KmHI$dH29Y2pZSEPU8-!l)@1T1[MUTIh5%#C3Qj#Ma*E(FFHX& +lT&p41(GK0c2pe29)A5`iadk4mX2"FRjMm1c#S[3&IKAC`Xl9[l4G"G#`1bC1[`c +C)NqFklRdLf0j5mSiDIJ@VG!I%RbZB[U691DYrA82BrT`JC1be#CUJ1+H9r$PbTJ +,rPYqTp$Af4Y06cEhbreYI3p*$-Fi%G9*[G6`FQb8TrVf$flGq5MeCRp!&$4[Akc +Q2HFPUI(F4'4)K[2DiVUpI-fUhe`ZrIT!,AZ@rcYL1Afb6$2qYGpd(*lk-*L1NlX +"jEbrll2r@UeT@*&%rh5@Xr9R(C8A,@[jkL1$S1BqQR'NUTS%DEU*+mE&h963mR% +P!5CQe'GTAFb,D%fM3TSZ-5bb36X(pZq',rhNSM-E5Dq3!1UFjIp,jb'BqIS0JZ% +,5B4HY-ZEjXV,ibYdPTqSZl3(ArZpkK-)bU+UAdq(F)QMp2e9AJZ%MT)$98PbF*H +Grh%a23LIJ,#CTD3*&MCB&R`Uj49KikAi#XGc)Fi'`k11TIflm3klVTC5Pr*ahd9 +&m,-%#XiQb95LbD$@!p1+[6p2h-,PXJj,FA1S4Zkqp52[IQIU)3S"-qC@mN"ebF( +(3hkFQLB!D9@BSB'13F%DVi$U$f2[)2kLl1SbVLRR,H2(ZQ%K%f,GdDD3!2PDTE& +S)I&@amVLa29pV4e-`'&0D9$,-C'f`cmSAJFcM&qpm&VAK(ISki%2#0+lT%rb8RI +@12I!cIN)V$2'L6kdTI1LcHG1C"a'FFrX'd*R`@f#R#'D3rLqKI(+6H00fMYUe9l +9Ad@aaj8fjeJ"$4Q[TZLCbZ+dT"3ae5HC@qV)EeD`bR+CI&6A'bl2E*&T0U1ZR0* +(5FB*XL!AMH&6BAG"Q3E%-AYpDqI5XihF0I[L`NG(i$[J(UN&f6UK(S#Lke1q,lr +L$hm,MYE6-2EiSdmqM`rk[Yr59UGFJ%!@HUGQD2'Pe@-3hJLLK5c90lI6mS$f+U1 +#5MQ!XMj3DHHXp9k`XH1A1)[HDSm#qi"-eS4R$5mZZh)Z!"4ZPN0KqjY`C@m"*m, +l4%(b#QQ(BcDj%9lDFUIRXZ$'*)EbGr(*M(hr!0PQF*j6F`"+STfZ@d$)Nk*VU"Q +aJ"5+HUJj`2&GS`m&i1@k3'mG`0h4LHf9(MLj@L'Ni(l"UfY`VVjDdpLdE$,jY6+ +cN!!p4Z'kQGa`aCB6&'X5#L@D[K-c4%Pfd&6"C)[*JKJQfG0l"$`jT9A)@GQPeRc +ZCHqa$R9bCV4,FSeS("&&XSAr'J'Ed890bSR)P"@Zd2KEDNX[RlITdD`T2aL1#Ei +Pb@`98XjM5$M,&q"li,$LJG(Lbq!Z`58e,)XeIr4baBd+Dlj'%6iAV3T9jh@ZdB! +pLX055EH($b3R,,pl*p1rq,'2M&Ua2G-hVGGli%!(3bf#&&M`BYB*QQRQPX4+FNQ +9kpD0!1q8HpG`)Q'A2hkP2850pLVfa)e#`!Q+Ia*)S#rF[qiKL-'&dk-3MkRq3PS +VAPI6q(fTmVM144YJK(j[4%DNUiZ3!14mf``)A0pR*hETSC1f`H3EYrDhX4%0@4[ +qI!`lVYT"85AaqC,"4bZeRESdC2[N9UKmmPJXHLfiC+hHTrCc)8#[RTDb(pN)4k2 +-H*d1H@rRm1VrI$dX2iGRRm23Shmqp6qIV)Icp-IqITbCIKeeraqP[IKfNrcp!i$ +F[G6aU'mMaK("*p%ka-P+GI%`h9aQB0JGJ[mT3c%JLUGZFkbaa)EICr1eB!$LcL# +&FpC4!j%V#r,l`%X02"KZI3"G%-fSQbC`,m*+1Cl8r(Q+DL6M8!IlbLX-KE,MGE% +GHFN)8"9N#!M3pNc'4JF'&KPI3I6P[%%%BKP+%e1`U1DCf6IJkDbDHS[erFp23bK +d**KX(5B%D'4,bJ(h!B@iA',(h)R$[2XM![U!,Y'LPMZ+KHKldE8G0+q!CP0XMTR +Q@FTeQS6,TA,lQ,)$J56AdVeCXIUM*JlTe[Yp(+mil*k%8%a-K8c%,(ZD+NmPXRI +lN!$F)cm-"DBkmRi8)lfm4jjZ5Rpr*mhNh&i@F(qD,8%lpXGS-ERF['3b1EUr%mm +)&c$Srh(+r%5me2f3!!BiTMm,dDE3DiYID"AX[EecQLQ1$%@F03R-Ub)5BF-j[d- +P`C[4GqSeaQQe#f%fVQRr@D%*BD(KBJUXXT5C0RDH+cEbBe3!)NZ(USYi4EI)pA2 +aN4"q80rJr)K*TK-#L%m"0SBdjj13!'cd39%HApAHe)c"b1rd2pUHh6*J[l4J5rf +qpFIL)iK&R05lkF9S[HqSr'HJM!r[TB09&r'AdZU6ZM[45TDNRGR8cr1)l*Cqj61 +5KIhQ"h%IN59)+c*k4Bj)#qV6lMQJ`dX&E#3VZ*BG#c3HC!cAq@mTP`Ba!$PIba$ +9M`CBrhem2rHf9lrcP@pqG[kA#-b9#$1f-Q`b0RYH1'h`3&Kkh!4*iMZh09,#4%@ +1SDCMmEfUN[ZRDr#@MCF+P#Zm[P+$@(f4)hSeT6F9T2aTJj0IhSB53X@Zk-cb-i+ +ie"I'PRfF[KShLpH(&fr(4G4a&80&m2mEcdG@aM@F-lMqVRlFJSr+3,&-,Sl5qqQ +1A#2ZiH(V3!%53pb!jfUVUQSi*VKM08bR`I-a-R83DF8ci5Fdi'4!p3Na8B3,R1D +)pdA86Z24earKZiqd#h!q[&i*4aQ9)#9Z1kG'"QS`UJ1IV!YA(IfZ,3@B8))pKRh +dBDbRkpK8NHV"#j)KS[610lZ(P8H0'',*b21Ep**j!C!!3-&(qiSiAG"3##$5,V! +R`ib!VJZ-@kXcHCR+"+Iqp0Y4BEF-S9$B8kq@Q`XjYMm4BH4laP+m[Mp@kj8RH-d +TQR3jf%f`1'LqdhRJILm'l'c6fc1PUG0!rL0a#ABPHZDXCCC3R,4VVmY*m0l@`kq +X[e`G!qP,BD#0IAh4%2*,LmRf#4l&!1UkY`1VKK4E6!YmNL4F@hUm+-5GYiKpl9f +fj$RR0`3#2(GMj(G%c)a@bI13!'(-KJ`qYd,3iMEr4Zl@A5YEdD'6KDP#MKlRXTI +'!RH'%`bk8*5pMI56)89Zc2PBb&MZemXCkPjX9D4A4[Bl!h(ALTe%8d%i(djpS8* +(L)Q1T"#Kla"U+a+KK"-1`P(!,EJFPTT0'm!G)j4%j8LV52ZC,!li+&P+P5L5RjD +K()jMZBX8@LY`qIGBB2(-f!1E2&H-+qc*mSXKD0fr0[FI&Bce-dJ9PG4#HhbdGrL +#cDYa-9i#hpeVNC1eq,ZJY$`$Ji,q+i3"58PTD93a&qEYBpkN&K"3`'@`X"hDV36 +9h3I1863NJh,D!+S9Ym["AUS+d*T861pjaYR5bYZ@R,qj8h'A!4MkMZ2bjik6(,, +bim5rdrdV&clNXrGikl@"-9%ZFr8'@%EbST*!0UXeYiD5aaa(d2TiUYXQD!cbr[I +Z3Ud13NPQk9VZDp(#ke9KjFN%2S'VpPC`1&FHCfK9ah`a`D9'0XZ$94fA,G$q%h9 +f6Z9i&b@+NUJr$+Y60LS9P3D-YE1BUP[r-Sk`[MiaNd4Z"Ye8fD@&1,+LV5`daQ- +1UrcMhldBAKdlS#h&qF"Z+4`Bf%9#I9K6d&mA*FR3M86HGZ6Z'[k!M1YU33[Kiej +jr![E93)64"A4rShf[NY[aXCEBV6a%6SFdQr4EAUZC4+p#%'hVMZIhE@6JSLl#$q +,dPpF)P#R'Fa*El58f"aqc4rLPQ(b9bKTk)qX3F)%AT-KNiiXM3q`T-U8P[C4J0r +AJ[PRRe2`S`rH45HCc)cJ[#1(&d-S(ij$"q-Q+,%qaim-FZ(fQ3PNJaF+rLak6m9 +fhd)&N!"6I`@I4KJbK+$%V-*Ubk3SqRIPhbjmamrZKB+ThA(#aJp`3EDFZ5QL-4U +&-3U1F[,2Ae+P5Pm('Jql'd5%eS`k9h1#ek$E'[*dVr#iZC@EZh)E1@BUR-fH"*T ++,q582$aSJYX!)1V4[$HSbN2j49R,1M8F$QHI0E%D[&@pc[*AXQYa$I%[JeG4'+i +55rb2d$4AS@T1E@[ie6304NmUh9qLKiBA4q'SRfLkG&14A%TAjI0Am#*Ji'RleP4 +TXC(HBb)B`S8'GYH,IEZ[U55(A!Hl@#V$r1D-RH$[2AP4h@eVHHLV4!+mjFRS3M$ +fUBlmPK*ThXQJRTR@iB1[(kVDPLMeV29@,Q,+d[mN+(R8CTp%XiQ*SDr3"qkYY-' +98PEaX)5#FpX)fb9BUc@HbITr*cYK[T4p!d![ai"Y`8JIG,jra,rJm!*U`pj(IhY +8Z%GYQTXfHC'ACU9re6i`'(ra(9C,pp1aD[[Eb,U2rb#B,$acMZjlPld%9pqbFqD +EY$PAcZ9pK0mm6AM9F+!@#[LhN!!cMq*pKq%9I#im[)4Kq$eNpb,IUG@NDdcq0-r +$b,,KrBBrN!$5qk(chZZ2J,T*YBb6@$02pD!-`cU+X0qIr@ire"D&lQ[@Jh1pUlM +m8@aa-cQ)6H%IR@iVVF@VHqVR`ZI@N8Ck3`rm-*6QYQj'4J$kHhY("&l%",8$ZM# +1'@+(5#dFA,,l(HIde,cY4FFahp4M9MTUH`+rG5)C,aK@0TjFbA(CA,MN'mT9qCE +`LY@FcNH*Hq6Ba-bEGPH$%4TjXNQ&Z(4Ck"dVU[$#p(EHAPr5BB%6N!!@5CF1,lJ +ikGFq@l6+BGHXA#3"0+R)#&f*lLZ4Lh3ZGcDpr&L10AZ50)a#,4"$DkCIHL!DRKb +CFMXJ"f2'JXpcNqCj[,f0S&PcNj8(044mq5hAERJ5G3PCii*S1&!XZ04,5UXkZ$c +1p4SI1DS`Y@A8ld"R8&[FD-8hca[*TZ&(c$j`+kh1NF2Z%#XK6@eD,Qrpb!3hXBC +!D"UF[+T4a&AZJZ,Fd2&NLLhar%MPR+9irh"+"jiDi!10l0lS@ZZ#41Zjh*'1d`B +0bC1"9lT0i$AKaqeB%5ADZMEl2%QGZmhcMbH*0l0@ZE(#"Y&I@HT92ibH$,ZMq8f +IC6L[2L#!r0-(L`!*CPbGj!+CpP@ADi*a3`T0bbG,#TJMCBlNQNP%N!$QL$q%#%2 +fj`)Pa'HS#+[`2M@aZXUe9bC2,j'K@6*4FP8B0$Ue0BJASV-E"T'(K8PrE4ANVq+ +AbM@GV8!(C5,&H*G+,X116`bY9%9i9-IdJ(XCH0HM!-UGP%&XLp)K-4i#1Ic4j12 +GLcC`YP1DkB*dBIGQ!*TjJ92FTPL4QCj@9$*2ZN6Q"qQGFlk`NF2DXEC#6!ZRF&l +r([p2c9a'Hcb'434KF@$T2G[Sc*lqbX"6B'bLQULkd$SBFlhL+M+$IS!kB&(bV4l +l-*hECJcG@PppDGcMkcI-%Ye9KCZ)eN5B+-*3LZQc66h3Fj&,hSibq)GX1DEaI$Q +(kmKq(kRdr,'4Mk34V5f,lJa1!p'X5U*k@@**bql*YjGh-hCiKfCY(Ud)Hir@RTI +09$Q,Fcai(Jf!f5'CdeD(C!M*aeKD#5I3C5#R,9(f&Yl13fZj&jM&TUV3fX%LCCF +)[PG**fapK"j"0c[`%T!!3(A!FNk!llQCD-,i-DG*JSL6A4,[[YaRe*IY,Qm(225 +$!R9[[qMj!RQXK"5-pa,rE12hiS$b@2ZQ-FG1@RBSk+0Mmah@Kj9MT6BlHePe!,q +D!50%rcJH&1r9jamQ-@SLR15"'Sb0+F"D2p&(@H4PLiCL5Xaaem3cVjEfdL#m5kj +pdTGc,HGVa`L,HbK%fQcbINeI1HlfA0qdZkTY`cLjPVV(TdaCG9rrC"A+e@)6X*p +hYUrdiQ#lG6p3dMRY0$&LUD4h3N[bB3SUC$C0*AfCQeCkd4!-SH8(EScDp0@rkK' ++-cK(k25dVCrLaIK&q-PNmapGBl'5+2D-)A,k)*i13E3l`d1FG[ERI%Tr8rNi-2a +rDNVRR`eD0#6@T'KhJ!ACPEEXM9Qlphbe"Y"&%I$"4`'JNkq$#Yli!S,Gf)[r0J1 +PkNZ*PUHYb6DIdqC[@`F3jBSGGCC[PXH1`pAD4rZBh%CN%@DBR94Kfk-3+X$AD"M +`LGBG$TQL)"Qe#8#PpIHhHXhc48AeHFm$"Np`pE6pTm`f&i&!dl13!"q@3VdJII@ +[Ta*#&1Ub0E,TbBjI1fqL(LldE-*hFUA8hM[+ai8meX1,'Z)mNDQCr[VaD6!l1dJ +VF,2PBa&"LE3%@-lAe"B#Hd8cL&22dK[[bR'rV'rcR,C@-"8M$0"TSaalBe-IELB +**0RmaBP[C)Bm9MQSa(SZCDCaZ&mm')&XKrI%r-I6-!QiF$q2ZEI+XLq#c@0KmK" +R1&jP4mKm!BX#0BNcJDF'XLfMi"02LTI8j,Hka5Ea-j3f8pdkL50B@F#*EHMc,F5 +@!JcM58+Prh5BV`mQ5hDSCDIkVb8TLU"@ZdJAY9q$TTci%-RHIPSXLb)IQdN2Ld[ +e"X84phYkY%ZM8[JDV""Z5Z8VRHK)Y'cjkLKh1Q3+!$GcNKH@`mT)a'*mB$JF1,6 +C"Zk0hY*aTIkGNqrKBP0bc8I6aJ8LAL@(lZQ+L"k'2S+8dP8"U)*Np*J12IS@b[# +eApHbLZqPhQ9Kl$2PRP3QM5MKLl$a+#ZXUGCcY9(jmY2G31+@&E#Z%0[f*dfGj(` +VGKD()0i(@imTF[#I`@m%B5&")l"mi86-(4bie(C49U88r9d"FF8"Rqme8SpKIR) +*h2`Z1UD+N!#RBZ!42kU,6k@),+%)CQ$e$LiN-R66CUeqcVQBq@-YR%HFSf4J,`! +GUG+P5R4+0Hj9-Yi$G8VX,F+0eM8aRDlArVE+#`CE2aP2rLB)%2HciB$GpR$!iG3 +`0FiV`0@j,LUmXT2bbQ,ViabL2kC4IKjSplR+DIH[3pGpd'M*p9mD2pi1aVTTV%) +L9Gah9NLB+%3IKXU-LkP-Yh1,DRKH-*j8(m,[r(#XQV%6r98`DmTNYhl65D`jpY' +JU)EE#2`31!Jrf4!b`CXm6[RZ&NDCAdHPB*N)-AhqINm*pB-)MdfST[mGCC@U5mQ +S!#r&4)jKqGa!fjL88qch$bcKBLcN4Bd2%RYH6'r&J*KC@i8RXG5c*J3#H`YSpk[ +iF5MZ(cNjQJd["2I@Da$AJYKfM!mBC8!da9Hr%SaQe`E2VNhpdhpA0b*pEeB$U"! +TLAAY@A4I$,iRf3F6'@+RIK*P)212P3dcZk5pHLH-Vd@S!'%5e)m40Vr`MY34d0i +18VKTmeE-MmAMq8A5+"KS@$)"Q"'Qb!MNkFHp[,Y,HPZD8rVQLIR&FPQ8%L%Ui#D +$0[IkUC3`bBMDDqNRmc',iBKd5Yqp#6aQkFaN8I`S5La[bBbMXTVAQ'J'($F$P0X +kkdEBFe)6-a[%@X&!#,$@bM,Bb[5#J!B4-XC$L2-S,Z+2Sj4Q#6bVHE6d`GF'EqT +e5ZNVGUE2Tm'[!#3lk1pa'NCf4CMNBr#$2Jif#MmX)k6ddH)[rR9-aBCSBq`I+mP +%!2lIcde%&Nj#apE5&LrRl$%hZi9,llpkqkdkbZCK1"EJH"VJT3PfFE#T##8L%+) +-@'3"VACUJd3&dQF$ZR2r4XSl+8+D*-''SR@"hR%bi!L'G,rDifRHJJUKZ-'!!F1 +ILBm4D[dR[HkF2bVZI[#4,[H)JkhD'pa+ZAEB!Uk4$&XRfRh*5b`a*@0NeIS[TV3 +I9@CU#dBCkLDP1T!!Y[!1PiKKEGXP``BCFr*aPT(P21iQdEll![5-QUU*A@L)dM# +fqU)!kJ@(F89dRQMH`MYqH[MiJ(Lf[N*2Gc9G[5K&qX(HHIS'0#1))1&69mRPa"A +9Q9c4EL&4@!DB)!!HiB9@Zi@IK5fQ!K3TUeDE13RTS&AA#,FMX`YZaDIA",NXpUP +HXc4&Ze99dIDYqPq,`LBpJlXi&)TJP86,612H'B(#NcfXN!"Md3%ei$,L9CbZ-m8 +NNQfi$TKP(CBP41P!&DZ2JID9&Uq8I`fZ,YLZc'LbFSSk8%MrAHQ`(jQaZh)Lc(h +M!%RhX$V)qJq!hI"4+Pe"[aQ&LHJY1NFEM#r&29DB8UV+1bC!B)2aDCLqFZk3!12 +qNj6YlkS$(GGY#eD5Yd'892kTdcB8UmV[5!#G0k`UQljb1@ZRa,&mi6"6+kF9ilM +%*+fUePYJ#@`8`MUT$9Z42k(qD@DXPi$2biZM$*8!!%QccVE0V"raI,k#J-5CA5B +J3XALJpD'aH!31BPAfiIMGqIS,2aP,))Ta0iL49iD9`%CZkCM6TSm[J%h!&X"`R9 +&Z!%fU+$EP)mF3@29VATk[X80F2"N!Qd2,d4!UZI6pG@I`bqU)f#1,V)5YA"(pFY +GqDY09f`@D&,!1$mP3%-BM!#YHf9%E-!pY9IRLN%'fTPJ%kUUYJG+V*R(&S9GdBL +arap+LPF'5VH(VahYq5UDmAl-XrI(Zf(EcB,21!D9%bAUhm%kQMJ6*HVV2AA5"S( +-NmEi'[*KF[NecP+982fH#Q"e@HV!5,lNEX@RFm+ZSMfPTIBQ0!LarQMKlee'#)A +9MT!!m%c%[ljX*J3e995+*[c*e36(4+TdrfZZfq4QTJK!V)C*'81Ml'J4-lppmQC +JBd@haPd#$lk9cI-U!S#Zd-6"S!!!C!@VNBS1MpeBABd38pC#k568UZT5D-#9Cr+ +Z$jK"$`DY+r15E"!`P(kCqe-@)!@$eAm!bUq3!*DG(-&ZTi)+Ic,Lq0$2r%6Y!qS +aQ"GbL(jC-U)1c$5rKKXaI5jl)aB$5@)FjlD%6bCfD!85('8cT6HIc*e(dLVV(8M +5*Q-6Yr8V'Hm`IR!C(3l95f9(VYUrj"T"qAEG%ddP&45AKF+,1RU3!*CPVUQ6ih" +CkrplU`f@!a``if[IU4Pf$1GiL2bZ52pPI`81,eV&G6K2)@#9C(e9%rK40YYB-C! +!dGrE,ajN#e3bN!$h9mM"K+USMchBeT2[JTNVLU!SYR4H+5LYKFh2&Q#2`8GPdeH +C)B-Q#[(r'@fB,BN`01d([0MV!%2mPITGQZI2elFrDS"PkjheAl8m#(-JA'dm[@I +DS&Yr-kp`DJ[jN!#Fi[-iSfV3KlSP$)N@TYkZPcR$3TBiD48@Kf&adJ1G*-4)QF% +$ZT35@T@@Dch3[6QTI$CHBH@phE[@lkr)a)X5e%Ibh-%6&+B#3eR`pN+9!fkZ%pq +,"0eBIJNVHl(6eSe`[K*'QecmiFI1Qd6Ai0TCk5*VFffYj'@#&150AH%pc)!LGYJ +GNipT%EdAPmmj*UYGhlIkaFYfr-UJh)&VkB36'$1j[BY%ekQ,PS8S'5`YPXUG0"U +Yc4G#r!L%lJaAEcTP,[k[V46S4-9%*h5jUM1*VDDjbmCC0PBbBbMeR9RSAFE-eSr +Gip2Z)4J8F*E&ql*8Kpq-"V1a3Z+(4$kF)HpThkHMP#HVCNJGdC-)"8B9i&2B1ZN +TUX'IqXPD90dp@CR*VMSCE4ikK8LhZQb3!"*30mIPh1FlAfkMZ5"6D3)DQKR)58a +l1c,NCG$'%K-iR1mceUHXU"'V%L,-9RVRaTrGZfBAU&(VfGZ(6AV5"Tm5eAjaqP* +j`G1TK@q3!'S3ZAr$06R$+CVcc35k8QeK8CmT"l$QpN-cqEYX@1BQcK2k&3C+f%K +V6eG2GhZkj&-h$84APE[#R,HEe4KZF$K@+$RleIaV&bJTAE3R5@i2Af-[aXD8X-* +#a!#0J#JjYJ`K*mIH(IldV2Er,0LSQ(-+,NCZhd!XmPRa-1VVL-f<&d"GH$F3H +[-F4UCFIYerPRNQqKH[-cc4ar@CrhL2)BCbpREq)I-KM[UANU61ZU,4R[B#&@ND4 +D1F34cS`(mD2&h9[,fSQmND`K8#)@l3[Pl4TMIS'3!+$J$1GU+&%0MNh@prpBDM1 +qEH50d,"1EqUUap9cQm[-rFTjTiCb1LVGp6FRURiheIBLEKQrHAqk!N-C0b'9bV% +*PdD(AJ&HJKb2Y*p-2Z,@Mq+GrbVFbCjPLI!i$3El&ZNqGmlXQ8LedkSTMU2b$c- +Y5KR@FZX(%FU)A`XSC3@C#661kc'MbJ[!DJQUU6`YQhK4-HP6K5$(N!"B9ic2!eb +28"58!!b`iiqX8[I%AdZbEjC1G`11*iQFK+hBV0XDZc,V4KA,3(*"6$iLN6qC$E` +[LGMfZZ,Fmje#[H8"&Y*jd3RCI45BUdaq-Y)L4jqDa+3q4&(eHIj0(q6QYQ`q$-% +CkT`V&p5GC[8r[GHYD4['A4QmlcSqS,%$bm9V[r&XRpAUR*!!mNXHAfIPE1b*lKh +%k(m)l&Y%irEKMYTRJ$r)"%Uj6+"fGXDF!B0'dkRmHh+Z4-G4#5qlVV"Vq)VX5T5 +f[p6NI#HZL3bTCrQqkj-5`rbE[mNYpTU&jMbURd%[LKSm26Vf81mq)M#L`AlJq&Q +kAXACk8q8[jeA6P1G@6@C+ibq(9$Q5M)b3akC9+cr2kA&`R+X84Sq(Fkk$D#)cq, ++iS*616`b1@&4erm&BAm0)fp#-I#94`D1,1a3(40i@ipGpMiKJVeRe2X8'(NHYZ1 +pBNS8p@G&,BFCJZ%P,-h-[Xl*8YX1-0@&#"ea'!!hN4b&rV&@cb[j+lXT-)62,`P +!D+N3Y@VAQeBjJk[lAEP260C#k%B0q2ImX@I!C#QCNhB1D1b8q1T#(F)8`8"Kf*D +!S0Z555555%CFKCCdIdY@RUA,rTC)%Db,i*168aB[A5$ZS&Z*EiaG0p!9ZZQddrE +P(6h"bZF,IhUXFUkJ8f6jK0TT*lQ!%!C0)@laLS8d3U2E#c$[%d!5LYfq(FbBa8I +r'bMYl#Y6[%GXDaU!k`DfGpBH+aR)QDNT)*dZ+JriD)EN446GB!6F8Kl)Z2Q(NNN +NNNNNNLV$P!+6Dq$C-Y*RLMYP6mY"3639iSm2!!!!!!!KI'RrJ,8bPBpq[3pI%Tl +1(`[XC8UZaD,QYmG!J&T%V)4!ik#VRKiIeM+FE`*FM40T4`BM6$d5))R0`SJN(hh +D9(mGDc*kC%SGNB#K-`Rk(4$8rHGHp2i%E+iKfHZic$ZQdQ),"EXDKE45rY0pLaZ ++F+%3bT!!#)$ENNNNNNPlYDq@blCiZ[0-'r6mP4@@)q(!QPmLjf(@"5&[$XBb)$A +mM3@jE*2VSe85Aca9P'+%a`hk6H#GjMF6#,UBDXpi#M0p3m4fGF6X-489!e"G54- +cAZdL1+,&"6Tb%CDXR'6f[!1C&6lGV&'MJ0%Tfjj@U%#p$#Xi)p2EB&bGVJbSYAc +5MkYZ('mkKRc%SJA5K3-@4A2QU3E2!2GmVHBQ6,`mp%"Yb55545)S3epjSd$bIlr +%-6N&hB+Y3F),)SlUV+ieR4$mR4%YQS`#!!!!2(DD-mhckA0c[%pkaNQ9lQZ$Zlf +rc8#!5dVeK32Dp&YI48)$P1h+QE-3N4kMJI#N!biAlNXNI`B@@@1+DDa--`HQ$aV +Z[ElCRAB0J&J!+eJQ+UCTX+,dGd)((1BVRc-[m+RVEi`meARZIaEHDjIfi$eb422 +#&9MMB")*djDRmpV2(`GUNr62CQE2a59(HaHFCR3ca(V8qG$8S&",4`iiI&6DZa1 +4hENJ1ej*)T%R!2FKTmC8843EES"HRf(aJCb3!'*2Dk%#eD#VmZDB*fp#"&`8N8$ +NM5L$"K$*0&a056qj-"KT-KT`QTDm+Aqa#SaB"`)U[-FG$0-f[Hi1qIC!1bHU3JH +P295$JqB+ACeJ[$-q!5R(jXrQQJf@3!`@[)rEjQ*0)RDq$MLkB!c0(cDlF9`L8qe +SGHia&GM*qc$K(r1LE$rq&2D3!!QYiE1Y+`ZMMQbcNkA`qD5'd,CJpVU#NlA@6ZG +DqJ[i@mG9ePHd3dC$+Jq@U"RN()-50``fF4i(V%5DRl$6R@eLpaI$5GVd`EB$i[m +aTjaq%RB@YIV,91X@6jJXrX$SKK8[ZZ#QVd[Pj`H!H$2`I3SeQD*RE3YSd"#0ELU +rTS'N5pZJ,Ib,UqMU5E1q[RTXGS-U+a-rHbV`J2kSLfc(MUT+IALb83T0NIQ*k&Z +$3"#iDZdXh61AK!#,M,IZ`1fHMl`lJGm5#jDS$'ZpDG'!J9%[k6)EDNK*EL+UVTP +VU@3(CH!fG+rZEqSN,cHJ"E-lGb!1akI3'6DEL!i0fl+H4q$!N!!UEe')E&6kT0* +hmcjUcA9[VDl+2di@akXm[R'kP&h++AIp8&'FN8L6CSGm)$M-CiQHJF+2rN4ipJC +R#MT!*r!aGHm#r+Bh1+ba'mVZXP5KehEB"USmT29T%)lLr`66ij2!fIpki)`[kXI +"p8e!43'CUji%,0e5ffVpm%#&2bYVDJAL)$ENNN`!&3V"Z0R+XE-@#FC([qA*2Xj +Z'TdD69'2MVU91Q)Y-+TQrU)RT1)acXkM3L@k"*dCTRbFr3f*#9X9+5R$prKmaYQ +m1#h@H[kU!lE"NUN9N!!IH1`6lar5%Ph4Z+@UYePEG5LhIaBrSZ0kbPPHZNl!CZN +k!6rq4alHGXk42VeVM1(-m9qblhY6#VYE2Y8eUFNNNNNPj)CmXC!!S3VLpGTL'lr +$3$qX-!&0UDa0!L8CaDj04YUMGQZ"*#DTqZB#lhC[&fN-P19NEHGK!FPB&@0Q%,A +%qA5#U'`")+ESmH'-Iq`GUXK+rYeqLrX*T)e6bFfd1[9ZBdlSI9SRKkbfHGM2#$$ +b)K9ldS,dp$a9Ch,jiJC96a&f9#ih),&0(fVFZ$F6#+l`J6KjZ-S+$ENNMAcA(6b +9U5Hi#NjZrcV60*,4@kCk0ErkHS(Lp'l4H*m9@89I13&!UlKCMhbM1!X0TCLF*c! +hmZb)CV!hep2Z`%M*-eB408mP,hUrC6'8#50M2iJaqJmqd[h2'66Vd+36&1#UR4J +hlDVD#iS"qUaNQ[ZMM3B`e`C'3`Ne-[0@NR`1BH9k4c*28K4$I&3I,pa%'!&FLNX +60chmE3Mq`imSq44iiVG"4aD#JfhSRc4e28e2)lN',0lSBPpF8fXHkPhAi51[830 +%'3$3H6ep8l3IrZL9ibXamMpm%pN-RUL#l-A&&J5T*`Ya2kUrYdNm-F'#"&A)8U+ +5*'il$rebbePPVhVYI"@L4GJ`K"mlAGE3VlMfMX+D0B1*)(kbeAfY1h+3!$"DK`! +#fipl&2T2'"VRl%5M2)XcJ)[%,b82HJJQT*ap0mKMcEUCbKEF!&jE"lm8rMc52K$ +FjS3H@6$[(+FI35)jejGpNFE+*T3CY9NB'(8DLR8A-c*Uc$MC"'e!"e5%bX`GU@" +I(BeH6lrD%M(2h%kep$-Q1+&LJ0b-,+%GLeGd$E@XB5Nk1Kah'0fUdQMfj-H01AL +(i[P@5c-(LK,FqU&i1`b'e55'i@RJ"[dM##61PL9Mr5L0!2H@2&K%2le(DI-pB`# +emG3(pIj6XMcA%1"K+K80IND(B2i3H2`B6UAViV8PlFTqHP8"cd!lpN,0"9)&BrB +,S6#8I*CXLleqC4mcc$$3dp2rIpYS$LAA)`GK8KmN8%l459J,Jaf[2(ASKSG3RS! +j-[#Jl'hYTTp,Je'*%b#*RX`[ENpG#,Y5ZM$[LYerkN1AiicCe0*N5DVcX6aNNZ8 +mbdfc'QJ$jS"aKkLkHNCZ2#Gb"VlmL5@!##D2rU&6$$a"F8j3J)LK2M#[(*bTmJL +'V0[ImA-QpY0B3HbG0Xp@"hd&B&P(`eMY3G4dAM'V3-Q+p"8dJTkEj8QP`PUfkQ+ +'QMRm2lJA*+HQ@8B*+&NU@D'T+ZUJ4*Pm'-C2HYiek+LGQRM+6,kD`Fr[Pk[)*mT +YrG(m*6Lm#LYBK$*Pd6r*Q2m--)Qr,qPA'X`a1M6V1,q#B[F$FCJCf'5`AKY@aK5 +a#rQJNKPiiM*-`D5-DL8T4'kL2rZYU*6)NCY-+H1I'"e!dREd`%rSL*)CGf`rXU9 +'F(rK`FM8+"(kJIipr)`MfH@pjTU"YdeH,1UEBK)pjZ`EK"Y4(32BFAKXaPh99Ni +EfMA+C@jGaDpaNG"XK[&,Q!1b-R!Iq$2QVjbdI%cpR3e@A'p'e)VX1SG9,DTj4&S +qlh*J#"rc39J+*em(I11-$mN@q)!"rdDqirXk$A3ZP-8EeDk`P-,[hqS)j$#4DLF +qKpXpSImrRr%cr2C"6XFD)(5!Q1Je%&@J[JTmCB$XjVB4pfYF!Z1+ClXbh'*VMQ' +hTSP*)1HXrb(bj)8"1I'J$6[cKK&,lHm6Qb,UE,"0m%kAMjpLmAmGYfNUU94b'[I +cL8Cfi%Fhf8`@TJc1#9+CfJ*[LJ"RL-E,q4L(H,6ef4,2P-BmL$JPN4C"(I9UPK+ +G!2,HP3$SZ9P1(m(h%6i&kX(2E'Bm@5qLLXYNaG*Ua2cFYVr*,'P)aDcH2lCqCc& ++i'AN'[UR*jfKC`m`hC0@"I&fRGBZd4CPVRZhf%kF-qXc&X*h9Lckk`IrHF`kATY +Bjd)8dN8Gi'0bT!IpZBN@-rNpNQjmNSaqeN-5a5dXlk5ARMIA8TS6F8kTZa-Zjr8 +LiYQ`&D+r@35D5$!3k0@M"bbQ6@*1&k)-8'SF,ZJYUA,R6Cp![I`c4RBB$-UQD`6 +U+4bGa[%L*DSr-a"P+Q[GNi'dP6@I,#q'iqjCm4)*Ak$0$8AX'i*HFHb$)-`1Nl' +LpJ,k*8[$#b-FSN`bTJXdQ68Aide@Rel*1-(-A8lklANDB+&Uq'3JGmqGld'i*-H +`G,rb)$FZlH"SHl1SE'-CVJ8hSa8UD2'h@TcQa`'Z9qqTkf%BkY"UIlR+&X0QV#F +2AcMbX5[4pN#(qI0$Zm(lR,DV4dqM&kf5P3aaFC1c351SfU'"CH&2H9'Acb(Z&L$ +fER224Id2b9V,UpNl%bM*LYlT(F'F!FI'MT6K6B9RFd'Kj'Y'IRGQf3fIlQ99Sc, +,44!40MAc)-qbTjAlH`Xfqi"ETeMeT3JMlEXp*5a5552dGcRiF&ZmDcSTZ96C@*[ +M!miKm,jj1SkFE$YH,[3J4N'&a836MH3-AIPS#Fp(N!!21U5kqP!mBT[#+p3d,M* +,kHXBK%24Sc1qC&S!6JldCS#)hp69aNLq4Y"Lq6YqcpqiTXEALUrJ(h*E)'hE9Cr +!lF3B!h6+BlBPSGSqq`,`YiVZHhVXqkS!%H"e[lbhpm$DR3ej3MQ&k$fB0el&,R2 +jipc+UA'f*-8@m%[0@(h3"c!QGB66)c25Mc$ie)TdKdXbr$6GL$"!YUfGqGQQUd5 +[iCm8PUrAM"H!Q`kZ298"06M9-U3d,i6EM-l$`CSBZ-XkLbb`dPH,*$e1[[$[$qd +%)V95BG,)e116@@l5'aSZ+3Lh4F'Xb&,*dYjp)N[XLBa!6H09E"c$Pa1$aHZ5IKr ++A4YjjTh8&6&Y*YB$BhfR")$"a2h%l'9S*3F$!"PhV%`c-0CbE$+Ceh,hLf13!2@ +!eH0E$FFR9lq#[qA5H[ciT"SJY5Vmil!kd-(T)4%f(Pmp!E'-rG(CZdZ`186)2Q4 +`%Cp#kVjDM)jh1)H$0Q+X(X96mVH"c@eTMkQDe)lX2h9,5@5+YQc+S[Fr9KSLp-e +e[b@'S5Cq2hUN0NI$9J3NC!Rha%hk-*(39bF+3&VCXJf0m&8m1L-)bBUP!R-YFR- +9SfJ1PiBl(p@QYNZjk)j#P"&+LBLS!$THGSG@PJiL225)Q41qc@&6@`6KN!!22bm +LR[$SX3FCp#UriL6P$Viq&H[`1kcT1"diQ2hUTEATX$pf6fTL()XjFj8`hSD0D&k +VbAaUk&1Kc!ABlBRU+%%9m+936*jiJl5)k9)!K%+[p3RaGHIAZDf!E%JV@GSep#" +(B)5LN!$Ik`#E2ArP5TEMT##Vf@i,RbN)p"KQ%q9r4bqr56mN'ZYc'eb!!mE&aFV +%UR)$rVq[YUf$`hQNQZlK)A"1lNQH'0*KATI'-!IRN!$V4,4e'#UlFSZ+PdFJ$"& +rFlY3j9R4i4fJB#dB3f0*Ja9'A#I5k3,('[&jJ2-eM1qER-0cKme"b)i$CSk"S#D +i`qR9!#'iYqkTdCYPC44#B-ACX0N48H1&j*jqCC%Ep0R5`(Y%iB8U`[G'2-[Pcd8 +p9*6(Yr19`jJN0`CdX5Ac8bm@+(c@Mk(MX'1GMb&bHU[X5"hDEBZ(j-aBba$G%F6 +MNIY,)fTefB@B2m6@DUL1VFYFG9X6eXR8Jd5E$`B'LQjQL($TPUZ1$dVfIeP3Xf8 +CQ94A1V`AI!H4daF&VQ)Y+j*'hRYGVUD@JK)ShS3LG9b&iA3m"aS,S2jp2eC,l,G +9hE(k9cfPJ'aAS#aE[ll2ikEp[)cR`6h%RA*Z-GKk-UFQaEJ*@@jJ'TE$F3H)LIf +YlZ*XhPCUE98&DHF#dZKdBqa33GNF,a$33ERCJ,NA#Dp*APHBjJFReE8rkc3')DS +r4J[m*QSRdAi@K)86+)U500YEY`,SGKm8jqr"3'2d24d,5*I$l)SY&81BkCqQ%S6 +@BF3TP,3%!)r0e%X8GM19JpCP"aXETf#0Q,"MZ3ml(mMll3#@amECPA+8!MGmCci +ARBqP"l3+b`kHjIMB&!F"D969+5RZU&AR$Ye-AkXFH9mI1-d50RCCc$k8'LQcA9T +k+fM+8"J5Rd@p-9eTVABbRDQb2p8TlqHbZ,UFGRD1qQ!RkGja'MKZ&3a)JVrp1IL +#9f"YSf-N3*E+$Bm,HYra!*@"f%[EaQf(k"N*6#[q'BlSleHRLe6mdkNN-U'fpC( +RUG&!eaZ86JV+alAR&PFr%`N2`"%EJ+)E3rhqST2e+kK1R((69[M,!IcjQ8Gj0GT +-HH`bVF4dj'[4dcC$GerP6Mrp6F!%S506F5dc%M*FF#@Mc`Hm%YHiFIk%mNr!cSV +))mThm[DqHliPTEX9GYF%TC09C-D&ZHcPN`69j)YTC@B#Eqb&UZ$KVM"Id$1dYq1 +!YZbZe6C`0pjm[`#GqAhDq&26BhJce-"2LEebrYceBD'!$S948T!!DXr,f`LBL-& +&!Y%1-iE@p59CVh%L%fI#MC*EXI6mlheK,X(JXYIL6mZmlfB)iD*S"kIFeP'fZ6% +9mMc24lp4'$pHmbpB2NcmES@#d50ip6#$E&-(c4#0D#Fb5P$5#3U,'2mlH$ULEF+ +XG-IckLA@kZMK,VLQ6'J'm9jp$Rm%BfhlV@1$MRq&b%j8KfaQ!ZBNSXac,XTQV(C +[9"i*fUIIMm$1FpNr3FL8J+65YNEVV`CJ(I'8AXYAC&P-F"c''3CG,Sl5%qrReeB +HE*!!EP&kXNFQQlp"Yr8"E@iVfk%9$Y%Mm9#iB,Ab#GP$j3eLlqf8Q28Kj,TE24q +hqN[KSch9@ShfJ)j,*Hkh9c&8`HX#$ZYCjI(cAYHf4h8J+Y-NX(G(,6Ir8,p462! +iC)c,!#Hl0b9`LJ3dU,DcX62@cRGI+41raKe*eL(3VfAjU"TaF[)Y-GH9FN$(Zf9 +$L0-k6f4&$6dQ$fY'a*FLjl#*'D+Bm4hRpmd[SC`"16SQl,m'1R`UDm2kMl(,[(# +(%V&K'+9QIJHl%ZHQAj!!0f@dl-H,HV8jXV,eVSK,2U$cXYJ0r1UdeU&%`%"R8i) +@"1@63``Z!6AkL4jY5*CK@Q$&TdZ4eJlTq%-pafQ9m3&h-DMeU5aK2EAG)lbBkP% +Fh,hIN!"3b"&HAE%Dp524G1)bV0jFmE&Rb@cBbZ9,5[cU!2*XMF+T,`24`qUcqa$ +rCR(6Uf+PdYcBbIkXZdh33hbfc'q8#a`6T9Z-MGfKc%&D[F`VVBNU#8heF`JqU8B +*fjj8jB6`jb-5KcGL-[-eU3LQBQ!4m5XG%JbV3CLa9IYmZB5Yi6q"EITDL[QDlh" +@SMB'"4AQSr"ViYXMbpSSNbCh8c+8f1A-H!CI9QeHll*ELScUSUefA9iPlE'F4mD +'#*+Sm0cT2rKNb3EC'F-H(jm5!laKVd%QA%Y9+J)9QahINbmH)DTSZK9Tk10T)GX +DThJDDlA3-4+(4&9ib1%VGS-4PbKimU[4J9XR$"03Q[20#(F)!FIXaj)C*PE@hr@ +U'EaNF'M%5Y)PbfJN%@TE60@#Z-4+ima(GDF69NReI[%EUQ`I*m['2LN%3j!!#VF +fl9S*hL591r3eD+5!B1LP@DcPR)pIqL4EaSh'*!3EY4`c8CcKjYl5LcU56+Vk$GB +kJXqALEfP'NiSNbi'9Q"kHHRYS,h'bb6Yk[*8dFkSSjL@q'$6YJE8[+`HC6%0($V +CJm#ST'%lT%bqQbAa&,38GrP(IQ+jEhq'BK[S1K03-U3K`CqHUSrr+&MTHD`bEPC +TGRaFP,N-CQ9KRL%DB136Yp$kGk`$6Fek(q$$c6"ESRZ"45cZ-3aLGkqEbAUUdY5 +A`+VBYQ$Ck&I3BM',D@jmmRG@TbRSYSr2Qe*@[8elC&PqDc#M0qbqr*pqkpp[6`& +4iG[,$6l'm9R9mQMGfHPd2Aj6e4X'&V`K"%JrKb&6PA-M1)Z+CDd4ClQp(YCHCR( +LKGU9deqURIHpEPJSNJ29[$DKPV[VA!ASJ&)e0X5jd"YjIkeB1ceGJ&%XDfYhb,D +'Y#KXqPY`JP83RhmkKG#f5K"+BYrSq[d[blhMb8pB0)brRS,lS&J0VY`h[pq(14& +!YKYM8@j(DC324IA0@k2!$XEKD8'QmJJP-1ECjMRV5CYBFPYH,cf@d4%LcZ4Y,%5 +mGC1@jal$S2ikKB!cT"-&U6e&QckLRqI`k+IiHKVr"eeI`lJGIKerIcp1$qIS%Ai +GqHAiG&[mr4%[`kp[jpX`i9TM82TUkKLSQ-Z*f%"-CaIbLRECklY18jAD!1P+ej` +Y6jhMm)q*f-Xeir"8Sej'NAf4qqhhA&TqIcFi)Qc[&`kr$iN1-X+arTC2P&*PH"F +@+LZ8QR[*1RMbcRKeXd&q''KJ2ZKa!'k%l[#J1X4cE!XfEeQB+c!Skj4'KG&H5YI +YhSZX*IKZf9J"+*YU)Y)i("9kpb$mZAGQe`5j!&*4TY&J-BI+HqaBrfSaf*!!#$b +P*XCV00p[DjRkQV94,Pam5hQ"HBDMjE@ZTa*NFXr@X`J1[m1a0NCFpQcd5DEV''! +H0TNXFZ#l9pIAZ43GhePf3k$`hk"$d5R6$ENdMe@1&Kq&2Z[956D(-I@jc&QLeMi +rL6qAVk65"5rhC4qE4fAlX8*6ilV8$*Z)H%*P-0-Q[%8EJm*-liem&)9f&RjGbRN +kT)jlNi$R-X!1i5&[0Z,SBr0LLP-aYVFRq$9NUF@r!K2M(28KBDQ#l1bI43fIINc +#@--fRmkQ$6@D*5R`!#9AhAP0I$'%6A$YCC08kPHHf9lhEBjkISrcR'kG-Ifil%P +((PmYCRqSX8MJKhG519af-4,`fT!!!f&Md'bQ8mUqCTmVCH'#qX2-ff*p1pB%SA' +d99SNbQiBF+!BlqTdrK6P&-SVrHJ8FEBkQ5'jS0k0V#M2,#Ff"KVV5ZK8Sb4Fm%- +*$e9%06mJ$@5#F!k$I2bY9jXR%DFqk1IGiSa#,1`%PEGI2QBDhCdI+D5$c5ECUr$ +59Vb0!UbZ3bXqS"Hh!f%`-'-AiAkZJif"9VfVmpmhUqC$rIB`IRDrDG(`8-Vje#D +@q,&AjEC!"&U"*2XDP2*CJ50"'L,!23A+&eV+8Hm4Ebk9!P9KrR-Z5$SaCKX,klf +I(%"GkQ#b-T'YjXq40,cHTG4E"B*%6dX0Tf4HRmpKbe8P4FB"pP6*XV8i3(&!lp& +dICDZKMiI6$ml,D+ID8jYL4lGS4[Xp6a6)cd@G)42""8rrKEbASmEEG!@4i2i`kD +RiJ63cSBPBllQFa#,V`"ZPEEYl4aE-PUS$TA,*+"490KPL#HfMR[jNj`Q55FHcAY +P(SXpNGB*D,X[pfJ#Lc@kaS2pJr022#VBIGEj#I,E#0%AG$!"T'Mr3q2pJ0@1H&$ +3qLjcQ1%0E--V*N&(V4Vb43%(U$,%q&)d(ZV%BkGGY`TbGIjXS&YTTYp8fA%SrL[ +Z@MM@c)!bHGhT"#MCN!#I&LUUNL*ZZ4RC"$6,U$C3$rZ`I5$1(IS1FN&E&[NC(AK +H)I$P(Z+Vl&D6#0*iq!I5[*ki`,#4L"60J0lSU'%RrQDk16(hE&AFHkq%*qi6!JM +ii0e1p8VIVT4SV'*2G`@mfCbeYBU3!)*DZX3q2IS2AAAJ4,jGp)$M,YrQ,f$j15' +pH@KKD*8SK'dSTq+"p(Cj*!5EUcG$bHcG!(1G[PjUl148J"p-6mcA6+IHY!F!hMe +CbpVU%FQ)F1APNSrSC$f4(8!DJR'F3X1Kj+`DRk4TVh0Q,a6PD3IU*fM4h'HjGAY +HFaqd4pRU6-BCTP!HHIi*Q%c[3+XCpQ$eSID3!*[RaN56@iSR8*NE)jH5E,ZU)jQ +59[#MN@ffBp3fVP4q#'Z&*`ecFQ-e%KA*E6R8jdVEE2%5@d`6*jMbG'+ZP*'LR!I +ZQ[$qaCrMqUh%S2d-SN3I!L5*385LkRQilJ4UQ("a*c10Zrf3!(VKZ4pm+Q%+X6p +%4ImN9323ef4QIa1)ME9)C(3J6(lr(GU,`L4b$SG'2%U$)[0P(Jq@JMrV`#"ESd4 +JGUXLE+)+hb(f+cipK--'H"8kha$dNbBdbmhbkdEe!iYhS1!SM-*c)Up1A9prhm3 +#R4"$$LYI&Q4rrh0rQYC4+$(P2bTGbBiV0Ij(J4Z"ZXCG[!!NQ8C9MC',,6Uecr+ +h2GAq'P*)e4D"+b&8dE,$II46BS**TL#`4hK9hdMSdDR1RSJa4Km#USh'['0`'K* +KF-8!r5hbMT&cmEQeY`#Plce"JAH[leRDrQ%*U+"H2$[arMUVZ[d@l1La"6Vdr3a +M5F%E2LIe(IX@mpSi[UP"ReCld$53!)hA!A*2BT*MGjSTCeh&&'HjiEpK)+S9!q` +kIF!0UYkPq$-DlR,[Y[j*FI$SfIehlqPACXkpBiFEN`+%Ip'3!28r30eah5YP'CI +4Uq"19ZK+ITD3!0D5@iG6![[l8N-LKm5ri2"3r[Qk0(PD9T'qXaDZlVGIf02aH5H +'@K6f0KIRKMUA#&*l8(`),b9MqN,e6hVPFJZ*E)AR6FDlQj%jr*B+5qcSGkc265I +pbX06e85FqC!!5%Rr4S3%f4"0("#qlepaaF)&-EI%CT8KEAUBa(#TbqU,X6L%Sqm +'hhLqRDb0bPfc"A"iH#lQ%#+p'L$@9+2UQh#N@1R4RKNecVN43)Er9[bX*aBFe,2 +PZ0HiqK6RU8hYIYJL(-A&aE`-H1$,D!,@'4hSR1eRQeNQ9@4r0KHZI4)VUUe3[1Y +"AN9c"$iMm2['cG8Y@2fN-dE-NLkM@ZGFRD0m+"1jX)rG[#phfG`CZGF-1QklfY# +qX,)"3*D8$[Br+lPRM0T"cD5cIK#U"pMLS('c$UR3Q(8lUUl-lc)@fi8!P5"mP-* +`GhV6("KXKKRBRlmj#-`DI#BaNM9%@XGr@MdC"8#MTm9lQ!aPeAFUl$5f1"*3[6X +3BLJ*#mf'GIpQa-!9,-L2$KC$CKXer6JclY0YmBePaX"@0)a!Qf1'UF`9SY#L)J* +"XfSV&"LIqAmf3E`a#cahTI5@Xh%8*-5K+M`ImVlAcYjU'Lk!3H`1"MG9!FIqEN4 +ZN!"R8K-$if6K%$-RRMmN!UD`1d6A4Lee'VkSe$F3e@Amrb&`0e5dABC18kVKX*J +N#&`V&N2HN!#4)1T,q9k)8khjGk@*8X*"4M8@Yb%adkp,(mY,'[i2-E(LD$8phN2 +RH'2r809!*h'N@(8*9bX5cDVjDCS(NR"H%i`m3D'6$1ip5SKR4rh-,3#Pb"@`5E5 +'K,1F(ei29Aa)aGpqA$B%bI`BcMIS1MrLHZ2r,i)'V2G3FPA4bMMi2`pa$"qrA-r +U*`D)k,`9&I)eCiL!H6Sd,CEdq'VYHFX-Nl4@p%-kSq8#P%N6KVqdC%TLF$434k) +e$c!N&5Bq`mrI3Pq13hX2mmS0%EbM'JQUBMJZC8'L2BDdN!"e9I%jBUP!,P#G4e- +T8d6kBFZ0MM*CVMGJPrCYcVr#`#fFY$$"hA3PM0XbbJP+f*CM"(JFiTp9&lSX#Ap +lN8PGUV'DU0L+IY()#i8G+NYp#Pi`pL(F%+VVjQ%5[$6VNPiKZ"iT-+XGGJC3Xcd +&IL18#IeX9-8iU(`fL3`M6G@$QI@A@Mr8Ef"$Xfc%bcFCZ5G94'$"!j-MTZ43%QA +)Y+I"b`cR3QkSF"#5lXF$'J3DGM'G!JrXB&0RL'R+br%Kl6H65J%b)q'6rBFRV([ +U#kFG@KpQrBBQFHH%+CQaUC(hlRUNifK!bHrZicF'%,rFH3*hCf8EPMjBAq5%#26 +45b)fFaUCiqmFiTRJ'3jCECfYb)#[E'9NEPSIfl8[[ZpDJrjDqUUSUk5(G+NU$XL +Y3KKpMU'[J4IL,,V+2T,qP4E&h5i,TUPr'`$j[$0D5f5N0'lE-#F1PcNJpaVYfIp +d1S)b2fIAMdM)LYY'U2C[(hc[+J%X(YSGEE##p9qR,L`9Nr8SjBMVD9$*m-[*TS' +[0231&+%"kQ8K)FhAlb6NVZ3VXriiUmIkq,2C,SSQQX[J`AKEAq*3HY@6N!$DVbR +$[K5p,iXjMYi1L8LklSLIFER$ZRiRPUd&cBDD%J%6RL`Ma'Y[[c#Yf@fGNcCPVk9 +VJ'55Ue"2R+c02e`B0TUbTY!pFKfPdZ+iP-d3T0A)4i&fkj(p%#6rGaELITG2VFU +@CqrV3eM'McJc60a6YNBf*A2-NZqkQIZe5d38[$hG&,SGq3BM`&DJ`TC$Ya-(EBl +'IJrCqD4f0Hqc*S%DEDVh(%``S[)*"V-S65JDc9[D4fp!3K5'AbVdDE3EZT9e480 +jEVDp@8HePk96p`+PbcLK'hS5mS!mZ@%b"J'c-d2`HSUL+(hDEPMDjfSTF!,D1Ij +@b2FCUVl,q"iKX3-m5Ti263AT2bNQcMNMZ,&lNkMbRGk0FjjjZ&$`VlD$3l5V(K$ +AcPi!0+GYlEc'lATeITN9qHVHmqE9m1`9cb21A[R1DG)iHXdpj`aVciF0lV"J+DX +&qjq($fP'1"r&H6`@Hd!1RU*2-mkUV,r(Z&G)G'K#`6R&#ZlmU@qU,qh4rd@MQf, +r&'BC*IS*%EhCk-F@Rh$D)X@M[pSZ5JdG-JH8(YL"#8FcbjLK$@HIrhrrEVDpb99 +YVK%%0+jjE&C[m3CX%9RrH2ThqbP[2,fY3KiJl`le1MMSiT2FE`IKM@H-1B`AZC( +GbiMcrfY[ppM2bl''PfU2)GlVca[HL3PTMEkkA0TGEe9Bb$"+RiI2R(T&CLL2dP% +,JSf#r'#a2Kce0+KrUFJi6'Z["NK)-LU-fGcNham9[GVG)`fFB!'UAccB46EBGE! +dQ2kPMr[`RQJ#k"&mG#aP[YmCH#R'FTRr!1S@N!!*m!MA4NN(UcjfGDkrUdKqiG1 +A,Pm(B9KD86LIek4i'PD&HcAqR,4j+5+m'PBFQaDiPjLMVS0Q*)#q'm,a!qZ"pU+ +kbGKTRjE5-CB0R13S@YCNR$",FN,QB3XmT$XeF,[0(DjTZQ`jipL2QLHMI5lVadi +5PXhY`dI!6GP'kBPjFZE`E0@"PL1T[LZi%[`'V9S0@ek&52QqKTpT#5T+4jQG+ME +1`hdXVX[Qr9b1GXp1HKhBJlHKVl$!)+Gae[#@IYe(qZBrVb0&1cYq`b1MDka@F`3 +KLQ2[0b[p"@9@[9j2p%J"DH)I)&RR0*pBqG"(M%Q&"L"Nf$kL1DSI[k!,!kD%9T) +TMa,P40kaj+fXZJC"dCf63#hdXKp,5HIhi)B,)-LY0Uc6m+ireRSL0UeN#JPPq#p +c")q$Cdk@$K91DdA(aD0E%"0TkZ($Fp&cAmkHE(ic6D[L,eL5K(,6Dbbhlc4YT'@ +cXeU4&4-KDQX1B9!Z14[8,4dV4QIGPjG5FAJD12M+UdG*U#GHDVG1-JjSAJCDR@4 +&EQVVIUY(2-"fCLJ!fhLCbBll,HXYR%[RB4C`M+EL8jJ&H0%Ve@Nk94SK+9pPY-6 +MHN$LS#@l,0MaQ8H%1$M9!HX45EV85Pjki6#kmV63acbDkQ(q9hLHCCGQ'iTh3j` +(FGN(bA@GB-P*dCL9JSNBBL$BKI(6&%em8XJeGYT-R,fFJI4IpEJdY,hi3[,)Sk- +N9CF(0(dHGSJXpc@@T%jR0aD4CLBA4dY54Uk!@"ipBi5efSf2'G3ZI!ESfL3M24F +X+NCY$JCJ)e2c5-SCD&HE&Rk4F$kLS8Z[-fh8eFAPm,KSBBq3!%ri("#'R4F!8&6 +i1H$eEkF1'`R4DH$*elLX60BVj'I6R+D#6++l0KC[m`5e'6Scq1)5m+T$cRAY,-d +8*ml%91ec%r1!JXLRmIZQipi286ETS&VTPd+E*U3"9#8l8PK8(D0c&*9(!l-M&`l +b&R`NSj'h828(6Ji'8F)feF9+Lr&cP*0JF"1PAL"%)!$+f&FZBlfm(1"%0EP*Y'L +B9jhQGE00YL5!`3Z8M-QB4!cTViKq9SZQ"H!mQHT@-bSVcjJXdEI2+e6"dYMNE,Z +-aTDIPEc[4fYIQ8LU$8)`(ZZl@he%,kGKNJJj8l6`XF)A)+94`HX&50kh@U""`*& +$0RRcT%e2G-pm4-p2NA'QeDRpqRdC$XB93eUMMTdeH*UZ2NPpmr0P*08bL*(V@`' +U`i)[0bQQBc,X(CZFr+5ch"@P)JS$'%eq8N@F-#C&*IMe5H6$-Tp"dUl8&5kfJ+X ++jKGY0R,dBZG[5Gd!JQij3D&A@i-!l1[Fm9EScKS(bL1LYpMLV!T2B"p+dX`C1-b +9rdq4ip%1+YY#&2X160h0IJ%9`S2C3S1@"@P8-mVXUTirZ[Nj2!Gi@FCF)9di8CI +-a(kAPiCH(6"J[0RFAD8V01I0mPhRfr"%$cPJ!i`Q1U`ad9+%aAJ(%2$U3'P)B`l +*dc@D2Nd+kF*5KTR06Q6RQD`SDfdRf,Ha%'R3!flKUC,HQ")MKI%@bchr1&ckLDN +Mi0hV#-)l3bj9HM1bUT*V5&ehQSIhl"0(US*b4r`RERk8c!h'k&)%%a%-8[V05$3 ++3N8hXZ0Q3i"f[M@hAX+6URJqITTG2dCK)ZLmmP$&2&5jeSAb3iUa!XVV4YG&G3K +8ED&p!pd8)03hKd&9Ri9J,Z1l(V#JM6$AKk&PG*@3!(KhiKedZ#C(pURhQ[mpP5h +r4l+Y-rYVZ*bMS9YKVhq'i#h@CL0-%+G9%A)8f9Pq@c1*fM$)%H8*J&0H2'N56'T +`PZ[I-r@1da$a)0#14@3LVfI4HfD&",029Y*+J(cDj,TlPk3a!c$'1HqF[Qd`NFm +ePHekJD#dYMVc+G$6#V,,3K!k*'L)A"LK2KFNIl`8b91BcNYqb`FIUPXr+*pB@+i +[IGS!-mikK$Ze[d(G68`Qr9QU#F`(ZQ0qN!!+8iR&-l26H-c(,&GmlcC@IE'&`ZB +6mb4J80E@DV!#Y*VXL6jll%f"6U2B!%`bRH9UIc$mXXI4XDZk`-XXY9,eE59jrAS +0i"Jq'IjXU8e$Y'a$#X"i$KL*5a4-C6Y5l(-(Y@92#rRFB[1`dYH9)pLYpJF'Q%Y +4m2IQhAPIB1S5'8q#&[036idRC,Zj)i10P[eBaf4qG"3rfikm4[FP[U$N-Hr8`GH +KJFYih-mc`'EShQb3!&j-P9,mIdi4AAqAm43N*MFJF[(%TD#hH9GbAJ-KE@,U&8T +MA@4Zd[%!%[Z`!X-I--p$-Cq(qPYj(6EdJMM(YSP&!0JVq6b#f91X)4bUDdf%Z4% +$QDEj3$V1F545LUjlS)+4e!SUZi#U2YH6#2mDDb1frcADlEYE%Q80dDL&l`%pQ,B +6fFHUJAE'b-GV52YG8D@cGKB9)BIDH+`1R'ahf[l%afJYd#RlX9`!XQBqXpf6TaZ +DaPkm0L23*De6Y#"f(9ielVc@Q2@HN!!Akfeq+5P1eZLBNL$ha1N0Aq$cmb03m+Q +AreB8XBU2!I*rKIbleNY5$jari&J6hlb$I-KkG,2ec%#fL#,PmKc$Rq`"6hm`9Nf +@+VG[FkfdH"+HcJE#H-34,fkV5%dpB)!!#Vm1Ybd$+d3Z)P88(FYHYNeT"bM62lC +QmcFfiG`51pbb!LR4ITk63[83UZZR5,8e@Pc+-p+@F!aMiMF,"Tm4**1"(m39M6' +3!&2)fZ&)amlK,A$9BG+C[`IC'i3dreqcEI$VqJ'KcIL4dF3i)")ei0lQ!P[VK'k +-$Vrm+D%f6SX#!QZXXGP)JDN#eLmlaXZ`r8%aQKGjmI)m`8qhb-bcD#)(qB2UBq" +#SC[XE*mq9kRh&rppH`,f8Lr6["Si8)[A@!V%@3&84ZD99SbC`ErRARK!P3$a)Yk +$3lN3fXZF3T2P1GcQACE68a3*-"ffDN4Q#fk+J`L!pqqik%kpQAi5&2c$0)S%K*4 +9S'$k189fiIMaQ8SlZP'JDT!!i)0!b')aYKh1+AJEP&f&i,0*(,VUHR[2#1ijc'* +*("`bH+Zpe0(ajU%3NeY`+l2IUITK4@kmiT@,bNECkq[H*Xh,'!VZcSliiH-U@&J +1r*mpN!#R4QI(r8hiqYf3!$f4BD#MY1SGd&eV+5%4(9-%`Jj9Y$D#`,Q!UpN%-G2 +R@@pD+Xiaq2bI[ArSQ29H8RH*#F-FP9IlCaBR9F#D1&6k(XN@D&2d%NlE1+#5440 +j93c1$QAe"RI)P0r)5"e%mEL)NcKS)(E3)bSVrb!$%M[(!b&D9!k3!-6$IZrpk,T +&YfLpjPGJ(`J%B5(KUlmd!rKUqmYS@X1TDcmLN!"-Z2$LmFhbMZ-X&j19cAd3#D` +")*(Rh1XiilV48'&FIGGYI(B"RiY%'6[Y&"!eKNJ(!YD+Hq#J#Xm%"8Q&Dh4DCQS +IJ,EMjU@hJ$'cPcb&6&bKhTUErfFB9a*DGbf!e0(%Br[f1U8('%B2#mKP!F$Xm%f +8LpZV%MYBCQaYHaNXdZDa@Qk'-j831B-fpJ-"fE+&XqfBY0-(-&9de#5TAVQ"@$G +82D6JHjeB#pNVIhTlF4Zlb6G9Z@@rI-IEG*ZQ-jhL-BMR9HiX'8ZdBHe`Pq-#,NI +i`%qUHBRcqq9#0&iR'[Y(!96ZH#4rd1jQTDdBMGb9@82QH%jC8H4!Q'EJh(q()#% +)C'#ePkB*mqUD88h199Ka-8Bl[3)cS2`V!+e8+IVBjT1hf$adK#c(IJ0,I!DhKHq +K)EGB*LmJlhjUp*44L,-`[5lS2Z0iJS@bf+&Zlr&L8RCX(5m,MQ%k'D!ppPY0(Nk +k,1S-U3e&i,K!XN60$LGT@RS[8@eNRDEfpb@6qRMUZLRRH9H9eTAP2QmBJmm@+9J +M3(SjMkh3E*LlNK+c`8`GZ2['JE4G0'qrU@)Z,R6*Xe[UB`(G$j+L'6PXdYNNlDd +LJ$82)X!'Hl3-f,JbVHHG!1QNGIf8DFBV#*!!+AU%L3i2IDjN0bQqHZ25X&hJZBc +$J5BT'Bq9,PBhZKLID[HSM##V[(D1Val-K%(m'B,il9m1jhYlpS$9b+)UDGJNQ#& +[-6`)2YNrG44a8p6M1[B,fG!YQQka)64S`ji@AA'H4be*DLMU34-I1mbb25*EVmB +9M!cZ[5V#)J"Y1l[Dp)K5ifcAG$NUbSS%3)18IUmQ@fq(EISa9)0Z4j!!"klb60F +Q240U@E"93Z#rL3)YNjhdci!1JJ!b[UqZG6mP@[1NeF4L59qQk#hkD`daLGAdR#% +H6$DBr-Fj[&[Ei14CLLQYI[8-PFEfG(PhbM9e2cKSeQ$2#Al"2DG*,[J%*HB[P5j +350Y1UVcXPcYCNVDFHHRCP'Qh$HGkNTc%G+d04"JGmZLAJ2['mKrA$b9"KIha5r5 +$M&T9(b53!"lc)SKf6Z3kVU9e)@XbpVbkI@&2"H[1TC-T&q@Z1$RLDPebeLVeh(5 +5`@h(I3S`EJ[XB1RjI$NVT0*8lqfS'LNVBCNF4!'Br+i2AB&3VLmq#e1faBQ1eZi +8mHPhMML$!"Hc[,f)2#aTdY3rG9r[%UMbF"p#!e9C[)jIT1B8A$Vl1@3Frb&PKY& +S#V#Ubb#aJaQG"jh!5"8N1+G`JkcKDfe%5`VA9RJ&ilplPJPJZbrY[!'&D[i@f(L +)@65rY$qi+66S6R(Np``"QaM@qLLJFXq`$BS0@$9ZXCTDYq-'rf08GmX#)$(ZV1* +VMa6EXi2jVXdjlHApXP[9!,!PRD&djNhR0Ck+E[BD21jD&UqmSa-Ei%dq"XC'L9[ +YT1kr`McH(c[ajA-%"5ZpZBQ-'MmJEY+'`,ATRXRXQVBaeh%$$AE-DlfVppJh*E8 +DXa0-U&5p(N2KZAeH+LmV[J4@P0D)`@Q-kj6jjEhdN[TPGbbhlFX#2MCDem1b"XE +Lq*8LKqQk*KGkf5[LqKK&bL`LY[cT--c8B[bY"k)0rZp$#N[Tdi@0[Er8G5QLkaA +5e*mk48129[GCNI4p0GdUG8#QPN8@r[j,[iBS0'SLYU$$C10YrhjlR4+Yp#er"PS +0SF'1D69@X@UJij&T3&B"b++QH5f@Im6f&(KNF(a06AjpI2a&EI4Z#lhX@12'DIm +BHF@%4(3NHG'&H(P`2f$T5,hcimlamUkrRU428+*mh-!9!@F&DrPp9L(65ISd1fP +b3'd(lB!D2JlH8!f@2l&&HK5&Y*JhHV@em*rJmlm-+B+#*1f6XkY`Y[MPXED9q,D +UNmXh!f(1cL#erA"'F1"9b+0Z1hR2Z,&4YH[%a`0riI&S`cfh9F2Z$2(+2j2i0*d +#5q@KCDLi'8Ib56+LVbKEp"Nc&"[RIDE'dKZL9G8m%"lG6$IA!$*Xf`T3X%X%E&" +bBViqeqrKJMhFB#0h9-P"JlGA9AU'CLYh[0!#jI12$Eee&A+SBLepBB[&34iU +5be#kJ4l6$mJjiEKp5c+ETS*0)Mbi3qfE*8LKFHdVYM$TFM*h4[erq1)SQ%k%5Tm +IlU(aT4XJKhEd0qYQR`@,%GDJG(Ke#A5Q&mi%k4L`[cSr##1YM$H4`b#e+p4FK6` +4J9$!p2H22+@FHKj"jLU9b'`[ESNF3qSFb!$[lLN2QD@,"bRNCbIP)PKhHLq3!'X +K8PJpL&a8bi1GmF9Yrb8bJ,kU*4rEK3je[0E[@FX#29Spe`'1T'0Tie+b&dL4HUB +A[P4EhlrqB''eRrRY6[i&("m`)L5[Y-)PU00bJSBAZQXKmDZIaYd1&4Xd2EcDT(H +Ai9b'0)J-2q!Rq+#q13cYkQPS#&YJ#YHJX+Hk*kM*UMQ+Er`L#5)G-(!U(@P@P$0 +#cqc%M+-S0K6j,r*0()A*L)KYCCkK+*SPH[MXI2bJfP(FkKTS1$HpkZS#L`%pMLb +`QCXqdC@Fp5jc6F%0CbY@J"lqFS(Ea,QV4eYKe89$c8$I$2f*2P)Nei)12R+p"[G +,i@q+%cUQ6br#iTC8R$ZB*",9e'P4MSDfMH[8[i[KBfYl6dIFcSV&*-cX5Xk[JQd +"cCG+09++aXrS+ESEiAd5[G,(N`(hBG1*)@L"mr!-@-ha89"RaR`5lG"X+2TRLDR +QcGC'j@[[bXIpNCiRL)TNhP['Q&M,34`L#88*)$B6J[$M#LkX0m"AUZ82H9"6QG8 +,'r&@q,dS`rXM(UI6a'ajTAe%`QH)202Jp*CNLXVBX#6Hde+S3FpY9+8f$S#kA4% +Xd8RK'M6$334ldXR+KFb--MAq0RDRd8DP@+6b*D+h%iB5Eh8('fmUQY6I4,++1jG +1qJrX[UjLXX8(dAMB[F)SbFI%Jb,4SFrKcd8(I2Ndb6)2U,U`CSD[!P5P@$0ai4T +@Qj1FPQTp`,PlK"aUM"i%Ih9%LN2%%5L3!$BS42IGjcFJQj*i42m3kHF$BBPDL)N +-3HZ+"UC`"faEXPVR&q*Aj6QZ"C,eq%k@X"K3il4Me`2ciFmakI,bL,dF+R2X-Ka +V-Ti1%8&%P@pqA$G!4$8FR#SD6$@*h9&+[U!N#G[V3PCA3k9U-A,Cr4BG['#1pGl +"%K)FL%&jSfKlG#BCbM&fm6UjX&N,8(0h9LTQ0@%"#9L)8m,F)m5p0$#+GYfm'4r +CpaNG+,M*ej+fJ-3P-kkK`hfI[BaSf$9LA,K3mHYSb@GK2!6a'JC`)KKH8l$(DrA +!lhMVIGaq#Q@&k&XVEiHfZ%31F868UQ3N8[alb&dQ(d)HS!)pPE&1A9(eJ2pY*NM +,[#1c+BXCVSZ@JE3ADfG$$kUabcD188Gc[)S+$9H`VfbL39bR)c"Qb8c,ZHe2pY' +2%F1V*$GYeihXdK-S!B0hBm`4a-V'6)&qC)DE*ZXH+F@,FrS+LjQffGE&b3M*PaB +iF%8RakNDDl1CJZ6HR4L2RNp[mE59lXf!UpfJ"#[JJCr-fX3FX5QMA85`pXdEQEj +@c&IH$*`K0jr4KHUh,fPMB-Am!BAb$d80LeJ(SiIZh+MJf4('dm2`0$`a3!9M*D5 +cVANHYFB$C&4Gb@1"B*3,G9V35$c`lB,XJ(NYDY8V%-#6-Dj*)E241F8Le*q+C9& +TSYP(fCUL#`9#CU@eG1#@)M'Ak%UhFB&q2S*QVHk0%[6piS1iT!h+)F@m(KMec*% +PKT8Srb%fZLU[#0AUjj8963Hai(qXiS-J!cApDQ,M@hHVLrLG+rhj%3D(8`QKi'3 +3G`6V(dbNNFlV9Yl@pH!2-'Amp$b-kXaqS&!3@SD1@)rUZ+-q250DSk[0jU,dpKE +QZ8+$5Z*G34KG%Ae@b*@2bklI5b4iR%+%"E(eSCVT8M6'S`HaDEfbr6QJ"QPakp( +J"P@"AS`[X[f`q0D[4j8ZVM4FX$BHh9*kqpjBLL-CTHKJmT!!I5H-XB#8pLIEXim +JK&G%VpTmJdL)pIj#Jm2B4GG@piXl3a*42,GmDmIGJLHcB%[FQ%A81e$HL5%$Zb` +aa*`hd95-2#3PV@*8"8!a*,p1TI&8GCT[``'-a&d(YXBl`5BpR[ck25K"1FFQi$T +2iEr'(i"N(9lA!'VZQ9P-d)12%36U(l!#q)"cIYCfq0KH1[jZRrFEZ+3K!KF%m0e +*U3@3!&4N1[eVVGCa$5lC0RUT-eMIl(JFhe3`-0bc-ILZ8+iQPhGLLCQq@U&VXX# +bE-m*5*`C,a[G*C*,9hZMGJ@KmRk$qma3V6R8N9KCX#'dDZ1(!q6Um@,!D"f'9Fk +i"N-EPpc'F)&lGV18p`+$R3)lDYAT0jJdk,&i(YU-"5U%H6EG9QUK(`adIDf!,Vk +TSlc$DlPF(*@4&D,eN!#K6RLj$md+RiM0&3p-`Tq0$dlIP%eGB5QaDi3qG#8$DM- +cBhSkr9q'RGN'erP2C1m`mZIdDYUJbV$H%(QEH9j#$LT)B0EkKhf!iTFqQ9+I,&[ +0aYSL')EV-r0PJ%)mIYhF0iTR`JUY@GLd'3HYP*cp$9qQ@R3NPpIGPN'F53HJHkj +Kh[YJ&lHaANlpVdQm"BXUGAfKK`)S0rpGlk3jm#hikTfTCP`qp,HHM*ZX2S@eQHr +YG*AK(CiYLKIVr`3P#VUJV36F#EdLq*'8RNkmT1JTL5pERj4eTM1aqpfc%'`5TP& +903N2*I'jqqD"PIcJam3Yq9+'d&[8bPjUkb+mJMTjVd%I9cbA3p4N(I@9f"%dcX$ +Ff`&qkk!Y-9$hmmGSFZ-'A+6[DY1%G@CUM+c9QdD&-BIiLGGp*Vd5ic&EAR-+mA% +Dfq53!#[kEQL'h4TQDj!!ApU'j'ElHU[CLc'K@k#5kdqh,RIS0V[GBc$dK,6)dmG +5r8*q'"bL+%1SqEmYDV`c3k[iAHEr)p1k5QkHS&IRdh&&8p(92$r0V@e'Y`,fjq' +m)e!j%GqVeZ6K6[%XBNdH9rKDdG@HhqMb0aUTDEicG[GRLe2B`CYSibU$PZc8Zb@ +h2l[(#l58#2%qdUkiYN4'FB-rPlb"MT3B"@hZ%LD4M#c`a!,#Vj0,iIR13e*DbPB +[(&EifN!Vm8MKkSE@la0b4af"Uc$aQ$K"J1CM3S9YYVf-dJ[!9R'J1!Xe`$(YP+3 +)aBSP0hBFjbea[Q33Y9Ui5DL-4`%U1*D*BlSLDZ3VB)-2SdCkbf-F!8k'JlTZE[) +HPc"ejU&10eU1JET%`dXc#cS@8VlEFp52PG`CMc15I8i9D%V'"(d)+PUaR3'r68F +951jMd(TlKAI&R#f&2"app$(q2rk3!)IRTrUR`"FHIYQ,8E*!hhS[m3h+V0r0D@C +r5$%eCbi$%mReUdS,ec8MHP$!cY"m@$kEU(aA`9M`N!"B(Ll%Ma4jh8K%J04UUcc +c+9LK"9@12(QZUJY`Cq@0R6Ia&K*(4lUqFBURlE[R4I)F9"TSP"@LB@A`T@3ZiLa +"*E"@fX8BN!"BFC!![b489S&6X5jGI@!+VV66@""rPPKKf0(aX[#c&#)E[&`hd)2 +S#F"%PZE+[d)4e5&-ITB$!!`++FU(DJpCrY)1cQVT&mPEdU@eU'@SrSkR88S[@#Q +Xc[F$(8a#+qIm0ABQA38k-kUU%D)`8!U-!'dJVVkI9H1GpU$(%AhG2b-FI$dkGNM +TpJPR6Z[FA-YXE([m%RN6Zcm5@9d+'D1Y6B#`Fib42$'iaLm)5VX@mB9*Y`9CQdY +K"[3MhqPi5#AX(TmE3mqTqV0Y#Zmi*-jqXLN93h`&+"!be#6#UX3G298"eJ)r%3P +8HcJ9bYCYED2)ZbJRXe+V%hHeJ5%kD3hb4(e5p1FCSe(1TKeY$CLKeb4(ZSAPBIG +jIpP&931QaLC'hC01!5*P$aZUf1X"AY&BF#S2$#'MTj@'Qr'pY$[c5ia5dAER5MV +'BUTdf#C*AIC&h@ip13GNie9Q4MIfQF'miA&3a2YV9Db+'`*A8l#(m)rr'4dS"l` +RN!#X`YFE$DbA(NB%[@-r[YKH*0l"3pC$jcd-!PRkZA8()m`l9[N[5fi((1'T9%q +XF@Q0#d9NfMIK[S-*E*!!H%p4U0XhSm8X`M`4U,CS,$e%(1p`B&a*%E!V#3r!idm +Q`QbSciJ[81b,*)-N#q-F&$Krk`U!1ID!VZ*9AGTj1-r*#I0('2A3fbPr,)NMSI9 +ECH6CVE28#L3)C2*8Q%XbRHC"`D%$YkY6ZBIZ8m'IFE0B-&$Xjf4d(PSP-T1ENaL +@Q6dTDp6"1fSV!)8BIpN+J55Z%j,M3mSSV!NF,f%dcrfd#92d%&UC(211k*b0N5` +SQ[JHpAeUaVARm0Q[iGRrH(5hr$T`eq(3pIKh8Icl,Em1UV,m0X2jpQrmqR#r$T8 +!i9TM82TUpTa((92Z5lceILX%Hq(p16""b&*Gcq$h8'9VbQ&-dDj3T,R8KV*9kJq ++cfjV2k260['cGhJCALe8EY2L'1+QfCEbX%L3!"`L$@Y*Rd6#S)`RKaAqHlG!m2G +`6ZZ6L,TX6JjT0VkqV([Aj2jm'J$4)'`Ge'YPh#NGihM1"UJcr*3mli1mL,`QNYI +[-`QDiBFKQQ4-+AX`UY'DPjMi$hrfYMXj8b(!i*mGV$"dN!"(HHCQiK,960NA1$i +6UR4km%CjZma2I[X5h#4(Q%YaSekiYr"UF9)TMJ*I9ELMT+`SU51p*cX8fEH-T3X +BmrC-LVf9[b#mk(jM3Hqe2#ZDT5h1l84(YiR81`U3!+ihjE090I0Y(54P%@pr0&) +bIfcG'6`LTTFSBIfi'l(6+fKMY&$fH6#5Z#LDNpYlpe2GHJQ+&ZMr3MQcTef0`*q +JcH"Um(qQ4GiI@J9UC$FECA#UD2bJd93Tip1pq,[pY2`)(Yd2+55`GQ09D6AB`L, +YhcU'm)9TeYSBbS2*[P`qT4h8VcR2q$ie[TqVLfr0*YQT98Rr2lALrhc0e8%X`K1 +-,@#`@F529MCTqD$66TFak'hIq8!VaA(9(C&f4DlL6Eh6ZYG0YJD@"(e+,CdhU,4 +XHrVGV&0R!rV`"QqR4BF(SKmZ4'mSQ6j,F,F*f#Ap+)CXa-QEPjlC#2eNZCI%@p9 +Uecr*pZ&)[",TM`kC!%%A[CN$+M%fcGY&NJ[LRc5G"%Ep!NZ(TS*[H!Zc%f9LqbN +Jlc9*5*4DikR4"(&Y!KIkk[&*K,p3diX#Tj[HV6Uq"c+F'fZE080MlYC6k1X4UEr +hqAI*XPRrE(`5[kAmaN2$fa1KeDm'VHfkh'[!$X"r$*JK"j'er2TH95`USrR!J[h +(mD&mcH6`F!`PqVNqqcP5B2B)*!)G3pr+5!iSTUp-1plC5&D*V")mG%*aAIkbGcR +Vc"(S1lKrUq3T8TUa"aCI&p2d("BqCLS,,Y8kG%LeV4UI4d"UN!!RX!G)m)hq&5N +1qGR%i'DPNb)p20iNUimN-9qq"LFG`QFP[4c[DMIabLEHV-K$LjjFBJe8X[#(!hC +ZNPISBmRATjVC'52iAJd)r8`R36Vk[!CKYCXC2M)+%l(Nh5"YVlIb'2##+rUiH$) +qcb,*4`I)mD)4phGccbXpkEpMPZ'i+&4bT'l9V@Jl2NlaRZ4ILGUYcej333)DJ,N +0m''-5N*3GCdF@ee''lcF%q)Jbm(fBD-A*NfViq1*F2KEj"d4aiQ'P`$rBFShAL% +m%rQQ&UfH(CHUApS2BIi+8qYDpq0YYjbD@-1FkG%f!ml3VPRcB,39qb6A!L&PN@b +AC@pXT,`cYiXANEfi%R2l3VHFJame-ILmG21U(L0CN!$QRcpJK[6X5!EhVpRc'M6 +$UVF98(,922d5aB,Q9H4BJb4I*mM"5@p45#i@'C3AD3rS"Qbf9eRSEFLeS3QLUl5 +'fTLG8p'Y&(Y1LQdJ1Vq2P@IBj1(H$K`f5BHhUh[@HKZDb,MCY8A+PNhf,8kUb"3 +6GiS6BG4pj1%SjBRUYKZ@U)mB@*00lEeMf,cDakE6Hmdmr2iRp&-RXI8fF36VRS, +$I@R6cpE*!2"hMABk@lUrUNC-b8"Dp-C0IZ@S`aRa%I3LNF&E59`B&cJB0M,c2r- +5CTQqAT(hd&edce1rG,c#)jd6(kl449HH"QKba&'qq2*M"AQQA9Kcbl,G5"6Bl!N +iZ'lAk$lBEQNfj,1%6(13!%R@!*,qCrS$jU'RRXpI-Ce25ePVfr+IE(&`P8i#(R! +kGRUHrhC)3-IMU!HI"dq!Fj)%6PM#ReRqcVCUSdZ+U55LI[mF(EpF*)FMd8Ir3JC +j[qBc)IFUDm!UhC`4K#R%iD3R4,hbK8)ZDULFRD8#Ri"mIR#TfJ@,!a8-VB[38[G +q%Q4,-l@E6Xp[2DEEb-V!IdXVrCl)jkKNF6+S#+[`T+0"5Ehdf5-m-Z'HmKG+8Y0 +bNDdQ'DVmK3Ec$[6Q40UrYH1#h&#GL5lc9#6N&'%IK@qeT53Q8VUdTfk#MfG@iS% +UiCVpIFZ[GJ02$4jKRZh*bE"S#P&Y0aXTl!C-%XSc8LTa@C,B-NrYe!0+KImf*#M +h1j&VaPA`M,B`XaA4iDZfJkAh%bl4S*0LHRZ6bmi6UDa1!UcQP1&h%p`[d,F'"Gi +al(9p-Nh-rB!)p9BeLGJIi42E5L@)UUbE2Z1()"P(36kAMkDBe5Bi)EA12bM55QJ +i9dab(YGF9Xrh0ki1jCpSBBp)Q&XCHEHAe(IPe9Q941*NcmTYX9fX+FMVfRfm[jL +3!"50!32*qRU$e-Ii+mMAU4[-ZdFX14[5dAA4'HGE4',NKSSZ5-j53b!2'2Z14HC +"m&QHUeb8DI-AI1lrM&@T5$q0L-1-$Q'L6L5T4Liq,[V%CL+PKr@d'%[K2Q%9YeS +%0R2DX&Y`$#f`V9KYHS#D`-&ZA+qYZS$!r@&rdrcR`P)`+R(RSLj0p9kSm5YNja+ +'i@ZipQX'b,['hG[Tpe[ahMD*M(9r5pj4p`KHECi1)DbXfU3l8pf`bk#Ba)91-"Y +aZ5QSQ),$)3N0PkR0-2U2AE[UaLFiGra3R"6*j&9X!,G1&)Be5+N+RIh3Q+dSSXU +XpbYDRXb+cp#PmDNJmd!*q-`,%CGJE)Q&N!#)1aEDV05YTmSidIVA+J#2cdr[[JZ +F[4aZiXk)4h$pIkdVm)A1[5l(qemai-NPHJ#q1dYNNFc'DZr(ib[@6U(B$2*BfbP +(#-Ai9Ga)!I82%8q%kbQ&2eb*,V"3V!2fd`c"1fHl3JlQp8(J&J'BYFmiXDaQj83 +ThrHJ6+5@4,,qfBTNjCGd[mF`(6EcT#86J@,a0bKTkN+ZMmbC88$60ha%NTTF'1c +IB-jjLj,&X&ZhMk!mBq)%ich5NEkmIq(jd"HLKQX3k+HG'kDQHJMBXMj,,Ikp'E6 +EPkpe#r)Y'B!PYdl11cSk4-bl`9!rUqe,DM2D-qkIhX6m$rZD9"`aHL#Iq*HRQ[f +T-`M#FVACTZ2BT[mM#i#mTR1AcQ$S&D(%@j'm5Djh$mMM#@1+Q!q*p28LYEqa&6i +,+$QRLB'iHp0"-32XMY5PH6TNUe*FGi)MUDfR@r+`9*R%KLQ8SCNmXQ'eHf*AGDm +U9j1JEL3K+lX%4(kJMJAFY%5%($id98)m!Gf+G'm#,2F`8JY)hVI`FZjKF$JK,R1 +$JVJ2[h2m8-mdPJk3!-'4DCEr%m!EH6PY@0Zh#8Jk1X,69aa(p5*5bmH,+dLiQ`f +I-4&YTCr[G$HCbRR*L*c0V8ELRiX(+e!U14if&@rKM@H-1BrBBJ9C$A24mq4Db@H +k%je*&h%D4j!!AV6GSr%cdh"MP@Y+I,b3!*qUijH#+5*D*pdbHCZGGYQHZZ9`AeF +Kq[Z'LQf#PSQK#0M!q2l!AbC'-Hk+T5@H[Lj0EUkJAp4"FacQdUEKdKpj'GbXRFA +S'RVE[fG29@Q@BUH2Dh`D"A8R[e6`DT6b#U@KfD`Yp+Q@KPUkk[hfi`%kG@Lb6", +9aMk@c6pdHjfj3`9Q2*!!'hm3aEa*i1-H,)bl%ckNHU!8'2!l8kme"C,('bHf,c[ +Hb3a(US*kr[I@FXpKU%&A6DXISr@P1%p8'[CSA($@a-96adN1rIe6%ZL2r`Y9(6d +BKl%r342X,f`qUF'$rA$$5$qj4,5B%+CJi[ka1-k-FqDdjl@`6S23q$F'V"*)lVA +ZBNFfa'R9b0HY0Q&qS!2RCHc#q-'8@mCiXJeDqq6$S[)!feah+LYBZ@`+(@-C`@* +H9[N"3RGYY*XVR+3qI4+&P*!!$cf"B0@&H@+8Y3RA[MZ**beKQLTl[9[Gl(NT8@! +9G1lU!,iEIKk'f16b+Q!`+cl[)1mJM$'5qK+4K6eh0Hb[-I$e`5''pPlG!lErI!J +QMVkjZ5U1FXdFX*`KpZq"KhQ"AMkE2P!4Q9d-[(kKfF0YfCGLS,Iar8$0+4iUCC5 +m$frC3B,[I86@`U(l%jGNTUSNj3fSc8[*d(kDE898)h!RE@4qZc*E,S50V%G0hjr +32pLLDECb&j&CINTb`XaX*fErHC5%mDe@2+,,(UK@&A@FhQ!-0-qE@U[%rd`TND" +D6ePf5!B*0`pFe2!N0N3N$YSB&kJ"S#,GR&h51i6DGq[45`U!5$2qI`%S2kZ*C#$ +MfC43X&Xj-edc'+)mr9fXe*1AbFLl#c'+E&[6Q4)R`V4!,%6CdRqR!)ERc%RbIBL +,TYIK1QJ2N`k6-a$3j!6caXLrG%Y9XXC!KdHqD&CBPTem[cjIl*GTN`IQTIq"#q8 +IMC*"Sh0R#md3(B)&Sb!Gm%TRkGK-Z2BR"!Sc'k5KVERNd+8G0[0`TlHqF'9R1Rm +(lm5)--+Zp8cScm[69+QpDQP&fP+CcQr8D3d9,c08[QL(64A3-%TlDm`cBA86p#N +RCB5L@kAfa'mHiT(Hj[l)#20)81ePq-1jT9lUVqQ-X-T!BL`e3DXJ[VITSmIa@)0 +(h9*MiPZ,P29i-IUX1BaVB9a9R3&Tj[dDEr%YQCfXTQVE&'FUT1Jb3AFA$'P[p86 +G18hH,(@Km)2rGdmkX4)aPLr5hEJD,E1+P,dZM%JpA+rc[l&mr%VZA9QB#"5Hmh" +eY%BYYc&YhkK@Pi"5T&QGkr%EEqm"Qm[&U4+4Bkr''"8PSpqaie[,9RD'98A+JMd +T51EQBbHm,BP!`6,%,$NPedGY'*Al$2H2@cf`&rPD5mE9D344rI!)6LbPf$9A`GA +R"T&!G(%DYGdJ@-jrCi*6"qT%U'-iqmZ3!&J0ISceZlD984JF5VX0CH5RBZ(FI51 +YF)`b`fRJDL5l8&@NG5EM+8'GpP,Rc*Xq%L9+ZrQcDSVPe5L%k'ZJ9$3Z*+H6m,P +Q#&#+VrcGA344c%*RkPq-[5Md6%qYq%"!MLCrTKRJ%@GrMc&H[)MiTH*1!J2S4q" +E"'SpB$*18(fD!PiRPS51)(QpGc&+#KmXN!$pYpVI&Cm@YIG&S@*CS*)Ah8F'#U% +!rD[XeQDMGk`)SS3$!li%dZN#+h"Pb%,M%mTR-'DGfeHfL"8ij$YYKKNpKXIe"FU +MIJMC`!'3!&qf&cd0fM)5#BD+5JBCT$)`Q%%B(dT3m!kdE8A(HK#F`HGaf2)R3X` +[CFaf)dXeLr8BIf6M*`VFK@keHT0ZCm+&%JVY@1jN1IU#VXYeZH+48N'GLRBSd[& +JNN%i*6,$b4SH2A,%4'd@&jJ&RGB"D6dITBNNUj-2QmGNjApIKM!M0K"6+p!MmAh +SZ-N+Uc4G`*Al"QG#6jKJSVQjBV-5[llLM*hc)e$`UCdeX*5IR+9pbANa5eRPf&4 +J(c"k`JM53A5h2ed03f"6Zb,fMUB'E'H[91I&(Y2"hR)k`YAiYFTJ8VZ)R+8f8*U +6VNUkd5%-F3T$G2,Q#EYa`C4[$)cp3Lh[-VM48,5!aXI[T508-TCFpVM[D06,JmK +JAkmU#Q--[h)jbN&KG%4!-`rC#IX'cEeI"eFj6Rjr+%1Dl0X"JTH,@RJ@2GVL&Na +"Kja4qFpANKN9&+QL8$Ph4$q5f8i,((-MEM``PcNiS$cMZq'$'#J[iP%2FidTYL3 +pRJ'6m9VZidfdMiFXK5VEFCFIRIpe"*iU'Z`6f9H"9FMY%$6PrJQpAMKC0'%Lk[f +Id,P%-4aCC,*ke5kS5PA(UJeDbC+j@R`5iFRJ)K0K9CmT'8q*@4B2afba)p3Lpif +&JY*)3aDh9KciMr!A3i[c$XQpB6p4em61PfB-IAqi*HH*@(,J#F$@fDhVVLF%Tk` +meR0AL[9Qe`YMQ!$DBNRKrh(@*SU'9TF51QkraE-F5Y6R5IAC+L061eRQd09+i69 +6)l(K8""-)AVJ[30,IHiH-4STB&k&Q0R*534V5DBpFCmb)l"+,hFj3*TQBma,B45 +1BcQ@em3N+Y#PpKf,4*j@"0C&C@MF%hmq$(D@dBJ2NbZ3!%*3XIEhEqi&@dm[&#' +f41`KqE5RPqdE!rKPKG@KR4*IBhQ!QlH1$UiK8$m2TY3fcC`9U%iQeT*,XD,r*Cj +#rdQUHh!Vl%lq3RN214cC$Bi`i`ZEk+'-+qFG#Ze'XbX+6&TTSUI`YD$Tk9qIEYi +5iC+KIa4c-)eAV`R)UZ`maBd(ckG98L,FirQYH(ij+EE1diYRQ,j8J#c-rAS$SjV +mY9e)rIMS(HU)r13eS0fV$NK9(*[lXI%PjV,$HbfqH(l18-#lm%X*M(0D-V1X3Q* +D26c,N!!,jU+HQJ0m#0"bCT[d"lC$DcZ1$C+r*%%G#bEH)%`N`E0'6dlPI68IG+j +J5clNQZ44MfbpdR!I!&9DG"0I[NLJDMfBe[TY`%Q`K1Uh#MCBp9rE4VQBL)(@,J[ +5'X#V8R9((HQY`+3+2U3AM+!,Pj!!V63RdPqS6pP21Hp$"@GCa+HF,"RZ*A2)J$J +Pk9lpB-K9K-ee1GREIYAJ,Sd%2%-rR6R%kj'pMHZa5p$X6i#jaQqFFIp"&[aXY6# +I5FqPrKX!Lcm4BZ`cCAQ3!$6EM+2UY`AL!8*D1TBBU(*cISq6AkmF(6&@kPjk@9) +6ZHNZ3YjFUS$@iB`,,`lHd&amU%lblk0%M*,2"c6CQNl4!"AE)11D$rJ%5eFecA1 +C1C2r&Vm[fUG3`cZ8#S!5PmUh@dB5[lrEA$'e,f#bD1NR#QLH('JC3G!0V00G0!U +cqk&M0aLLc&ppaX*L[aTHQ3()FdJ(rE2$VJkGGF0pmefRc1H)a['ji8$(,%Le[Hd +IG$)D%Sj(pG3ZM`T(+pf%YD$56Cd@rH"Yd*r+[l+H&A&Z3-&UYBMYM6kH-irC%+e +!$Z5I"p,`9J4UGm`b@F*VU6%m"fN3l*VSR'I%+DeD4B(IqTQqPd"*3lUP!PYlPBT +$A'rI*Z!2`Gj9"4X5YKKNQfICkS5#+'T#5f2d[U+e9)%59k3&-B6i%k,Ai&-!UjU +,4DJQ"U2YjkGa2R)pf!V[I-FrTX0mLQa%8I3Pp*GlP-3AC3XA002I`ql-PF`8h[f +@AVUi,1BlfJ9QMcQep8TDp`eGJf1'XZN-L"RB'L8hCH5@bGIDPCPcpcZZcPE(MmD +pEGQ8Q#CAGN8Gd@G3hGCe3Z06JFiTG&r)E$5KKPFdI'AXAE8ZTARJ30&51'a@bTq +6"[%br6al$%,V@TLDhHNF%bp-0j@Z""@CNDb@dFZdP'pE@P4'YZF,Y!qr3[YX'YS +%0H`'DK4P*BKm18[r9@ccLh5Ndae,GPKN!hmDJ0h'6IUY"PVVLjLfcX2q35+bKU& +A'JHhSL56mD``H8f`-Se1eX1eKi"b9l0MH&eD0e$1,AH`EZErIq(aD--pT+M!qMd +41rKUIi*9lq9&J3YJL`IYm!hmD#5fQS,iMF18almjqAiSpZQ!k(Gc&rX0905#ATI +UV&Ai)hQ)jQLS91H8UUL`63[&2&@UqJ,@C'a,lm(FYQQp&hI1JE4XqJcS',,+BeI ++%CAN3iR&&lYQrD"FM8De(4TP!TRGRc2q&Y91GH1"!Iafa*-1,I$pc1`q(hMkZmK +Fje&KC5!4hHL%QL,,#pGSDbYaFba@rHadNSfBiEJC*AMR`XT&4j(e0[)lA5%h(B% +Qf!#r"VDmch'HpMi1HI#!E4@(D-LKr6GmV+!X-Z,"P-SfLJaMS#3SA@T4Pa4l4rG +pRdNI@8"%B%FBY&U+9bZ+*)8QE@IDbKQ*6Kc@$`*0"#KGlJ`*NCU90q!LIZQbqS3 +EXM-l6-jQ1"Df+Y9'bXV+X0#SNA@TT'4"ph6fec'K#"ZlClaS`6dd#"$kreF#cmL +YpGD,PE0`"j!!ZZ!3$"[5EUam5i()fM!5a-!9&M-PCGT0ZiA9NcQ%@fKU%XH#',# +,rF91X6"R26E!p3B3U3%0MhKVMI,K"+0H4-Y5Vc[eU1"HU8F20RrKI46Nk2d`J'6 +PA8da*MUAbS0Z,X3HXVBjdJ%%4EZP3,bl2Fe'DFYQadMSQH8Q#,r6I9+GF9SmS#b +"da#pVi)S+p3lE9qk"c!$fF9kqfr[pH#j%RAr,(j$6@,&0*eFURjUH)56P8Zd68T +1DMbjiKXYimh0"*!!Sq`D8jm$"JV4'1L%+-MbD'GmT0Sm#)PjF5FK"i-8*6)$Fl@ +hHm`3,df2Q@D!(ZB'NUEjE[,C%--%)ek5`Z&q4f82**!![D+il'6(*4fZhF8EhKN +Z9aP-iT!!RJdF$qm3d#P548hGL+SNpQpXIAaE#1mNSJFq*1Rp&)ZHSc"*858!f6Z +ADU2dKi,IGG$[B"XE9XDD*)i'VX(lj3Q'FSaGZ65A!#'j)AK(`eHSAe6,ME+`q(a +,!+J&lMIEf3AGGBiX$$F3MHU0f#*'*[!,TkQCUTb`L0Q9PXNDL3BP1AU3!$Z%EPE +0Vel*dGkkB&-iLbEJd&H3!+C2IBlS4[)*JhIQdi)')C!!Z2QR"J'aR%fXrAD1'm* +KmfV(j$(D5NeP2p%,)X1!4(pKGrK@GaK5KbJ@c%UaNidPSF!1"@Xi+T-bV3DYERT +l$$+NDFIpY2lh)p+(-Mc%-[Q(1pl#QfNlA1M`[MKJKRNrM`!a%BQR,eVb`dKFVE! +QpeIUkMm'NqG)N!$Xr9X5YF&lp6bB40`(emr&103mKj)C80'SlBU+-R4CeXBIdUm +pS`ZMVMp+rh!ZMbN@,#5U4KXGpdd&jdGZ,M02q@G$S[$@mE&[)FTS,9C&k8$p184 +P5X`'G+8a#RA&@SDa0Q1P6Cp2kk+lAp3E0c8aIhJ-+D&3E#8LM!j8K0)CS'6Cmpq +qT(`N@h$aeVc(+j!!)[Z!6p5lKFhDmrQ[dZr2X(lhfTi1c&#d'36Tj%j)VCCl)J, +Xb'V'BKJlTh,h+&4h'[HL-NV`UFTiZ@h18GJh20R6S8`YEeH0(iFD5%4%@)l[E'2 +)B*`jP@9'r"BQ1%PQ(YXapM*IIaDUEB5R6U0lQGY-#)q%r"bqp$K"ASQEZDe4QD3 +0*808bf$Tj#Xh(DZ(Ec0I'CIk"d!2BXmePT!!JT!!P$Nj!$`hm!Tf146CS[mUSh5 ++X*3R+1hL[r#GKEdVh6C@G5+18)Nhl!I+$HaD5U'1+$&jeTIjb0*GJ%#[!EXPjJj +T&)DN[1MMEilF*Eqr51Rm3[fmk+$4qbE#%Y&!f"UL+h1)R&3UlZS,["5E!6JHAm1 +(IYI9!&KfEI#-UILJB!rX$MR*HNfGJ"DGbqeArKN-BFG&@[m*+aDl)e!`GQJf#cq +8MqLCQc"8''LEICbb%M*-pk[[i!di6hYDj%MR,`K$Dh`RAf#&MUmQ%-@3!&))cXe +-$!$[PNRSAjpXr)V!Q21X`DVZH6+Y8S9r%@K*arpK3P2HT%2Bk**2(ha4U5+Kc*9 +r%42#H,2UR4F-pp2q&hDEcCC,AB3%@A&kQk%2MD!r[)9#m'094&&(a8*V$"jMFU2 +f(E0%TSYqABEpQL+a[%'EjM+J-18ZNAdY+@P1(NB#I)jZ910c6hq9+Fk&i*!!bFq +jX!Z#d,[E(ci[Hi%e(eUddAZP42V!0f2!aipCcX#@12JpY0rL-0-55N4-DmjYXNd +iX3AJ(h0)BpjD#0q1YZVJ9eJ!mbmMP%0'j&TP,4-KaePJDkHI''iXFL&NekSQa$m +LdS9BTfrFd+*ddDFEpM(!PAKij!0Gpl1@Q069YEfp&0'IGr`a%K5DU'UYZLj88Em +[$fe#'Y+F#A)PJJZLP#))fKA0j)rlBJ0C**3MN!#A!J*4#+E@hR"TiKSZFM&8*eK +8UR#C@9PL*FbEXMk#Z!$[+!c"MKUp[QTR5R$k#NS-h*I,#dN+-rp@I6l8MCZ-))X +VPVeNhFCmY1HS3Np5EUq3!!#QQYF,C-Y%iLkBb0IlS&e505iRA"mGd8m&%"4-%R9 +'!%Kd1[A@B,F-4,1S3)Pi`3F'eAqSQqQhZPb6G[K"f9HR-S`a2PLKT+ap-VU-$"+ +f[MekrNb+HKfd32mA'1)Y96AELj%8CFYar33j(DAkB%M!a3i8$@(FR0#e#1DX%QP +[N[XLAd'GNZeM0(,SE9F55)qiK#Q'Ilp(`CLXH9e1,'qr9bD)Fc+eUjNH6X[3,jI +(mD86ipU98R@A!V`Lhd8G2GrL(`Z+(d[e6(Rlj-P)"al+f0TbdH4i%`KXTRr#pR& +ijl5leMjUEphH2JZ"aH5[eY-MXRFEl&`*TH*CTr6N9$+JF,(Q5*U5dY$eJ1Q#4Q2 +f%aplDlKKSld#+bpG##e1S3d!(rjjKccJpjL1jmG95YYQY`DhT0#1QCm&p8b2qEM +,)ZI",EM0SGAVF'T,A$Hr2Te"V@0V$#3I$+ZNNX,3F++M[cPDa@@d)#dEDH13!-f +02dMVbcV!mi%`F-C&K6'VQ9kb#1(HV,!Uh+a),i""SiIL("f%ARS4dCa#Z,P'rHF +@&1Cc&GQ`8`f[Ff56V(XCUek[Ml'`@0"PE"%3(GFcMHTkk$I11d!8bV#BrDm[Zek +fqF5!-"Ael9Df-@&"LLQ26HdAVP"mHNZD!4IGQ!*Sf1m`0[Nlq[FbS3JbENB$(9$ +%p8f(eV+RCJNL`P9@MF-2cTK,D2YVQPkK1!lFIZC@bi8B--a(*q55Z)C*@5,1[$6 +"!HBT@C(Vfl(ET6McLqQL)Q$66&Lekh3&Y#TE0UjdINPkk"Z6AjQ5Y3$,@KPfZcj +(j(*53%FLRE9ZBh%L)rS%l+D(M&cPqVLKe[9eL0cq&*rPpZe[m1`fI9[r2YkRmrK +e[r`le[iG[Rm1b((m0hElHa+qhSSrKe!JjJ2pUQP!*h(8&(!*Fq`,HSllJEGS-r# +9UC)A8'iib@ZR[rJG@#mX)"B9@jT6(90C0@[@K!CFa22`3Z@2EE4$QD2%!aI4Ykm +VUSAR@dekRZR+V`&[$633d1V,JZf*)af1"+hKcj,Z'U(jpe*I)S'qLX@H,+Nh3I@ +J*Y`qLcI5HHb[GY!'(A9r6%2U9aeAeZ2ZhB$h$KM"hQ#hHj&cPS5#"U$G&bhqH2` +IGii(D6j8RI4H1[E3!mk+EC2AID4dFQ,%`a)hr$&)[[`e5ccf[fbG+)LcHH*PkPE +dA#*+Ub0d)%0r2h+jJGqBb4h!6#Sc*@RaQI'T!1[%53%*1kRKd(m[8Z%9LX!+X`* +-l)XUffKF`U6SHAH'Q1)PGip9,-b5PXlh6V9$GSAD`cerPPkda-25$r(B`PjhREj +9c00BC+mJ'T@5e[8pdh%Bq3TkK4JmQlAcQFJ+iBkS%Q,@j-T+E`(a0I`VlhEZI9U +F+pAe(DXK56JSdc"8h5,*NUfFY$p'$KZL()JNDiaHdhq2fKHSk#[&LA86,BV@9iE +h)@EQpFQFLJVTME2aZ,L*eQ0iGIprpVNfr*6SfkbdT[H,r0d5Z(d8U&!Mbi5AVNH +-aCJ`deq0Fa1-TY$e3"M+)MD8fHTlFIE',8b[m1LE"-a9XjK,&&M+3#`X80!1qp- +,Y5--eNT*2(f9PlIQ@f1JXjXaEcUXUr@ZD1l6KMla2[)H&9Rlq*CD-'!Eb3e1BQe +2Xe44FBSp"l#Bi5F0M['A2)ILI&Ai[SURGbRC-$%NFeNp3B'+8RX2(C!!DH)LMBI +6jY"9XpIKN`b-Uj[MIq(i2NpbIR8'$dNB*@aG"S&#eSGIE8#Q0rpCAdIB$'6'+c* +SkXIap)pNIU2A),c4RE*#AJTM$Vjc$#ZaYPDIa`LH"P$Rl4%XfT*2kC!!qDTIbMq +Ie[+%QhA#`,9aF``&Rer[0S!EEe"CCB5LIma)Skl9+ZFN@Df0qXf8N!!50Tlp&p2 +r9+LhLa8A0i$Z982l-I"GNX!`mH#lZB%Rc'%[i6R`[iiE'drZPf[4!Z,A!a9d05" +k!-Tab%YZm8)ZCcDr1!+9F$+9l%rTS,09Q4[&bAI(1%Vpep@EQ4lc'JULZ8M8KlK +J(cc`c24'*M3m*rDq@cif4pbc"LU#jTaYBIj@pjLdLllh`d!&VrMdZ3DqTi5qQ22 +FAL[c4B#(!Xj!J!R-!faRX#eDfKH%9-ciZ%M2P6aGLfEpYj6hN@8'L$HDk`B,1Q` +2cpPMiUDa2$`ah!+G!)mGBP1#4@$%0)`B09YhCAle[JM`f8kPi'Rb98kmmK%!iA! +U$GJ$LL*T4d%HKf&IKUi3[Dhc4fXUX-d,#8'Zf1V'ZYrfQI(UCFYY$kiR5BrlVf2 +,p6hBceR(P2e6!-YXJSehB1DrH4&8%$E`p`$QM(LlmeajQ5VA!9cdeme5(rZMBZ2 +SE$mAa-V3BT6,eGllLN(@&llmq[G-3!)0kD*#22ac1NHSK1YbRl4heh)fV-3rE-C +k+T!!EaU-ERb6A&Vf!IVF*a6536lL-SZ'AJ2aT9L0V4QGT(k16BET&0BX4Z6"C2( +*lp0Vi&"*U!JMETUA62V3ZcB%*$eFZZU4pe,i,*SQi3T+$RG4pBr9KShJChQcRqB +i`JXI9!m4Iqi8)D*S8qR6UCG%!',h5'aRde2B*-[L3)p9*L3ZJE@8FHD*`YP$Tr0 +[bpq`rTKQQPrR-@KLQijGqCMhrBhm3ZKJ)P-#Piil%UrX&(!IL`G8ET4P6j0kb'N +f%BX59HKIe*8PC'3IMFNM1@%9@aTK9Vc"[jbEk&bUlSk&)MFf@0TCDf2[ZC-$m,h +[Q,6QlIcUmI@IqcSRRK[eElf5'ZNY&-Ti$G13!'lASQ(i0,2431l&JIp-S+NlIaA +`DSNQjKh%0UY#*IiI(!&k(C@)@039$BH(D03D[(EpI$G,2jmNDNhFZ*k$(DqqJkK +0q3Ur+6"2KkF-PD"02k@k#Ta4e0ffBAe8*f+lXIK,!X(M%Xk3!&Q,EGMUD(dXh@$ +e!c+rppY3T*,hhJc19p5FiE*QGJf6IFeSJS#V&RYN5e*)5#jmPFe$LL8JJh#H'JZ +P2kA1NQ8K,PMY#1mC4kV#[[FRbbZ9!26dl`R[h%@Mk4EhpQ295R)[mT9lTI@ee9* +J+#"ajQ)lmJqZEUaqAl[j44a([#i2@c-A-6`S'i@4'hE4,cRDKmT8f-5qm(fm&ZB +m!XP,[&lJ%cM6bY1lFPRFS0&H"jFiGJYilL+&'pMpeDA!VjM,j"K4%H*`2d*b[9- +@AkrHA4LiaTSZ8cQ`JIJ1IDaaVU@[R51RC4IHA8SSKCF5*6X5BD*,2rpY#R@SEN9 +0!8*EGa&'8VZG$982#m&*$`X"5fi,931$N!"M)lIL$[6AKQV!dblLcj!!%J6U-c@ +-Dm@QHc-3X6D4ke3L-*!!m"9-JZ6``-*Mbkar`(IGXJ@m1R%@mA!p",463p4IAK4 +Ykje`%G4`FDN+iPXb1kVR&,al#NqFHd+40QjJqG`44*eqpl)cRR%k2HB'3(XReX, +G!YqaSXVA'2JU"Mek(#!9Jcm'0JQ2(UTY'UEDPFl5e@&Q8PpAbiIhN!$!)pH)aC! +!mT6aBb%m5XqK2-,8GlcYH,ehS*MJ524QQX`eM#f9Cd++fR6Gp*5eNM6cUebN1R' +kjDA!2m'a583Ma(SV"XJ[jBK1-3RUX"B[M!k3!0k*fZK"F#0RH4"$'dFrZ(#8!$G +feTkrl'8(eCi"m*Zr`0qZ%+"daEb(,LCePahFE!XXDaRp+5lmA#c59I0A)6"U5AH +6pKZ1ZNhK&M)PGj*ef1JA#Z6r*TlH*`r[$`bF1[+rV3(NBm1fem%G2Ym-b*a,NY9 +6T2HqQJ'A#1[M6@&A$e4CGi[5lr*pJ)mSL#Xjhp,EmDV%JrIr@0)l24GiLic)1l# +aPlAaVP`@XUY`*#EU6&4NrYkXJK"[AqC389jm8%)!*+d4HF`3i&6JEMfrV3B(f6# +L2l)%SDSX!qcbKb@hR0ZllbD'ZA`E1q5,$kP3ka9AF-If$jZ1(X2EfdXM36+h,2V +$EAmeac"-&GpMpm1IiV%%[ZQ4J,(Jhj0k,Hr3'DDElJe%C(lq3SHpVk#h48djA%5 +QZU@h,m[,a`B%1H*ZI!Eb@bjUcp@S'04cVCAV#,0M6MIMG$lc)2451,R`Ld9M6#0 +D0QbT@G&hADd#PQIl&d9RE4-Q-VpqCqlkPA6`Iq8Y`6@SQedE'R'U"-DHSQ[&C&l +l%#cCK)1J+rB[LBq*N!#(Z5#kakk)JG8D2b"#HhJf`ckGhp+E@!A[c!M&#[mp5-5 +b!5!+3%E"GY9UFFElrR9U'rP$fbiY44Y'33QCdm4Sq#jLEReM"iH@1QZl)mMhL1M +)$KpN94L`JE$-aCIYSmBa((r$(6FN4+iX0Li6,RJq'jl4FrL6fjehFK[9p&PAP!V +@N9j3F+prB``DT*ld9!d5ErjP[M`Ddm5%X012(lHF#EZKZA4Q`mBF016"F%b!T)Y +-1QZ4mEkjS$aAH+8Z+e,'DhrP6HlUiE"ImFQ#c3b9'lk%&%pXlAdSd&(p'5NrN!! +UMGXbI*Z2Z%V9hZ*T*3mhqFp!'84"2Nmhp#f1-4)ej'0[10F''Kk89%KiZJNMiBJ +",AmhE!,454V%m9h9S!H,k2'U&@5A"iRAd[UN5pkcVQ[r!K0@[Z)5eI`aS2IlCj& +S3ba"Zr(eI5%6iEi%J)E'9"I,N3ZqCcEIdA54#BF19fcG-1T9cNhac@a-l04UZkE +h%4haem8J(*Z3!-d-PCNm@KehJjle6#b#*lcF-pc)J$+kI2([E3pLkB+qbd8d!%l +)eLYJ9@ffffC"Rk`5%-)RU02plGYImV01bJ@qE0lkHh[VbAZ%lH0M-AT,D!m3Q@L +&,GaQ,GJj)p4YT%39+"BmQPSK'"hJ#CZAED$q5UIeea!d!A(![+Q*0b[DfS)kR`# +lQDGFk!-"ZqCC8h)Z1ha(64AA#*U3!#kTm2Xm)!fj*T!!d3J)!!!!)ILr4TirFV& +q%%p@j8VbiD6LhPTDM#DbIiVp8G!f@T9`5j*k3L"XC%jRI"KAVr1Y9RqJmeM8SNJ +aZkc)N!!'X'ee!"Mp$jR0FR4ZQldlSZVHkJ+fHS$r(YK!b+#(XeE1$Ch1i8mf8D' +KC@9TC6I80aMmC0%J1kB5'X$AkNBYcc'-AmL(R,D6*EYYYYYYYYV1rb'8Ym-P3!! +(&q2R-X*BU9$%mFQEi[(FYplA2VJZqK$"qbD-9+0EqebNc#mcbRLcGCRD[0(@Z*f +95E*)ekbK6K!2DC[GBZM6M[-[Epi0#"Nl&HJKK52QFCFL"Zj`&Vq'*IbPbZ[$E6" +,(q52Qh(S6X$SM"[fbNb`'%YpZ$#AfEh$`U+ej9#D6G1#B%mlca4m9PT#C%#HfXa +e5k6V#S5U[(m@4%6C3PRFrV0jqM@,h5P#er&0)E!G9mARZ%,0XKNRUUi[JSJI*Rr +DE+&!fM%Q6k$HSqIjL9hDP()DUT'de,$(lG9DXD)LNT'pDJT&8A%8SfCfEZ[E%V[ +AHHFkM"c(K192J)#8ISY4`h!'6"aaHH-18h(mB-9TE18)fKafd$2+iYhEd!`Aq!# +GV'#mrGcYcEL`28L1iKM,3mZ4RXI!m`Q+"cL9',L(L9hEm-i1-A(NrNBF#D6D9b" +$-B#ep@-PXkUh(Br%EQYV5K-K4LqKEVqZlV[a*`@`iYM,8qV(eM$2UfVe3rNhBfL +%`-`DZ`2meUh'h!1(%S%,(QIii(d%)!YSKC,c$J+A3GeHei1"NHrX[1D$CbfrEQ3 +N$!8,+bMA9C+l@DlA0#QXI1B!fq(jUFHKcQ*SM#J'J"P)UX0m$FJ8[(FA#0ImH#e +`b%AP-kFQ*+M3ZN8ep0aX1"#L-FNfXBb",BicKf&U2LLb-F[IaEZ'bBY[1d@4k'd +c!Z'rP1E&kS1FEj8`BiN"8QiQ@48IiqpNj!9BG``UH,22h)l%Zpj`S'CGYV-U3p' +N9Xi%fpBqmNB2A*HSEa9mFT`D40TH`FZ#5@pZU`M&2Pe'3@,Ua46qlU*CHZMZF9M +b&Th34ZSc!Ec"8#G`"1r(QI#2Ep%f@IDLZc#(k'&b-YDRMC&hDFNq[2AJH,L@"aY +&kCf8,M$'c9F*Qf-cjb9qFmNFe#'b-NK1(-V"H!-"M-VAQ8RQlXh4B(M#4-T(,5, +Xj9KI8HVV1CI3pLkKL%QC-9)[)rFAVE3C0f*5i-3S832HE68X+`*PM,9J+Zq0+ZT +"r"9l9V056il"e@[m)rB!S*Zf9(DT*R&U-165`Ee+`CpdBKR0AJ[KqrBHfHdlekZ +&SjX&PP2A)&5-AE6%`Fp%FN"ME(T4[&mQ`82GP4aeKMRS4kU5Q@(IJ,&(A-XSj*X ++(!QiTT09a0K-1NIeBF'+#E%f""CLkM2A2rF,J,dRliqAR-0RBeL[AkajLSBKFi" +R9,Yh,k4F+%9*pXE[ZhU&L5p5r8NFMB*2%VL(KQh,Tic-#3Z"P$M@mk3-DG*(J6! +V0Z[PJ3N'0%%J!!5ESpDNBb*A39@,8$r`HIDU)1pLTKYp[20'iBaj,N&1D&[2S@a +M6P-8H`Vhd$*R3rED8mIk#k5pNEhkrd(ZHf@DRAYQ$rk"GNmbQ6jLV*%EP'-qr)J +CrD4BZCIcUX2P)rY"T[SE$b$+*4#KmmA@UqZpMi4Kc&)-9K"9%2biEYfcQ)`jMFP +l'm598r*ZjkaHc$2Ir&Rr2&f*(i-[`,aP-C'KrGPJN!!+81f9NbXj1c)LK+-HC,F +(l)8fKmU@J9DTaEaq$86kNl9FVRr9*P69$[pkC*M0ST[Em-cca(kV`1EjAZP"be- +Yi9LG0G&l`QKC!6#Z*!Z*bHkU4DANpGX5XGm5DF+rml,iPAQ#4!93S%(jbYL[rZX +!"Jp1Q[!e$T+Sk2,[SQXeH!PCiHdm)phdId)!1h-NC''SU*!!ED+JRk6@#eK9U&F +YN9XXJl!VCZ33"29ZQZLCaXedP5@'d`*Cc+E*iGGA9pL4Tip[)T1klTk6DY'1X9' +,**,Qf+4Fl4FINVK"($[3V-Z,e'S(rah61$0ll2Kk5GGh"hP,C6k($[5mcmG$IQ- +S"5L*JXN5D"qEXVIpmFYC8V1Z)5#d$M2U[1N)JmL(cE5`$5HCYZLl1dM*J(MYaaX +5,$`HD`j6Vk5+qKU9%3b3!"610kC#JfC%BpKBEVel@bJj1qmTVYR[j@0*IN!*2rX +kHrlGd#H2cPdh6JfLNY9rA"VY3Mh)l),6(8ma*)EaV0kUU)GSQ1dB&DZhUUIPG$* +!Ek&rCC`"fIp%hB&DG#+T@B2b#'h4!M&%XJ5Sh!b68Lldr8L[X)1FI1C(S*SSV)G +lMDbD@NZ)h)#9HZcKU$[a*k*0,!'fjiN5hbm$4bF&`5mRB&SP3!!!!!'@2NN4)IN +qFc8lX80[fLilFSV2qf&qkYI8$3Df"3PXrh2B0SPVUKYF15-XQLL`ZTIDI1iPa2m +C&Ad`Fb!dI#`j4A`50UGC5&4J44K2r'P@5$!1@dmaBUbp2!S1pSb9flk[,FLaL%m +`C3"JRrKBqCq!X!rb(L50!JVamUL5[#aJkl5mQfQd9F@daL44V`iX6&FP'VpI&Zh +*+S*)l[IceR`HHU-V!ccb#9eFZeqTAcb1J)kAC[FiMG)65hTTT&`hFTI3UZp'Hba +"YA[Q6VXEeVYrUc)eCk&"3lJFXrF(SkKQfjN-aQFfIX0KJj63XMmV%)qaMGQSIjN +`GhQ`k@IRmZ9`bjU'DZee'bfYT+-AR%[,%(i,JI-'BUiEM&#$H9VI3Bm`Ta8jKFr +3AV&0PbC2)4`!4Ua3beH0PJqX"Y@p8-kp55ia)ep,%6`K+e3M2jjmQVS9@8A!Sd+ +La&'*K52jhC8apq,M35c5kr4FP+D'L%(iAVDLTd`@E+&HB('[EFF(LL)NQQRaUij +pSYMpFqVe80RYDALQTp2BlG&!SAj9BE)cKLAdbI$hLGH8CJAQYd`e#VCI%`"XMam +,9XGU3`k+V8&Q`[@*daC!M6#+%FDD[S-6Ap"U`rH2JBq#!JaX9T8,%Q`LPjh2ZHQ +6!JjI!@3YKQ[90pqQ8Q4%V%-j[ee9kV&*)L*S3eHd,Va"pLM91-rNZ2,2)&aXPCP +ZU6C#B3,@lY!jBH-Ad-fRM[Lrhi"Hjf)"d%1'j*MM#Bp"icdB-XY`jJI`ITEVj,F +J3MrB3h2CDYlYq4S"K2N"Mrh&1DEJZJcp#E9Y&VY(m8api25"5#KklHJ!P(,dMdh +LT,jRF-KF),ZNpLLpkV(S%+AB[A`+`%CR4Q$QK#PQ'aqeJ9Q0#l%4Y&Dh6Ad+q&p +9$mb$1qrS2@`G-qlSZ$Z8j@X4jFYiH*DSq8U-qZX(kMNK[VSQNc0"2NE#i-4Gc"[ +U+9!+VZAEeeBV@Ec`(BI5H9*a4`HBfJmYl*ef)#ik-a-@,Q3`d2TUi1&"lfr%Y@V +S("DJ@p9`4"kck61PHZLmEJ6E,!!!142f8m0LTkfTJ)UX&ePRS`Gb+Y**0L[B3(b +H`0QepmSp`m,SUd2cr`@*IHHH+Y%B#(@QG'mCA#F`$$Y!,9mP,q+,`!qUa-UR,NH +b%D-e@m`(``b,EC&JPJ9Y)"Ebe!qjej(3ZK5BrhaYZXeQA8KGS56N16JaAU!UbX* +bL9)`m!4bDj!!&$01DY++3`iE3hLeld6Rf5$42"i0q*'PEGmAI6"HEd2&9L1Q8j- +3h!'8FMak1D5RG6d8hrYVd```eK(I`%`%!FlE`l$2RGVIkA"VaqXC-"&SeiM)J&" +L3fmCf4Z'1NM*)IHhKiNTT([3+pp5,e*-SDYMLD,H3+S8MI`c863*Vq@CYlIAVSa +pFM3`k*Se4A'TZrXcTbMKlUX9r82*FGMI%FCb*@pF)*0q''VFGN5[53A2TdKl6J' +q&eR$Ye30-VhB"Vpr)hKLf659+EM@C6-ld6PaPY0[3M,c3Hh3rAC&hQF(I+cBXf2 +051SBecq`bf1"F1VK508UF9FA0bP,Xqh+BXcAGRI#*U)E$L"dl+%SEj9G(IRq+-- +hV#X)P4jQ)1PZ6V`TI63I3$@,FKQ`5d#qPGBaMC1`SGTjMh*bM&`I0LeS&dJH(bV +*k6DKm%83[P1m%AIAHk%#6h66mPF+9Zp3+53%5m0pA"eIq)+@ef3Sr%0[YG5$feS +NP5I3PiXk`+8@6hbl')mNR&Ka,cE$G#k#fhD6Rr[L6*8,23&l-j2m5iR2-FBe8ZC +Bm5r[-miPYE@VpaVr-`q$cQBT$hG64jYhqeKDZFPK%`iJ4Npkph1!2`(Ia*PSZ&I +ha-XrL*Tm!feZ2rZI`rCHkVf&J5i-ke%e"1S'-ld2-(rT!fH,0rf@!$ddd$2qE+J +`5cdbrdUr,2ALhJ!m1GGj%HFmkN&GJ0FK`Jq*&jbRN5fTD)T-Ie$R6)*jpf1"F-N +rTkjLE(2AIDR`@r2&QYj52mcr@+",KY@p(A'a-S#9I($)'h(F,qABHDf+XeULB[" +(YGIDi2X1%e1*,5*B*ed@aA'MfBEJ6LEFj6IqG#HJHRLC"#dEfENbrQTd+dSL1Ik +9Pm&8!)hL5(+aSaR`TmDKhlRE3L654DbXZHhHTb5h3DNB5kd'2!D[#JCZX!U(PH1 +dq)cAq#@A(,BSUa2lCUB1ma,!b,aFYF,9&dfbh$&rKLhbhh[D4Vp"AeeYaPm+6qZ +%K("#H&ABZJ*,r(E4k@q0SI!SIJTA*%`Kl&`h0FV@Rd`2ILbe8F0*MfM&Ka63hVJ +Q,cTZ6G9-dK0EI*(p)DVKJR-5Ec&j&PSlTpZdhjCK9l')SH`%[qYlaC8lMH%aF*h +5,&K-e[TIB(`&rR9K)Z$PY5#3!#JGF3GehB0!`R6DJ'@A-I'Ue@KB6@9K$4br+*8 +AJBdEk44$#VTDb64ZQiYZCMpPXk0kRf*`56k[aS4b2%d#VBZpGKql$50A"-r)MJ0 +B4ae9)cEUdQFMk+QZU*T$,lJ'(b@lS1-P,hFA$$N2rA%5p20*m,SpP&Y#[%hJa-D +Z3%FA$*r[!hf(2RM)RP#E@AR@[%iF6[Ec-h`1LNrQ'[*Da%SUkF`qCakGQ&4K4L[ +cKM3AiUM'XQ*c"+YNQpmljV0qVFdrhM32ZQ*Er`$bj8dJDh+dYfm0k5E@kXrX'3T +f)P)6TKX#*p-IKXQ[VYUZ&FC"J83k"rm-Y3TM[k@C1CkeikZ*if#h[KPp8!`e$dL +alYJ9DTbil53JmSZ[eQQ`MjRA1&G`+404&UNC`BN)$"2,D0EL12mrAcGiHi$kZGB +aBI'-hErl-NCT%XFhPTNmT*ChG#HCDDN0@kXKp-Q`H&,LE#Q",K4,1[VCi1'4[h& +'SQbcBf2ASFe`N!#MDfeSF6C3UIZI@)afmph)U*!!PbEarJ[G9F'rR`+XH6%e)`A +8+[!&U)eH!5H$QUQ4@e(e&'qJQV6FjLX6XL+8#$MhlN!Yl5XB%81'JedaC$63[,h +e6Sj5UIhm1f"XP'9G2LI)!M"Z%d%9remBd*pp,p(5KXB8`4$99'kH'(cRR!EYf#1 +kYh`cb,e+(0kk,r"Y$'Ak-A8&P3EEDKa5bDblFNe'01AkKN[JY*b5qpr8TT)#2L$ +,Xiae1L!2QGkQK2-q1[598ISY8$Yhqe![9DH!8RCqY61A`*6l86@jLNIU9T3$d*J +"GUE&Rq$,hLid5fP$#T@K`KZE`r(i&bB'cX6-U#1*@Uc"GN[LcU@fdI,UY@a[VGe +d%#brDIG1QGp8ml$X@UTc5BPqQr9id9$1G5pK,51C#m8h)5)'MIBM%r),#YNT,-' +CkmH`DI6QIAkUhVRe`JQZ!-YMCqp2i-(j&EE[-f&GFZf968e2lRA$bH%(IGj5d&A +40`mH6$"PL00M-2hr&%BL,Pj2"Vf,*f4r`,H,1k'U-rNB3Y(TqCb,jFhFQEYV,1m +1C#%)`+MTdUcj9kdl9i5(Ykl3UMRd0Pja&-I6Y$$cT6RCJa8qPME9bT!!ba[iQS1 +V6"96p!0fe-YGPYpGCEMr4MT!firLY@D[F`E,UGJKc9HU8iPKD-dU#9XQ11"Ak3[ +qFpmA9URicT!!c5+c*&VpH@V5@`4bMM0YpBFQ2E2j@Eck-N)-!dpq11J$HT3B8d5 +R5i6M'2X8c19lCV`[@Z&REVGjk(aXlc9GbX+qV"""cr0qNC'MPEK2@$229LJrGQc +b)lAGd,BqDH&V&BYG,Hc'1,lDe[C@CN!hV'pKC6Y--%BbNm(0!K566-6"CXM[BmN +M`%1+5('%YLjR(TTb0Zlq8BfpmJ-e$kL%'Z!-KH[`KR2#ZNCrmJRmpmiYhB3h1qK +QmF*meA$2Gm!D(k"BZ0c(GQ'EYiY2Zar0S!k88MM1ZFNlcN9Uir98ZZc"PM94+Up +(KXJ2ijD0Ka+cf#bm(T4D-CUl%'&p6THM`YTjJN252SfR5ZZej)&Zm5SR(QNj%EU +KGlU05-FlpRFGRQrKALV%F,,XDY3dZ@3)@(mJJ(@!2ZpCmB10Q2$BU6Jkirp%@2Z +46k6kq)p5rGQcVRN&DBlfr'fa4Vm6*FbcYrh&[3pp!ZEI&1f#fXEjZ,P0)cAllKC +51dqeVf#`QM`RY0)0@YmT,k9Xf&9Yd5EDQ#@N52ZD4+Dbfj6!mR14GD%EMVDF()2 +4GV@a[GZ*r033Hl3-EUJR@(cAPkJBF(1CkKqRRP&k1Z%h9)mpbUJZ(+mZ1S9Xkh% +(D[aK@-0P5#Kl$$cAD['XKfTc3EkP6j5Q5+L#2j1Gd`iK0K-GDBEY``8p&8meSeJ +,c[h(MacI+*p"P-XYqre+XH%HM&X+rPr3S8*GVUkQ6SDNAPP%`4Ta2Ie8V-J%C#K +1RJ`2Lm`E0,jfd8N0FNm$Zjb"1P"0@62(IT8L6#mXC4M0dlfX1K6H4&T#d[@acX[ +Ui*0K!YD-KRGUP"f-111R1Al@IXpm%SB-`85+-[MkZeb(Sf$#,&81T3%,(5S"EFj +RRR5rfZ'8D8qPQ"1D`3Z*F8!"'VTGS"G+'LJbE0kXmTlhFp9iMMh3-Qc*"hk&1Aq +Uq+ZA90Zjmh,`FRCJ[QRE+8P0#50+MFPH[Lc$ER#)i)&%AG0c#`(`*E53!*4MRm2 +Th"Dh15!1[m5Z&9XkL$*UFDfbrc[P&M+dQ#$d+Y+&hZ+j'Vb*Ga$maRB2[ci@h[M +)($Z)jJD(rpPTBc!j!!*c"`!!!!aU8#!J$3U(#J!!!"4QG(P`DR!b)!!!!!"UF$) +J!!!!6fT`-QJ!!!!@D@KNFJ!!!J!!!!)!!!3("`!!!!!!$f0[E()"!!!!!!!3!!! +!)Q0NC@B!"!!!!!!!!3!$!!%!!!!"!!!!!J!#!!!!!`!!!!"UF$*Mrdrr83!b!!! +!!!)!!!!#!!!!!!!!!!!!!!!#!!!!!J!!!!!!!!!!!!!%"`%""`%""`%""`%"rf3 +!)`!"3h*PBA4[FMSJ5Q&c8'9b)&CPFR0TEfiJ-5ij-$!Z-Ip5!!`!!!!"!!8%"!! +"re`!%d"!5%K35%K35%K35%K35%K3red!&!&!3%K)8%K)8%K)8%K)8%K)82pG!"3 +#3%")5&")5&")5&")5&")5&$rA3!8!d"!5%K35%K35%K35%K35%K3rj!!!!S!!!! +#FFB!!Iq6hiD"J"&2iESQdJ"0mS'k0#ZG[F3%2IFTNIh-(jD!r&YqF'aL'F+H3Bb +Hr+D&YJf'H5f%i(PlVVf2f*1)qSFeMJFG-5UlMJRKVqG9,[8JK'Ar,8UJJ@ZBTNa +%1(3j2q*+Rj3UNiH4KK(1L'cFdTaKE)E3KcNBKmh+M+UdIRG6*pl[pj5XBNkUYk" +UCX2PJ[RQj%`!TDeMLl`3dG4k[S`D`ZDMDZH(QT!!XX*Lj0X&8HjCCP,TTC[l')" +!T9apE#PkV`!YR1I'ljr*b1HX)[mqrB6HPh@2eEfbc&jlhl+AkG(d1B@X-b+T$4* +3X"4EE1cZbdP(2IIK%&U5pQQ28cp)-*VSNchT-TarhiAJ%8rR3PdDfUa(d'8QPDC +U8#`$CBGm42m1`F(QKT(RmBY"0iDS%,V5#9q(ZG(Q00j6i0r,e8CraZ$c2al@h3F +fZ#Z[[C%8lblq+-89-M#a5lkb@jpqP8q&9KZ[JTcMK`0CQ#pY&PF`VlH1`XEX195 +FdB%[51%H"FQhkm%8(6CJNITK4SD@pQ4!iK,keHA,GF!$FjBXF'L8$E[[13F1JTb +h%A'eGQGrci1f$mm&h1[j4I2P%GPCi3(M00*!TrceGKZ,m(rie[5!-`h,'d29F#T +Zb+HqVi,C+%Xcl'dUbQ&pA&R8CQMZM+(TD'cPa38(JKM2hi@X%8rR36MRiRVm-NL +hLrQ3!(lY-q1'HBB4[@U!F*mVR5I9%f3imEMGYC2R12"SGFmT@-TG3Kf'`KEm%P3 +D0k`hq##k8b!p'2papN9'X&R$SL5158r1XX9(D1RPD6!)A*cS%Z,l"YUkHZMXRHK +Y1CUb8P#$b`GGKQR`9SfT$&SMeeSp&$-5%aLE3Xj[6dJdUjI*0Tq6QN"*S"[rA4H +TB)10BleERICI5$!)k+bqf%-PBd@#m8!,'Q#qMS)%S+a50BeNS10D&E(@Ber*Hb( +&D+&j5G#`8+!aKlhIKS)!%8rK`F`KUT31r8eK)Bh+Daf+GAI'FV6P&(4p"r!B6DL +P-A2"`k,F[3F3mFrfM"BqX'keU35I&h$*Xd"5ATpQ5#fM5a18"[d+d6A#dNX$ZZT +DeGiYla6d&%N[FDD-aG&j4km4)LLcAPA1@lleCEQ6qa6br%d+0kr$K(RDU0r@8$a +KqK#""ikVb[)d%ADEl#ZSAkLS)*d*#iA!!5dlXFTa+9D(EF)LjEmUk$PGLY9TRfp +8f1K-TlX,T'3A)p1D+'1(p&2B[-&@&-#!$QFKUHdpFTlBQ)E3XaQ03PN-RFl5pf% +Z5H3%lQqTAT'TMl!B`KplN3[l0&KmP@L+fJX1K5NDD*P9#cI2`V@r1f)r#aamNXK +QGRX(&c6UkA8M"0LE-lhCN!"Z+KVLGpMqSSccR[f4P%b)L*aDqEl!!iH!a9Fbl56 +8RVNH9AaE,XAE$h5Y%XFI!$c@3fpe*cbCa,kGC$cI![%58m13!*Ka4J@dS*8iJ6# +bPS#MRq8R-F4`j)JaV$4VhQUK0P8G%fU5&,fc91bdDZZAS$'%TjEcB"Cki'&Y[dq +NP#HfX1%K3m"S1BpbPE"a%l693r@d*)e5D-5NhkK"h0idr6q#+9$m$4"3X@&mp)[ +chlLj`$i``UYibE"IQJmI,%h+16PhNQ4EdCZI!(ld,jXIp+aVQi6k0rTf%KB4r(- +dbXPBl5rJdKJAP!D84X-`cRj9hjG([h!%q4DXUY4@4+r6kRc[dcCID,ZQBeZM$#A +Im2JLRRUb"G+X!3l6S$jYlTTM334-h!XeV)TTEcM'e+G!PGd"J3cE9b8M8*-AUX, +V)1[&NJpbND8QYfH8adX5kCU[!2A,#1Jhi&NHMh4pU-F0G[T@*X$,+Uq[%2MF40` +--ER2'eQ8GRMp[6-LhQjm+D[I5d"C3K4hp%+F*A)ii),9%McViRXF0b0`+PR$+GU +6m9&4`X@[iBR+dUHml1RE0JI$fpI5+(,pJ'V`'#4IrYr"J!L9jN0(Aah'qj%VmfS +#3%hl84VrAK$p@YT$)P&GKI@qHr!hEZeQckc%DqY0c0)2a(lV'")VNqlcbF[9+Cb +HThGbN!!D9b4IVrJfFibe!81,R5FebZaiEQ"YJTBVMHdXAdM9M[%`kj3ccdYF-'M +ZjR+FhS1&IYle)e@hYHIZK83dHmIE5pqGB`qfU(b-qKd6[IiTV06iel1AV!IiR"" +0G,A)AaGRIVh$Z5C@$$DqPYLDR+m+DC@%##TZ!DiL*Pc0"#9lp+R$c+"*NfZcK31 +L3m0X'rGG1-&Y"V`j&!iXPF2Y%5L@)TYldC!!b0&*YY!&`bJPdU(3j8HZ1&m,DH9 +hXClb'd5`E61!E'2Q636Qbpe$1LRB9T!!jmIc09ZQ6[kH'A2i(i41hY0e0IC[EB` +2*Qll&!mP%Lel"Z+qFl[E""B02bcjH`E$(8Aa[-#J%RfJIi8,Y#"kBGG2S,JC#Qr +"TcYe0b#QpFVY)%8)+8,0h0I!5H%[4lTaTFD$$`59Z$ZJP%c`TFlcLK1S9DdTlJM +3QQf""1d@24L(9H5mU@TC3QdDkNVdQ#3N#K*pJX[%"0S0ippFpe-ZjKaGrH6ZGZq +VF9,l&I[+m9QF9ce2`6",pP0,pfP)!bRr@DRFJ8Vj#,El'fXVf4M)(pD#p!K*-ff +U+`dqf"!0lQD"!J%AGM5Y1[!2L)h#@9)8E+080q)B+U9CjYQIfkUd5"d)ZGaiK!) +5aBh"ISRj2R6@[!#p`K-CJZI%!er1HFmdhjl%f`QHjhUS6E&K`fFAf+a!(GUh(&h +GS5VT8D9&L#ED&B&ZL3Q11'q!m4fZ-G)SM0YQd%A5,cAXk!F&Al)EYlUie!fA+mI +DqapY*3qfLiZf*88+B3[J&lTFR2-MN!$Y4C'4+)4BJjQ5b'6QXdk)e!@qVH'dTJ8 +RShq2diTR@B+--&)dbP5lLTGi56Z`#HeJGq[NNb-%@&12JHHm8iY0GE%!qUep#C6 +SY!rk990`['5b[PHEe0T3UI3cJUjjj2"3)20NMFED%KAQ[ePT[cFi6mRBlFdNN!# +&m5mSUidVLmNN9e`Npp4YXQDrhm8(r$d$Mbfk&TjARmk"jM40mTFm11Z)jpSElPU +$r%LC8dXE[MVCA&5k9YV$38l&m#-Eh$,BYLfp14+ejd@L@!81m3U84`K%H'LRKRm +kTaR+h6#TV0fG([NPm[8b"l-0L1-eKk`lPV'J',3cTTGd,4BSaCXlMk!dRN+%1RQ +T(qeY((%jVF0(CjDMRpM1L3pI!&A$iFSTN86Ck'#&!Ni,cTGI$8Yb"pVT1ES$L`p +FLPQ)Y@-850J((f`'ZfYLCS"(I&ARI43*TH!kV#56qhFJMijd6br!AhjQ)G++e'5 +Pq2dhKIhUF(Q)Z&UGIf'6,0cM*GVIP-,N'(JIYkaFqF@0D,2IRAGqGZaq&LL,Lrl +[4f4P*)rD3jP&0&HL3h2qQrk0PLEE(qPRqcT9Nq)RRT6GhJ(m9*f%GC0[("fXP5$ +!V#54[eX4iJh#$Y#d22pKNcqDdkHddcTU&'EG[&E8#U'E,I)fadI#$HP12p1[)2B +,M%%QX)UqNIe%SCZK6i!rQ`&lMSENf33mmjarDQ3Rk,T9"4Jk&2mmcf9rU!A0cr" +JNEa[Q$48IrSb,ZPMpp(iQB$ZAV(e#,Tc9"GE4lj4j$4I6p11G2dR1Rkcqp09%5S +TCpiDY"FlCXLZ"e8VCBpN40iB*)NjmRS'RlIXq!eA"4eSRfKJ5Yl2hdMBUG"U%C5 +KJ9jI$PHG(iclX,ITkc4(+CJf6M5*mrAU1B3A)bUiViCLm#qE9Q[BBG*KlafD!-C +E)cA+D-[mJAefkbG23-bVbG%Q(ACe-r[60bRVV29R8Zprp+KPTB*`DJTbB26SbkU +j"('Ib#2bRcB5fmTGDGG#BYN$9KqBV1h1FJr`KD3RDCSLHU0ATRqaB``'3r2S1mB +!FiVJr36%LXhC(05B)YbNQ9e`NGFYefrZ-Z&XqqR@SX+cS(AB51"l0DpacjNc88T +h6"@C'Fj0!,V43i22FXd3AR@6KhUPGUXI29)6M8&ZdJX$$h6-T',3C4PVC'@P4@K +K&F$i"KBGjPeb*c31+#9DcfNQ230,ZV`YVcRh09ULJHjJ@iEJV3IirJFX3h,R8VR +4&T%qrdeGTlfANIm3pNR',K&X"Z(ErZ8aQ,4)Z*KUpL%Qd#2+S*qC5)Ec9AUJ4IU +T1Zkd93q*mhF@eqd,2%3J',%p'#IYfe&*IpqHmGqI502ck$c8bDMM&H10Z,)`C2Y +N#jUAjXFeq!AlfaL!!(G%6'9GSD+dh+I"NV1F-I%HCN*rZ8@Ae$(9%mVD(+NDc+5 +,drFG*"BV@pIp@'qXZZ9bDhUc2i)Fi'"USCS1Q"#[iaRSN!!E2'qq&061-kkk(mS +"U9Q3!%L**U@Al3YMlVSS95mRraqbGi1Z5lFUcfJP(MZeeF[bqEcYMfD"Eb0rKh' +Kc#qY"d!N+LDa(XFFYc+eD[pPJ@E1X-XD[Bmm[rbE8'a"9P8B#AYR0-6MT0ZGTl6 +YCr0P31&,qNRNdqTkYB2#,3@Lr9V6[eAe&B#e3-jYSJ&c(P-(ECckPekE0+Jd'H@ +%l*dAVr@rk2-TSVQq5141(L`"q9SMS3Ibpc#jm2`FYe9YrLKq-R%`F5EP,b4H,MF +Na&PDI%hrI4!U&KPEF[L(G!P`m'Mf$%I%qZQGjR9c@a2X,b&Nc$8GKHecLjEIHa@ +RB[PXkFkGH5AlM%cB9U0chfB5ApcJ4,m%XdhLeNJMV#eER&k+p!cX'aVpH(&pp'' +rS'%e`VmYHM19X$S*-U9*V+C1fiQePbQ6,$Q[H3NIm1'S(CbGT-Th,*NE*RDhr4( +lF(@-TCq!EcEU09e"N[CVN`p$aP")S81I)`U4IV'18Bcr3K6bII1V%Z#ALb!V&M0 +3-h+r*b1#1hCch1GX3m$-$rVI+Qa6d2b)5$*4cqFQ*X#E6M0rY#eGb0i@HVL8r6X +N)rpKYm$ZddL4560(TIlQYXrbM+Z9U))LRB0B%UY5CrFIp$HrL&+YV"E&'"VN4q4 +FQ@#HC4e$p*l)NAE2Z&X5*,P'3rp"3m4m@e-Z@902aZcpZ$F-Saq4bMh$qqBiZ`h +FVN`$ZST",YNLbkZa0Fc6"cM9&mRTYQQ2ekGf6FdX#"!)G'M-F$$D`ra$-U`'CH3 +ca@p`RPrK*)&CIP6JL!'ref11XFD,[E&k0(RHm8pq&LKfSMRN!62F548'[q1T4lL +*jjPqA"YRm@2VPDf&M86'r-3r*cG*9-,(qiq+G#F*,+Yb3'RaB4Rce`T-Z6!a$C! +!$2DlS[N@eGj[8Ikk#De,d)H9fl&80pRI!adp$MQ,XYB$Lm5iYPhY8mBD'Le#A4# +6a*@`F`(jecGlT!c@ckrr6c3`'8[2+DSLha,(rf(c'dIZ5LrFbKrA'3Y@H$*M@m3 +bEEIV[f#I[S1pDmB#"Pm3kA-`9&Q%Bj!!2il3)N-*i)PV1m*2YNe4bI-L5K8"8jk +EY!M8[Q"X5FPI[S[-aaA28bfS1r6+6c)R0R4'2CHh))!LMl%Bj2&*iZp5ZF2`J1a +T#0&R56mD+1bl3SqK+2cPK*+5UdaCKl4@QdLP56CXHLG[AmqdYqF33N58fP4U,LT +V,$eFYbdk+A4%C*0B"I+qbAMjXhpFqlVcJ2$2d)(lFkpk3C[hKA4A!JIV#BSBU1N +rP2P%)aY*r(96%KCRI6"+I*[#QGU-j(iJKfl*9d"&*5ckM!bkK@C%f9Yd3TSeB,D +K95M$kQaVi2Pi6mXk(-A41p-02SaJ+%ai,Y9Sdc2QVc6qf4P(pB'NJHr,(d6Y``S +F4E2pINSC4)XD!J0"h24qQi&15qiAVkIhIlp"6K)30"4#"ea9JI(PGN*VdiUKeB% +EYP)PAlRkU#pSk!abjX&R(QVm&"+`U0%NYUa)VLX$U-dKmSG*bV[9lXND(5PYXH6 +A9D@0lilrAl@G,q0hee2F1$q-YR2%`#KYG#HN!9'dA(6l3BReMTE9)50)PmVUD$+ +BaL1U+"(48`kpS#LXHYQM[P-#BhY"&D-FhXSNa#erH6C'k(GP`-,D8,Fc[cQmJ,e +0$qpFSZArBpGf@G99J264TDp*NHlHG5m0Kp[eX02Q0!*[KCPLhk!$d"FhMSD')qD +RaZ3!%(A(V8#5r'6E,$)fU9&dX&N#AmRA&ZEEH0FcSJ8PRHN!J0TSMcUm)qGpTj) +CE2I@ra%DmN$9C[8hTac""8r8EqdUTq2(j"AA$mAheCEk1[h@[`ASFjDUM(Y5&da +&2hb9TpKP,Rr*8Ni85EdN0%ckUrYVQ%SE@CiB[&I'XGUp*Q6*hFTQE1dVBq6D'3T +(f64%P5DfcZ#BdYG+'ZlN)#Mh)V#mfrR(0X-JZ!'E*`GdSqh,4$Gm6@8k#-VJ`BV +2`h!RiG"dIK[#e-MSL"0S9D(I'8YLEp!pf#Sh"BCZ@PI1K1"@%j1#EDRm&829ZAZ +%FQ4'Nq)N"&m@MBfP5C1Z[S8!fA[H3E8Q)fR&d%1JrJNe#0-+ehmEB3%54FbSZ2" +CZh40ZU!88$(-Tp1R+RiN*j4E'L-r5R1F%r8A%BPEY`XXNST%Y"9LqT9RBY2BqD@ +9-fAQDRUNF),rFhIkf29k!lkaE)#i*T0S(Yjpf1R5%Tec4"Jk#cJS)&PZ+G-hl0k +5pPYcm-%,S-'8"[1G`H0JXCrYaV&VTIKFEL!B#UC9#D8-Kb'+bXlbMJK3XMCf9Bi +Zh4F%PH,r&Fp!IH'j"LRE!Xfjk!44,q4`,b26"3V)Ni@AX'e)aRpX-!N)5`5*Mfk +Z8Y*SRY0M4Y)S$Qb$Ekd'd3a`rVD3!&R-ha2G8(VTTpDkDkbM8a(-J$L%k9F'@cK +L``[T#NHCk9*"RLNmGP-UB8lmF$ji4,!UmJX)hF,&D+04J#dI%E2D42$8a1+@05% +5kd&-r@$`S9K#Qm1!-CL@,0e4F#+e4r-(#51rR3Cbk@N'r'G[4-TdPZLbf`(%a+! +Ap94`Y+MP3I)TT[5P#L@S4G$2LcC+--m[aeqCc2$*PZ!TGSY0IM"rScDeVHMB)G8 +hFhrYYc2QR5-KJ$!GE12EJT98mIJrf#RQ(%MeV1*5B39fU!AVCD''XI@3!!i,#6V +fUp&$!Jk'YC45mEJBPkC)4N4pD$XBE#b6*@,%k2cdSJEc"H!iT+MZJDVd($A$'S' +1Mj4m,H3EeDNB[FD,-IPq3dPrmi*[k#"LXqV&lXhd+PC'lS&F09)ZP#LHi![6Yb' +qN5SqhK(DKHTH+@(44pE(HPk)I"6!M`TVp(,+,%VK&e1HlNA6T'%`lCZ(hGD1,)0 +'#V,F3MEECUq)cpJfdi-6Hi@rB0i%+cDV8rLpADpP04*SXcNTGl$,YiT4Vm#1N!$ +r&56N(NPG2daLKk2T3aYYX@[6q(b#"SVY#f6R+UX0'AE-BQ&BXp)AAqa#lU&rH$Y +FDG@#i@`2V4`C(Y`U&ZB5FF(p*SUea'+I(0G8+E5Th'3PaPjdlkcGJB296i(('d8 +Ma-Sc'ARiT$q"ZRMNTcCeR`+aVB'@kceh61FcqCBJf`HZ[KLjD-`dd-)kSei@6iS +q8lPLdAQd-2$8Np4p0kZEE4#)kKJAXeB3LEDEpMl&QYcr)bb2QCX3Rq#b,Y$'qTd +AIpI&CDre!D+(cm$-Y!ZehCYaZNe"EY$$i$Jmb(NfdDTM#a3lIp5IDdEkUfe!S#V +KFDP8L0C6BjMpS48"!r#5,G-pML%L@Z!ddAq@MNAqG8#r@BF)9rpq,X#,X*S3"3+ +2Tk!K@QSrlKFEkdE()FjkC1$*E(bLEJ%%bXhSGbPK+er`hje!&$fj9rL"*UqNcKp +,8ijbMTqM#4Gq6JffPp4c&V2T1GKhlaARK%X`fNc32FiVT(Z59BFh,%`%TNE'Sj* +$SYj-CTMKf8NQ0(`!8l,U+lr4hDM58HNN3Jfe*IjfpRKFdUAdkl`mbB$'Vl9DD"J +$5YT83SK26Q#0[kBPMF%cXjTBT2+Jj3PIVe+JqUdqE9V@ZiqrEarLN!"Nj*qP0'A +IN!""CC[T8))-81PRLqIcZc,EV3j9,1iQ)MbamlXTfV2N["P*bSN%Nh'Xq,5PYJc +F+a4J5EKA)$#9TPN)m1%"DP$50l$N-BCLHkY,SQh*jR)#dQKFk`Mb"$+@[CSfZ@$ +j-@9KUZl-HNQKLPBJXJ)*h@8(VVQGE(m[kQ1k2b8QkDI5I'(10-dLh*`$N!"m1e2 +)5#cd61$aUTf9B$pL@S0phHU@5'ZDIHX19`Lh"Ur*6"ciEId@*mjrikVcj"9C-j0 +"-T5aY)&9jU-`GB0iL@+Imq@QJ1XZ#m'3!0DPZKQ"'*9f,LlZYXqMRXYa8"Ua3eE +GA42TYN8Ye5(p!PmpkfYcqYJ)*FMf"8@h15*&G@AeRmIEVr2`fpMm0Tc-33SqYEL +9f$LPeVKdrTV!b5,QS4JMkYH8$N#PU5cSN['i-LHNQPQkL19B!Z9KHVBEQ-U#VjV ++[r2-9c1%p8AjZUeM"iqk6MiIG`bKDCAGAkaeR#LjiflF+pQN3,T1S0S5C9YqId" +He#h*SZkaVXk6``MSfJ3XNJrrH3-mT6mjG*c'q`HaT%BMk1`XB1cFP!i0B1PVqQ# +XFFP[dNrVU"Y1a@JrDG8MTf!e!Kml&a&14TB#8D4U`$p19b"5J'STXFURjJP&HCG +e2eNVqGP()I$MeIT[TQG#2k"K1i6e4@50lcfYHqRaUc1*qR%bpr&`LpQAkmX!26j +ci9pT!Aerd*%2D@R&0BK,PC9r5iHEKqClDGT2@Z"Gr`lk2S'4FNeAJA2'bb)lGj[ +(Li%FmFVRA(eNTfQ8,B-GrMBAmi1"d-+dJ&e8l)#kSCM[9AJVc@G)!fNA296H%Pd +P)A%M&Dmf'F56SlVlPihPMq*qhY$GHcrHd(JP*Ck9,S%hZJF8jLqmaYrUl9qi(F& +A'T*i*,+C53hL@fRDcAYbQGjBlH%D2,UHXPr+@3*4JhfcGeD9a5f5`ZH$-dk[GQT +DMdjBL(5QU[)P*aQGqI(ZB3RUYNc1HYC!F4K@V4b#a"GFiI!bfa(AB!U&K&0M`6K +S-Na9LTNbXYkGiH6pHp0+c6CPMjMR!2R9F&%#E@IVA&Q2Sq1,NLE@SY"CiBd`VeD +iD#V1'HBfN[*%CV,i0$SCcrekPjmqGKTd82ZC6k"P-,)53CDbFlRmX))H0iV8)aX +CRLa8F9@F"I(Q*R0Uk26!V4U9C[[KN`*%,NMmDQ"rZ#d3,0XML%jrLhf1TZmP@PL +HH85#8ZiS5G@"*&"BR8-SKSq1X6QpiY'ZpLBaJC!!64Kp$jG2$-Em2qT4VI,#B@1 +q,3J5bFael((251@+c+Sqj'*MkIMCGm%A"XK9JM["(%lqiGSlK6M,L$K&r"P!4@p +Yj`BqYjkkpT&d`heX)L68d`KQB-VcZS1rRI)&@mh3,#MR39Kl,%RhT`8*X08*#ci +V$DJY2"(#KJ9$#&dD#pI"irp1D8,52*D@Z&+XEKXBG[jr4Fkbrc#BG4rP4T2Bh6S +K3LCD[iCIU(!aD(%"bQh3maY3$48+bceeb*BJ%8,D%M%)VTGbmA`9EJ8QB9E@-i* +U-'FB2!`EX5CKmR!Zi2IVCA&@Q9)&kj8U#UGDG`qfa[ZHC@4pkd!P(X8$(`aCbqj +MdFMTl`#1q%0,!L0f1Vlf"3h1qXVB(,XM,B,4MQZ#29jQj[G+NLqXDF@-rAdSN8% +!rDB(NTT,2pBi1VIm5YLc',3j90[b4U(r4e)b8"Z%qQ*FBa1Maf800)cU[B#F1k+ +1b-$bkcfN(01hYE8-j8K`b9j@DN!fUKbS,lNTL!K9$+lGT9LY0lqGH`Q1hkkH22U +"h@,YK0,RIjpE'p59EXDA8459e3F,HV-qG*U(,%J&kAG)iVh`S@C6NXK#HLBAaKk +BM[8ANF1R!P&G,h%-"GZM64dCN[IC@YAY6Xba%a#-DN+M4f2r!Z$[lYf`((!LX'[ +kT8UR9$XBrd@XGeF"lZFDG1aR8fhk,)M525Sjk&cVU$aJ6cCR`f)A!fbfi!bq-0a +3Nk-41P,2k[@'h`jSmC4EpUjZKR3Q50Vf'e4%`D&UpfE4##FNXebE1F*Q85&Rcm0 +aEmqPHIR[-*@3!#L4U"1N"MYdfV+b"q4lAi(CS)N4I$DKXUcH&[SLp0c#B"BYPTV +pk!YDN!",RqFS+Nl(MLdQi6@3!0`e"&)fVkLNlE&N5FV*RN8+K@(KT%)!e(*E1JM +@CACJf*p6kX"G,+5fC!6YP-Eqh5RppUKVVY("VlNG6lH3!"cH@`rM"[3Ti8NG``- +5r!)G4KrXNf!((Q&l*Lhb$GC5Z9b&"TBGkr2*k@-0AFXbTdh`m&3ice8%E)$M*XF +hXp4Zjk)$YPJFeL!8&6D2"T*Z!+EY@I'Vq%J3-J6%TbDY15+NLhc#*$8%G&MJ8r3 +J*I`FQAlLGH)3F@m,-AmY8JaS8F$!%TkY&qaAMqRl2VfHk0EPXU9IJ!R)Ep&ZTEi +1+'cphLkAmY[Q[lEFQ8Di1EpcUC-03)i#T"51PPiJ`6p5a$,mbPY98[jUBkA&JIe +H[1%,@Xm,jbV%Rmi)!5X8P4Ya#56&D-aeclJN1R[Y0*Ld4NmP@dMQSR+B42XiFr! +m,`2-Fjd&j!4Di[l@PNDTmSHp&"l9jd4N+4rLem8j!0M2PJ,MJ6LX`rF+b`ZLr*! +!N9lXTRU3!%e584lFAe@d4a6-0bN@6qlJJ3MeCEY#er6rIeb6dES*!HRbMUGS[0L +3!-YNTXBdN[F,pLh*3V,0#)5cBQRS2kkdGXD%Rr68"cJ''TZ0Rk(-iI"cVLp(%E) +8P%$"i4KU@KNP"-"lJ!L6@[#pLXTP`QTFF@r9(,N@e*2k5(*[pU22!RFFPN6,!H` +!2P10i&d3P9GcD[p!EjBm"lAR4*!!Y6EBEDPqQe@aE[3"NNH,9KB8kc%0cqV"-YT ++qA!$YcVYZ3h4PR&X[m)rSN3HUF+P'EJEE1J9M1JHGU'ZFbME9)QSp!`BPGV#9ZY +rL'1flS#%Lrlj+A8C3CANe*-FS&f'8ld3,TNE&Qcd(Hm43ZeXkFmT,8Mje(QU'Li +38CpilrDR'1C`8#8D`%)%MZHI$KXV,m#'+#$p-aETI!fGmN"[l+V3fK`QM(!0ZpB +MeYbPCk4YQNMN()e1Q4GY"k(jRk"P6'De*UGUHI3b34RCP@dNM`(IAU('0kA*KJV +F994i3LJpM[4("2V0C9`ddTQ9HUQBbBp'%+1+Qh(LNDRQj#!J'C5eQm8mKC(PQ9* +Ib0$GbBI[4rE0`V[M2MdBhB3J,YfaR6q++d6MFbHJpB++AFFST4Rl8J)QYZHYcc- +p`S'J3IHVTACde41C'PVkClP4rc(PFCYS0V@cXjGNS@qfQ)M,YJUl2mcj6IC`5S[ +jU6PTBFdMUTQ2c`"fqLCE)1jQ3UIUI#N#U%[&krV-"H)*(jD-$2&VQYJE*HMjRM5 +-EI%Rcee5p6V$Lm*M+im,EQ'meGLZSLU4ld8V*be+@cM4eR!SNM*E#df0FG@3!"( +hm`ZC48h!Fia8'i%4PEM'8U%K!*L1T1mk1Mf,X[q'qFeK@ZP!5XQea(Z)VPMR*!$ +X&JiR[EK41BRTNQf4h0JMc8+dBk2Mb-p[m!IRmjR-1!elXkr4k1K"a+G1eZ84)X+ +RYp"'482Q-lC2dY`#AAF@RhXjcVK&Y+3S[$el(QPDRBacQ@6L5PL'CXAB)*4M,Gh +-iM6+,SC"3imVf%DcQB0BLRrU3#8b8a06iq*(#UYkBD9KFX(GkFp(Nr%YD4riqDb +LBGfd@p0!-`1BE`,NPV-hH-[V,6QdR,,"XlmT1Nmkj,e-P%'6Gr(Zqd3P3rd-,YJ +eZQC)SLC5h6PXe*VG#CKBqp)&rZF&[4M34N)(AD(CJ*F(##'1&AMdFSI,5CXZP1K +GVPe,Gi@+Pic5',&`%D!KNTSU[ABR84c0pl9r(,V(Hpj5)N2heSdl!AKVAGLYDiS +KS%!A2@6UHE60hM,+Rp(S#@jqRp+PK4E)BkVN[dGG5*8B4"Z!F))2[HCSJeZl2Mf +C)BC)0[`$ra4ESeK*$9(QF,a4)&ECV5mr-@$Am4*R6V+Q*94Re+4rI0P8B5"TZ`1 +2d@%`LTE"`qk*2mUY!RJ9Ak['SP-H2AHV4fe8RT`(rTIE(TjqVZ%FJ[dB[B+a9M* +RL@DjQc&$fM+++9abEkA0-HSRhjqRhIRl*%r2e@Mb4Aq3!'Nqa93TejjK4Na[28i +2-G2j9Qmp4Mk%08qLYQFVZIhE'Na8BP6(f6mrRi"KJF!kZa%m&MTR$FI3piZH6T[ +C8-PG-)!LccLF&Ce6&H1UhmErB#U'N!!VGD(XfahF5p+0VGANj4rbCPj!Pfb*k3Z +m1#%AG0LTG4GLP%mGAU%B,i8@*mV60ii2plDRZ5%f+YkC'd"KQdT44GC*p$&`65k +Y'5fbH(`,I!U-()iY[%-HlL5f"f2FP$8Q-ZRFT`CdMFY#`2*Afa5imm"A$dpI`Cl +,#f11EIa4AmMVP[[0N`JTfN+dc6%4,ba(pCkY)C!!JL-3!68`H&hV158bC@5dZR4 +(KMd01F02#62e5SM0!*L4hj!!,b$0B!S6'3qK-a8##$#%NHbrUDd[hB,X@Q@59Dh +X53JfQDd+`6Jpjkr(%f"-C%SUfjk*SS*$6HVHM0mDbl*%XXY1Xb+RhM!3*13'dR, +9NS,XFGTiJ4Nd6V8jr"QGI9@([q9X%HiB5CNmeiP0d[-0bp[h!Nl0mH4STf2Kbj' +(V8I2PYP9Rm5NM!RlRPqCR0"I(4d6#fCRACJ1"3q4*Ur(&N9pp`qe)fq3!%ph",Z +l!$X!@%Rq`N@C#*l@"@k$NJ-3lbek#FlNfGehhdRC0I$DZZV9j2)IT4j24HHd"99 +Dh4ImdS0'#ji%9"6X%3Ia'Fa0CpLaGR$R%jE(k5DB-U,&8e6&f[fcl&kPpKX(iM@ +kN!$)k5)GJA`rU2+GPcX(#$q&[4Pl`m"Yff`$b`mi5"E0)iLTp[JVE!0,V*JG'VM +0Cd6*JU"hr#HX2KTS)r*NT[E0q(BmRLPhM2q([0a"D,54)&h`GhFVhlL-Sr9@)Fk +QETKAAbPamb@,f`I("2[($C361!TYqD[,M%p+'95QcY8dY@GS)&d$C4rdL!EhKC4 +e*0-&'FfEbYALH[6DiS*XeZ1`2Xk(Y"0i+N@0jMj5&Q+HCfR[#HLpI#-Mr!k$DL8 +Xhh0U-[pVcb(%H,&CjkdFLmi%`L9HeB@H@RBeD*LY-24q[crrA(CNaYT#kZ2NIh- +H`Xp-PY%J('RGBQ&ISYr8N!"'UYlM2KGp8PJB4U%*a1T-XpTM`k%%Re,SD2jL$9C +D$+UQr,#UPZ[)G2lk*r$qX5PA&&&U2GE[VjjBpEG&"GpkCS(VjUF"60F%X%5q9&6 +9HAS!ebkC6b+IrY'JdlibSl2@!VJY0aZcFI6cYp%fHD[9D0#F4p[&NE'"hUD5&9f +T-[2f3YZGM`@IAM6[IYUj`l6R8f9pH2c#$r60"JC6#1$i3-8q[f'mPiS#$M4@m8c +'SlPSfEh!GmK11fem%d1GhPXJ)QqCmXL8&bbAh*XCNNFP-RTQ%*prZrT`)pAf%aI +kjNe#!"04,dq)'$*ID*G*1LP`RE*ZL4kE39Z`AH#ShDMS[j3E)!h+4dF`d81hBQ6 +jBT81!S!Xlba)q4kV0GhIYM0UBmG5X"N&SG8"6!BfTDT4ND3QhK'ZB5dMhq`rZj3 +HZmaC)V3lAR0NkhCBr)[1$jD3!%FcSkX[V9!fF@@RLc@-00)pS*F4ERBGZrl#(QS +&P)9VB[fhFjLImd,I((VV"XN1Dd'ZV26,8`N!fiDK"daS&BLVH2CNmaCr#'2AfQ( +@Dcl5EBN54P1fEYPXf(BkifEBLc@h)eap@He9Fl2cKF2%d[&Dqme3Dl&`mU'5q'[ +m9lcF0p&TaB,M&Zk2-Q[4Im@-VLR1e!KE*H6EPf8%UDA-bZ+"XS[3+G%+i!1(-Tq +8Mdb9Adq&BPF5m#[i@#MerXdTKSq+PiX*'AFZ5Y[!P!YDA+$JBUGJMh9i$UDKpF( +TAp)He(X!S(&+K`I+QJiDFr@H#rmep$'9pD"clD9K,G1"26r*8Lif2J`QVCilHrM +2fHp!q6ZjJ2kaTG"5m&9Nh`'RQ"hq"El@eZdFG+"#fM&P+303H,J`*GLfIUPPfXk +GmkeRIZEb-bVTq,KNa+6ZXrH%CeYqcXH%J#U`G#m-`%HeBa,amFrV0Z1ArYIlb&i +eS-Em-5Z$[2eM%*@fJMHL64hEc62frLM)AdY!AS",4LdjC,0GKQi#R`Ej82BIq#, +qQ@KlX65@m$1mMLA24MA&6M'h*1"2lR8m6lZ,Je%-E@,P@IFd!GL3!%`QDZNf1,, +5CDC59LYp*SiQkHVNVH$"1cE)5(VCX9Ed("hCiF&ca%3HK4XhLlkM1cALJYPNmhE +D+!ZUE*-#)""(80R,(m'82fa(T6[,M4C)rY-Dp6*4R63(NeD28JKA`C5@",F$BGa +USI!f$raXrSVb2kPaUUblKP&mHLHYYT4`ENhH$T&K'lVdjcGHZSLfp!+1Fb$-#pT +bYqhZJ"-[#)Y&i-UJc@`CEjAPFi"#`$TdXr8Yi8))G(Y4bdKZE--F#b"r0d`ZSYV +kk`PSC!KX5eiH[Cke9'LK+XbBjK@)C1E496hfZ)P$6F"Ge$Q"@(5aYMMaXUA(UCq +V8AIP8RTfVc,B1SDfLGk3!,*'FMMIr1%d6l)Q6KIB[dX@Hh(!6F2aK4VK8ibhZdb +djUpj+e,aR,bX#b+602H0SfP1bdNVehXd6bck0YhhrG8k1$H%FKMeYeHS3I&0(%A +H8IHrrQ$f08DN8HfUQ#P,M&I[3+pqDS2-9NLT0Z-Yq2%993F+,-CIFPMijBJ*jA1 +B[IG@GiYP3A1@NSF'a'$l2Q8*DR@`h$KRmLRF1T`c%Lra&b"0p9EAqh-4VpCKSHk +29efBElb!VD)%##0$,fi8QGIC@$"AfeS4SJS!"PYm919UUeA2mAMY!&"@C'5jTD[ +(GkXPMAmpL*46AY3*QG1H``V$V'%+qrb+#TfkK6D22&@"RYdKU[,a-kS0+FJ`l9h +kM#l"qJ!$#%M86%*GU`D5&e&b4e&1UJ&L*Af,kPBbKhjY,,Fj"Mk,9b%299q,k[N +J54iQHRfii5hd"SRmchk*m''HI&UhZBkX8PH%lhEr&C`k'NN*AdIJTF@bidrLVl% +BM[*6bX*YVK'LZm0)#D1kF)!eX#)%DX53!$#99CfKFSim91&9$UY#%$AJcS"HK11 +&@q"V(kDGE'm`IQT[V!@`F!Sk-DS8H@5+4#FpcFijdIj0"FT8YQIe8-N'bSH$ai* +ZX,'!*lD-FSA$-F220ijCN3jX9J*V)DqIF6R(CedpSYCEi&`HAd8*TaeR!ST8mlR +U3h(IZrIHS0A[&6-@rTkQc3A`BR-kBA(,S+,5VFk"'LM+dfIfLJ*,K1YqJ('8AI6 +Z"@(C4A,"A$XaA2#[N!$h@RIP8HZj*34'EMp@KS1Ff&H(+2K-KR,DePIr@*K8qSC +rq9q[$e)A%#,jp(J$#k-FJ$i"IA1f!+MV3jN5caVT+Z80bRLHmYfBYQVXQ+bF"!i +Er+KrL"hV(Hl-4eakAkLTf%&ZeCallH'B2ZFSMk-MAeckS15P$6#!CCJ5L[+MK-A +-G!dUdYc2YB#cRR31fUa8F$iAUN,F#)$K5c9a9#PJeh3RZaeH1rKFENMJ&!"2pZS +M#!2p$F!6HLFD*,i'`PbTqpRS&i+LX4YpR[IIRG#Cj,)PG[0-G+'eDfU*UfBYhdE +Q8*I5JR8F0Ld")8YQK%rpJ&"I0Ib'lMNIdI3!4HM))3f8+"+Tq9Bikk)+-'8"KNc +hVrN1Mj0ldUR-G*X)%ph6Tj@-N`$jEi*hal&,`[J`DcMCe*5mfG[4p6qcmafHdr- +T#kI"!"k6f&[ChUmlG+5k%eK6Y%MGXY(ad$Tp8blj*,UI)(PrQ%Rm8'U*"J5F0[R +C0dA2qhXI[#R,EkS#qm*BAL)`Jb9Q'h*1DR##lR41rBl`-mHrPCr9`i-8m061[,A +,53K4MT+TIB"8l'PK$+P"fe#e6p#I@bUQCjFrC'RYjPHLZ+8hC!#2'f#+90I3e[X +6&hET!&URS'+Q4CN&T3N,3Jc9$ZQXF$cN45NT@GT"SrMJRhf9HqZ2RRcd0ceaAUp +Kc5I@M2Ar3CdCN!"hRB`DS25)NC!!RlAjF[8A,r!mrApCD55dif8Iq@kHLFcU@2L +QCDV-$qeakl3#5QRh&3iKrZJ*d*-`Z6NaljXGb,MrIPCp9cIY%'h"Ce2jS-[mV43 +0kHq#&N-rXB+,$5CFdmPI5k9e((*qMqGhk$J&S@qm3I3U%)NEcV9UiD2S3T+3!&d +pK"j@f)QHEYQ#T6`VpQLb$F1dMIFh01[PfemeDN*H3XLfTMM3EGjYM[Q(A@XcSEj +rhjS26+`08D!!CbS,a&Paf!j8$'bS5!hP2[b3!,MlM@F)169eVSV8mVlDFMZ))Z( +[aU185jI%,Y1h%kUULmN%@$Mi5@TYK)Z@UACkS%qc!$BHN!#S,`$mH4E[4UB&XSK +l$kpRDX+0e''0,9'@JrHlUZV6HXk%%iMG`ZeQhhRSBi99"SN3cJb%8HN8+%1elmM +*XmMJpE'TI66Ff`NXj`VDf2%#AI`0FhBB%94jbiRQ5QjG(U!lmU"&VP2F%N['miK +4'(&'a9b-Cd2qRCAl05T0d"lR15#HHLGQqC[0)H'%MPaiMk6f3m*UFP(ADCcXRKl +b2Ph-c8C43kBrG+K"+LE)VMU$A[mQ*DL+ENEp6c-C+SQAK)r$2)Ab'H4mf"RjhAQ +'F,,1`#YAZM`VmrD'$cFZE8-KKGUh`,Fj&2-&bK-E[!pkSVXhm)QhqVjk,`JIh4c +*6%K*N!$eRmE&r$A)JYYTN!$J-(BA)Q+"2PY`dXTm&i8lGLLlY'LEN!!3[&pNbkJ +i0Yi0CUJ@E`@L8TSq3VeYCJbj4RBbJ2)0!+4VaC!!8DlVT*Q8-mHNf*!!mq)H[r& +pGN'Y8K5EZ'rDERFJAMPfLLYLLIc5B[RFFp%&i6b3!-pF0dCDP*Mr3&mr+DS#JHT +$G-feX+jFK(-2Hdmk8'mVk0#)EBQQ@NGmM8dh6EUIlB9K5i53!,VR(5q,cUMLD3q +kaSZ)XpQB%(c35KGH'hAfpI4qqDHUIE1%#lS0r@9iV`r*J`(Vc9$XIe"&8i99"N$ +80SQ-XLADa[G!0[dGMK*9%hRKN@`3jfETSE%c*U!!$R3'$UL`1mef4,NP@kRe48i +dcJqGH4qq*9'fJJC'Fl&,Kp#4PHid-1253VN+YlV#1cmBX`4L9T!!I!KZrb*&$4d +KAKVk4V"JjC'(K+6-i@iLe,)r@Qi4IfUHXN)K[ZQ`BjG9jbTDQ+pH@G`!KGQGr%j +2rPkmAiifCTR3@f&B1GY@-fXimX8jVEe`cP+#3"4LGlM"k$m)AhT8I-Qrj4UQbV, +I&45VK)ZE+-mJYQP("BPl154dI[1A6frEfRC*Q2,U+#aTi,SRHTaERPdiDGKEh3! +TpZ6bGrb)K!$hII,Fk$*jJj!!"%ZS0S[MTXJ5p[RL!e8(Di3`LkKN3"eaT2+3!!1 +UDJecRdh#Tm*e$)AJac`m%Eq4h3@Q2HYE(R`'ZGlEiDr@2e@e`VkSCf(df4iTd'0 +VV+l8ILm0Y*',"D5b82Q#iH'2i80(25fM[@1GC0k+'HmE$`V1!-[%lm"CG2HrL09 +H8`H02!8km5j6M`pVYNIL$*ffBFpacZkd)I$#3Rd#[%Vl2+[jP+0U(da$X[p3IlU +A&5iXM5pkc,cGeNV`TjTSG-)9"Nj#M&V"m@PJ8jI$Jl8Zh0c"E,Tpf[568E[DIc[ +Fd#beZcPJh@pY)PfmA'GIk"Q4ITXDADP$%#pJE8`mZbbPQ*JbhE(8AIhmmfF#8!J +8c6`bcaN!GD@dI8-j`DJqbIjA!6X-$R-U9KBjq53AMTbhiL83hmr$d[,mr@fMm28 ++kIf#Ym%ZkU[K!5G5c2c#@!CLK"rNBI1m!6aaIK959*@EXSEM)%GiMeb@K'I3ZEN +J4L(r0RPQQTR(f&mS(PF'HmBZeM*E$X`eh*85p4BP9XPNml0D!KlN$5NJjI20-#c +Be6&HB3([(kT4*R6[RJEYP'ai6R%GCAfkmbc`fE$G0"SR**!!(Vhi,8@'j[,$#Z, +[X68"H*pk$P%J5DPV[a"RE-IkS19B8*81dhKlEG&$k2)f5k[-Y9%#0brjcLJ&k** +SA+Va0VB4X8f[[!d`$*@(`d#j#[1@9d*2jS)l96#El,b()JQQP9fmQPdc4R6,pXM +1"cX28G!9SZ,4KG3l9k4M$V5F@QQbU69'GjLIqXdi+If-&p,"QLBr)$1SpG9hPNc +Ar1!EEAAL6fYmNGMhiR)Hd1m-AFrL"jDCe)(NMempKB%eG-&4,3qXKiF`Y,-+1E% +Z'QEh[$abhDlU,LrDU0cXD)ML-`M*1cDMF0a0R%@!SlCHZ2ZH!04PRY6D,A"r6+3 +j*3!EKY[A!aC'aeD'd@`6mkCiaCE2E@+3!(--i92P@*kM8NC4)$i2eNNcNLM)#9p +9"XEa1RUE)9I'4CSV@+,K&GfNd#P!+V!Qa"I*ciICYLL[FNbc&DP,UE5p0C-Ufhb +0U"(Z0YK[h+c`QjapDP@AP1T0$&[r2iQ[Pk!RcPDrlTf9l8MP1U2`Vm8+4@fp$b# +IFF@q,rXJ@ab$9&!&a9-DJML[KVQarT1JM*8"f4he`J-#GEP"*0S"r`2F6S,`a"V +Z0*jf-R4FTF5alpNAk02c&#CVAd$Lc(R3#PXRaBfLZF$RUKlim5"LjZ3r9-$[kaD +$'l!@Ap8q+51YjVP`4FIM*Tel@BlX4Bjm,Jqj)f$*[c2mHrh'd&cMXTPd,!8e9Hf +*CQ&L,X$VLck&mLL93Y`43!6HLQX%q44MLrP$$2J(+b[5#*1%4DUk*1&-M@E`2Rc +B!BaAe#ZK++VXJm3Kp"mB8pVCCS%)A-P1P)PAB10&qdSC@BT('@,XD"Uc"DT[#EJ +rcd+XY[FKhqDMVe1EFKXj,8eMM3eHY4kQc,JV,Z$K2-kPK$8@j@M,R+3a#`K'EB2 +Th%`XQXMmF2a$@DS0rXk9NaIbk$6$Rd"[D&V(J&Ce)j'R0qAb-T&QhEb@b+LT3pC +*C4E%qYEE`"8C)-)P2G(Dfi`p!(49CRVC$cD1YBi&aN,0'a8AU(bHNS2DAQ4ip++ +ME+f@)ep!'5ppdN6i%-B,%fp(6qJXZL,dhGN96`)Ch%laC'IKa,LQQ8(j$N%!df- +01Q%R$r9RdMf"(Mq05fKX2E2'TFTDV,l4,K&0V-4Bp-G*HA$jITH&$5P+'9F(KS0 +UcHJ,KjB[rb@m'qDkQ1iaqi#"LGIc(DYVTNHB2rhDNFdKKM4Um+C*IkEjeMDd6qC +LqZGi+@[$BP5lLFY`MNc,$HYK(dhUX1`CH$h3k4QRSNK,8ik5Z*(D2YX('h'DLL@ +UfRPD!9B!d&YMH6ZMF"d%YLp2kQfRV1FCZY%RmeM(hBj0EGaRDI&3I3rrDHQr,F) +S(F6E0+Y,K,FQDX``-QDSR&81bP@!ih#jmaH*0X%5ZfC4DKSce'bHLIH)c"qZIfF +!mNZpZ(FYV&-m45rB'Ar6DDb2@K-R,V((H)H&SR'*EN`ZC*i8Z'5Fi26**Qcl9Td +,rSBLGaDMq*PN*'9XQR6j%'e5ii&LfX')$ZiCLe*bj(,",Rh$k1FL590)9+U3!)% +bG8Ae@+1k5&MBC+,j'EJSc&)PH*fN#d%4f#%51m@4ZaTj3aQqfe[pe9TU[B&$bF$ +!e%fSLZAVD4M@*KdcLLAThMcZkN-qJkK+)6d3Cah4,,0L0H,crKrN([+0hqm-,Jm +j%cZ#qPX$I+iEILhlp*`r#D,*5ml`pbpmVr-H9R`'!fC1'HC8m$hM#El")$kc*TX +hTI92Rm%[!peNfe$Ni(bH#B!4,@DDpl54%Ki4U-kKadbC%GBmi"'AF!9(hPa3brE +ljfIr,PRDjU"iVbl9mTJ#*iKGi4AFka3P)@5RdQbYhFAclRD)m1[B(dQ0hRcc3`9 +4e5l[16aRq5k!H-S6pd6"NH4(mUSqP68kEbRr10Q*Bq)*q8#qN!!6!8LJqefK9@m +8*`S&ES)Mp(T9N6'%PD6qmh5UEVKfp,HLe'-TLQfHbrYhY+CY80Pl1Y!j!K0Gl&, +T(L0GXC'$(UKjT"PThCFK9),($`pj+"b'kiB6[2H1T#hhid3#NR3R!h%MKLKEq)` +i*4F)"`S"aCHUM!j&IQrph#R@PQZh)cq0k-U-ESTChQAbj[9q$84GfhBXX!1Ec0@ +8YYc%L3lZQBBNbaS1j(*TI5UfE4d%T("-qae6`TXJ$Z(3d3TH"ZFdA&UHETSFhJ' +4V%hNP[(e6'jJdMmVL*S3,,+i'FUkKN#ciE2%'ZrNHY'SYBIUhF(30RS[!)P5Lq& +U2)AU6j!!ASUJ64I@eV60QNLIdiVKTT+9c*EFr#6C,'aarCZd@D"m`!59ZF&jSaj +cflp0PUFRMjK2bD6U5`+chU8"&'prah1QLZfYp5mjXXiZ(`9T'V*#f9ZX+6Z!%h) +!l8YhA2RZh,JAJTRRNFrNa`!PEE,VUDAH-i+A+RH$rIKM`'ZrZ,ISKQ-,rFmj#0j +aF6ApkJ%PE6KSL6r3Nq&Q1U6Ij1++j*!!efH#SYKZeJ-EV,eYPH@L8DeJ,CiTFqP +J$iX+LE8l(fmNQYKNXQiDU8kJT8F"V'6N,c+DFD+Zh"L-+'cr&qd(6VdAh*6P4`9 +plmk$)19"DV!+A5l-MRf1(ZhaAXqJr50LZ"Aa5BGV32pdG,p&bI'm@8j-1B,qT9Y +T2!CFM0bqQGD4*Z0DAXl$pQfHHp0DN!"0TJjHjrG%Ha$ekAk%Di,+lHjbjm90"hB +88LZ&l-Eaif(+D83`"Y#QY0qPIN9[[0lp9dlBFhe8q+ZkXlQG'El3*l,fm5bh++Z +dPEVKA+jXrHZe(fM@UbQlA%6Ud4'p3'A'&LB6iVk(Lm!Vb`8@"4m9HdFR2[BSead +N1mKbD8Ld3fh[9HijECK31P#J")mI%`kESp6FrPP2P[EZ6jPh'FAaV$T82FI&FIY +YkU58CL`60(8!ADlaZXle+lU42f!dL!rm(S*L[94-)d9B-3H*P"4AVFip`E4!&TT +rRD,IiLIYjTe#-PkFMG*"VL@ai,i0jPV-k9HR4#EaRKpVrJUefa`k*#1%Xe#ajhS +595K'qeE0Sh`8DEqE1F0`,jGVQm'lApibMp(LLU2bqe0b*e3-@*c0+%9$FDY'U-L +lIZr+pd3)VEeBapThRrD5B@2#`c'9$@((KN"ECAfFC2hkP)m`&I$@(JKp6)9NB9@ +!c[S&TqmZ0kh(9GaIrL*+dR!B@GkRd&XAM9QMli#CF2bM,,afMPq1&E@pC8pIC!A +1pGr5F-e9Z$GGjYY#*cK"RVrQ8NC4@lY!Z(NEG!J5!UC5A[cKXcNRZl1"-02QR-P +cQbK8S@j0)a6BEdaMCNfJr!ffqkaeC6#[(*`"CKIk2M`IAQf$fDlPfrX&dmZC(*N +-eLQfXhipYfV'3SkJQP1[E*NDl9a,03UiE9K88Z2$mT3p"9$*"ZBh3Qr5%iZ[8Q4 +Q85MP9N4G4$[UEU9JV!fU(46KC($BiY8YE+P2eP[60T6JS4+11"Nq4d6Yeh'$KD' +,Cc4m*8q5H1JQ+[ZG)21cI0pFB"A',e$9`QM4BYcm82SdI8h&%"+#[3II)"N,Sq0 +G%KSU%L3#`(iNR@p9r$RKR@iC%B!P'Ve6'iT+HF5!mrSj'r@3!#b)D)*`3@!)a5D +R%PTd9[L)T-66lK0#G`&CBc&G`@l8(m-9qBQI,&X#aLbV3-iA+!Sm#`U@aZP$!Fq +jKCZ3!,Lq5MNkjj,5P85Cfhi@5-$h)G-X1H8'MX-k-"c2U,H1bYaliD@Qir6G$ah +kE@0(2[N5K5+qL[*qCh'AVfqbR`1aN86qZDc31L)EMFk''LV8!dCi2&PCedVqF*T +P,3L(XYf#&c$ZT-RCe,Ib`$Q#N3[$dpf+GNkIG6+RS3m(hQMV@H%p-BUpT`3X,hK +ljF)MJE*`c3@qA+$D3QAC4[3K4bpUkIGAIZE"%Z"C!J-**p2mk*L6'C4Q%3H54aS +#Yd5DeGEZ#5@c9RSL'YrLAm&#E4$ceBe&@ARHSEJEQ``11r#LJMV1N8A0LJHrblB +&[!Zq&",q##FL&%Qj(TX8SNCc6bNZ5M)[%NIQ&N@8FApZV5#fmSE@IRG-5TEE1*h +UT84AmQKU6jiM`[krlR'T%j!!#RHY-*AZMMe$$ib$&MFLaSGh+I8Gii!0Aa9r$A+ +ZCe%q)GV,R4GSHTDDEC6[GKYe'5!kI(jrq"Yj$+hkC,(E+`Q(RKCJmV-H$4Mr-RF ++'LF6KZU)R'Ff`T'Pr"l$81`D3Pm#IS4f!)P@a6E`STGASDKI`%PYSl48D$e+K@U +EMD4HZ$!S*F(9H0U*jK5)HG-e"q[Sl`L'L8Ac3-L(1mD`Pc0cf5@Z0$C)%j&`JAe +"SUl2A3J"h!LdNDq`48J`8Y2AlGUjhkDE+`32h(,0a%q3!%QYHl,&UY)A*&f6qah +G99aEL*aiE2+"XrQr*9c1))Tj&df()p)2!R6aCG1HL-'Hh2[3eJ#5eFqd6%#XRb2 +N'Lc#GUV0iqc&F,ljdFdN+(-6@)(YrLB!NK*dfpPP!B038f(@HIFh[YP8NZ6TD8a +GIABr(LQlhZk*Y(BClNjYQ(-Hi8*&Y`*XiI3%2B8V`(3I!h*-GRU0NcSa!mJ&rGc +F)+L,lIlQ),3BDf,XTY!d$9hNHD-SD)kTAj2Dkri5DT[c['T"AaA3,mrl0)ED33j +@DZ8f6bel%YVGP6+k[a)GpIpVk&Y1&rp@IGMm'SXN4Y"DKri+FCTi('hI91!ArD" +lKVI9P,k$hjrQF(#f@5,LL+$M'RMUC9FT,NCXde2LZFr(lSc!AAVmEq)DND*XIYH +3!$$**kTDiC%#,rUC*QMK0YFr*@1[*LI85''4c'cj8K2N4,%$b)G@4Fcl8BDQ-i3 +[bhH+GAFKDI&TeqE(TVPMTR$H&6bik5a3aIp%8RYpT[)0[DM'D,G96F5fhYM-C)A +qIR9GJ#dcFFV$ATTqK3ff2L+HE@DQF)SDCiAYiT!!TN!A4aL8+rRG1NS4)T+M+Ml +d`aHk2*4lQeed'X"2p43-k0BD!1e'"MXpk%mGUFUDBlrT(PH0mF8d&hFd41pBCDL +jYm1Z`3MUTlkmhbhI@pLEdMpH,QfEkkU$NNdASKRmQj-F@PJ0EbTlK%BVqedb"b! +i10-,9HCZNe"Re,U[jE-IXp@LcM,JSDP5IjE4m$JeR8FreVL0pG#Zrhr2`p"#r2d +air$d@r%N@a82))K*+"qf%)[8%MZm#),dVm5`(b1SXm!U*ISTcH$X#S4@%VZIXdD +pA$Q$29J@r`m64H@V6FIkTbl9emJUbIL2T"X*S4QVGU55URCmSJE5Ce6p&RL,Qh[ +N"bjVDrTX-@FAUALX54"!`@6hb,MfAHBiSE+2h&qTVhI[M%hqJCa-XYC$#VNmF%D +@KGa2S%PfHJQYSDDNTXCDhjJmaZCmhe#4QJM!,a5ZZ[,-fkH2c%[rJqmD+FZ1AmE +8!aLc6EINNE6Mmp(rE2LBad!$XGMKp&((mkj!T[9"&U81fL0Ke'&P(BheLFUm-+) +&ab&%F%Rd)RCRIpZQBj9@Zi9VpmBh[Q19RefVGV@4#p9Eck`-5Fpa4N0D8U0&-MY +Zi5Dm6DBlp"GXhHb0R#'T5I25UMM8[@4&DIdG&V6YZS*VbIF3i&RbMAY9NqPNfXI +QPXjBrJUXSVVT2#Z1AiMd9SR1JQU*0(A@P1@%#EphVQQ4+KMBD1%q)%BfTlMddZ6 +)aM6)%2Nk(483Kh6HLfhRb-5E53CA*1AGJEe4eUJ'k9CY3%KS)rIP@Ml,G*!!8)P +-JGfJLfkaNi1X)1Up65Hq9fAaGJLXDr[[[+KQBpcqJDeaS0KI6B$a-5mMM1Uq[00 +aSKhLDZA'!&@DeaHFDkVbmVhq$MHqh#MI-3qaL#rkfS4FHNH(-D+PTc1ck%ap*jh +PKEf`$S6P*'Y@-)V%X+V2lZ!4"mLTjQk858"Xii-k-1H0lAA$#("[RDNP)ZMqq4f +q*+&m8G028"%L`,Uq2ke(U##f$DcfdP@[IHJ3e-PT8#c*"0fCe2NZrVDhVZqT'0# +0M"HR`K&dBYKCbRc&ka*jQ*2HDMRbm)&GDJ`DSqKJNB,QhKQbSek9GqGFXc[m(,X +!c-`(F9R$-,ABJ3fZU[NI6`5U8E5!cliCK%53!$G5G&rEZ'UG'"H2Ceamkf629A" +DTVSUpc%&Fl5pM*Rba+$1Ef3l!VeRT4eNr+!,4me#06GMepB%0M5`8'r*F"ZKl6Y +qQT-'Bf043(FeXFQR!*eZh#T5cE%cM`d)r&@pQfh!*L+!hdY)*apTV'$&NjPUPaK +fV6(k!XXP3a9TG*,j#M'Q(!Pf3SZ268844XQYiIdp,IX(B,1YcbH%TRQ[$NSpD2C +V2`HS3&i-bX,(4Gb+eY*jG8jYL$ZK1F%QF`M+#"US!f*[H2D"NG1A(flfGk6)'M& +j$#%q!ZmrL1aU'T6l#RVlB3**qP`l25X$hUHGjCl@8+%ef+bpF"hRR(A[DCmDEIT +fPZ-pL(R1a&IciqDpiNT,PL0@rTm"GpUTHPMr1*3)[",FE!cl!VRFZLX!+SHMFGE +T8%FV`1krr(G48U&EqE#[428UBqAPE,hAb"l,R-3@5DK'Le'SU0r6DDbA(Qc`0K1 +"fed,&d%l,*L%2XQ)K"&AL2HY#lj8V(q1Nm@AL#)l+X@P94%b6pf$)GAY9-5-#dh +lfJbdhd$VLP)HM2pipeDbeGN+1r*80Q3+ZfpG1I[ZkNYlmj)(lRHb(pr@JT!!'&T +M9KFVR(3%2MCj3B"l@$EkkHfCLDm1p(++2c4eX-&3E+j"S62CQ2a5i9p)*!Pf#$D +XeUc!'JqaeA)rlRF98*XUi)8KGRKB2Er%I%a%MjLB'hbf4fRe@Qe%JN'bcqQ6mc+ +NXU0NGlBZXqQN6U*SA1S[a,N6mei)8(@5F@ZCH`A!A`VeCkCL!P!I5rCh@iUH@Tj +`D0F#Ci8c5H"j#U1-GVqmi,9+iD'fKFY,8-HpVm%M!HUpKGdSJCdS$fVlJa!Iicl +fFNCCNdUlhTC@`a@FBhRj6fA-Rq!QZHk`GFXcLNG'Rp&N-1`&IV#1djdfqAqh'lF +aKa9VUK",A@N,[)Z[Lii!#a8-&Pb'r-"&+`mpC!!q"'##TL@iT5qYU,3GE'KGB9X +RNE$BR0j9dH@bNJS4r(e5aZl""['PZrJHNU&5Xee[Q#4XT"GU#-AQ!9aI,MK(,Za +C!U*!XA4hZRB(iG,S(i,'Q$iekXcYfbBESAkqi''jkhE#dVI9(k`6,D$B8Y"qJUJ +eR#dUAaHUM'LEDbC*U,YXlCHB5,b3!+*!pD51ZJm(K25eJpGTKp-XG5f69aXAX+, +&EVGYU)jfLH85%0@jC-Y8fR`$-f)fj4hPaPpD[L3K$"j)Kp9D2IiZEb-5Kj5qBLI +'ITdjTGCmF`&@',K*F@YC-4ASj-Bqkp*&E4Ab0j,R!$SS2pp%pP*leL)aN!"D%D0 +qa1aCZTR2JlGjk5`kfRIeabUJhfcP%)cI4VZ3!2SF,5N&cAi#R2$bE1$&Y3AkNUD +ZD2AMUTb0-65![&Y1m3iUJJpr,k@bU9f5'MdqQ,qD"Qii0di@@EU`kZ'DP029@Ld +Y`Y4Dj&Fr''Iq@er"ENp(4KYHkcdh*GPBD")N`Lf#AUFAG@LJ1c#D!Vpe3MI8I[$ +VhXR9,)-62*0`4"kNUb@eHGNT+X`pFYS3a4IV%E#*ha'&1K[YT"X6ZmaQEBX$hk0 +qN!"$,"*VHQE,"h,bqFhK3p1C#F#iSHb6TMhL@E$fD&U%Xra-B,9pCE84-C%*R(3 +Lck5Npk[`De84BUqmJNH+'E'piBEJ9NZ0+L1rNb-#hk6*CBaZecL(ki@X$a"D[fr +r!l$JXYj0X3*l0l!d4lail%q#+kX6eXNaGEM+Kq[HSpmhHk$&4[V(Yk,2%cPLXp6 +G6fXhZ48cE9jfqZT[AejbDJ*4D*@i$2-4*9,PE85hr8#K)CR@(`HYAdX5YaBLIqr +di(mUrV8h'bTi5!LFX[6&-J2A-3rCI4(Z+`(93N$3cjA62U%d-Nq&H@G*reZ)qZI +U"FX"D5TC@NGMKf5LJi)iHdF@+H(J)9$!(A@)d!I@BRUT`(Z*BYJGY8Ip5J5i1Kl +*K(LP'0BFj8!iadPea9UX+e@BZBAX`"F+lX&Y!TlSVaY3i9),LYfUjU-Q31'+`!% +"GE4GF8r'm'$6'H![5!U14&Qa99Y1%CFlF%3U2&H!`,VA0QZBU%G3,l05qKHC[U! +Vl,ALF(V`+Y"m$3K-hVH%jA54eRX[*Eepp)'6"BlB,%,c5&61F'D6rNPeRSd5!TH +9I2c8,Ud*!N3eGP!!eqV(9d(V!R%&9IC5[jD"&JpKIZ+"V#[3AK%3%YZLa6[`205 +P+8UeFSq*Je&1@HTK!1XFDS#qdJ0DA`@2#VQ%8F!cIm%BRdcE,Z$3Eh+&"`#!%Gc +l(&(8UNUF*&25c!cV5++-Q4!e$)S94qmXcfd-A36$J4#j`i5C4bZF8U`0EVP4AK4 +fXhmb8DkMhQc0"JCVDHD%LNf#)'-THI$F!T8eZ1@1PT0#EqifC4&(&,UF'a5PA[$ +4!T&BVCV-Ze)rdACl@laU$[HbK+YYJbp"rhr4ha&E`9-2TURT`UT*Yhda3)k-UeF +h8B2rGPM`)I@a@hFMBeMZQ!4VVq%id9RV-N2)rb3'+bPUAG"b50$'p&56[LhQHMb +*hR'Q`-R`m+jU!FqhEUMC@bTD1YPEMm%i3)l+1FUj(hr@c)3%[)8F(9(h0%qMA9H +@f%MfS@Ib6MG"pGp$3B@3!19J(6"f82[eId98%F$cRXYY"E,d@rlTq!HmM-8Gfc9 +qY&&C2jARPFQ(RP-9r%!ERFF'c"4`cV@`%+)XLUl8J,c8QN(@aek9"D'Sfa!`3+c +bbKkXdV8,D`l"8i'`@ik8iBKQUARYEm"p`4KE+TE3ILX)Y*p!BSl[LKlKG6SdC`A +Ym@HCLf3a1Np1SJ6j-i`%D9XL`3@#9)4bRpX@4&N#lp"rKb[#1b&lXE5()K'V-X1 +C6M+p'!Fm9D'C)%KdN!#EHp%Ma0$AEVj05G'cT,YmEeUiHk1dd$M+)L8T5(%pU95 +1r9&i*9lcL!&HX*G6jaI'64UD(f`rjrimKj2h-*E#aAkaYk2N+Bl8Zhk22lEUIRU +6lN#@'5"5aZ"E5[KiM2$!l[B5q*5N8FadP,*edAr"4V#[LU#V&ikCMk'Mc!%3CUR +EfN9-jpTST9dq,4Skr1XZUrjrT9"`h[YT8N6eMBPR&Ec"5R)-Yr*&JGHdLFEr1,m +%!dY%5J8TQhk)MPU58@8$&rUJE*Z66VV!VLclGR9Y+-3Z)L,H2d*5+!kkNN+k-1` +B"K'5(,U&1lD2('A6kp`LL`q4`24k'c(8C4['SV)b"BqR,Ai*j4%V0h*`(e5BA2- +Z*3djN9Ubq#!!dR,C*$*'X'XbiaXjLp#3!*hT$FGN*ZXJBD0-!0I%-1+c$KCJXS@ +MXUZdq!CTV2[3J1iX3JVQD&[I(Td(Cm1%FBI&`DkMBmlhpI6F4&!4h5`k0QGCraB +`3c)@-%"ZNICYC+8'[0QI6!!Dq25!dfa"iNAi*NIS385#r#&Hde2#q--aDB!,XSF +EUS`06`"RBph4MB"%La9""$A&3YU-Q0!P(-$+NV&EYLpGGHeFL*Nm*p910ij$G$) +(1dR1MKUr4"(1pCCINr"MNC6REqfrMUG!%(I-h-)kN!#6&1Kc3Q$6VT4NrPFBqja +k+M&!mmY6,2LmZj6aU#5LIT`E2'36*dBe+bKK[Ae*V4+rcm238[cpDZIRk2,UU8A +d[B2`2K0qFLEp*UACeGM*5[&2q[&(RX96CYmlJ)4!bmUYUGSbbY3T9pUUVMeZEAk +6*XX8Xj3,)QS)cAq,L&m!3QdYYRANNAFCdr%j#P'!Yi$E9XK5+C-)Y#rmire@PcI +0JZ%EHBh(eY3PIVNe[&&Q(HjE04fh@C2K2rNjp6FRIGDi8iEV*[TSTBI6,Ar3aKd +-G`D-Ncp%p"l4N4+[T)fT3fK&RkMT)80L8plH-p23XRL"UfS8X$#F)!5U*+e6N41 +EkkBcJqQZ3['064Vb![+QJXIjU8RZY)ii[dNJjH(E8c&M"UUK@IbLJf3*ffV%9K$ +ifCIaY'ED%irBUNrA+EH69RhSSU6c&21Y,(Kp[&YfAiKN16K6qGY9[@!1q,8GR,+ +'*QHSYBd(�CRRqdlTqZ3!F@e'HJjeb)aBbjrc`IjUC-ZaEfdD5q1`K!SaM(2SX +RAiV(A3Xm4'6pf[lDDrTH)m!8Z%"[`iDk6D$YpVbX"jcTjiK(qSG5II8Q82E@8d' +m`S(qY&9%i#LdM@EDkrX5209laF'3!1+b3L4UhkBHGqNa1@PX%!B#VL[cKaYqD%E +BGY2EBEBa,feXp@8Lm28GZ)CQC5--4bBM!8N6CrHI,cprYAEZ09idNMX&X"rr3!3 +hDpGBphCaDjXN[%"U4pkG9U!SA9piI"*T'q+aa@af`39mN`3LiHb'Bi,045M2%Ff +0&6HXae,pV6F"cCPd"PR%4`P@p9T"J*RDQCGd6L@Q,feDf%@5[6KpFEZ%p91eY(Z +5*D5"lc,L(4frRZY#)mPlbFcRTGr5TTN"+AkSJh[FqdX@Ak&amNSX*&N[Sh1)j"P +kJe85VfMh$6)JI)h$0YqF3UFeRXKmki+JlU5A&Q$*ecFH4UETiXbbXT!!dAqrD,( +DRm$Z0LR%-bMX2FcYK`Vk(8+JaClBZ6EUB`)8a@59$c9rR0dP8(D$3Ii!i8`9ALf +d'ETmc`*&lLI[GK+`M&fRV9JiQHj&r*Z`jUPbCG4&eTK6,URP$$K%&cqj8!!i"40 +XA"V-aJZ1e6%l&fd('8#(4D!([hqIG(amUEIh%jiH8HpC@5UH4UIS+rm*(mP4Q)Q +'i1CI[0l`C)p!54QcVlAqQ`dB'5Bq6(hI3J,-pL,Cl!ipEXRkGDFepM"d8eD$l3G +[4F%#XP,CN!"c#L@!qA![kTqk%ACj[ceiq$)5pMhaCL0U#2p(e1B,0@Dk5erFI2C +JUT5"Q`E[43qdVS+-Gl[1Z!RDari9rN)ma#qZY3ME0PBT0qK,H#UU--&C5UhA'8b +(0YC2*KfIk'kDD"TST*MErepdMZLLPFpNUj&aZR($YcdCL1A-B,9bqDL2JNMLH59 +lCdC&'!qQ5c3N3A!CikI5cV6#6kY6cfcX&k#FXlL4f#Zk&Nr#iLS*'fp#@cmYm)6 +hY5PKXmC&eT!!+H,990&Jq6fM[HDm46SjIUfGVJ2mF64d'hrGLH[90&L1DMha+Xm +RH05,p$,b4X9kpVe89fh`lHE@,rFdS&bQIf&CM0[D,36I(LrD'r#,@Z[@e$qaR!B +6hBY4$*P,+i&aR3*IZY0J!1YMj@Q4f%NHJ#8$LAm"*dGR%4CHKV@+)MrNq$%,(f* +Gq[m@rG2Ve8!ZeHSpp`L[8A3(aB-(J,P`44@k'@QSLlkr9!2U6RIHkT9r%IpMd)U +ZVFC6`H&%9DfMj"2DH'HNIB1)A&UhhFpK`+R33dqkIT''E1AN%k2Z)P`RDY2CVX+ +`@aQT`$qA!"fDEmLUCR'6lFPqJ,@*dfJhU4X(0lkpdpSLVjb1Y39A)T%Abi!mEcl +h-d4Gka'rG#G#Kji3!jJAM2%1m,X#fPkD!dpN8'e`1'8[T-&r*8ZAR@,&"B4C15h +fF"ZYqB-pTSDTh##MQ(BL*YEQTE4D*8ThCDX1ehXPV#U%cSb!'dN!`XG)B,TmA!% +L4+ajNl,0XPKH8(Y1IDNXa)&mG,B6eMlS1V3ilGUpV)KBJFlTCailpAGh"M"eJeh +X*-,ANR5%6%af8I5a,41XfPemNA"'Vc#j"VPP(Z`KDBdbfhX[Z38k"`[-*'Z**0h +r5[MdSSl+T["*3VXF8C!!CV"*!![bN!"cPPAARkGSkGP1rMZ9P#@mAQ6Kmfc(Y,, +aab&MH[,ii(8"eRd)H#ApTJ$%PT+$N!"52j@9+28G!`B[+C19PDjN)pi%(eebNI* +4D[3lJ(pf$N'Y8fU588)R3%Z3!#*N1,35EEYUiRJ@XJjbl8J3BdQ$J&SffTMT[ZZ +ZERK5ETh(!T%',@Me+k!BbVmqDXVLm0l!SAhQi!)BZC3-G0NerH@E&`&[A*+Dme[ +,Ek,2Ej0h%p%#92"[#MGBaJXQ618TL9XS5[(@4)4+j`dX5q$9TcBqaS!!!!3P#iV +k3XRe$Lfb+*C(3m)kl#ZG68rc+8pM42mF$E`CJCeZ3QG)QGIVT84DL5U'eZ)Tj#m +2RSpNGP61G[q*-b#@A%CV0lR3Z`cB$$Z#2%%8"l5XP&%FQPaT,*6#[A'Z499X8pF +[%CmmGh8c"D-+[MH0`['r58qR8IY6AeUd`jH0D`RAq4AD-Ti)B2Qc&P9caM(YA4@ +-YSL[6U)'N8!!&EFFJDXXXEUDqj5j6EE-p`V&ZH%d(SSA)Lk(rad6rbZ%(pK!Q1( +1S,PG20@V$MdAT""3!!!$RrA!8meHma3*%PAr-NNYi6ADfAJ4,*0)BU))XplZd`S +PZNB`rba[0E)Ea"Z3!%%d*j[2(YDbZ[2I'E1L3jBi8K2Dk"5`a`N"Ib)d(+bD#dR +$5&QUBl*9`h[XXrHFj"fY+RVIF)`!T8YDZcZY6(B2qAieB5&VA%VIL2m"q,d%!bl +p1D`ZNREA)URleFkm6bMp3E6KIS,*aMR65*1jPbM9Y'Y"IjA9a3&0'SIJP!8I*U! +PF6MiK''h*X'b)P"kK,B+3#PCXIZJS3+S-hF*TH6h8[c`VKM%5RQ#H'`qIfZNr3L +5K1C(63UQ4UqrQrLm#9,L#qjK%*FSimMM19(H6NI9)cfJjBV8LV@q!B(qBh#A(M[ +PNKR)Je23"8a3+Q06Gpc*cNF4ZC`"@c+,M9FGUMFkR*P*fN#bd&((*SUp8m5R&0p +L9UqTXQIFm(*DE&,h`CVcE6'[#AHUdRSq1DhmAr(RCVp*11rj)Q'5eiaPcS!G6H1 +Y,kQ3!%lQcQCH5B"f1r8`Ypd9RlZ(T#JJ!iYaH#k9Gch)-eh+[f5`J"K9R83'dU! +%N!#4!V-+RXmQQ[i"kcBE*mLG'8mLN3%r9JHQlPmN%-p8GF'afKD`2bJ15SQR8i6 +0QbS!!!FHELc3H#)VEVRf[&1820*SJXH$%RY`i+NamIc'MqKJL'X+A'#Jbcd1GDP +5A8@U'*!!Ep$A%9EH-NjA,[,`Ep@f0![$hTic')$RID*)pKl!E`idSE'Zj"pfGPZ +e1R+84'h4BJ)r-,V82f2D-dA5UHibZdqr,fp#HUrFm!HIr+F1J3-!h`ZiQ&BiJal +MdirY9PMNp4Rr%Bc0dQ"jq@fledhiAbbDShfhc@cXESd3EE#-d#4@aV[j*UB6@GA +MT#3EhYJ5**YG%!'IffA"QrpJMl,)X@UY4)0H8Cdh%iC-r%+X!qAeTjbm9-2h[8% +T2EQ0Eq2le5CM@k@I@K@#c62j[L-dK2k+Z6X)B0,!$2ELbTIE8!%NK)L4@+f(@Vh +XQ)L9NKl03)($)mC)k69`F0paQV%ABKAR*%&$eq9X+UrEjal224(MQQ5[INI!0'5 ++(TIe&&G9m+a6TkIC&08,JRGh4"ULM(MLq$M#b(2q-6UKqCGk(KE20*YAch%[E'3 +$D&3VCB#Grh)S'b)XXSiAU*D4&`a%M'HBC010E1ajVMbb6lMiQ5$"J2VpcVb(LSh +QVCSB$)Rj3dpGm!E'`LH@rM!LFd8b4MURQ1eCXX`'6XPd8bmIRN%[kkYcea8kpGX +*kNqa`J@eAY,i&"KQEP'MJMd#6%MM$3'Cl48mkE`p0cdN"'ZDqBR#5aj83)q$VFI +*jb21&R+c%!BkCT+"fbqB-`L!F8PJDH6C%Mak0i,+mP,aaPHfeR'i[X#R'#"N1`' +0`ESTid*r8DZIIh8)@$T0p'Ep&j-4lUq2!&&lfFb3!%M'i2#hB`hh&+kUXKN)A"k +Kd6k19*BlKl!Pr4A2ri0`+'DJ3VS+!h+imNCjh#dQ#p&Fm!KS%!%DKF-GI0jQlh+ +aHGp3U*F0eikVefFVf@R8#Gjadi95$UZ#8bji10Jd(5b9bRGD`$90VFL,RhH54dY +$QjF&i12DN6KRTLJ3reH,1#(3b+J4Y0e60I)4QCjH)b[LiB5EjR&L"`iGdfD3!0F +12(SB(#21bK*'48[HB`+b9#[ddNA$E)S"%mm%aT&6SHd-+I*JYp,c0qc[U!k*QUq +4#Z%CH-c((cCcNf"[NQY)A5DJZarVYU!1aFmLM4r4YA@RI@*IPYGLXe82!fT8m3N +qR!QlJR&XhmC#+eckb)pbaT+i2TER[mSN'NQk!XqZ@3)Xjc!6(jIDY(@"aE5I468 +DH+$(@EQ1-q"YB)K,[BU"0eI5[+j45d1,l5A[jTK0iQjeXc28F81-*Fq+89[V8*S +Tfa4`kI'8c$Gc)k-b[M4Re!p1PYSEEFAhT50"h*-4#qj-9r8bcd'[(m`dHh"N4GC +8*2pp36rYlM'SC$)N`NR0D9R1$"*afrAMTTPpj!&S!,IFrAiYpMP$ElMA$RKC&$6 ++%V61,0UG8JBk4D5,TihDeJH-Qi0AGhe$T53U1*b!+*KTK#&3SlIQI&m[ifNmVkL +LSdL$@%lC08dHXdrTT#h3KmBND6VfZl%U@jkZHTP+F2KBALX,Tq9+XT%Gq[SGUf# +Zl(Saf"Cc'df9'S)Zdh#(#`hDjJa-RJfL"[AM"A1dVL[MGj-1pchh!+jFP8l`Il8 +B9K(Rm1R6q(SDI`l*[iGe'rRfkrcp3cqISTAiHKIRmqVIqIT*hiGXRmqmN!$c*PV +*&1QJ,d04"C@Ja$,'f(bC,4E!0UN[8Ef!j`AR1Q6h`FrLeV%bmT`mh0G0'6-Ybfb +PJ%kQN!#8UpCNf@rI9p2MccXHR*28!CrL-!UX**3G8Rc%ZU#ED63U$3!r8acfG!R +SAmp[l96Te#*hQSI9rG+59+DhJMXcSi(1dUTA%4Z08+"6@%XR,jemKe*C+("Hk9q +2PCCZ5SdbaApajPrDqLH66GF`@#+m`R-1c8h'j8RC,6`D-YUcpC!!DK40@Qje!Gh +mKAZC`eY8)S2[5!%lLYAfk-P3+`GFZK$"k!E(Bp@p4qpMXr)dmH`j-pHXVc`M@S* +qpC)!6*ZYYTR6KqH($`E%kdL9!qBD)H-NYY&l*MQ3!0iV$EbXSAb*EAUPIM*a!e4 +3K!J%TK'%UJjhX`FmQUF)U-5GEESlTYTKmp9iPbrFp2%YDdAjkVa4k2C@4m&l[p! +3@5'(Ja$Xi!Nk[TBXk&JmSjR0*9"dPr"0D1-r)lMVerfCSc)P4D`J9Tdb-Z`2P*F +,3+l0a8"KdrFZEJDVM!%5bV[TM@jf!&8mD1hV,mlAI$)E[Ri0M"TKG4eE*+H`Pr) +&@&*A0i)bi(,i'U&5C",pjCTjVL-"SSUG8#,))*X24#-)cHaMaHA'"1iRA@UEl1+ +HZFSBi4Mfqi!%Dlj#`5#a2+1-G#qKD8P"%2"M2Yc[["LPFXX'%rNMG@R%dbDl2@k +4Q2F!SQ#[Ca,Q$K(T,cVp$eeXe+i3BK)dr`"0YmBkHN(dk(l[-hifTKbpCkirr`R +r3RNZcA'SAcX%#+E@m*a%*%i6D"l6Bj3YHBY#J1!)VdFF&8kTS@+R9URE4P+3!)r +c4LRrIqlG[Kf&,`Dil@)GZf@CABV9fPc,amVH)9@c,RTRPFreKcNGRhB!C)PpIbj +M@i58@ERBL!L!hi5M+XYQcRj4raUqGNAj9DjB$eXSaPqrAFYKi`T3VBm0F9!%Y`k +%RFR#8M56*3GG@D-IM[pQ"0V%Y2hX8$F*i'bdaQiR1J"'&e)jZ,I+NYS9Bf6'TD% +'c8GIS'0G5rp!5+6aB[HAq83El*!!A,&BaEa*l2aFB3k8UfPcK,QH%1maqUTZ9cX +3MT+-"H*KNTML"JhTiIdmbmG(XaSf#e8KkVl*b99i-@'irBp%QiH#2VjTm1D91qk +l!U9PBJZe4'dXLJm`EZB#)iRr*fXjlQ$jBJ&K!1CT2cXQr2L(3HQdI2H%lbXMf&8 +'ppS`"YpAZe#8FU@-T1Q1!fq$iHa8r6)kFJBQUYHXXUl!QbTRQHQ&U6mIV2Tfa[, +[!FTj2qZ(3eS8C`4G8Z2p"J`*eZcUaKQ28Zpil#IRb`rQf5`pq9p8)HJ*IQaCI%3 +PVRb%AdZjJ@3+2'(qN44i3a$1PjrL5f6l*m0XNm!%2q0!eL4YmDKh)Ace4+Ir+Ve +pL(,aMVNhq++-ABpRiSd3'48eYRk%c6i$MYV@r#Z!'r4P9+cXB+`RR[Q6QPRaA8i +@@-qq[!"%hDF3JA2XLkL%iVUdGlrl!Y259+B4bI+BA128MTZhfk"`TH'rqXrH1[) +-L`cl[Q2)b[SrRRD9@$59NH!Zk["r$C!!Z(('h`"h+VAK,68Fj"PULN-TR,%hJ[$ +E5@(hX2'TA$RfSNU5'+dpaAE#I6[X*,Z`,6N61&K)2Zar+YBCHP#[0dJcM3e*hPc +q06(6%JG,[UbJ@'0rl$r92b5@k-G"ffHJ9,)EpEaX$V`Qj$dj0-'feZZK8eYPQ*f +%a$Q#rYee9+aTrYQ%fL8$BJBq@GrMGT)REa!eH[S5d-`+q2BSqIRIPP69efr+QeE +mQiAJVPB[DT6ieMf%I"kBi#@4MJf,DSXfA1E1r)ql"Vrl@djiV@NF[AbDai*PPSQ +S2`N#94N)QR%`DH(!%a8Q60pZcY@PT'mkL4Y[pi-IY'bGp#C,"$q3!$VRpFVKLM# +!80'aZNIUPbDT)GJkG@iJlV0$j0ijUS5ecR0BVG1F80Yre2(#kSrUhAHHrCLd&DS +8kKHcJh3c[,dUAFMi4Vl%V8@m!FB&$5p[,XP'T!Qrf6E1&kP3FeB8SDi$&@"eIlX +',KYGXJYjR"GL+J`T&[U(S'p[VY#f84&fXiB,N!#%"H!8%pQr$bH"IG3T3##"AjP +N&!N@`DS03IQf$Y(kK2k*+b@fai6!mDir+Yc1%Sq-NTX-*Y&PcDMN(f[#8"k1#`[ +a@ScT)+GB('6T%YASB22Y4e(U6JKCqUMi[(4B@bjC%GiVMaiQ&QE`Vi!dC5#cRPY +$+KC8`,TeQ1!E0&fd8ZRe80)E0A0jKke@+Mke2pASprp2%T!!FG212V(qm`fYd)3 +cT6C*'M5fE+Il3Jr")@Z'ERcXmpU*Qc8haC(a9R`PZ-[TK[&,SJJ3hB*T(,`!j6+ +ki'0%%)8AM13&j1`K@BbZ2r"-mXFT1aJVif!#`2TKD)l+"r$`G1,hL*NRCUASRXE +"D0#M%L+c6l4qFTXHVeHr1i5E8IM$-e$6&XaeJl0%FfC`jN%Ei`KSpi65Kk!HV@+ +'p[ELUP)@&qi8hh%9pmd8hTMmK89Rb&LGDaZafTBU6@JHQKNXV*6LRf@B6&lHEr( +0YkG)-!'+4VFbFI#U!mB-(6@0RlKeGJ@G)*K`AiVU--a8hr!$rhm!%IdD!Mi![c[ +RNX+3!2+fXK!jm6mRYpHTNYP9dSkH(+KfBETMrHRh,B"2k*)1iZGiDN090ek#Mr@ +aml8UTb*+VMQTRPPCKiAdlUa3iq!peITB'fA$)f2QDU(Y&6F)@1apkLB!&*bLpa" +KkBY$Rr`KKP2`0d3R"H%2fN)-TEVrILX2c!dDN!!(SVJPSpBSp`RZUHf%!H%!0,e +phc5r++bJmR!'"Fh2RpY5E`Zh`NZadA0fi6JGP%24DPZf(k3#im(A$$q"ka+emAl ++F'YY3,6F86IT%Rp-ZX,hkSZMkY&Q'80h3XG!kcRI&D+ErcMCcr0A),q,'5Ir+$- +Vkr$6UrP5XYjHdDVN,0N`Q6B#&TI0PDV9dV5X@X2KV5(Ha''5(Sf5L6e*hN%F+(V +m%hiEBfRY2!-N)b0j`Ek%8)C6K!H*Ib$Nl2A+B+r-&`Ck%$4)di4)9R(Xr%NrE)p +@%em#0L,-F9J$bS**4UZ+-VKA9Sfqi(fCbkerhL*jY"`ljTYZP[AdfMrhD'PkD,K +[(X5[GXFcre6+(3m$J"G+(Yb$qIc@5c34!%E6qqLDAlbf-em6@K5*)GE4&4'8eVm +Z519f563cZ(l6(Kh"T4*kIU(2Da)"i,DPH(bDepi0B6$E5UVc#Ap%l)GR93qb"T, +PGHa)hGIVE`VbllEX05AH&'@X9"0*kS5X2#pTTI(q$)+P,rBT(6lH%"QjZ2NI"8% +I3*b@N!"QV)FJPlHXh*d(+DbpkaqrlkNkM4aM%9#0Q'A%*8"3f(b"E%Z,9qmHMY3 +p-%94`!)UN3)d#9*`+3bGDlAF2*H$+2'cq4N@!HCZ!"!a(BEJKYJDTQUXlT'TU$q +9JlHM-Cc2hqI!K)pHEBLkR"Z+@E#YAlNTA-P'r4U,kPS-hUSZ[N%"E&-V6(0(K') +ME[4Jl$0jY%KhHCPar)l#C564$"a@32U%#mEjI#C2)@FiS%Z4E)dUUk[!5'haIFl +AE,TcGJGbL1i*(j!!q`GjL)USTfE`Gj!!F''D(,K%S@r`l32SK3ZREDL%J3b*B'` +(rRel'ZUB&Z36ImAA9U(TDheH8Y@i,(ENrD68MDhUP"&FPfc0aiZG-Dli3-0%)-C +&1!92#[q"RF-!a%K9Y6!80Pi24[*S`pUeU#`m*pd%TCKTT(@+ElAp1l$Ej'jE&mh +Yi9F&Jb"jG05)1HZ4,Q$!rL4(S'%&L%Yl!(U$&HYT8ATSJYl)a$Kf!CP@UM-f5ia +$dX*X9Q#[,X$Id**2k!$12j!!3@m2E6C[$*!!MN#ljRi)Fi#dr4eEGX51jklRS8& +"fVbE-SaiEb++8-NA'(@3!)T*c-He-jdq#[h,(Km(E$)Lfj*YpUZP+'Q#P$qFJ'& +##XkYXmd$JpqK%U0Ib4U%YU9&NLp&9UDRG!lQVI$a&c"BYB2#Z-8Uhj!!j,#ZBa3 +eP!P'&9mY'EA,H[fq)-2jj`AV1(4@,dHVKmbTTdD&fLX*fCGhj&P'9C1+FJjSIK$ +%XE8m3C@,fJ"afN[5#RHLY8lK1,bBT`)*i"&+qNB!3KMHJL1UmSj*jLlq4$APfMe +PKUPXY[fedP%l-D-XmC!!)E`-h%FkjGZBC[8N+KZq1#3V!J-frdaYr8kX5SN3aQA +28phl#(V%UeFF+(JUH4b99*p,9epS'DQXRj%l3GG,BJKM(D#rN!$rCiq9*mC*NqF +E#)B*m6a8j4ZK5NQKCH"Y52Ka(Z6Yc!M91M"`4ChN)a$cN!$X`5%6$&#NFJIp-LQ +1-RL#edFG#0cJ8iiDa!BPKTc6Plk-02aR1V@K@!I`mR,!CIiQULQm8RGG#4eBLXh +h[,``D!6!#D1NFN,r"ek#ZKTe8rmb9*f8$0@%3kfPBE*bbVMHcU-A*CY1!0&[lar +ATRZ&IX@X-ml4H!E4Tq$jVV(U,UJ"DI'&e5'"Zrk,E8Lr+[!Ck5S!@mELQQLm5Me +2CI31"3c0ki[*ep4"QG3Lk"lD+iI#a0r)F@Q-PS6q%CKEk6U8[!N(Nq61Sc)l&b* +#'[G",pc-jHGr!IPq2H[CZ)%)cRK#f8c1J(!-BY5VYIARmITHSM8jSDMX498$,bf +0L6hFjArr6E@580r+`JCd,Q2fV`c68i6mR5-39)$T)Mi35#GXrERKa+$C[+GMAQ4 +,j[L)R6ij$"Q&r`")1`Me,3B!&VpI2&55h(q15JR-#L2XfSV%b4SQa6Z&j5'#R)! +PA"2K@[INU01EAAC-rI"LKER&T8686A90T6$Rad-KbdK86aP6)1KSE@'j-A3)P)i +@'*FJpD"BC,5!jBi5Da1X@3$HN!$dM!#(h2ck@V(4QG&*ZNqhh)$#10mZI*4D209 +l(KcdGS!C0q04RX-I',c8CXM*Z`'hLb145Ee%)cEA(G&eC,DA'EdrN9TBYdVad4h +&'`MC@SmXE`d,Xk%dmpa,Q2Um)f#Q*'5'pp6N*KYAfqEU+`CdX'*3TTh5S9[YieF +@DCijK*8dGZRXNP%S&[FpF8`(DHa("cRMIGbSRr(SihCB@BLpQL*0RPkMmphkTmT +$I*S!kM(l+@E5PNpAIM%RI)bC%clB8CY0pTdZMj08#DBDafpql$35dHSrGKbQr"F +8pH8Fj0+Lh"$q!`RQmV+,1BRcqlUmpa666PI'b[F$hQaMmN#JCa"pUM&4&AIHS2@ +(%%b5U)#)Ie1E&VaSRei4*,h3"mS4`M'p&S-3!+U9'QT)M*ea9lLfUPaT)Tk%"QL +b4q"p[miM,I!C!Cqjr[B9I$Ph9cSJh0Dc2jAY'6M"a"d`*"p$8Dce'@8&KQMb#YH +Mf!CU9FDcb3$E5Sm+BVXfjp+p3U00[lr3SQQ*!6EI$ZR!'pVJH0J-ACqS("q9R!k +d54pX14Qhc)9P4Aekic$`,#U(AbMK9BPfb41brIM,-rl[[Vf"5J(fGC+XE8!mipl +NG+''mSKJHc-YF2`2!hd'F5F)i3f&jEGeHGD&&p)Y)VpKd9aUD'M-X'3U$94[pTB +!I)YDB"%E8RBfZK"H@&j5*3ie3jlTA,EkEEE63'(!$cGG("Z$Eh3bM43-B!66 +f+D,LjThif)LVNDDE$AK)qPVXKCcH"#pP5VNIUHhLc&h*kZNZU0#Ah9!EELG*jM& ++m@lN)`%1bfHHp[80pKlE$a#LdAH1K9rlQ4h5aa"SQh$%DYf!Mk4'1f!1L#d)!If +pS9,@Xr%6QJfE(Ji@m0fc8#JN2D@UBj!!mj9)&UCrhFpB4h%%+j+Ihk)1Kf*mcSF +T)RE)(YL,TK`B9lMP,Fj88L,jf&68NB$ia3[86epNcCm&ra89#f"48&Z11k9$LE0 +bJI&'SFCEH1B5lb+Ql614(kaBa#5G)chbLp8"0Tl90PCC&-hIcEGJp(T%K'hqJ8* +1bMSV-cZJ1-U&hmc)%ZDqQe#L&9#j9ZA)"l#pKpcV6q3d*`TT@[b+$"Im&i(%qPP +0jPP5TXK@5"l4MVZ1Rfb`-(YlXRfiIP+FAKUHCLGimT0efYam351eCkL8S"'DCG* +3CXh0R-Z5*I24U-Pk'RC$j@pfiI@aE"PQ!0-rSSEmrH!(Sf4L!`GA0i*aAT01cbK +CMPqdU)Ya6-M44i9Q5C[+-Z3FR,%[0SF@E8qXP)LeCfcSK$36V89rk!LlPa`!T9# +88TI!%UX,J*j(6RFVNrIRP*kH)Kj'MTcjD*dZqplE)Ql+I%P)r$XNci,1mYjLj)- +Sh*PGhQ%G[8L,hH+f"Bl8h"CpJ,"TPpPV2r8ZH!h1m`"qe*,6Ga1ZU*Q()4Y'IM@ +21[pQN@Ql3d*A$eh4pk,If5PDdNlDBrpQ%qm"LNcT*''RdpZiHHaejl2F5rYbpe@ +jDLQfdc2,TVq#%1pp1QMm%M`""DpGX6X3kZ`&lLSEe!1`jBP*`8Z*8(hiTB+U)GT +'@!4M0bQ)P1##RFl9XHB3k[S(DTBrajc,f$GNdD%40hhE3qYfYDleN!"H!S%qUcG +Z5!%efXfPIe-"kp$,2'kR0#1#,FY`KkMerGM3!VH5IHK@@PZ4kmFK@HH4AUCp)e8 +,-XNHZkk8IkN2h-amQ5Na%CeR#EZYhT,5m+baB$1iM)Ai-GHmK4UkH0B&5(!JU@E +b$#RHTh%Gf5NL$lZR1a#`eq3)J5fJI"1)4j9(qmIN-1lAb+H`,rB+kV#-X&)PDcM +acdjAl[QC3-GEeFJK2AYhai0BIc!qJ63$S1J8i[e(T+YD'+lfM`3i[9qTSe6XNXI +JY9J,ajmTl'#q$F,YQAVd(rX)YBh4-H$Yra!EA&"aP4(Y0bVqbQ-SHi!33X*+qMY +2APHckbP-+d6L[VTDG(e1082e"dKfMB+Xa2K(CL(MdZURBUl,!kA8C*0qIr$'jDa +[90E*2G"h+YrN3m9qUC+1)2ZCr8L4CM@!q&feY2cdUSJ42X+aED([m9(MK8dCXPA ++NKI1KGVfB#1FUA@@mcQLAcY!Ei[&92f-'aSh56maLiY4",hVYb4bqE%JpMlq&$V +I33k"r@Gi5ZNXhiJ-I5e@l2Cm*GYH4'(dCA5dI*4#mRG$AHQY8$QFBlDpHdE'#GE +#`93hZB*`[%9$VK%-T4j5BqaUPFjF08#pNi+4QMNpieaJM(YM8aH@h`NFCP8cM9' +fZk59&U1,mA%YLjhjH5JZq,U(3G$aGIZj4[dTLFSJiV801C5,H0RN4N6`#6G'a4Q +LPI3P[q2!5I!F8piJ*&H6$$YTd#FJDCEb3Y$[H&YFJQjJpVY'q@6q1*q8dB%4-8S +rGjlJ8FkaNaUpjp&mh1l%pm+"b`['TP@p[G[!&-8ZlND2JVNZREa")"CjJ'5`iKI +*#m(Frd'E[9rT1P5T-DVPU8b0KaF)NhP$ki[IIpVfID1'3a9-!q"AC1IGj,pR3dR +CbTB3RCJQ0E!j5jGK`5lG3Rm-8UG4Qa8'bK@Ejf4CTdA+#R0QVqEbrD*8*pa0%(B +&)4a9hAV0hTpcacdi0%M&c`TS"&G3`ZY@j69rl+[TkI6F96*EKfVjBGrbBYQMA&Q +"%X"QG4)B!M(S$Yd,,BMZJrhTp--)42i["EXI1GV4+$,&DM3GZ5S&PbZ#SHD8D%Y +6#TMZH!PU4QN,8+@dJ0JUqh*Mc'TRd%Iq)0hdkB*#[I0DJRE40qVAf%6#%SU1eD$ +[Vf+cIq01`2cr!kBl4`42*G#DkVEE(DeFbZKk')eF+2#,q&&XY@lGb,)4f&LQF1E +T&Ipj!3HPAe1T0mC4VM!#f2hMC-lTTdH,`T)*CPD4pqSR583ZBGA0P52c(*L[QKY +APb,Ff*hCV%cr!JC"PA$d-l2dUEDL+IQ,HTBJm)QVHZbB'`GG*`m5DlVLe@lcGdU +5mMdCN!"DE8P9Pj3$B*@D(6jKA'RPK2#&&`AUC+-QA',[p'35cb91I*eHS`#pmSm +3VBhCBATak,l"6Pe$kdNa))lE0Nk6mXqNf3,Krd[dH,P$pi[Zj`,D6lP%`bl))XQ +)3S0qI"kRmNMp01(BbhPGbA$PEQ2L2K@dDE+,IbXJ9K41j@B3hV*5fe$Z"GU@AR0 +EHhf@)ZBZcqkqXb6B53fqDMM-40T3BEcBrXhMXZ!c9p),c9F$XH`9IFGTlI[S&ii +aJ$,cQ(0#p%83I)J62+b%ldV6kNi8PMG*Ma1+jibE819rf`0d8dipq085$1ITT!F +Q4-+4a"'2Uq'-dh2hCVf6hJ)"N3K'L#V$dckrp`K,5K0LKfAjZpi"HmbE[34k3P! +!!!!!"K$dYI*Gjrp5X(S%I11'R55CF(`Ya%6a"lDhM(qTXLBYK&VDCU'LC&k"PBE +lUQUHT"HD@jA9UEB"m%#QY`l5X2`EU@MK%GpkAMfK#*!!kJ54I(VfEYNFfbHXEC) +cG-A0&T%-j#ME`HiAD50TPK'8!!!!!ANA*ZD!,[6kG5VV@TJ&Z8(%k![6)IjjP4S +"i3RZ%1ZHTaphe4IEC[PbPkhm@!9ZAf&($$ESbfDV`erSdc$+THZc6$9+@rTR&c+ +L8DEe8k$r$m0YRLd%JH#2B-T)haBY64HNM9Ir8j+2(4ER4CK-F[3YTjeYk9Rmf*! +!c@@GHm+,+V0"P8C*HH8!+HrD&BG2J!!!!!(ZJrG68DaKQj!!,0LcBJkhRAC(4Bi +9'-J9jL5UcF`P!!'-d`qU*82&F-,-qXA42!E5G@[`U[YDTTY5S`TU$TB4HhMr@GE +!V*l%'cX9QCkF1+q`9#NQ0C'Kh&F8$IGHFX,c5G4d@ML*`r,&kj)P!M963$42dcl +HURDpfM'#'3rJZ61bFVHdTKQi2GD`Ie$SDXkeEl6q[(`2(83T6)JN[ZrB1V@UV1S +dANjL%N0R"I,Y-+I#ip,)44ih4!J")#S&0i,6A1I8kPf[EJ8kLU6Zh'S)aULUX1c +@Fq)Sa-kQr-,RpV'rTR)`M"SEp1Ui-E9ST%JKT'jKfCmlR,Ar%5TKE6L!CZ'FHFL +Ar"NV"LEpBc3UkSq+,Ka4X('%i3TBGYKHi++F+lG)U([NU8kD,!(D`JrVI3SEbi' +dQLEAG6ANEcIIZe(i'(UcXBPB"p3Lh%ZRHC!!fG33S3qq&1F2PkYiQPdq#`5hEQh +IFQ!A,j8jE3X$(C&lI,FRUBI5`5NIEqac$T(h3qkB9XJ!9CC%re'NBFia`Yk(1Ai ++%$bBATAh`Hpa,ArDhq#E#YLUPJ2#fKpASPC,-NXQK5QqfMrDD6IHk#N@NLEIL(` +%m3`Fl##CUJKJBd&T34AMa4Ca'0VeqDeKq!0-)@5Ge2G#pUbE@)4@MT33RJG4G1Q +XJ'L1+6DE`VeiCSLp1[NAf#hq&(YM-fbFhRKT@5eTKa(!XA21HUq@`UKKVKliSBL +Q,kL9K1&JJeB8GP"5GB0(@5Jmp(Y2TUF$ebh%rcpQbdqBU88Z%0'4cH!PlFe&I8i +HVFrMG0ZGYh)rq@'@BqA0fBC!S6X$lA`h*Nk1TbKZdGSLC&"MF&TI%Mm[6p0e4L1 +8@LrD-Y%EHX*Sm+CB3$1cFH50j#*Jc,*d$MPdhCFA"DRND,HB,'(aG5G#`RHANL, +"c58@pBI$#mD$9a6p*%*0ABdZSEj[$fSqaR8&e-pVlK14BcrC%5rD#b-0+R&Q +0[Eb(`dIV12Tj6JckD[6kV19N['dle3k"aR&(R9R&M3S"K'JdMK[TIKFjbhKZXQ9 +3jXp8FlDeHXU%2$aYcZDDq!*jYre!9Ri*h$2"rGfb)IEl%H(@+*TKh%h6aQLjdXM +*S9ipZch6@$)EiG`J0NplC!&YN`9&LN635k8cBE5pU+eM4dBL@cGrD4JNpCjCRh3 +*qTD!!!!9HHei#6T+DL)c#bfe24MNp(ilPZ[PqSK#(hje9K+f#p&fP+LIBj*QN`Y +mMKe@e!,5d%h[5l8&lThp6+qf81QJ`SafAAIJpCG2bSeS&'rkFQG#$HiYCV!4jEQ +C&iAh@0rl(MGC#rPmbL3r!5idPYCd5GlMl3L8h6)$hcD#pDm5G&L&CSJqFf9Z3M( +Z+5UUqbMG9M)%N!!!!)XJZc0Ulp@TlNY0raGam,e#*hpJcrM"L!-C(HUGJD`)6(9 +q)5AQeqHGrd&6G`PA3(2"Bq&IGd[BlA[PCIK$GQJq%SIN603%e3Ti0-6L9N+aXZR +Z4B`h6,#VLDMK,8r[NSK,mSAVLTlH@U!k&9LlXdH0`q4-5%&r$#%TmMMp4NlaCeV +a2Ep+EkEI*eSqVf&"rUXl5ec,12"YKiJcSc3YTqN&Z-F6`[P#VS*RrIQdYj``Y!4 +L9l#%YM*1fJ9I)0Bq*4lh[-'"KY%1hHqLBYr',j!!PH5J2A4mK[FlTI,S`ebQ'[i +&dHm$iU6!ka@h[KRF"i'CDhKK6IfYS1ASF,Yb'IaRML%A@8TZpK3MP&aBM'Ad158 +ZL@V1A#VjY8`5YYd2d8hYe2$2hNSa"0,,q3Al")PGaN[PC"J1kFU6[3jYL[ll'jX +5RNc,jEFjShpV@rUKb6"T&dbbM+UmY-CIlSQ'Ml!2-dbBTlCR56#cj1AdD+qU&eT +HTAk$(25A9QCa"6L,(a!9*%ZM$%kRP'+8BJNF2qkSQaQ$MHrN935+R&6Yp-qPP*C +er#2b`q$UpA4XU%jc'(a4TS+$&GbT2GL8+AhN23pDZThd"V'A@Sjm%,@jUI@'6qB +ZJRLebVIG"*AM%#c$NK#)#"0(eb5#VjLHU8j9'`5pQAhfMG'!PJ&Z5NH%lpY(E*6 +#RV-eCqPb%"4&bc-AeKbb,(V55`(A-Lk1!cra&08dMIe#N!#GEf$&3h3JQh52irp +X&KL3!1BBLB-5'k5#dU+M&pZ4Aq!2#5Fi)eU@[r)rNm$#8,XbB0@H&BhiQL+@C$9 +XaiLqUQ-Zkee*UFFEi11p5Y(i-@5KPQJCpcSf9UfXPSGGr8+Y-Er#IK6rJK$IbNh +BN!"qd6d6IBDSUBMVim$"3#ZqEEMY$lQ*BMV,YQAFES[KIAH*e-N1$*a[H'@1%mC +Nh*TI9$d9X&e2!P4r6q9cN!!mJi90ARiF%E66,+M%Udrkb-11-D1#I3#&bZk8cHP +T5YMZJC!!r(dER@@BGq[R,3kL#4d3Q@i!A#PJKQ8HTbj9F!HCR&%jXCqrbcTijPU +(,F&r8Q"jZiUc!ERM+qFYER9rIAYkkjDR`"#dZ'X*@24hHcQ$Ne&$V)TI1br,&f* +Rqca(N!#hP!qe$f1MG")$36$NRJILRY)BpF-"8KkkYLe2Ji%6!UXfN!!C3ca5KpI +9V`R(1$LQ(8NT*H)k0DqQrR0pV*kG14fibGklEjR,+&E3i#9N!8%,8N3UR1p(N6r +d$+@4lX(4`icrF`eM`IKpJ0KB8pcCPl@%lPMcVjm#fC2H@h[rJ$!jDMJZIlNVV@P +qMGM8Em&iYaUd!Cj+dUC8N!#Gmk8+Rm0&qq9&i8ECj3ffTZAUiSajkEq++[A5Rp! +,%bNSc%#[RfQE[KHX5kIq1ec%-$DS4FPbVlZm(%"Kd"YAZa%[cN+RY0#0hU&(Q1+ +8T+eB6UZh`+alGIUL'RijiMRF$,J"QMhp@(e$kq"-jh5%6KG)HahGHHE3SG)Di#D +c+GDU#+LA`IJM#jkcYFfU!ZVKL#!lVM+%*c-b+3QBVMXUQRr'P`T(9%#dMSUc5'[ +Sp))bLdrU4[IlU!kJZIAFIrH#8YGqkF2qDCTNqS9Ne-!&9[jZ+H#$TQYF)m8UrK' +3!"%3rf@k!K$4aDLkpU*2NVB6#6(8+5CPH(-#,L20)h+mM"B46Y'KHQ!U-"1XQUp +GbhRa$$c`j,pA,[k)Ui9Q9h3!YDJ%!cdB+[pIc`aL@VrZ!e6N2)ir-AEf''I!eiM +!1fj($%ES3Dk-fq0IE+QE8E3*GiC@&'j!YLR(4R+U[cfEK-6JDLY-%@%BpkTaX9F +Sp@+lZ*T&K1NDlXG-eGDbDV-4JMYMDZ`p86ZkmIa[94pjB$eRG86lDQ(B3rY)Yh0 +N%(AkP`'QaZ"3D1U9BCLDiq%0d`([b((06TB2`E2!Ij!!0p'2***m!IeUCS#!+Bi +6VAAJ#YS66JG(Ep'ArK,j"d&b)'TB"[K(BGY+J8Ce1@jI*CECRkI!1j(-qfdTbL3 +Im-McXF-TUdQlcpI8$2(N[5$fK6NDe0J0IZ3XF*IU,aq9l,C+ic6GPfEVcekiU2% +1r`X63Pb1bdYH-(aKaBSDF-TdfM'Q"&"kiU(i0"`kPBSXJ9c+Vlfdr#@4c&`YUr" +eC5FC(G#adf++YDf0f)("G&91FJd-M#YU$d+%a#qcY1+VCQh,(VS3V#90@M'T9k! +Df*`dM8A2*$#)NCbqY9R0eY"8"BXBf+)6ciYr4156E*IPML#&8dV@m%RmTjPcja- +CZfRRX@QBa0drc#T3-,3a@AhGe-mdAE8FqF2p$$dY9Tk,j"AK$l[8bC!!)d!9PMN +MmKck4UUM(EYk-J9KlXXV"mkXr6%+RJFZYIdH$$N-2BFEheG8TZm"%pak5@2H1EY +1DEAhcZ)8k%kkQhLjiT,bL[Z#eD#QXh[&"NRYK*[(!+5kUMAdfXbAYbkPBc%VTf" +F)klX@E1l)U$N-S@8Uq`jFD-5PIAL+hi%5RY8NE"`R&r2cZG5*-MPRkDS,0%qe[b +[r+8&Q-cA!BA$1Pr[FVF'ITdT1DBHTU6PjH5VB5Xm#l%2R1Vd#b)LS``J38T+m)! +fA1mbBe(b3Dp'q5ZKCm3D6L&e`,IeXKZ[-,#Bm-3$T5FBpV2d8c98SqAUk05rlh$ +Y#Tl21"Q-3CkPiBb$8%Q5IUcQ-3,BjR9'X%lmIUl`[-rCZEEG2+D%M)L`IUT+R-( +aRDD[4aPYS%jR6iD&6Hfd#3DEY@@K)M66%hcJ(i!895"Te-S*&+k9DbaG"Z)-$Nf +"")%lfXDBVFYCk"d4D(0LM4fQDTlFXECd*Q$JD5[e-N@3!(kHbK`aa+l(J"r)r4M +Jr(UkMIjYF(*[`GQ@&Dh3L6,f"KZkZM*ANFA18Vq9"dLD4fQCIf&Pp$Ai+$N@-Hc +E2G3T+T!!qGI"AF6qZ1%#)&THcQ2IHB3r!k*!lqch93j5,9*$h(C(rc5#3)#+&Ee +A+"-P"6UUem#pFr1K$2cS9TYEdC0il+rhp`A&pd9I(qaSAFpGNm0SFDf%*HS4cGj +dE'r3HcHT43NbP"''e1c25GTrbBcKqC1UBQR5[AYElQUFE&G[XEFp#QaDH)%kD54 +(-LEUQ"G(lQIJTPY!3JG(JC+!UVm8U-r$iYHUULhTNAiZK*!!MFYc4Rdha'U*#cM +dPDLEkXCR*+GY!*'!-$XGf$!!@`Y0I04XY9U#BSRI,E-L@eUU@jYFPTBE&3BlD3# +!iVp5lJbNbmi"HBE`dGK$Z1RKY'mQZGPqkl-E`@PaL9H+%R6J6[X6IK(8'b"f'p` +SA6&hS8@@rhl@[$2DAp[TT++FPpbG41Lca'paNULMMfdVm(1`RMhY'1'd#cB`LIH +N$iAT,j1dKC'S+m+Z8NX"YXAI#d#HS0fUhI68%"D9+harYA3ST2V#Q5H-46-9QD! +#YPLl`96M[J'(CDdkKk3NdL*!mEhd`6GD"MGGh!i9k3RjKJ2KcD&9mBEi%IMD*)+ +RJX%+,!D&VpY4(X"a$)(33K4Tc@[,cfkBK$q$`i%")-Q4l8dZ[aUh9IHKfX%S9f( +kNVbZN!!r5'QKBhV[TJQ`M`JN5-f%b!eC#FF$U)@K%"EHQQ(dr%fkE!hLN!$E8JD +ZQQr%!fIlQHlR9k)1I3keLP3rQUcUV5"!L*RU4&B!hdKCl4rhGV&GCH3[IBj![6N +IQpB,UImK"PG$N!#PFTIj#4p32!N6Ck$%2NRSDQ+TkC*PN!#'DQaHaJL915MMqdK +dmSHEPLR8Lc[`ZCYh",S2!#r-U*(Y#$cJjhS8-br-p)p,,qC,U`%%"(,2XUAiE*b +eRA$KIP3USaiLdiA*4db3!&QT2V`LjmPAKSJ$)Sm"-T8iam(p9bBFLY18UfLG+!r +$TfrG10,H%MC9DXS6Hb58Jcml&2B`H1``IA$&V'0laP$EFBXUe$pf6T*i#F"jNmq +lR%dQcBGkaYE8Zkl'E3S6+-2FeLh30Sh'6NASAi+CJCmjYM($KSV5"irRcLjkJkZ +pa50rim4e*J6MU1,$6pDe39$d3TI91rTQI"GL,h[ITZG%MPF2SV@mcfXH(r`[$R# +IDb)h#9fJV&YfQZN0(FQ!r#9&&`IaiK$K!r4BYTf8Xi0+VjjN"m-hKfR8S9VFb*d +MrhAj,15eja*DrXCh,'8C8qKP,a$l2(M5NpjC4jK@$IM*dL4HP-dL!@4'TIQ3!+H +KhCQUGbhHb4JAN!$Le%c`4SXJ")"Hr[1'4$`I#m!5,VFac8&@pCi'r(`&VfFRBAk +dFSd[NR$@mjk!A'HrXN3P(rHcp49*e&q!EEGF!98p3(h&HMl(TSN8MrL(2piZC)J +88'GDM!JSr%)QhR)jelHkHbll8"'Tb,Xd[l`aTX0[AVNcJ+Z`k$j#d9ZQa'RCr+F +'8"4SLq3%GfUXcKI,lYZP*0rk&X(9[rMRR(#C%VqJjB0Jcp0'k$5HAkC58IASad0 +ldZ3QLC-,4iJcQc3Q!`)kIjc04,biD8GNVB%LCAlM55eGUplhRh4(dbI0cqR[1XR +PQ,+MlY[0J'ZP**%3IaQj(C9pZa5EkpIHJUC644q0a(%mUBhP-F+JD("+%U-`lMb +2m'1BA6Jae$Lc946HR4!kBT[8AY@B+0Z[*3!(!CZS3hN94@fYhG[qJhB0SUjANZ' +r[U-85#pPZ6Y$HL"@8PY#BPYRFh+LAC%XhH((SdFhK[(*(*G6rB5mRXQiZeGqJ*@ +D['!'VkB`Dk(5%NTT("f1&qjBaT)S#iSF5GA6lSV["DjPm@4A8D@468*m2UT@&"& +0R1!KVN2A"N"Rrc)Af'B0cRC+!@)jVeq9hX6b6b-2+a0$-f#4Yb%1Xb'0KAl,,CH +S,5V9$*SReMRRF'0*q3mAJH9bb+BE-2iC%jNf0lS4!8H"BJ#1323pU[R"d'UA%26 +$8mDHQDlrM-[FRFbZHh[%rD$#!!@K$bP%U,6m4@0$q-33LScB$SFeRRqdC6bAHPQ +0B*JDaj%Nm9SmSjf%35PL1UUIc10K6bPmlhBrF16r9SE#Bh,e2jf+QUZ88qpHSLl +*9aX),eZ!4#N(kXLAb-!i#(fh2!S2eLq58)3Ka#1jC8f6'IJdmVMThRcdKmb3!2U +%XZ5X(kJ9EC!!TF008dJ(fIGHL5d11)P)LV-1q3GT5`i2ZB+`rKVR3[e#d9YLX6K +dqFppRp)MfTcS3AAeI'aApGE$D1I&6q1ZZMX2UKjH+`U"-FJmia`QSrpHAamF5C6 +Z4@3q'kL+mR@`F`k15(D(H$BIm!Vq(T!!aQ*A*-JfHT!!#IVp8mrrHA!3Z@`FQ*[ +B6%IKVEkGX@$ik1@XfX%bkJ`&E&d"2PMQpk-KX6Z`9D)im@Lr$!Z2#@GFklV*dqm +0Z1CZ2K`2pjYBB3G0I`T63eM3c'(Pk4e*ZVX+(&Z-qFqrM$rPp[5Kr$[hrKf#I`l +J0r2X@rRk8Pq(I4IKhACIKdlIcp$Dr$XS[`lC!1'r3qMDY!k'JFiq-,#!5A2C4@( +PZM[X1#b,T%qhhdI'-"f$B'@#XCiXN[eSj&pbNID)S*j(iLNm&H%fGDGbF["PK2) +LB-d$pEND6%"ma8Xr`D$6er@8mQqJraD3!+Q6rCh89X4I2+"8l[c5UriUkpFh`'T +R*,U2GqmfCKYT#kTX4J4h5abeX)NklT1G5fV&00UUP&hS1jHZ90'52LA3Gh2N"!k +42ST%#"jJ4@kfahYcT4&jdim$$X&84A45[qcX*meCmAKT&4C'r!SkT!RA)k%)ekN +*BaPLiX`[r3%LCj,K*[DP`TSca4bCk*6YF5$GRM"c2%ANr4bjN!#3!,&!qL[)aB! +D(,cX#54GIY[X[&iAc5Y#ZeGp*@099%A*5N,BeYh![NcfLfMSm,*9Lb&X#34GA[X +ZVFrS8h[D+VS1pQhHGp&8RDaNi,C20Nh02HC$l%!RJS*-G%KPfN9qqU!Ad5TNP2b +pQ8HkNqh1)a2PQ*!!2rHDPq[`I$H'-VJrlR(`(XUqke,mfXQ#UK5qE&RMB-#IQmR +X#qrqrE'VBc#I'3U8Z-M#1b0Xb1qh&Lp6iYJ20C(caZX"4J#Q!AHAc24Ca&A-959 +!hDZ+UP21[$p!K%,$C4-YR3S)Ye-Sp4ZkRRHd@QFidli$3jmT8ijAA+E,5K3%)Rp +EKVD-QY-e"bHp'UqkI5M*r2$8fa!L2$rAD2N#ZBRKq(Xe6cShU8'Cb-5@Z!r6J@m +H&%UK*95`r4id+!VDG8mXjb,NB,kHK8N3"Vq@)-bU,NUMa"j4$XM'0k(kDfXLS0[ +AmJd)BC,Z[)!f+-#Ame9IN9(B1&1kiZc4rfXHU#eEB$[r!PhLM$EG5ER@0Z'D6VG +c&M90)-1#FM(r&)cVX[%Re&h18Z2kQ4G6aYY$&+A3ZqZ8(&ipQ&ej%MDM$PSZkT! +!ddCqBID'L&SFje*@Ea8MR(C*2m4S@cfZ2H'ZFDFke[,V%30kFMGJqZM'j@Z2kS6 +Pbf!ddUeiQP-6lXE&m'mj4H3d3fkmeAcN!TL#3'HHqESX&jl%rZ,bM+Lf$25Ek!L +Sd#0$)i@Ea)9M!BMYC-YPNlCUk1PR,fD*bLp8R95FhR+4)[C%YkrheG9T1fAfTGD +r4GGDIL0!)1#3!'lKG[j&r-c@F@+KPRkfh"MQK%"ZVf0b!`e!0B-D44@`UV%hL95 +'HF#mXFTh8TcXK@aRX[0X8m4EPEh[RIN&&LAMP+h2pHLp3J)JA9E1PZ`&+!G`"l' +3!!"0V`$%Fc%Lc4!1SHKeiIaRFXakT6%e'3$9CJac!9@[C,m&eJ(cRf9i3jR3iGp +AfPBrc52[h8ZFM,r%'I&UB[QQ82K"q+C6IVqf&VN#M2GIlCSq(QI*UU'4)(h`[$8 +X2L08h*C#H'p)'PB*SJcp$P1i#jLq+hr3XH`e8h)Kqb@-F'dF5TAfA4IhNI[Upb2 +R"$PR+,PE(NcSiX`H58<fqE5#rjBri#GeGZ'M08G[(@KRh4G$+Vm`k#!I+)h)4 +L[dm85N)m"N&2#24X*'"bRr-f2RY)rfrhB-KFYBGmcR!&e%hh1QlV2JMh(S(3Qk1 +B#eERYTX1AQ(F9P2E%faT&40i@IX(Z&)jNjY[[!5`PUV3&*!!Z'UdG&[#2b@16db +BC&6R-Bp*GER89H@mHXc8D$DdPS[ij8$eRNC[U24(YN0h64&Jike%pbklQ8lAX1# +BNh(SkhHF(N+kFEhL2eZBCiS[Z!4Hh'i3RTHI05C,rJZR(&(mBdEDrZqfeTErDap +e4G+"RRH-U-8Me(-hQjrl[a#SQchmZHZMM@H[[5)ddqXGYJK$Q!aAj6DdcG[bbpf +$CBSBZMC&J(4m%198qJpLKI"CqXJMTIJFI'bHP(HGH4(+i%mHr8Qk#6V(hH-A&i1 +9eRfXM)`D*99'Zd`)62G#ql'3!"r1)PkTZ`KRpUAZ@,D("$PN!8T*cHY,lZGBJ42 +,`"Re8q&VXJ&TL%4Qdre+33+KIaIZ-mCE$ECS%CH@L5iFqca#A"YY8lRr5(K0`dN +paVZfKQ&%'P`QPpleFAj(@80HSIGMa*epVeh`ILp9(Y+am0X@N!$0!CIqG5JPXG* +p5FpIl%ZUffJ0Ui@,p)MV4ILI-Ip`qF9)I-L#KU2+lC`i$cA((V%)ebYrlS8PIJk +qZ0LQhFPiUc3U0a9R[qGBEX"L-PXYf+6hhqRAmKid#f(pU2#S96aHRRq*-ZrjqqF +IFTbp12C#T,V$dQcmCQ`4JN3&B`K4Z)rCX8CAeGZFa0l)9YblQq6&811hem8Hc&h +Y#2$-Q&ckK,rkh0Q+jr4BiFl5GNVF34BU09c&lH2(r)-a"8r&*9"KR%LJ@cZ,r#l +mm5ek+cF$'l!Sa1XT0Gkk-T2!5T88E&0KZi3Vd3C*cMYJj1#YKK""Vf5R6#)&U)J +V9"P&D,Yp1(r+I2DLqY5TX(KH2K2bLpEDDK6G4&9e'Z!-QZL4h'-TCVpBV*5(fRh +f(C(8#-q@jNNMppFb@RUq(JkXhFmUmC,E,6l1QYd5Qr`l)YhFP36Sb4m[+`894,1 +J,iA4#bShqM3CV$,8%@1A`LIeSk(dLh)EJE@4P'`K&EYe6S+qE'4+)2!93[%q&La +m1j299Fh[A5e3kEA`b!G*U#Y,IP,$+DNChSFe5N3h[&Aq)cm!-4d2PkN,q'030"- +ZDL*-,8d@%VZ-"f2F$`TiiYP!95-d--IDDU%1DL,3S,bpmiYm&T!!bQjFK5EAdVj +`m!5)qA#PLVPR$k`*akE!e)6fLaY4MNeD#'0jcdRjS64YaGfrDe'C8KRI6G'+Vm0 +NdeUV$MK@LqH[JfaRk5SamIjI"S3[##V2%SrdI2e-rUjDD),8d60%4R+Tp0r6b$e +Nb-pKHaq,ZfXM&Vrbl,TXcG-PRPX"NN@93PQ15DCHJ[pAi"l$'@PbhB$l9BpjB5h +$IA@KY6iPp4S)8A)kdI68T$flpTY+&S!pUmA2THH"CN(#f4,""8kpi-)bpX#Q43Q +8BZRU0#8$$rk&U8qqlUTCq2XK+YSUC[IY1%N`ii*b)hIAIZCmH`h9VH'pZh"dEl2 +j!"DKaGdm$!#dH[NF"M[!rAbq4i@(dj'd0G+TIQT1@kGZLhU3!(bBBGFfE8qV3Xk +@5%TV$GHk15pShSdQ&ik!J3Er$dSQ`&dK%%BSE1fl9CUifVH[JRUCC$cZ8R-LlT` +KKD6H32Qp$+f!SC``B(BdN!#@`BHT1T-I"TRQSi'*N!#KEdc)(UfDkefU9&`Yi66 +,6QhHJaD+i0LQYHM&1hlkV5AIa-i`'RTZ6Mp%L,i&F(1KJCM-kf!YP)qqYp'LEpL +rB%#$8kc+T0bXMChUKK54e)B`$l6rCl[Uc[T0bBb25aIBTC)k(MK9D-5fGI#J)(* +K4U*Ybj!!e0YJGIX1+iN&dU-@&[6feVZ,%,ZTki33L2!lR4UHSYD5eUbZ@pNmLG& +E'HkfRE&hpFB$e!i1'3%+QUiIl4$DMKaEk-ck+&08m!*QVKkfk#lVjjXi'j0+r@* +#EZDdFGeB*Lbhj9A`0qd0`I`A-a!4$rm1BaAAqh#U*mHdZ8(l(B9f*KUlbjCB(4p +lKXS,+Ce(l%JF*h&Ij)2HrYr2lc(Mi(QVq6%8e6ZDdSB$X@A5aQR*p!0rm8&6r`B +`j%Mr-JLMhRQj!Mji(ZS8S+JbqX5*,N#L0pf)Ji&LrI5-2j!!k@)GQ@TJVGi2R$6 +i-P%Z1FZ&-Q4E&#*TMfr`8aHDLV"&56IcFM`'Mj'14cXBqHSm)UiB'm544(iHcQ1 +Y@!JKf3Gk2AAL&Xj5AIGV+$ZFa85&Um)a5`LFS`$Gf831$d@f2B0fEPN[XB[$QY0 +cF"Yc"p3qi`AAZVrr%NiQqXVi4G0F@*UC4qb-`5BNIN*VY$cSJ"3Kb@%I8FLeKjG +'j)m!mi!325(lAaCM$jA1[SeKV'6$[#I&qIdPQVBArd2EjME(bF"e3#!E,CE9EeE +L"T6cM49ehQE`I+*aMUkKb0$!$0U0ZI#RQe-K6eYR+6G@MDBc"r`F8LmlEU!ifbe +S9$8P@NH6+q8[p,"Ci!2TGSfGTPTe(-30-$6XcZ#Y#K6PhB2FjcZU96afJ6@PZlr +6P,YdI`+(pLrrIMcTk-PhHY%e&rfk3#jfIGRVGRd1Na9[aX)-K&@@%RN3%$lmCE% +YUI20"ib5[([K0+,'q0YB4FYqr--Z0m$,`Z`PBPe5R`Q82&jbVcL@2%DA4e"qSIk +"@2#+8UJSQGdfcT1IL,Hahl[l%pC,H)H2&pV"&bcVJZT5!CIU9Fb1IX6J3*6*B!Z +kjMZ,C,YlJbf8T)VE%DJ+@HAEDNd#R+N#@p,hrbNCeC&C*TXSb(YJcD5'XHdT,RN +5UCU,9EN+eB6VIiKTUG4ICPQ)STj38kYb&`EeJ5Vr%@3B8lPdr,KB8bmMEilDQDM +9R+"(AN9(4qGr(9&6le9&D[Nr[-1j3CI2K,A"Gr@()mK$c1kprP,lP8UV3cmTalP +,jfQj9,`9ZMXL&,Qm5d"Me#+LH45`Y4XbVJh#&lGRAiT$CHQk-1jA)hA!-Flmf"& +H#IY&J9Y4q`#8pfQ'Ki"H!S5D,UXG-LD-#1A'[YU%eS-aGhR%-$,J6@`MGH%9YC1 +P`3VRYc")2,HBpUF6")L%N4XjY35-Zp1NT91SCFP8!9%P,ZC*e&rmiCYGK)*m"8S +X868q#jP*dQPZr5D2pSYZQ88aYAd)`N*R4Z(Ri&2V2F#!#9`H+!28FPQbU-'"i%% +kXhMUX"4VSbZqXQTVc'B2`6[5ZUIea3PG(YFkL8aJqLVq-)e1#%!1Ijr"QfSRij- +e4Yr*iNS9+%mP@$%"Rp9e,B6dY6BZGLTQr#ZpRRVZeiS3`LQKiXFS2JEl*@Dr9IH +f)$V@+LJ"9Z,Ql[XBD*aEK0[k*-Kh,EeY-D,)([G`pBk)pFK[S9XQTJ3-0`Yh(Hh +c8%Z6r&)*3Tp8"!&1aCV1VL#4V%Dp*XbkcQ!,[j,T[&lJE)L4Y%4)04c,+!lEbFG +0-5bQq-XP3-m0,r%bSY$RT36jI&JRXSIj5!N[[qX#HJh),KGM45R)Ra3,JZj#ILK +lD(dKk"E&Y5*a[PN2',&5Xqe"[@Ym+Y8H-R"bk)fc6PXQiNbC@"JVcDRX@G'C-5H +8!-Q@C@A*iK1*k%E*'`H6rS6PRYV&0,Af5CPiU(ra@2*RG6B)rbAMFJp,h9Ie@iG +6"K82KmGFa&N,KD+3!*JH&qIV8e+A[kDm"1qNBi5rL6"%jNA"k$mM261J[(0HT8b +CdbM'J#!)'i2l'*!!f44[bH9b@N3CZH)j8rHbKSNrAT4jRY1)5-"L`aXLTahTXQ4 +mr"c910C0m-A-FQSTNJEAQkT#&p'j8`p(PDK30f)"pc-T&&YTrDbjP2`CdH-j1ih +9`&*U55e&f(pG6XKf,kCG*V09-[QPflLZDAR'9cR6q$'SA6-j-AU1jH1[5Sm4c!M +V@90peSb#hdP3VCi3[VhelAFZ'UXQi[C84Z1Y1M[rIph2SIl#(#CYQJ[KcTV!eqq +EZ4ScDIe4m5#(Pc6hrNbkQB-Z*FJN!)m9(01!F(fPkqc4,ZBD5&TR#2F$"lTSk94 +`3bAfh(9LNElfXEUV%)SYhUf[8N,l-LjXA@ZE`f90'P!4fKq(pajpJ)"50A"9VSj +U!RTYl,KhKV%$)2ejk0%HMJ3ICJ"$11K3a"$G*!!mZFH)#`a@B9*iHPId4dJ##FL +'R&`Y&F2KU2[*'@M8Xp("Rl&S+Ne"DS#QAA%3)DMQA1cqiAppV*@U5p5$-pYS)r3 +$CJ9JpFLI+RAXNVNb,ra+fM#Fph2DSRT43K1#R,bIf0Yfmc[%MKC`jHrF+UJf4R5 +hKp36@hp2DXLTIGk)rFID9VR#UREZ`AHLmP0TcX+S0BbJE`A&C0C5XTIBBqB86%b +-[%qhU(("KEGZCVR-#m&#[a3rcHI%M3Aje(hb-q`RH@)ZGV[,9q4G)[IQ9i"a$G# +-5qMlqf[kZ0e-b(MC@*i,%"!5dFAIq1&4f4`&dD)Tb845hm(Tl$MpJiEA(*`YmZl +l6Mjm9(3%b#[ZAeC*eF*d`q$&e62IM%@#'aaR-aP6&cB&8MKJd,ZA34"$[ki9p1a +"TP*,`'idBFS#BUl,#KF`&PVYKT8"r!$%$rSKl4Hf$Xl1'!&J)5ql0E*pFHJV$#4 +5r1-*L%"0S6IY6K%0blrDBLQ"Ec-L($mYS0Sc0HE,NQf0R9'A`IR#`5&Dl#-8JK$ +hBhRje`8lb&!*c#VNX0c)*QHY0L&UA$Z-'`EK!rRQ*)QB@L&1,I@3!&K6R%1eaFK +S%UhEAYJZXmV9SU4CNBhV4S%NSmdP2LHp!IYh(S'pZ#cdRjL%kXI8dk+[e*DCNY3 +U5QKkd$)f`HAU#5BdQrXe(&+aRfX10aQTe!Tm13(+HY%m-MLR-&BZL1)E,*P`q%H +S4+2(D`51P,S%(rJ(8BV),`p"@Nb[QqadaR,,%-Z!aXM8REqf(+&$,hjdBMa'Kql +4,qpa!,Xc(dZaVC!!@9'BY+&#D"[3%QdIqA2('"Cb!Q)9hd#ecEhd+$3QKqrC@A2 +6P5KIa9[*J4@I',E4JG6fl(k1X"FfDKYM'CD0&rl6h)aRRbSfTSrJDd!,C3D2&Q! +dYGkVY@AE)3aPmhiCNeJc912f4T`GT*0IGZX@bR#Cp+l@ZpYdYilhR9kX"VNZHB` +iKKK1!NFaLPS-0SS)5NS&Q82BE&EpPq,3,,eUN[cLC*202NP,CBcKc3[ST0+KZJ` +A0XpeSiHAj6-qBq`Y)RFi9%L`QD)+*eQ$f`aiql4(A4C-TkJEF1bH#@GEb)9KfY" +fMajD358jFM&*IAc*5aB4"b26cm)RB5$)U"3D4CjTNHA&"b+!MC46hJfNe82E9J1 +@U6E2`*ZXfL"(lYZ6"#3f01LGFB2PBiQ3!((r"S*DCN)"T`KeVGcRbSfm283@Nam +@&fZK0GGeD,i"&AUZdR#VPS+[TK"3rJMI4bJa2ZUhX@kmF8)pr-FHmJ#@jbc6HUU +5XGB%G)fT'X$&NK3VTFVP(BMicIlS#B&jG+BiTQ2FhVM!l1HAGEImMc$PICkaHK* +m5iJGeI"e8'#NU+,U`qVY@k5FLei'Am@-S"9UI#(DCT-JV!dKV0mCF*DSe-I&h*D +d[$ACQ@8P"SZTj`6@Q*&M(la"NT2)M5JS%%p3Thb5pp&Ap3ZpDa%A@D0c1emFjh9 +RC[pfk0$erL!k`+(Q"hePaU1jP4a2bYM2F'r9m@B*@X'eG`'*2hmZY*RkTX,32XL +dpGf,lkG2@kB('Q[ide*XF[GbDied*kiFNE-,AcUKq2Zdr@pf#$EN(j*35aT+8JQ +Yr5G`%I)jf+"b'3Nl$@!H,AZXZ1JJ)ZkPU5B$DGD"j25$54XKGhabRQe1BE@LbE) +R@&mZUIDSpJXRT1+$i[C['C*H(1&%0fG6&FXcYJ$(S`Dr@pYp+%JhY2!6-MJdhh6 +KX8(cp+QPIqMUkaPLRLSjQ8(DleqC,@RZYakUCi"22ji1X,0AI&A9IV$2B0EJEff +AJ3lGkHr25Aqi9,MLbcqi,+T"XP9bb`B)qFKCj2@MT@NM)jhe@&G89dImpP@*J0J +)dqATRMdSEflEijbLB1J(P,a$RaX$IBLpb`lAPU6Irc3PGiRcbhjbN!#GkM@BBMj +$-3-lNqfhA!@!#Hp@pJQ-J!$e(53Nl3JmecaH6pr!JP!9%+cKDq%lNc6r#0k0mQN +Ppq,$pK+JH#3iHmGF2`FH!H9KahrZGP&j5SZ+"+"DP,LCJmMi9@mhEXdKD"2LpZP +"bN9QG`6$5I-SQ99XCL(adZ6Gb&H1R&pCURl(,KLhC#V-"ISS++8T$eddf9(Lk(B +mX)a3,R$c)!Z6lf9@ZY[Qk-q`BAqJLlaZYFFK8LP0mmel*R,Z3YC$REbKc[)EXRc +hM'P-`DNeLiqjY1J"&ZcU,pIF*i5#U9Jbc**PX2m2VdN$jcIbKarL'cD-$cN9j1T +F+j6p6hYM`b21SKjLP2PhP,HTie4ri'R+G$[-6baTN!!S-ICDMr1'2FcBVMVkX)1 +9#3@'C9TQhrCmd[9p+46cEBJGPFVC)*P`9$Zb6ABfl%#%SZ&Tj(a!,2X(GTIa%$) +kKED6r)Q2@)-#jkVkGaQMZE)QGplI!1H"BA6#rc)64N$)FB+8'[Ld$`Bif4JGaeB +NXcldAmZ&A"EVH-q'CF#[mqFK6X1P5)mr'&%L#SajXB1i2N(I'VdaqCC,+h2[[B( +XVd@H,+AaHN-$6f-KZ6fcM(@+*mF!balQ!9%2*)5&MP!*CQ[E@&&,5,eq(fp,)a) +'m(04Ld@'CIXiPfGhrdET'N[FeFbdj'5I!9[Mh,D*8DL@TZ3cN5rSNN)X#XpTQcP +XG06IZJ6lUB)aJ'Qd!QD8#plBS$Z[`0'[QaN)pk&RY6CFqh(b!`(mf)mCdpf)++k +0HJKB28cTS*A5-HX#L&6`rF)3#$0U2qM3-L50SUmrjCMj)5m"KfF2ijM--Zh"NUX +)MR'K5MF%S!IRVeARYRCA[,'LC-"arJG*4a#CGV"'fTl#iT([9&$[aX2,f#84F3G +mHI$k9LU#[Vl5bS#k,eAiDK-l3b3UT-B8bE(VXeafZ!P%,dPqp6[#KJGBC9GmXGd +X5Vh4GcZJ!!K@dLAi'D6,FjMp[I-,DE8BI!Q+Ni[`L@cB&!KlFP)cc8B0m,T!PR( ++F3L'22-1Ebc!Zfah6JJ"E%6U[TS#0ir3m#`93)5$jA(*,bTNp#2Y&ABG)f,V'Vk +l8FG2h,Fc9,mr!ip@b9qZLbdQ1BYcL,EK+l4[6J'*hJ5%S[eqlc&8cHC51TcmGiX +TY+A&%"frmq'fer8BU0lEV#l8I+VU51$p"`De6`Q(fH%QjhMPFT&02811#'&U-Cl +UH[VTk8Bc9!@UUS'mUE!kAmVG3UV"Y*5rU"+R@[d[L0hCfS5&a1%GM&r(r0UTja` +'`dMAbUR1IJ0#CP+mJ+fXmKpEaIlQf4fHLk6K2Tak#U$fkl!AVlrB1kB'J"Ra)V+ +"I"DS-VaEMfipeNbG3Y4qPd1DUaZ[YJj%h)H-E$IIeDK&+(`k1ZZ`lMTEfdi6"Gd +%hfX3L1,jcJ)#f9N0A*pZbl!!h&UaccZb,2,r2'!FkfcS+MBcVG$*Rm8rP6AYG8l +5[(0D5T5X2r4!F&[Mh8A!"4Xa+)*0Ek32AS8Sk%@[ZTf[3RX*45bM6BJ56+#4(dd +kadAqahCjZ0PcA46XPCN`0Tqf1J9BPl'Zl5,,S8LI36r&3Kfq`I*U2$G(XC!!J5J +@8!m3bp39kCGi3"f-%jQiLim$1-Y`c-ppf*eek-"pbAA%E3rmB!Ai8PdGSMLQJK) +Ap3f`Y*El!l"8'('C@[Zp'I&j0-+5R%LrS[5G4lqhMH@#4&EPG*C3)hAQ)Ak)(L! +ZXKA$mr2%'%GDK2M*kp*8S)6Xh-bSDM+Q@'*qHGYZQZ+1KHJEdVp2Kb*#A1TGHbE +T@)j9aj0kX+B+iXL5mGP0cAX%0NlLA,G`EdkZmS"a@@6-&K8m'bfHN5'6f+Dh`8) +$kk8rJe5rN!!,0p#*Vj[hCh1S8KBXK--[(X86D6m,PDlLXTa-a(Gh0#a"*(Skb+d +dHpj"$*E2ZS+P68-4!rm%2&LqJ9e'l*c)!S#`P+qFqU+Uk*)"R!-k`KTEeJaB%1- +SH%F$1h9UNcTRGi4$R"10V+MF3ph,,biTqNccHDAj#D&(RG*PXqp9`pq@3jrE[m6 +jiI,Z1j2+UK!TNHVBD9+E$mcaAi9J1Ga&8+*@4BdqJ-GN@)b@3,IH*e8qh#F1-H" +YD!Uh"I(-3$jPq8r1`(eMN4TSXHIc8JLYqfDU8Vd*a%CPl8VNc1l8$@DUPGH5-Ge +K8eRITjYm$eSBJ66V4FNFGG$6a@GR#X(!3)[K33c8%FB5R1m'`ZYZB6C*3#N0NQ8 +KFNrBS['&+GLAPr"GJ4``#lXA*1@S[,XdVRrjh-fm0"iSV5X`m(X*@(SXrYflfUQ +QmPDUkGGchieYApAqU@Ia--#$(I3-TH41mlPJ4)`6XR!`)a4*@$"cQ[1cRq3(JSF +@c%Va%5QT2e3TX8lZ")XPmmUjZXZrK3C3par$B0-#c(#&36Zm'6+1MX6&jJU*H1" +LF$6ZEGGTj*Ra@e,!Y&QGBB'"J$X3pPd8N`'A`c6Ke'&l6q*DVe**&$'EQF!0E$a +B%+r)4lNp0$XR'Q3fbdrkrQHb@NDCr29+HKpa*8&Ver`[%kKX*`%b+d##%@#dQ', +XqR@2%bq-[$%fq38(NDC'f4@0D0IjY+j1f1IAEacqP3L4UTM&cHUh%Z40M9dA,jE +-L'-")%dpqSY-H8NUXZC,c$QNm8U&"p`Ub1TLJlc&HBrrG38%9AI&Fb-qKJBfN!$ +8fh'Y-a0Rh*!!BrKT%Xh%Ur`$pNd'@V-ecNLiS1dLiPNSF$AU&P'JDM590RrATME +Eiq&f6a"q(3XDL6`,9C'!@RbDfi1YH91Grh*3a&SS*P[U@5-cm#PP*DRBa+%9CaZ +0N!$FN4Q%,HKmT`1FfbQV8S2'-%9[35L@@Fm*iBf`1lRZm9`q`jeVT-'5JFSq$"8 +dD9ZkE3S*3bmrjHV3P*Gba3%2@p984UmKX2#B@kY!jLL)NeS0T#f@$1NiCH3S5%J ++h0aE+-Xd&Q4'CFS`0#8Q5V44DXSm08,kV$(0E8!3UIbqhVeeY$%KhQ*A5R$kR#I +PFFZ5b)Ckk[!+qRIMED(0r6F91,a)f&aI$[,BDQ`GirdC&`S'4'4rVUk19S6CERK +Jfd10p*3E1Rbq2T--4,ll#*G@q-!NerJEC&02bGBRUIIJ5[PDGQV)$2($VHADMqi +AD5BI+hURQ-qlLc[XSQ2!bMKHfrX&h*H!E$$AmQ6m"5(G`cUA#U&c8$!)MqC@Y`V +8((BDmbFX$+2`8eZVhbLRL4d%fKI,314"##FFFQr60Lif)PN-6%-4P1BfRc95@6A +LcT5Tr[TM33Ti`8%0C&(4iaY"JR$jFl8D4al4Y0L[NfQlNV0im1YHB6Uc2NT9dEf +Y'h*N9-PF4%,LKSrNLcIHYZ+UEfK`Q82lZ5IerfBP%H5qQAbj6I2(4J&Jh9ALFke +A%Z4iZ%'CF[dpf-BH)2Vla!4JmR%I+@XZdE%KjeUMjkA5meNGIr%"6Ail@,r!Qi! +!f1'E6m@%'+IK5K+pIC'Rkc6N3p3Xi8jbhV9kD,`!)JP#rfh$,BD`PGEMHH5"IU6 +fcI,-dbKDP8ifqM6l9TYcZ(MhPQT[r[&8AZJ,$GdqlFK!P+8!)848qr"iEG(k09D +TRaQ!Fe0d1a+BXF2"Qa#T1GG62q1FpUibUd['1)5VK(lClNeYTN8r$IV[,Yj,[G# +EXhcEL%U#8T0JU0pJp9!EQ"QqCZd5dVT$U,dNA)B0$e&Y8br86'k2V99jRY"R)#h +Pip6I[Li'IUjCRVj[SB'PJ5*rIPI4S*mJ+FfJL`&`mHjRXUY-UU1MX[Xd[Eh0EY[ +,PPe6p#c`fKT$k[i)N!"B2[F`&KY5GX#dTQ`)h5KXPfZf1'kNMb)bjd)mUCA4EkK +9`b,Ea4YTVafSia#ee8N+EDYD2-j$IPpKMQkM((08a@%e@N@2V#Z-)+*r#$(fmR& +h-a!I['+N8rVa9L,GC-6ENViZ)GEG$Kl1[8UqNL2V)B*3T0%-j#M%X[,FN`Bq,aM +,0iS*Ef#C6m*R9aX2-i"&CTYqTDK'F)U(Zj59j1mQeNp"l8i+$)a)%@Qfe+m6[2C +fL0@X)@[)JqGYif3-0T4*PP[FUbcD*m&-0J*SB)aIJ&["P*4,jm93K3k8mdh)flJ +$))FDradm5mE2LN(NEE+`9EmJ6T&lcKU)2&'!FJHrFQ$63G[QJc)-28GIKq49!NK +8rcJ()@9X45)d!F8E&#$Q@jSB-DpK[+EB+d6p)J%IV#Q02cklXGChATiFZDkl`Im +'QaqHKMa6P'U(Yr#r9@*RRrL9rcMRE%&Br)5GZ"p`%Z`rajQ66KcLdVVr)3Nlm@' +VH86%TBjHFeNM!Ar*@"Y-%N"1F1qEm8%FehmF$R9Z&II%r[64[k-(XGERaD['8'f +-*+(hKeb1''TKhMHCS%qc9)r(0PA%SfdSH4JdEqGESZb-[UQTX8SBbKE@EYf`YfU +FMeG!J@-SrAGe$NBbrcX3qVP-LCjIh22A0R$@YD292c5(qr!U%pK,mD(1$cP0&%- +j(+!$9MccR`($eJXBaANcB%[%TdK,e*EZ%bT-DS[GD2'a,EXB4KhB58@r9U0k6fb +T'lcTCD@+Th,kBlcZm#fZ[i*r@qPG'i$#20DSQ508YM@)qXQ2P@#0[UUA8[HY*HD +LfUUZFG4C8@Q!T+[QED@iK%E6&!Gh(*+QS)1C4!`L#H2SDY)`P"C`6iT[a&qN5"l +BPk&L&L8Jd"`r08L"p`@PDr00fa'(bhGP,$mX482@88[l![%ElKfrchT,)%qUXjM +VDX-$AbA)J)L3!&lD0XB-b3ZYK-UPb&%(62-!86699Gdf4EM*"1X4b0(N8E+c*$i +kVj'k%SIC0afT)cmP4lN5"q8H$Ghk,NDlcrPq$5(SrH%hRZ%25CQVRTUlB'fDM[f +TTXKND#j3mSc6P4bUFjk%rX-F&3F*P%(K+fb)INN,B%(hK880Vk'V#Al[!XlbA0X +`8)pD9DVQSiFr21a!MBV*9UpkDm9m&Z%1p6Sk`mArIcrIR+M9&eS5!!jZKVZCG,a +SpR8E4kmS4@U!jEFZ&*)25APQLi")8d0i`1hVEb#H'l$j(1VVTr866T6bCNRimJ# +aN!#m5XhTKf+0V,V1ZI)$Mckle#+CeDKHm4H*U,6FSUJE5CpiE&iBKl'9UZ8KL#N +5db2!pE$'JX6i&!'ZT!lcfVNJ!201CPbRd,I5fT,UULQea-2!jUU46VM3-B,iFhK +!6KRZkVZA&&L2[1%bK5@"E,+c$d2)-G#Bref2!@L[Y9i00PEJ&Bh-9L5Z4VMDdl4 +2R$C@cH!H6(M'XPJ'9iAqqbp`dMYFpAF$'$9hDXZ8K@&Y!#p,j(dm#2LZ@%mNe3U +DX+IrBb#Q)cGdDAVVXRB!*'M`a'@&hrEFM*[dC43eY,A')i+SF&`5eJ&6rQK8@'Q +G8K*$6USkY+B2qk8LQpVr3UQp#jE6(Uc5NcqSIFbl`MD@"#Xl9jZrr`USl8#[`!3 +3kQS4#14JY1dTXY)YV#@%85`ldDbI25P3M+#-*Z"aD(J"'YE(bZj8S#I15bZY2&X +8f2'TeFT'-h&p![8Ej2m@GBqH"TNld`I-d#S)LdD4'h-`8@KfT9'pNR-mN!#*!EN +"qPJ(E`6Be9hC4Pk1dTESp8Nlb%EGT6bPCG%qr5RCP,iXqNBh1e!Sr,IfARX1"b[ +6RfNAB$X'kZ8Y29BFT2QL22I@*fqDL&6UeA6&"&56qIp4VYr3dqeibNhN6$J4p1a +K[*c4@q+eeZ@!Y`TLbf4jd38leR41b!'ZSjrr5Xf+%%Y)[,Z*jq0IGY3LaI)h&qV +)AiF&I`Fll!PSNLimpLY(TZH'IVB#!X3dD(,U9([$JDAf#Bb3!'l+`b0YDdl10V" +9Fm)GX11E0ll*G4+G@eF)-04a$!,'$df&&H-Md1F-YC1I1EKBj2MdZ+aAkED!Y`$ +4!+j2c8fQa"eh[T9&H6E#THBihm5&9bcT-U43MBYa)SBTCJ+qErC2Ge6p-(m3QcG +D45+2e1%H`K+++'@FKZJR'LI+1P9L3MCFj9FU3C@TDbHqKRFefhf*qYP)M@Mk3Fb +QU#$2Nim4`6+l$IN$+jrAVAR2H$K9P*B[HYPYLEq-q9kKMM`*-m2ALH'ji[Hr4TT +QCPLk*MHIj(3"0XpC#e#p$qeNS,[9L6J`hb2ij,'5i6A*jS",VqcaV6C5f(1S35q +US1T,GZ8``FP6qM3TG4Ib'FX&dQA5lI)U*MkcEm4$q`aI$95XN!$i*PCI6#41LhL +-dk0Klq)05Y%()brAeDmB[&05mYJ2cQf!rJZ9m!@[9a+r-EZP0dZ`([,4H94ckIH +XBpkpMdU9FJZGmMd$$'M6C1!3q%YV%"DYMR$NeSdQU(CDAN#59G68B$Dpl[1Zpmc +I6cC!ehpj)G"-F3DliYVp[lS8HHF33$b#2UlL!DkrBRXTj$TAB1U,!f%jT`'lhfi +9r)M8r3)YSSkG5VH'p-NbL0JKeGj3H")A0qqDe6hI@&$-,4%HN!"TR9mhLLYHaj! +!r4[f$&8iHNVi((,hheTb1+e2D6p&fbM'bB&VNlq)dX00$CM3KL#Em4S*1(ja2B- +Xk-P8qCjA*fqhNhK84c+hVm$*1pBmBJ+M3Ah6%R3Bcf)aXHIPpZpAm1dMq(9ar$V +$eq(69r2Zk[`l8lm1XE,m1KrqIECIKeSAiG4iiEp$k0Ud$SD-`3kS)b(Dek"HI3j +'*NGUL62%C,AapiUHr+pN,+S"##QpAKZ&3KfL5%5R3Ypp@TG*98ZRJdBJPSkEFih +`YH@X,F,4H2Z)JXT2EBE,M"p"E,"Vb$UU35L[2+l6U6STcqB5GQP+&e%!aFp"9TY +pC54C(I#ThfKla#)q#5MI&rY1Ua`f8UJ!dakEpP9AQ&Bf!"eb`[`1`@-D"fbZMk- +YhX3S4L6cC-EcQaEa1f$@%`Q(`"NBJKZS9TR#Si08f"U@*4,DC!4cpI"`1kNlQCi +V6b&EC'R,YAqBI[A3ae9a3LeN+pPQL,&IQ2)GS,(2RLIYf@U1KL*SBdZLPF#Dq+b +GRRfidDUJ*p%UC*VAH(aV8e1Z,H)+3'AlVM(S9T8$+DU&2FXf#!dKB#JMRjZqi6f +0I&RdUY-@4BaUB[%,)d+,QCaGdTZX)YqSqZ[&VJAKXfS2-SJ1BFMXRb9hR%`j)B` +46*-DBKUB![1FiH64r&j(*!pG@DG$mG!a4Z9A4F49U2@3!$X"ErmJ9&bdqDr!B85 +F'8a$HGlM,clTC*hZDR9N4PJ2$@P@9C6rA[PaMCakAf"$bIjmTUqdA[Rp$32-p3r +dY04lm*QLi6a+&b"`HA1#)B85'$PLc#Zrk+@3!%%U)1$(9#a-ar$VpX+EmkP#Y5F +L(5JVfN`S2M28+%fc&)PTDq40$mMeJD0"fD@H&X)@6hQQ@kB$20VGeLC3PHrIj#U +1G(5`b@E%*RRL'("BXSD!IS![jrj-fM@U0,jeaJ8JRPqLK69'ZNA-NL&S,kJ-PXb +GXb58FZ9YEb[q-JHcaIa,TdHc$L1`EMd,jJ&0[kl5l'B2K5"H+06Z(fRh5hSi+LU +'FPCA1&SS$8c(UUB)i`&Kr&C#6iafLa-4FC92!p2I#c5f)F93'S"#2-DISDf6"cj +S`UQQFZ0pV*Dj@mASCC2(Sjb3!&rjKT9E+k(fT6$(DYrF+l41`6C*"0(L!(rh9k4 +@,+Mi#iQ2pK4XeMC-i)[&Z2Cq`SNleV0(Im3PDXaN,JT*FLNC[P'FFQhd-%i'5QL +"``H9Aqrkm-C59*AD&qViq",9-D$I&0GhfPP954E9U8Eae[Mb!JF"8SH@AqBj5KT +3I%LVI%2#FDTB$KkBh4(Rekac&$5G%-dZa(B$%+p3kRj3%IX"DG&9aFaQ9R-Z3bE +4P-#`%mhkfIcIr#!`*bh2cQI&89S2qBI$46%D$mhQF(8``qbhAUP&3%ATM#HG[BC +V2YEr3")3@15@`J-H9Rpb*eXA5)XKPi$GC+Sf0C8S8,jR-`TjAdXaGAb[pKMZr#N +L*#)`0Xe`F3kLI8jPpX"LKVF8km4ja),Z3T[d%09,dq1LbE+(q+k63&,Z3#dri6J +R&d`q829A04dIHK(T-A5RDp"ccX6c*%6HQ(k)-L6lA'KY)TKmmjBS5mRil`HB6UQ +HJdULm$!Y&!6cb$CEbPpqEIjf1S#(U1J1iSkdK`r`m"r"SMeA9b4q(SUBh((mr-M +XiaLpmpqp@rA0rU4m6f-'"45T(+(dL$5R20BJ"3b9X,qiTd8T-R%6[JZ"K+0j%+H +ViP$T`CL9kCVQHhd6F!2h(lk1`@$RqmrJB#pS6V#'TCiQiJ9qpb6lhbAbLq"UC0F +XS!AP%1c#f!$1&UlA6Hc@JL4U,YVE(L)Eq8E($1i6l+IBBjkr&Ke-5#3$HcF"pH- +ri+*#QISMhh$)3GNX,*C)CF6ZihhrD-ZEi+JQ$Kjm6dL$D&iEEir&Cqqbq`qDP%j +6Xj3JP!XZ*FVbYThQX+a1[qGBS5G%VG"BM,hSM-r9!4JK*NQVLd6$(S0q%&dH*,h +,Cl!J*rhkX&c5cj3,2YYhQ%IbF9JS820c,e&'lID&H*(6,k44b&(Y@h@@-0S6-Jk +ZRTAY04b`-rUr@j1K@!ID`3T'-bd49E*D`%imp9ef"'ZfjR)R'BVp`)p(Gmr,l"q +dJQ$DbhpA8Ed!F#GEGDT$0qV&%1p&p1L4%090QI4HL#%J-bL1SHHZGZ%(#q-'0`h +HU%Jf[$P5S!TAjL(p6!k9[qeeEl2Sh5,&SfpeRDLVC#!02@S&M4$IK&*CFJ14[&b +alT!!0Q&Q&H3m+SK4!BJDJC1e"`8[M91H2%8L6,mq'Xfkimq0Gh8YqF!BV4M$'la +0iM5UT#AB(3c`&QiYjMA'P'NNGrl`l*j&T[MXGRBRV[0%j&4,9#kX%%Dk[pVF`U8 +XQNY0"e6-+#fdb$UHF6P!qh2aaX!fIaNJ*R&r9hl['3DcUi+hL0fCaQGK8)Mr'19 +@FP'm9EeIMJUpp8S[G#*M%dT,pFb&ERL[#0K5dcS+JAcd[HRe6FYCAC3%'pXd8)5 +3!*Ri%[L9cAa$F39[C,eb&V@eB*USRdeNVCpScrp1d*4VI`,f!(j,A9NB1mcIUqm +FYNUHc&3+F"48),DTpM&QaBQL3'KGVkIQ#dF#"US6-&kcHbI!XA,ke$4XBKE+XEE +&lZmFS'T#e3k)+h#*`+*@ENN`0Pdc2MTM@9fDGN$,X,!E5,l*ri)AR5(@VE`CN!! +R[J2`!3%cKfL&qA$qfi3MEMK&8hLfS@hYq$"kAh8'#+%b"Ili`TRd6+TUIc$#cTk +Qla*9F$f0f!*6mjB'r6a#T`%MI@GhHA%dY9cpL1N#M(UY,P(kAUA"q(`,Er,MQSN +Z2l00[Npp0SbCPA"9"0+Ch+546Tjfb9NM[T-r`fac6bJE!l&5CC+T8cp)Ep`9Z&b +LK2'IG)PSR#-m5IiXB`Jfp0I6K&)A[ql6&p%T4608,-#`NE294@De8)h9DVqc[5+ +hCMmPhXb6cCFmR2XS`'m,"2eUP1rZ@(5ZpFS%ihN1T5rr#H9jEq'0J!1YQk4c#%4 +[6E3ZH`C''DScD*!!YpkYBp04`[mL4A'*E5*Kl9'!*i&f`QT!cL6(V$D1@0!'D)2 +aP#&YYYp2JB`)#R'MfqLUq4(,i"'%dPmhFr8S%`hYiUX)hPCLL(Z"%$B$ciVr+hc +jIDcdM8)XkLmDXqU(8RK52N`!-(VGq9I9GXVb5DMffpBlYY*%L2VXXl[B63ZB%E6 +l1Jh$VR)mSiTM5YL9b!,cbLf-fC,)0Y2[LBPT@@1Br1l%*G)@3Y!3TVRSCU8V"Ep +B3Eh#I"T1rdC3h1GYPjkrm-!0BK%,'r-Ybp`bdGPh2k)##+#AEYk"aI)SAmbQl4j +eH,pi5[,jPJ&GlVAP*)PF9jrrJVaKhF($hfPZC&3@$*[,94E'21HFLSqTU(JM,Q4 +dNYPkFdQQV)5hKb['NQV+T9hA9IX1V%FJ9mE(R$5k%d49m%Cc3DcD!K+*M1eh&HD +Zri&D2D0NdKT6IZB1cYp#"jNHH*LE!HR#Yd-q&U04dj6CeEh%58Y(96CY`5eQ&pE +3C+#3!%F4Cm$F*N6NJ1(-3,6m*p"kGj(&510jrUA'Lb3IB%d!VYi+&LIMQ0jBQK6 +YKG29J4Nhh)`i*[c#a[58e53LD%DPqEHcLA(2Z2HHJeL90Urr4pPI'A%KmT%@qc6 +B9@N#%ZjM[Hme0UM4*EV581l%alQVp'(D&UPKEF6p@C,XmkN+MVZUN!"4c2GhmMp +r@4))$GdlB(k@`hkkYiJ"9D8Ya&4B*UY!%[bhplk6Y0YbJ863D*QbKSU4"Qd!*-, +-)T!!cDr"UGLB!6KKIrph3V13!00C2El"%50+bi"!AUDHLcrP%T*[@R*UcdBVVrk +b4dR939#YP+U+)j8'YR`M3'DF(+b`,Y'Jd2YR!C2Kp+H(Y6V*iaU)Z2I&8-c'd4" +LPZ!frejbbJYUkP`4CJYkTK''T$$`FJ''DlQYdpADUUIqKp+Y`9FH#82J0+-d0a1 +rDrib1VqQEXb'(Z(`YGbQ'G2[C3HHJ)%-)Q%l!$JhI%[J5TLhM,Q9`p2YjDGGZFh +)i'N%"$D1-p"S[AP08k*i5qlQ1@a1I@`aCJaUrUqZpq3)pe6fZD+E$cIbYcmATC' +X(!dp+QrXBa"TapB!EqNLeL3FP4"aZK8a"kKNL+1R-,lP9jL(d"Y-(KEdd,m062N +c,hS1a4qJJ[Nf91`Qp'F*a&5"PE3G(bEhkm%GBejf!3QTT0"XX"E424URFRDqh1[ +bL0Lbq)T#[LkD-cl*,bB+UCj!"kr!,ILEVEqmMC'q!9`4e1+@)9f$Nbd9LZ&!(9r +R2B&MBV6J%9Sc9IYVb(jh%%[ldC,25I@*N6jf1a$h[@c$[eEBHjN*MRPmHc""b$j +,(&YGFKAb!lI"AAefdp"N@hqkH[6j0m53!(3QRfA`#mI1M1fD+(j5caUL4ja*Mdl +j0pl[[+UQ%hr@d(ZrEFPpT%#'%!HV@H5B9,%CTY4ZH1F6&9VIZ28,'#)mECd2+Lj +GqETZHHF-3%"GqNNfSUk#bqjq&iVrCdqY%i42M`fiI`P2B*jcc0JF1drV3B6CF`& +(V1qB2aP)SYVSC6UYkPCQa0TSAVl6`")[k,Q3!'fA1Ic"%f8UM&iX&G'rL"-UqQ" +H$JUaZc`rc!+,6EZ!8Gm)"THk9'Q@"5Uj9`!*c%eJ2ph2SIl#(#CYQJ[KcTV!eqq +FA$,)Ma#L6GD&F%2bhZ)DSNq$YX!*Kj816h"b814mfdF+L&1l38$&&8l5br2f@i$ +1MREC%VkUh-miHXfb8($YcH4"Ab(qV[)'aXQN-jl#c*`Q!PHiN!!J"*L'NUa)(JF +V-8A,iPSR"Zq8e)4L!T4l"k-Ria)(9#l)STq1hpKq!JreJZ6+KRDZaR5J`rKY%a[ +Q+XiTXl!%M1cfaXQLZI`Q*IJ'96k%Z`e2"CAkmYNYBplB+r5mT(dL2jL0mDZIFEX +r2RJ++,8`I00B+"P0Q9GbM"##L5+hecXcCC(KJ3ifeP(cQ5ed!kN[MR#0C@(QZ8d +HFq+@`c'''"%E#d3DT2M6-qBa`m(3G)Z@,H"6rLCFlR[d1[c5kR)$#`iPJZ-,K4J +QA`S+-XMA$N582X`1)TqBHm'%cK4@%YU'[i$EcR"QN3DHN8(`F%&DV3@2%YlpV#[ +mJ6r2!LJ*DGF%)5SE("8Ih,-U#@3Aj&'(,bBY"!4HJ@!1piJ012cD0H9bEY&hM6K +!dChKB'@M00$LBE&2(LA'(lUQ1`8H#a`XBhADdR+&l00X6'fZYi5k4NL$Ca*rTV9 +Z`RIMImE1JFN)VC&(2QjMpiDU0*p+&i90'cED$)0Zr&PMiZi#!Q$k+2,Jr%"dHNh +LlCh+&USeLa!30IK0MH2kl@JG33mQ6P+900Y+i!j"D,T$GX9`Gd@)"V+U)PRXM3T +KG@TV6CK8fH#3!'#&R(bCU)m)iKY9,FcTAUMD%)A@hrL%'59!rY,f4H*b*YeHh5Q +0Z9#)MKal[#L-r611c13iJT!!BYJ1Qf8XME,$MmTaA(fJ-j6[L8A&IaC@`#CRDM9 +p9STa3k9+Va3(ieZP@!e"S13E0%VZ,pZc!D@a'[jPb,abdiCNPGr!&YSAI5CKb4+ +KFDLS!lFCklbU5(I`NH%#ibVDP44qk@4c)4P0B'+0cc5#)4C9`pVq5&a12abXAm) +A-c["FaUC&lXVK36P"+60c2U"da@MJ`V8'5`,DLiqCUaRTR6,YeA,*"%C`ce)4D5 +C9hJe2JTjPR4L@db#Ld1$(p[kT+VbQQmhQE"Bii,r+q6MNUAmIIp%$eP#D%k)VUa +dZ-43[F0Nh'SbBE%dBYR4VA41*-'imTrSi4$)k03kURL2@jZpQKAPP!&5PaC%TP& +NURTN2c)C%je09E9lkC[I!Vjfh))I$KPbk15l,YZ,3j68jd"CeD,i18m9,%CASDR +MF90@ZeiLZG+j`ajiSHG3V'L3!,+SfB)+kLkL$lIXUkp#LmiVRBlV#k`#N8`ZVS, +G'r'hmT@C,JLUjm[,YEU@C!iCihE[6IINCpA5'F(!pbMUfaEA5(AZ4RJCjE2a(hK +6Apii@p3LHqrAqHYi62UU6p0A1mK0&0THThZ,pEcBhbiS1B&6befDKS"k8EA3-3r +[SJi0aFSFQAS6BjBS552CqZLVC!mlJAar51Sm[`&Z2+j8G6KL+'d@%J+[m0Dd&0M +%C["l0dETP+Dk8&hYP9rHFHp8mA@"X*p8m+hI0m&(IafMHJZ1Efh3rH"ZXVNK0cD +2rV5M"UC"S$b@T0MBHVZ4%MhPmE"XfSm8KVIkL&X(M`-JkiT*,b`aB+'-TpqaPRp +D,cQM5@)GNcYlj`p#%#iUNL*53"Y$ALKLQUcSiS4Te2'PiZ&i,eDN[dN$6DZTE@Z +"h&#cA3"YhD0`35'3!"QXp!EYpK*%50bNBY5X*&3R+0!6lcjY0AQp"IUKe5![q54 +,!JfbLq4Aaj-M&k[-`"BB`A#iIlk2%8#Q8@`FPi(HPHS5*rKQU!%Er6Qq(MQec!@ +d91e1)(+,UldC3AM+R9eJ5m"*6(Nlr`M`bl"Mr8E#bBJIiEA0dGljIZJJ!+JXa2D +XHrGF&e,3E0L+h4P-DQF6E'LRh#9ejB@r(2[ed$LK@2Y0LJiI+AabhCb4&eAaR[B +LkkkVhf'9re,HLl#&G`-DPA$a+Ck,284NBI,5(*qXHY%8`)'`@#hKb'j%4GUTiJ# +p5l*B$hGNNqPhJNV)+(48ZGkL'pjdAl"rEa8(l&e"6-eHjMTD%lGcT,$TS+dCGj! +!d89N$lD"E2D0`d[Rf[[RCZchpCI$$jeMb*+VLEGUGlYmLk0bBXE6)L1DH*3DKMY +lJHY@(N!0",QQhF1Bk*c+J44TA,ci3QfJB#cMaN9"[`[qM"QTbdXlG49PD8@m*R8 +@I,HFacDq54iR3bSrYE!2a,'l,C(30!&(XIQ60,a2D!qE%T3[dLe[['&[96J1jeh +$Y8K"F&kSP%QiQPTa*TIr)J([1&JKUVl450"JG*aMZEcV8V6VUbTB-1Hj6m(8R%E +1d[5QUcSFZ&J,c0IdCUZ@l+*YbSTK-F8Jc%&C4VjUP(p,,fBTS2i"@54h-JF`&If +AZb555G&qJ#9(phZIb)UH(lXr`G%SAD$DVM",DmRDB60$r`mXRL0Z(kBbb43V9#- +#9ZSG[2E2EaiqFqV-(Sjie9Xb!lT(!i,kMj,jJ2GApCl2)%2Z"q2LkXrj,0YD2DA +pC9&jfMS0V`'$r8i0e2ESRIBH"f0PE'"CCYZ*,*hDPqf%1lTL#l1Z-Y5Df0fpRcU +@B!*FPTi@V5rE8UjQ#+I8#hh1AHlaaCfU,a&jHGC(jVPMBAKkRF%l(aABZYBc0J@ +f$1Y$TBIN*l*FaFAB'qelH83q""(Aj2Qce1KfJHqV#+qf[85h'RIiaKRdS*0+rb! +KHQlYHmJ14ErqZ'+58PiFaFP,d"08)U(a-)F&Pe*6kL8@&-aUC!eIlqBZQrZLe$Q +lFrX9+5U[Jd!ebRZ91hEF,q%&eP@kM3D41$GAR(lPAQkG3KIAJ4)BJ*,cI*Rl'5h +5j0`Bkb`HXk6RAdiF36pNFGEiKYm36hHe(jI&,3dkI0m8*MdqBq"R0EJ1qP3N63X +qNcaafP4+$JhllIkr+9Yh8ZlD$fXJBFH99F("DP&9h-@SfA!(DCI()Y(c+"'ZcIL +"Z-LTMA5Q*'fQKjm6dU9q&E5qLEJH"a3G``M8MqN,j!!cec[N*cP+#'[$PfQ5ibi +ClhjiPdr2a8mV)SCHIraH4J(*f@8Uba,00(@ApU&PC55c#TD@J[F!CV&YT+F5`GM ++&BY"kJ9N8&Q+H3IS`@'*ED-r60,6d8`q8P(lDqeD4%P)fmIf`C!!)rJT-%Ub1I[ +"2J,p-rID'XD$YKj-ViMmjkib(PZ&D-ieN9P9L*mcQB,UPqJr"&m5McZEL+DKj1q +EEh[#eX'IfGq5!IhLV$,fpEP(NjX"XSrH`I0T,b6A[-LMATVN5@%hfqaTHHJ(`(V +9(cpmAh$Qap"!T2EH3Z2Fhb6q(eqfdi+rV(MpGAK)[`T[Re2,JLfmrSal[[*d1hk +G[2ChHH[08qcaiI,Z1j2+UK!TNHVBD9+C)TCjLL3,HcGQP4@R$2aEJr"!MZDXSZR +-jm[JY6f8Yj@YQkakBXm2U#TbC49'UQk+0V[HpPrb-2-SrG9ie`jk-M0NLGE23@S +356e&Gi-X39UIVF8qXfGU[A&PTDIGjGGS0c!PkZlKfjLir8TPmG59GDTJC9qAedQ +6PeGJF$TDQ+9mK5EamjN@,&fSpfFYCbCI(dB3'qbaN!$G6Dmc$ASKB)rqb,KUGFq +fmK*1TdY*E%Zac3LSE@8lRRIP$@C+pFDf1*GeZY1+LDEAdN5SJB*!5BF1Ac#S4LY +ST15r`9"pZ8FkKGb1+,!Lbil%2CG&*-"pYqq,QKHK8Th4*1(k($6Q8%9*a@rGS@C +66ipmcR$Z1Z&A#5EA`PPN1XLi$#NU@`LT"%LKbcG2eZFJ00F"qrQ(6jkXh2F5@#( +1GZZB8LEcl+r!+G54(qD0j5(6DHQa,f-$[+bmb%QK99&kIq2hdS9'``PT,6XCkHN +YDB)8GA(e`kiZiVRI'Ll3"ri*R9$M!Zf"$&llGF3m'Gj!+Hl5R2%Q2iBQVb$i%Ul +qQRN4$3%!YGa-aP6@h-*%$kBK)UNm8MrJEXbZ%%9Q-b335I4B2UNc"DV)`#dq6@h +"f-+N""$p#0AcAE8Q(J8@lqqjjK5PiqCLmfA38Ne`Z@Tbm,A6+d9CqD)rFlF1,-1 +%Q#TZPU#blmd)JEYc#[2@"TiB(@DI-'L"AqAUd*5AFX8"$e[99%D[)E$`NZk#dF% +-C#i6l5ZpZ8RhZbdXeKHS9!Y#&Pq*1H5'RJ')qqK"mFLQqIZ`X%-`ie2U1&"cp`p +"p&#R0DeYV5B0"(Zk(TUrU*ZLjZcIP92V$4iK%6j``IHaSFKCF![1H`!r828ERT2 +QdSYR35fbHj-$)bZpdl$`hSD5Ep3F@9b(Hb8`$NXCdXSK5Fp0JlcJ0f(N8DPSaVp +TlG[G,)RjPm%ATqiDKYCR&SeDqGXX8CDLQNG63c4+Qrd(q%,kfr*,*d&40dMl8pf +FJ@B,IV#FHdpVT$dTB9cq%XK0K4jQ+6&qq%i$C,[h@3-5@8qXr"6LN!!%I@8Sd1a +PN!$r*2ce1((Tj2#@A6TcZ@R)EqPe%UjfR81c+KkYd6NI9$Vb'C`J+D44kFA&-H- +E8%lHNi[VV&6%Hp5CU9f*DJF)N4MSjDYDZD-d@BqJJ[`P$Zr$$Q)&#YD`!IMq*"k +k[Sde)Zr[(a0a&bBANV85X`43$ME,GBX`!`G5Gd&rPfFm"5YBN!#4dDhk&VqpQQf +0mb5'GelrJmK&cClDQ*ha6QaB8frA#l%Q3e@PX`,A+*6ljIF0pCaTDPE0K'1Z[iJ +G$392re&K)#jUCMqe*&4%-,pZU*EjSLl*VCJXT11bmEBJK@(Rh@%QciK(ml`0K)L +AUQdI+%jX6)(MhjGX*J6Pd+qb2`[$e@J"5X950CKm("PqrM%U*j2TdY$6)ljmY$b +PV2",[cRH3j4`KIRLP0'qJ[Ih3B36,#U&@pkQ*pcJ-U#hP+PT1UEIV`BCVJ"(C[1 +dhB[+k3NT0'HdSSe`DldfcKk`Nkc1%&H3!'[6D*h&*mN!J!!he3cV$Y3cq!hSmF0 +*bi$YJ"IE5p+X"DVr!)*!@l-Q-!h!)A*iS$[V9-A&6i-#[([S8EX3S8NMLJ8E*&, +-Q-C%)"N!k'F4(@2K40#88ilPUdr4DRLUR50$8JD[MEaJR"a*Z)NH283&45(JN!! +ijA@Ab,U&0STUjA!2YpVNh5ajRbfaAAKBE$9(hfb8FF"UK&c3rXcpc%j*LC5iNID +pMSJKH8HmKNBED2#Q*`"Ej%5YASP3R!6fS!RZldS6IBqP)KUGi!PQrVE-RT@Aq@" +R8piG(M+9Fah"QXi"$D!0JV-hcKF#563pi'33eI1h%ETffiI$b3e4jrprl3a%,kS +Jap1SB[+'H#(DqBr[jScj$l-PL1mr-a#Ec&UYE-'4V&+9deAMaR`NPA-VrZi3j"Z +ddRYmd)Y+J&%2S0qENqI*d!KGIBNF[,,!`rmJHXf(d!+fI2GY[k$%E+00mX3PqB6 ++ia1DT$jU+03A8m[qL#(kCj'J-2@4a,l#c&lES#jPe"![FA,Ya&3'+lXcLER8BVP +P&e&TG+MNQMjaUF-jaa$mH$h@,&jG(U4Z&&Gh@PflfBb,hJ&2EViZ[DA6ke*,DG# +ADe+&Qq"X!hCi@,,f#KeP3j-PYhRR%@ZaY[GC*!`0+PaaAkTP(#M4AHV*f9K40Ya +PbJV1c8fZHY'TX(p'fl,%12iTZ6'C3qJ3JBI%*I#P043NlIPmjbae-bQLcTM!KGP +0*(M!bU)FJZTh&UQZp&Grp5((%ZmHfhH')4i%qQ1d9dZqHeB%ScTTaT20NBCDr3f +M#e,r(CRVZC2$[TGB,a'3!!e(1"F*H!irpVT3N6j58PScKNM#hY4B(@GeYS`A"2[ +@-KRF"A6f6U3C0i&'kSpAre3(R5F6bkUl9C'qi9I6f,%8Fcjdb#m0[[faSd`9pi- +(C6CJFXXl,LrZLVl)XIFb%Q6@3m3G#YNV3pYYr')XUhEUJA"0dQfZ,'4'(U-J0ES +4"V(iHi#4A'-PS"PTK&#HPb5,+X2*IA,G3-j4%f#UL-4X-@f)q0`'10G8Dq24d)N +R-#J5,NcQH2U4l&j+Ue&$re89@5lN&'NpEe2-aNeS9eHj&dqqL!iBI,B'SK+r(9F +E&(h@#q28$l*Lc%EbFP(5pqh$TdN)kP8eE-jGqi,!*8[hX*pHf@JmP@QB0KQFhq* +QYjYA-diC,aXP+d)ZBTp-@VhD[C)@"NY&Ab'8#ITi@rbd[#p595(-l*fYZFQDfHk +%$rX0N!"9PdSSd0&T80kPV&RGc((&dM(dNI$j'H6eVaN+lG,RcM1ZUeE-H'USIel +UKCi`EK('D#RY43R9')3*(XRQ"*'[eG[X'`G#jQ!I9mVLC3chPiTbJ11'Zk4C*F& +QXriBMhVLp)!Zd[a-p!ND,[[&1,HfJI[(S8el*i*BBq'H6iCP1%)L+'NSU6rPRl) +rfdi"@Rm!X*U8"@'UX&+KcrkT13-LVTCRCQ)HcjT)hrTEeh@8C',@R%(IjfTB($K +Yk28Rdc9#@R0dS6p0bAb@Z"QjVr[)klfU@kL4R-#VJ[cMHMc&+F"EVINcLe34I-X +(Mim2hNarE$%JP5UAV1V,k#C&f3-$!,T4KH4Kd-"hNSR8C`UP9FeA520!j`AGj!I +HH6P!LhIZKcPqP5kbd3"'26&e@mK6)YXjCDbAKc','80)ki@R#DKdFbe#kG[G+X' +Cr)ljh20F84,`#(5r98HR'iiP!iBdX[hj-qpC)0LBl"T*P(B2pKP2C!4()K'-j)m +6iEmehj*p"0cm0&!*B89PPcDT"d-!USS#-"['[)+P!MB#l6LahA+5UBmHf"0pNNA +Rb9rK12jr2dPk@Q$42S-XSZ`N-URp'PKN!E"N2RC$LC5c&G5RJ@Hp%hGVfFebLfX +'JfU%b*IV%3mpLR9$2*e`,Hb,08i!LlT(jDI%d*DNcpJjq3fZ1'eE*aZ3!,,V6f- +H+M&Z`D0+eR$`L)9@GQhXbj!!VrmJQr%@2U*qFPcUf!,B5L*+rMkP#1IpJ5dZ@a- +$UiE1eFa%AYK&UQbhCj+fD%F8[ASkf#5@!c4Fh'e)LYb-G+DpL)T-FIkQ*&&2ZZC +++ZZVer'X03GKa#DIR-P&A"B8$@F'pcKlfNQDB4q$S6'Z2#1)8FjkE`KAjfH3!(J +Hq2P+JHPV"RB6M"6d00riLURr,jR[Yfr"CJYreI*[jIEYpr$X+[Yk%riG8f[`kll +m1mhqIFeIKf9Cr2S+[`l'Vm1Nkr$UJ1A)CZTQ4qVGK*K$AS+lM-lLC!'I#Xc9X*M +3RbD#`*F`YXjf`0P'f9d9Sbba)ZZC9U6,APM4Ec1F*(dY2aeU8'18qbJdYPTjDYG +Ihq"jDGTreFZ0XZCa9V8'*RKI+AUrm"IS2NC[&LJ*q*Z-%m2)RM$k*QPfl+93hY5 +AQrBUl9S4r5L+e6IUZK5Dj9(*dH[I%jA`B)Kchm'N!&rN%HX#()mab1LLQJ'#H!h +Pf,eZR"h'-0'A)SQ@Q%T#$!hf(N1T*UY50D0Clqr(5$IB)imaTV`6b9ED("lX#4Q +9d@l*EhU!P9IdKj!!G8L#VS[9@&*928fY5ilId2k3!1Kf+@amq`PhI(LDT`AML4U +GUirP82EfRARrGSj8*eQr1Y5Mc,9#6YNdSB69*@b$A`beamr8!3Nkkk"8M01I0NV +55'CG",,ahSTq`(-h""ihL*Ci"f'pi1lrF4('hqiTK)Vhh%FhE[-@9i96I[L8ipT +"Mph)BqC%*3)F(,+Am"DJK6A*qLMrCp'0#R5ie20M+cRT%qqe0mJ`qiR`,2UF18e +UC#'M3!8FCrB,5rkPN[G4R'q6H2VkD!PjRHC%2lUF"dMI"fQ2f,[cpYfPac,XEcB +aJcJHa#9#fZmjeG-I92RL3[J%!0Z(GS%Up$0&YjF4K5mVVCZbl#d,-h!3@UCfII` +cai-D#3,5U2-FEQC0$*PJ&J4PRr5M(p+BF&0L(Ad*PKqH6r%D)NcV#kaeJNHkRDE +&kZSK`0AJp"02dp#i[++Fr533LP`J*b,QIrV0YCk%[@Ec#f%!Jj!!%Ej8cp6p998 +lA[`jM3JeaNBfdEJNPS'qS`qUG)$AbJ@a-JcTpI'(l'IpJ3b2LIM"lZb)[IPk0-Q +rppM)rBLcYmh`bS*ZiBQ0G`22DhP1XAr)BSk,BX!)#C4b`!Tl9-6&#rp$jeVJl&` +hca*Jb4#0[hmG+9a$",0k!8(UHJ'QP+V#*00eYfVS5fUmZ!d5Nr*&9CcGQ#2Zp%I +Lk46$MG,YjL+imULGP[e,#GK"DI4dZ$5PV9GHNB"CY38h8H+$,EZBFc#M2,&KZD0 +2+IHXe5HbPlp1E2J&`CRI$Pf(1NFS,)LRRI2dS)iF64kbD5H%3TH@Jl#'R`2Z8Vl +)P%T8`%ReH,YDM,f`4rQb0kJhVIh"pdU9H&5lDRERCcS2'&48CI&CiiEYbea*`TU +H4)BiCMY0km@S`HAI[Q-0aDVG[-qd-ldV9lU`&EMG&$G#Z"J8c29%BKE1)[jK(%, +iKJ@"UjKC2[klYBr*N!"TG40-[MMX@MGTA4VHrV`'ljmdQL`GF91(r6G%4M5SB!L +a1Rh`'M89"M0i-J9b5@44)!e[D,0*4e'TlHAbjS%B@HqHCSq8[(EhTch#LK,&U$S +[6mq#5caTeGGRGmpEGSi$@HAT*XFCH!CRI9e$"f)4!fbHS8q)cCqdN!#'[1kD"H! +369%bmkcCb81lZ9I[6LAm@4`0cGPp)$lPde#20ElMPLlaEDfDd4S,F'fXPbjr'aa +diGHcl#9V9QG$2R,V9KlUB'U&!(`BHARH8[E0#K"VB2SLDmq"Efc998h"9$2&(+* +X-Rh[49,%&,(1DEb+GXk(B+YbKM'!TEUaCISRA80rJ`b'Ypa)#qN2388J)d3$*Ji +TX2prmVae1E5K2'86*Jda+LH`"UdZcEiYAhU9[Vac[SmMfX-H+LVF[F8c9A(353S +Qh@Ci-'4$haYCDUbNbZK13P2fq(AI)D5pcZmJ@PErAZ&Sa4[!q6KJYCI!lNJ"qqk +GSAk&9[P6F"H`bIk&aSX6"AIIA[C`Df[66SrM%)EACkDBlJ*444eIBHdM9fRKp8k +m++QSdRe$#EVrGfGZmQcd)RSG`6!FXaQfa*A[kGK2fV4UZTB$B3X5c81lpiadSTJ +k8[0,(EhQ1QI&-1e-iFPr@C-ZcH+a`$Y),*-Ti4cIq9rjDL'-+Mr2Z9LZhA$QddH +JJKc+2%rVXGhIM)I`p,j+PqBA*b(i#N'cX*kJI6RG@hX1jF1()B[ZmV4bC$FG0SB +2I@N,'Eh"jiAHJ'$H!$L`0iAH+KrG#$r&[&efB$3Bj,r$TKPbJbIQ@Hl-[K1#%i( +MP$m"ddL$GE0RhBc)f`m(AD)"`aY)2kdhEe*iji(NYFf9r3Vc0%&A6,34Dk"fG)! +D1qKbMr*9!8VhVlfM@UfbF!aalVX,f*Rhd*B&R5PSNpl&bG&"ljBh-#$@0F-R#*f +LP!iSX5M"d0EHp"2[6%BR$,r!XF!f`XN#B(QZZVIKkq4QR,AN-#$k40N)q9FC++B +"fiNkkk+,Qe"--k%$Dk)9DpVLEbPL56VfB590Z)*@YkS@S0I442MUm2"8)KX'K-V +DA"QlPp!rU#S4p2Ibb!fZ(BBXTN-iBR"5dK$Cc*&I4mZ3!1&`*SU1aBD+S)lMME4 +i[b5`8Ea63*HibCN-G&(Sbi(3*"m(8CP2K`0cRhP9'1RG"q$2$MT`)2##S[%&V0! +CQX@RGV)AT,`1RdTA&U"&G84R$M"m6B`LlSNf!5PrZS&3LC-5&X2"Xm'U$-d'G)' +##l!YL%X!([`(DN+$pC5%'RQNKe#!IJ[)!(b1rCj`kDU)[Raj,3CfK84$PamNC)0 +M(%kl)Dc`e+6#`CUM"qJa$B'e4m6I53SdBm-"L'cqPGm'rhpG[6(Ah"lK*bK`NDe +3FPZb!MA'TiR@5&1G30QkNX(RA91p6d09e0[ZrMISaKUM4K+,Ye&mKHE-klAJbk% +%h&)PVr%)21,3m*!!HM'h6Ei3G[AkL(2T%(p4(@Y%"cA6Q%Y#R5cUNV0Y+hkI'3B +%*#pFmmN)!jd6ab+XS"D%D-dTbAGC666L)5mAh90AJ13c%3V&j1qm9)dkQSN$m-6 +,2GH4*ADl[fdRX&dh'`QJK'j!!4'eb&jfFr1rc8E+HPKF-314iElS$U&j8Qa8Q4G +"P21A[*!!)rI*K&qNZdVM,AE(%T&,j3EKC6ppUA*%pF0[ZN`)T`@3!-)qC5EN85[ +TZVBMS8!GMG`#89er9#@[9ki&Mq6,E%5+!GejJ1[8QBR5*XSUpZ"DN38(jZZ4-D[ +eRk@RKY-U0afiJRCMH*+3!!cFX0SJi6DPFj)9$hjHhF&q+-CGDq2dG6ZVHSDYJEK +1%JS![N(R*k)-@bQFXmQ+1'BEch[b"Xq"*+TSrRD633Z"$,cj48UPDVf`#($3(ai +5I2L%0-8QC#lPP*ai%6I()hVRI1,"l0Q8(rY#DM2#XYm'1'"i9pLa9AlK)Ki"@I* +H-SAr5#3h*8Sfqlf&'ejmmqrFYqeG`RkYPXJC2lSp!rRh[pEX,$Zk'ldjYi)lKif ++IrALm8"IBaX2#!qXk(P9+MVk2KiQKaT-f'F4H81)iH$[8qpM2-8[EP[D1,YYRAd +PpH)hpadjFf2MDi,qKF[ZE`b+2bGFT'))d(-%4fmH9#&KUpZ,1kVeFaahT[h2'$M +Ucpb&1d,QB5Rl'$I`hqB5(,391Ufd`6VE-lVDHfSa+2m2#4bLd%`6@CVl,i!M9EX +"2bQXifc,1A!f6d(Qbrd`frS3*j+pXe%L4e5iD64%paP(-LEch(&h5r@#j4VS%9K +j$V4RT`#9aA(BfiKiC2*ja4E,YMZX-K`el9!9QV448GQQKhQAG+Q(mA,2L32C#N5 +I5B8MrFc%`MV&dEfQ)-YpL8SaSZ+P(a1$Yc2-5qq&i)UYebQcAimJBK93$BqTVe# +@(GmA4bSFHFV08I(p[aXFS`H2BL*D6Am-8*1m@DikIFr"j!3TkZpf!mSP*N*F&@F +T`UJZd1*lU6hjK&+8T+0`3lR8dE5QKqNiDX#@33$HQ$J$i$E-56a!,mdMZ$f,c6l +R5H!98,+XYBKRSRl2YCID(D`mTEk["#a41)ZlZ40%Nf,(5mfTTpU`p+U9`d0(r`Y +,KNZGGabKT'42BPSSX4L8+*5p`QP8a,******j*@""Q'Y,[GEASE08@P&h$2(*q& +CPYdB*@CV%jAj"0JTq*+%Yhi6$fK203a8TK&K!)Xe'UF+q(la8q*26#3ImE3@)1A +e#1Ar@*TCbTE`9`*8)3YA$RIKTC02aqC+,Rk8cqcj6KmP%#$DTK"Mk(T*Jc[*FJd +ZQ4+%K%#%dVr"K)46+U0f6hU,CJ%4Tc3!0-@&A%j1NGqQkEja"F&LhKp9qVHpGp2 +9+jQ)Pl0EDGSD10b)8bIr,)YXYkb2m*eI9r)J0aMK-5J#f4Zd+Ah6Bl`m,6Z,Kp6 +HGP'Q3Fa+kYqY`@$cP#ZX(SMZc'p1,H('8CLNF*3EFNMVb[pqP-RG6l6QD98!!!! +cc3RZV,PS,%pL#C'Ef'BG9MjFl5GXTccI[r9D2Di[epUb0(C*1f#Fr5BJ'ZqQ)i& +X[Y#*e3KlT")`pUpp+[m6)EB641Mh1bA91,hci@+5%9(XS`Q#"ID9T@rSfM"S%3p +J8jr,U5j5Ff)4YM4SifS*!FLkX2&#Q`kdrYIac"5i`S5"3#+dr`ac0[VX('K@bE8 +Gl8Y4JZS6QU&F,`8@MMeA8LZB[R5@0JI`,TmaMm(J',[&UpZ5L&Ga[4HK&hB*mdF +%JVCY5JaDHJ,RF4$qHC)6[JUR,'4)Brk&4UX4j[3&&bf-QN)+c04L`)lhc'EcURQ +ZFADYJVi3X+%N8)UL0K4l3iKeS,5S,3kiZ2E!TAfa#MYK-$cZVN@P$cKr1R$,L"K +KJE!1jBrXI$B2#BRXhY*pP3#k[R1c5dFLHCBkM&NFdMNJF!jqpZkLhc#HRlUqM44 +bZDZ'DXRX1cljE-I"ZNFZLMZ83bbc#`KKGSFeF-9qNB5B!I1*)TqAi[(hF3L$3JA +TqBEhcc4dJVVAqUFSbRa!mPl4C"E0UPl+DhLP3[URG[&bM"R$2*ZlQMf(qk2G(%A +"i%`0drBN-@0Y1YRRpBU`d1AI%AGL)ek9VJajDh!4ZdG&+[5GcajHZH'8@D94HbU +fF!c[I0V!2+iJePDf*q&*ZGB89m81Mb@5Xk[Ilj!!iIS"Pc,SV`jd&T`KD5f9dH( +bTL@jS1[Kcr`i&S4YFPMPDekbi!)dJJEHGqdc4,"d!Jc*f(Yp`SY0S!YjRNCmIa@ ++jGIY1#NI*5&51!VB0Q)VC*c@YkNTcHFL3RH6Id!mAckZM`X"LS6rBk)Bp$@M35K +,m!iDH`c&Rr,2e`,I9)rH'0#Fb$0b'@k#m9dVbDj5Um,H-EaEClM'FCD&MQFi%`H +Hb)"S)AQGc!hXQM[[HhJ5U6KZ*[X#1kk)eG`0c$Q@)5CP4AP!4#Q+[1#$K)Er@([ +,PU*5&YUKDHD$A$)Sq6USRL6Qj6MU`@f(9$+lGJAGe,9MmAe(j&rdXBc+dT4%IQ4 +GX6-hdKJY[UqLN!#$p6Gp+jYjY,0c,UD)le4PYj0lhiBISliA*HHb!8UP4NTZq0L +9T1i)1J$Dl+a(6BZM(KG(l8'F&Be8lVI50)$Z,"k6ql'S``Cil')ejKBG(9@6rLG +pGFedi,ASY`F"r[GDim4BdG2SQb3C-Zp!U4bj+Be3qiM0[R$3Idpa0N6Q05Akm81 +G5qVr8[6Y,()P)j`D&6,bJ"ZQ2SqI$$8SFAT3dliR"KS%kF&dHUYb"B50BbJ*B+& +$")!!dLZ0C(fSlH`ijY1Rm(S#L-$VH1P[(()PXB*XX)4M!lI&l[E*dkI"iANr,9M +,J$))B0FiCef')i1Jje8`LF+FIcGYSU(mYAL$ia`e(P'-Hm3ZqY"ZN6Mm"#ij&jr +UY'-m[RL5`Z8j-6CDFI3eZ`B2ek$RMa1ReSeM0*@U29VYrJV"Y0$GDef6ppjXjmU +flIl!di&JP,lV'VML"QFi'aD'(%0Qm,$%cCY'qe6BP%N"rF)HRT-qFBH*RcPEaIb +1-Ph`68Hr9CSDh'ehpKE8FViVe["M%++D%lX+8qK2ZY3@@,A(-4e+*P-N,IGb*D( +%&(#qThqiQm8ZRq+eD(MBlZ'X-))"%0YlJaFX,IB0D6!pq$'V`DB*e((BYfJGLAK +Fjd4XMjAY$MlJdr5PQ&S%)$IVPr(1K+!-0)+FdVb0`r#24"[Diil5h"T%+2H-@dV +)P021C9k#aJfIm'm,CT4JDZiJ*RqrY(@T!PIQ"mNXJK)eFL(,rh#kA`@`eLZAY*G +*$D!N-S4)IFrCV@3F`a-lVErNQV"H%mY[6$!d$rSY34Ma%TQb36pp2mShk`+2IV2 +Yfb$Lr0G9[0X4Drp[DNSlM*[)2(,[D&2K4`%rGUS$NPilI3hLVHBU`YhKM+$+[VN +U@B`K5J-KBak5E%b489jGj2KJ)A3Lq9XP()*aMmKQJrG[`6aIbD@@QQ4C8`%freh +4Ad$ZflmRHL@Ak)b`2+5!hG3E'-BlI1(S@K%GcLG*iM"+('HIlUNjGkrkM"JVhC4 +RYT2kkliqL"*TfjNYi'(GTEQrm3r5U$ULRfbLE(+46QE,lIU,"Z0`F6b&G`C5De+ +Cd1$IMX[KT!h(`mji4p3e,qRTKFXqdLHR*l4K"QejE0T[PDP0*jeL-6e%5eIF6!! +!!!)FFRh%TJF,KN'G3kLBh-S$K,a29I8@&3Z-$+Z*2@VRBUq8(LC[2mPNQ"2(5hS +G!R[KIESLMP26aGZAX&0#DI'cEYbF56ZdH"D!6m)&#KiFJGYSji0SCdrlr@J)rd* +SpiS0Hi`2"TirEQckG1c-l`qcmjE"aB1%3@,1Y3'XNaVB)C3j'CA,h91q`h!cAQL +T`'dF+$!!!!!&%'A!'pG1D3S0UTjYBp[(kZpp-Q+`pH9Zr1jIj3Q-1c1Ym'UcES4 +IaDJdm)TZmRG,5)pp1Ul%95')Pe,6NdfHTZ%)THpC9@k#m6d-"5-BkZaRh`LlP-f +KLhl'e#9CPHmY60X@)a!91pUk!Vce5ciH$F&$"hkf+CK-jR@i'cKX9jCiRKi,X1Y +#2'Pq'QVFJaf*kPARlVYjbcD[XpB9jk%IAYrmrd66BDEc&1p-K8cGGbU&IN$aU5` +##A!+3UQ!REpeS00Se)%4JY%0`+LE&I##HVq``1Z4@lbP%cX@@AE$BqKiF5*%"1r +8$#BYMhaJq!SlQIQ$5HP)JrFfJ@kpqL'&CH$,Pi6,NjT9TBUhQp!QMl'Y$[p'c@" +IU55DUfbmGaN`Ilb9ed9mVKc36)")[(iRa*L8LDY`I,[R&6j-eiAGA!Mr#C9RTGc +H*#-P,SriI@AQa'MpYTJ)Dmr6NV-")V"&P'pdAE0MXpc((%*0G))pE)[m@3'BSk) +MlEa@jih+p`#Z#KdEFbYIT3+cN!$`m4*MiLE&m$5,%Z&6C@H&l0RBf@1fZAB)fB@ +%LN4D$YIqqHAKLSQ$J@lhpL)[-eIT5d@q4Cmi2+r8C+MZr8@-TN!8,VLq2,dV@02 +elc)@Ebp-`)&!5,pr&8B)IdG8a4Yj[++4hLFpe8Ib2'b9"`rjF2[@dKd5Jrlc9Z! +P9*4fG4Dm[ar(N4(0$l-Pq@#@*'j+T,HKUrb1E@mdU$3$q&m[SPhN,95685KI-dc +h@eH-c$Sh,Q)(jeFBbG!@@MqG8B"-XTb6#$DfV4k*S*'F(Br3E91lq3fJQXFJVEd +#GA6ITf@Cl*'XSrJ+f6+lVeD-`&&`Nq*iYV8e0CAC6RUqq!Jp(23MBMZ'`P0hJX+ +@bb8PZ&pebRU8(`4RYc[Hk,A3[FAaUNMS!!"459%Edc0Z*fbl#-qQIP%m"h@3!2C +K6I[l)Y`KAZhNi(Um,'rZS@ZV5DE`Shcf[4K2)U*&9YXF[-la1EB*C"%m'eHPZUr +S#)2+6iN6*bdm#5EJL8C5bU0rRXR"Bp,ND6RJFRBh6EL"F'!*@S[eKm@KD&aiQ6+ +m6$8P)&EZa1[96RRbf%T4$##+9'JT9X!!!EjI+q5,[p%`qVe5hik3!#APXhlep&5 +QYPLe'if2&Sd(iVBqYcKiq'HVjYCTf4CbIC`i3TZZ[eI9A)4[%H`[3C9V@CcTNDM +dME63(,4AQTY"efbFac5fFeCA@,6idq@D4k4rlUqViJF3R2SP@(AjG-*Bd1jmeU$ +lJA4GGDdX`UV)ZQXMXXr5,e24"Q0e4QfU%UXV5VLGI!@lR8Q5@fl$m@R9L6D3!#% +[-VPd%UEF$B#K2rm`+PS8(i#DDe)1U5Q44@Q`1'8m35pR[fDMHMF`,Y3bhc%48,b +*3Yi-$ZGJ9Y,P9Mh`+%HL$aYb-mIM2'ZYZKB!Y,Y+@jV,Z$2)YcEJRE)6J(eMZVG +pJT(J#VIRD@84mb'*9m+rYId!C-Fd-Tb0eFrl%LIV-HAe'#6Td52B5La"S)(CQla +BSmd&4VD![aK84U`c2)X9e$)$U-L')18Brd`(`Ueb(LdLGa5X*IcAlCQa,jXi[)[ +NcLRFA2p+jFN)DZ@&YNCJ(11f`Y%-4M'8mfl(B%H`ih-[S009`*6i!*McK[Mm4H# +X3aYp@"Rjh3-1qCR+"dS1UL),aKV8,+rb(a"R`A@AMapeprT+ikB'VqEI*+R"Q9b +&'m88B(QEHl,%ZbCQYVq!8((bef0#(S4$I4d@eST$@5dLkGDjdrfdIq-$S@@c`-Z +bDk#f'(GE5ZAfb*mA43'j$FR6mRTM%9(P0XCbcpCdD!VACDD2SGMG!D5hm%Yl*4J +I3DS9!ZTB`MhM1q5qm%@#Dm2HP0M[Y'$&m'q-+M0%39iNp0-#'rm0k#V0)mGJa`Y +bTZr'*mYp@SQklSr#6dD1kLrPf(QYLV0ST2Ji@CEkEh86PBVU-Gl`lVF@cPF'VQp +-G6*Eqf(2AG4CT00H+iG8KNarTC4XfUM$6p"GPZjZf1bF4%bH0Vf(PR(IV"0Y0"f +Hi3Er3IGiEHPVj1PGBc[jAPE`,mcjRhSUZQq,N6UN'KHJ4Im`U)QjjYKhmM910Uk +b+M1,YdK0jPLqCEGA"!KD1$YAirmKfUVX+2B*J6Ir6EVch5lb%l*jl'GmSilAIHS +I[,ANjKe,(pRG(LE!jbJ-!2!#bCr6fX(+Dfr$jKVZBUk"9ShIA'm[K6JEYIX$I5m +%jRlqaG5e0(B2+0Cj1pI@'(-Nrhhh"bcU&e1h&pNiiF*j18ck@8"HNR0+1e"*mHG +qZXY)aFEH-fh)Id8YLKTD8lIl`fB25TJ,ER-DI$5EPjR8Z(6qk$f8m6'"lSaNjVG +dUrLGa9-Lj%6cJGTi+6F*1()+-'lCNqBXfCSa$G&5rQTpJHQ3!*6)fVqjhr[R`he +E**p639U)(jc`QCVF8#hh6Q9bALq[hm,3BbaUGDm6J#XNGqS"iDbpPNDb000H*-P +mFC'Ej14h6NUGiBdll4+1Mpe,*)dZ[b*q9&,0P8%D8)&8hS,Pli-"F!*BEGHB)Nd +Bap'bG1`F4P)UrT+Se6aqR'cXfPZfK#+Gr64iD(4KF&R-ZL-UN!#&QAL3!%GUU3Q +h5)&%f4e9"Vq@-YTeeASV5L-PhTIf8rBLDK$cF-iUU3UY[98X#CkVdhmQ$IBeVUP +dAJcJJmL3!$H"T*6f81`fKe1E)`Y-J0%05"H2Ekr&[ph@SBE%kBS,iI!a9Ja-UMH +ea([@MrpNkc%ILkEF&0@d5F2i&ahVU$ib5pdC"H@+'2j-CVhA",R'Q81G-kqDkFF +!r`3RR$*11['09BBR0rp-P9,QmXC3'lA'Z$E$"dD8REDIC4*IeiJPeHTDB3r@GaV +E50,(&Uq#),M'kqAZe52r-eE0LU&(bkB+6h0`Y'Uh2[+XJZ`R#p`mCql9YL-`rL" +FbG)r!PI%"G2e8hN,-+iR#c)QXS!#RZjMRS@JX5NqcN,#e[[LXT2d8+S-ApH3!*C +rm(*5UGSpELmbD+P+cDGcLM+jmIHFCDHDmR99kKZrN!$8aN3XCF)(-,2TQ0elkmQ +RKM'dUqK(6S4JC$MLbc(VUdUB1!ceMj6RFQ(`d,CET&jX8'BS["U3!&AFl@pf$aG +mXGURSV$IRr$!,R6Rpp1X+EYfYSL!(+Da+i55!k'accP'#"`-RbKI!'[ZG6GA%SM +m4A'fc8p$3Ehmk0CU+T'C%mh)aZ)CGbJ9EK1mrX'0HHSPjeJIArd0qE-(rSMHm9A +Lq@813fhIdq[d&@"#ZJJ"'S)JDVQX`H-r)KMAHiai-B$CQFfKeedd(1[%$eUMRl1 +UdjP@%3AjMXPP"2!NU'pblLGXAYKTP*`63)AThfdAe(`ZVDZUDE5Le,,T+EH&SC& +0Pf8M3pHP8Iq,FTYk!KPUQh+%M*KbjLN0-J)Cra-E`1hCKf)EZ%a'M5IU"iCEC)S +`+S@%)Mp60&GA3eI9Ed@k$'94LaM,GjdF8*TirFU5F%je19X4*B3`"kQRH*R8V`3 +*PN655B`&,%T"V#A9Z&+YE-3*'bM9JF9$+9"mX0rR9[QZ4d9[$GrmM%M2IdRVbF) +8,A@hXKA6&j+rkfJ(j!Hd*ZKf%pA2Cc&QZ'ke9[HY2'a["kQ$@dV$h"N22i%PjT` +J$*H!VB(5@U(DIA(D8@m3#3F95QILPAaGp-93#RT1XL0k#%)3m3ZT`$EKpap$[K5 +AfD"HiNJ'%G9)jr"0'!jX01Z3!+9`B&edP*BAH+)FLm(,hr(6k9Vj*882FYaPJm) +U%e'4U-H(XVM"LIJ)C&l($6r+k)['1MB(Ueq4bNQL`@D)[e$qDV,m0BDPrL0AVfp +%SNJGa&qAShbNC+pVdABcdTeP!,irY,P*DMJmj$0f9d8-,0*c6m1LM"c&-a`S+[( +(qTkd&+,-1a&Vl(+AT9LIJi92i6`'LGK[&MDEe,CP'aiM-&Q"UebMZdX`L&"*i%m +dc9Q[pG-deQ4m(ZS&3dU$&qAAiF5A)BIf`6'f5ISa99Qm&1%b&`LJb#KrEK@jQ+T +0P!'5mR`&HQ*GH9'`)322`+qp9Zre!DMdVd-2M8GIqVB2Qj,"#&U&YbkTVLZhHc1 +K&,Vf$8`%pBG6pY5P(G)+VdcbLX#r!Ba!ZI*03eJ6''NTZB3cMR,pR4-Z(6(&CG' +Q%'i)m$i$QpII,FcY(*`ipBZ#JqaE+BTSP5VXLFjAH4Z"ckj*b+`5j4MC-d#TZED +8`4AX`DdRrT!!L9$C%P-5&2iJp+Rd(*jKZU0ITZ&`*3DZDQh9SepqQ+9(2S@Nm1# +eil2`eM4jd1$XB&TDKM&@jV@R0"PXAVVJfX$S$ddM[PH(0D#$RG*bMQa096eS(!9 +Q1CeZM@qGjiCCE8@9[4'4kB3I)"mpY[iTi%M&*Xk&`+m+kI1*Pcaplp10cRmR-8N +@!'Ur9Q2Ak[(5D*81&lTm69GC6#M'K+a(6B(#1V9hLHJ952#6R%!2-Xd2B'elRa' +AVc(&0j8#mR+40%%erEI-pKHm`rBj-Fki+2Mec810U!GBK8%D2Qjf,*h*l[l1-Pj +V1I5HLMF4e2'kqHdJqVEf2i2jLL3Dm*C2MFbY1,i`cb6!!`UIiq)jaAdZ&PN2C5j +@Lfh9@+l')X&6(Ee&BIKTQYpZ#Ge6Xb[qY$(H,2C1B6G&#,8Qr1bQF9Si%q8kcXi +!`C4JbS*[A))aHql$Pbi6eJFrmr`Xrh$di[p$ZhrKZFrKC2m'`(m248riDaI`erp +m022iHJCr$G(q(D4r$Tlr3hrlr1jrjqehraqVAIKd',m0Klm0llm1r$[`fErRder +mpSlm1lQr$H[qIUFrclN,m1KVPr#e2iHU*rcp!,qI38rK@0q'V9q(S+rmpHlm0Br +qHMRmqq@r$H(qIF0IKe+AiG%`mbq%5R6bICHTND0A+GcHDh[A2pa$+X)l1c3TRQc +aIbIe+%S@,,TDMe&M#DFUZNpKci4"SR5k%0BdabAqZm*D``HLAI,BYbd'K3VXFrY +jih$iph!9ChM23DDjR!2A'a%PYVD!(d)J$,YRr-F4Zp52VAp*a*00PRa9#p6SF3F +G%rK*@QH5a*LF%kmiDYD%UHGq1C@*m38'L"hT&%C@kj)UTX3A8(rRe@3Xa#VRhKF +djYPp98hTmbGT8$l!BTR&aQ[`+jP6r6qSaEpcEcFp$8XrlY@BLQfY$e4AM5$F9F! +Jk6bEY&#ZVT&EIMp"8r1h5kJ"I2TAHK0(R&pJBBMZbKdI[PESj6"IZpR@)-mVF[1 +Q-k1lqZl@eiNX(qGJEP4h*%0T8RIEeFQIE$Q1*CVj(@a-qklmapr"Me1P%6h*3C9 +p%`X(mj'ZH,B+%hEJZ&%H`LZ1ENVj5D+V9Id9$06QN!#%EK15KZ3cL0$Q@X@i"Vq +DNAMV6,"C%YLUUQP*lNRK521PUQFpmpNI"HIcBm)aDk"Y)pi'(,I*iqV6ViSi0S( +C&0YYCJiQ"58KmYjh4i!m%d"2-6%9b#4++Q0DTLaa0fYe40-0,`XKaH5a`i'1"#b +%"'a2icLFCE'ZqQQ@J0YBMVSVMNMBpbZ8&G8(kNA64J5ilVD-N!!HI-L2(i)q2C9 +CT+Q8qpNq!D$mQcZZfR`(GNab&4+8VqhK[6m!bM4&FB4U-*fHq0XSr00r2Hb'e99 +*C!$h&ijPDR)@$+2kPeF+M)9)K#MHp!kZN!!0Dr5k*L%QE6*6KMFG5mi5`bF00'+ +bbA"bc4@4lj@(Ef+LFX%X4S3$3cF0S3`P1j9M5V'(3[p!V'3DLclZP@@Z0Nf*EC! +!cYFU*irdqHMjYCK'mYM0++Dihk,Y+V+)G3APYCbdD`-fA0$BH#FlIHZ@EaLS`UK +6Sla)#qfRAIXL'qi4``R66DR,'iZ+qPSD)K(MP&)R[[8'DkBi'DGIpS&!)4AZ*F@ +cSLHpQcq*SI*(NDbj5!Jh+(IX`MQ4[N5T+h'H)YbKG#(MUl6Z@DUi"eG`6e+Fh#Q +XF1*DK`,F0Zmbjb[X[Lb(kkREdeDlRcI0m2Y3Y""c`PJZ991m!f%A-Cc-kXFZL(p +DE2E6khrS-8I!G-SI*0Y9JKm*C@QI,b,CUNF+(V(dlYJM!e[IY&9$PE!F`Q1jXe1 +Y8LYYZFE!(dkm5&I4LB4R8,alVCU18-MhCN28VT4-q*eEAIf8[2hQ#D#VFD'6jil +CqV!+b"MZlma+idb1Ql+-h"8i4jb4m5idm4hYIrRh)kVicZYd%kS8h[j&EK4@!pK +"1qii5K[H09l5Y9"Q465Fe!5LSjR!Jjah@8Eh'K@*6a[*YlKP8+r`mCD"%L8BZ$Q +%h%DCp&XKR,*"m'l*ajF6m!Lhf1RF",b[4Qh+Pki)NAcjaL,TkHr'DkV6EZPH'DN +Pp4M!k!#b0'I$A!ALIMJ8bHi,E+S@*ZSk66YE3,!ZVVb2B)JNNF)iCB'G[l!kIae +XVafBU0HJQ1YF%YD!le5IS!liLJa*bRVJHY@UcI5X+JHAZ@[)-8YUG-'ZThYmS(K +3VQT*p[(+pLTX&e0Sb3$!6l5rS39j0rPmj[+!Fb#UAD1Ck(T$+e+#I[fL#JefN`5 +8`l,KT(bLadkK'B86M(0iK+hK,B"D)"a%-j-(iaHITdblJm0!KXQj0ZASI-&JbMl +G+TfN95YPU-,r0r8k0P9D('TXU++[HY`+3Y0L%'NZFqXSTI'l8A0,QSX),6rYYaF +&a)48+j!!Na#rFr$QPr&%&aC&RZBYdXHJaj9A##IFF4NH)B+&jiE%X0,E,V)fJS8 +"jb(9(9UbL9@kam9hmTZff9faF'kKe08Hh+Xe(d+3!'Z+CU9b0P#Mi2em%,68%R` +iidD(*Pa0IMrAM+fZSUqSJT[UAP+#Zck)4BjLT(NFT()E59ZbN`20hSETVZqP`ph +")#iP(bH8H8'lZfG#[ipRV#p`E-5Q+ce"8H@r(Z(Zd#4)'6K+'d1YLJbQ)5"Me-- +pJR1[ECEibcUdC%SNM%e0!FE"QZQK3+BZhehSjY5U&l3YRpAi%6LhSZ[6Bm9ZPYJ +GG9D'i86+Df8fh1qmEf`kX&K9$q@AiM+4lZ%2kCX$L#9mH68G9j0T@VBNbbe'p"k +3!'q)UTfR4UNqB8B#CJ!d$[E$8YGd)YG)PaXEc@d06rK-ES-Qb&KHkHX0P0dLmHG +[`!`A%Tc)PGS(5`Hh4peUZhM&Y6lYAS%di!*G%CIfr!q)MVG&cAC+*rETH["&EVj +E`pJ80c%EdEL@D#UDm(hHBr(QGPBbBmJ%4Yj1Y2pp,$b)r(rVCK),(aEEP``EdDa +M6Fp0)lM9X5*0$pMJ+"0jX&EAeX`-b*55(&lr3)b$4fL0ek@C"KD`Y(A3#1+M!P6 +`[%""PEPGhaJFiBCCFe!*`rQZACb+9J-H84lp'0U2%*SY(#Vlp30$faK!bd,jRL* +"TSk$rG[I$4FQTHL$IbB0!9,qr(6r+&FiZ2hTYF#9p-C&ILH"!jf%j(3m0BaipPH +MNQRb3*!!He`rZ`&GfZ*"3$3HrYEBl@@rhe&'9(+PLe#9*)L#2bC,jVe(1!0[(T0 +CP9RhmU)hf,J2XlM9RbcCH2jid98G8TS82P)k*rpF[5phT@)E9&H&dr@aZKKR8Z) +VQliM$!2""FJ&mF3`6@VJL29"DZeH!3@YBAhIU-U9-U1%McU''m'%IM$-AU$Jr5H +Bm"DjeNlamkk#jH,B,[pHq'DM&,,M3D8Fj4"DR`Y(+qrbM"bP(q%$PFaIfk6(rUl +08C6[85X5(`hf4mP+!1kYp$3fiZhP%cVNmlaVM%C`a"6VHRH')XjbQ24"l3!H'D4 +J1L)4MDiFiqj*&59N(Pi*RbAbCSeRS0dX&cHekh58kI#I%'iXbUfLmmm%0-30HRe +5j5&I2NDYdNj",HLmdqJQ8)@DB0ZeAY0KP'Sd"e8$P2$C@8YDQeQe4I-phkbP@Bm +(A%VCUZU3!+C1QEG,UNZdHmHF[-`#5kb[D'b14HD%G+kD`20BRc3U2HbLm2G%pjq +6XK4f1brKp(h$,Be"f1,,,VPAXS2D'-*HeBB,6'kaed1MGrbN#!VGe'mHq&4,plp +R382D(Tr'fL`&JLTUliE8%6D#Fq$9KHSCNl@h&9234R5iI-ESSTZhJ9I2jY,QkdU +fY8[K&eCZI*5j2HBk,C-Zkd&BL'*PD+(5#ahUZA@[6LPMp'(hBqJD2,(TL$khLll +Q5"#pZI&!482[Gi9M0&*GdRp&U0%AY1C&8&`bq&#LC5cSbGcKb(k2F)dJX`i2#K` +1Bm(&mDa(B"BrQX2mdN3*Z2QF[N@#`X!&#Vm2hLeqTQP%NhCaI"AC)JcDbUdNb6Z +c,q5E"$E$U1Z9pZ"*pmH4D0cf)B!UelE)BI@IBk0[(-Q5c![GQ86qC!pqre[A*"" +BR0qG1Q%FUNE2me8(ak#2-8D,3eEVECe+jP14MileQcp3Ya`ApGi!TMQ#Bl,3a@m +pV((rDK&!CpRFL&V%q3Sl"fN3k'bKcQX3Fa2IE1i6Q*!!NJ,kaR-a@EFUMZF[d-1 +!`4!Q0HCIMqrMRj30QPDKTICYmB+3!(L`T8eGH*pUNN8PY,A)$LFd*0GN"PYjF-Y +QL99JU(3Y#1$Lk)&00+m2I*Fpk0PVc`#EKZ@EH$YSeK*[Y*C`UP3bTM@#8e!&cC) +3-qJ)TeJEr4J0!)9jjT1l%phjdNr[&)(IblC4q@aPA%2J542h+6BXq*!!VjF`-X( +GS@)EA@j)jr5C*!CJMcAh2NaVjpJ*jAB*N!#MDr-Y)H3EX8-lQ+PhkrbD&Q&8K12 +EA!)ASDVcRb&IeL$b)fYa4[#9mFbIdk)NSHDB'ET(Hm3-VUcK,mBLmjML3Q[d(YT +!-(4DhhjBG(RV8E2ZqqSU4*!!S`8-TC5JR(m`Fphq+R3YaVXNlL0V"BdcGrE4)J# +pcMUL$Q23-F0dK*QMpSm%K)aU(1BBJZF9JbN0E,ArIp+qi!8Kr$jfPC!!1c,"rRZ +C)U`HA&YK&)U,+a`+EiVlE22IT-2Cc,mhahJdSb+!TmE'4P,mU#Jq("p,af"D'*K +1eCpfDaAhe"'bC"N88-4NA6iNSmIDi@NF3[L$+HN1`aER#S2E56RPbMq-iUd(UTA +4hjRPc'MT0AK!*PqK4TJ&pe#(X9,Y3rlDjc$#AZ6*p1mU*`&)#jV$S@D4jPMJ6%! +@TmVDlch)Rick`Vk!&q5QIcZZ4X1mAjJAH'f+Y(!q8NT$4RqaXdQE,C&aGmB`)Em +FZ'%[%"@@jr0'rC5T[`I94Qq'eqD`L%DC6kER0T&dlB"mK,$4-9aC&@03ZC)(X09 +GQ,dNdqKXj6ZlmKMcJ)6N9p6i'LX$XmP(Fbpe0G*6fSRR#)U`GUQAiBPqiKGA32) +*hl'N[AfcPVe%@jCj`6k6%h1U11pV*+NCB$D[P89Mb*U-8X,#YMJ%`m6kTVV&Hkp ++i8fIKc@#rFi11MCkHcYR"$8J%()'rSmC#Lce8faL)N,$TA)Ja6@m4)&E6Y4ZkXh +KdFhqc*@d)$BIi5Cqld[b'h2kp`S)H9cBMlGCUj1%Uq*lLpRV5j!!Hd9IbDAjXrN +6mq+Pb5!bY(Tq6B2)ZCTSrGb+@A(#V)!Irhrr-Dkc#%PYM*2JkVch8d$66K@Q6Bi +f$QmD)pE+fF$A)PUX)ZfjYMcCMX$HiI9MT'"1p88YUH8DT%LH`[8pU#FA#SbMjRf +A6aMVm'8X##60k8Li6ejYi'jAkM+hT6LMp(H+X9pUG%%rNG)Zd[j[Jr(mT,B&R%Z +56r,mB&H[A#@SPBN5ba6562STHk'Dh`5,3d`LJpCI&PMaVG*)N!$m,[9)A!LfLC1 +8q40HD1ASdiI&U'-9"`0VkAb[4!$@VDl"'5kd(@fa46'AE)&2$dI@'!Y(8F&dpMk +I-0q54S8Z,`R2Im(H!D8MZ`$Nf#rcUGKm"3bAeVe'&%91AD5hreKdNUBCcN0#q8N +N0HkN6+4Y35'Je09RF%%D5-0,YDNPSik,4*erNL53!$c%5raFlrEQGZ@1a`2UYPV +c&q$V-IY`P),Rp)SaqK)m5#3+,6BP-S`+H%4#2ZBfH9[NHiMY4mrPq26%34EG%26 +G0KcKmE@E'9!3[qk@p)3!9bIQ*aEhY8FE5!`"HBBR3rabA43Y,ie*Y!9fDmfej04 +4*F9`4A5)XVapDJHd8Db!MAY()U0RJEHCm)S,Ur5%!A1b8H%B,S)filZ1j(mpYVF +4DrGG-ZSb'IY$aP@@!a#cfqI$HiB1iLfcM3!,1)"TBm,8jIJN*+%[hj!!(Sjqf9h +YlF$9VdZ"b5bATMqE'Q([Pjr23q@ladmj+"I9(,KS@GSQ)mE!XQK&-LHlUFc+r)! +U+V%R'Ce1m8b$V+BmDcUjR(HPm'K(pR+bcGKIk!RU[fk*T,@B*a8-G51XJ+Kfq!@ +T,[GS"!RUji#bFRAU(H4cf`"-4FrdEl(mG'qAPi(K"+X9fB"LJAl1lSX5r'@'k`' +-L[Lp48-i6l32%)(LEEZcHcc)"a&"jjMjPqNDMQ)0NS$PS0#BD8KR2Lcjc8bNiC! +!4c`K''2R-f0paJ4X@%VA-lh2[$@fj403IA8VEK-mK&3lYZqPJXj8!'0L#BC!EQ3 +aM&jepEZ1,8X6"apb'pQJkQPI4,1rDj,0R6Th'CJ!"V4d`a5',2p$$(-QSd,"V!S +cAhl&ZG1TQf3mDhdAA[BiJfI('db,(FR,VK@b%l+8YaPYNe$Lk%qVAQ$Kkc#UaSM +12m(5$`U)+6%&RrPR$$Xi,FbQkK%eD@T2UB6cEAYGR`h9F3VYK`Vb#A)K3$$$C8h +R,FQc5(DGpKcNcUXd#3K(@[IZ5BjkJ(J6ha@04kB!3eYM5eaVf5Vi2+XDXa*XIdX +'f3'3!-C4pb`IHB1NM6i[8B8D(ee)"$k)N!$2EDMI''(PXE$c[D[G@YjPcA"RIKI +TF6YGLmbADMm#X#)GRE5#NbRp#CRkLb,$dB%$qNl99-1Lc41PPXem,eI&jh[l#K9 +RBRHbFCcE-qF'pEHX%mJ""ba43lq43ldUk5#L04B'Qmc66++Ck-T(FGY+,0[YeUl +9Hbf[9Sce!EJ0aHp-V(mk5P(j8d+4q#XE'"U(j-PaI!J$U*[(XB"Akl+#[rE@Gp% +i6*QGK'*RPK0BF26pLrcZl5acRV12ULfU1q9ELqPfMq[pUN$hIRHYh0E,K%C3*Gk +AB"@XNSTEZm)'&K#&4HQB*b04*DXPF9@#f%TRH,Ke!iemBXTEZMhF2P"68[15l0! +4N!$jkV,fYhP9"@d%Jc)D9eA-KmX[4A2dl6i%*-*'*cKYcV8X%p''c%ID3*UGY&+ +++%&@TU!cQSJTK,c)PAXYkI(1-jj&rD9haE!@8%[(*N2$DmVC%L$SH%3'GCmYdbk +hj-H+Ir%DDXfkc8FV*V20aCb@VNS#8rH&6kKaFAe+aNCAF4aY6FjEM#I6GKNYG8q +h&aFTIDd"6$Kr9ki"(AUj`'Z-`#HL*5m9VK(`rae9PJi[*NqcDYpSdpF[k%B5#)R +(-0E4YM[NNU&I(aa0m8-A[PQFEF5,FpVc'Fp(38$3Xp+Z2dD5,XTqmeN+--3Q*+2 +)fcBM0c-VJ38M46*Aphrc1Zbf'&E0mi4YRNBX6Z#3!&''j*lT!I5)RIV%M81fiS9 +ZZ9k66hhe'4(i)3fC#iM,E3ph)3*i3&0dF(ZdZ5B%hJ*M%'`B8K`92rXd#!5EIp( +XLNAZF,HkKSd"Q'ba05iBLb6I3(9N6hRr6N*k'N)Ci,(jf0'i9S*C8*[33bS1KeK +Q!Rj!I1HG!4,XB)aE8,@#ZAMRV0!d(lEbEErc#c#[Z"I+RCF"a$8BpHD8E8)-M+* +&D@Trj'ieiN(i+1Tk&3*p43hEVa'"H"XG%dj,GjekH&k2%2%2"DR5XQ1dKK,a[Gc +GR%cQ,hFKTpUSf38h&kh14Ljf%q#,RT*$$U!NVM*,dLUE'caa00EV2@5BR&B&UVS +Rp+NkG3%U%4ddh4B5D-8IpQK"0Y'BLES6IiS%Nb@!5ZBfHDJ@446Lmjk-)GYr*(+ +JfMiK`rAB6pirA('(A+R6b5e-k#2l`[9pMLVa1SR&#ckj0VajfQ8M)!D0(aEK(6F +mf*r'ZCKR1mhI&BqS8`2[NEIQM!$!0*S18,kTImpkKN6%aGM%TdL@FMATLBU)9Qd +#!mZQEab1BIVS6&RmZI2c+4*)+L[D,2VIX*FGbl#k&PM8-BdbccV$!KQh6!%a""S +VFAd6'Qp`L-2XLMXQ93Jc+a$(`ApjL(EAh+ah$FRhplqZ,8AJT@b%BTI,R'"8b5# +c"%'adiMM"8pmYIC1#5Ah0Z(R)!q4rL9hhA@UqV#i6H8R,`-`&jLYpA+%Y(+ApGG +rFU)qb@I%cb!NNPhfk[BCP$MG8XDdD-`5rV`QAif8SJ6KK2`iJ[6l3mL'aQX(c+X +14b0)IU(49`3*j`Tb@f(hdiq(MecfH[hQ(@@CeSJGYK![@`B3LZ#a4iEZdIbqIEr +ae`PhDE#ZZFh#$p*BEJk@F@Y#0ALG$b3a8E)Al83AUccCGkSq+mNV4S,[T2L6C+r +5B`5J1#QTfE0hDM#'mBDeST8,P6A@ihiSmMF2FKe)kNRB$'QFV9MFc*KV%llkKaT +"9*J1X-N3&"4r`**JPGch"`+fF8Bi+rIMf5[flAYV3!UK1AGH$U(VcT5X#b3eLV0 +`i4A`!V8hGKjd$Q6'V%f@[L&DVQK8Q("eEfh0Q&Ia9@p)#1RNUPmCakj'1eek69+ +Q',KchiiPU50DFE')AC661H43R[iQPQrQmrFYKmDmRhf1@X1K",T'+lZM)%$BAlV +!8Sb$T3i9i`Cq3,4S1`9b5hS*$'50i'%L@@JEbKkZKPSF3+PmdA"I5F)&3&&6M@0 +#H3V8S1G-#D-UZQU$YKJR'UY3"J-$XV&EmKAF3kl[dXdfLrTDB+Gbj1kG-jkL9"m +Id#,)$-Y0!r$%c"'45E`U%"kRQY&rBNPf3aQjXY3X4Aj"aDhlHPmmZ2--884@,(h +pcaH90`XhfJY&ATQ&hk5'&I83PCXf[b(lUJ$V8LX`HB0[l2l34Am`mGb!TfJbTLK +3+e1mN`$pP`,e6YCXjTUA5%eM-1j-mXX(@NBrH5e5f0Lfb1E#L4hTDp*B3aU-2qh +b&hEjhQdX2Niam+G%f0XhBN@c`TIiGqLGm!GfR!,EIEciB4PG6De'Fci$kl'4bV1 +,&+Tq$0KBSPa,N61RI1$h-dMHlP,c,LB`j(Fe[FC1N9lH(UJ2&ka-UBRPj'#9LP` +STXIr%c6Y!'H[&Ah$0DpF3(hDaAflKpQL!jkM'c0(5m&2ERY!eX"@V#-jIIDcVcA +!@3,ZSYkZkdH,lJEe40pMPaQmahhZlcQ0$VL$QRcf&p5SqV,944QIF%EBiQfJU-0 +Ur2LPSYV5UT`Zj*2Pj#[*`8K!6[m*3ac#63&BP3,ke&a,fLYkEKBbZ81l(9FT1L- +8JK6"bRlDr`+BadD6(G&c$1S&4UTck$1[C%L#3#5&[SQE1(Q0CLF9@5K%%[11Fa% +k%2342PA+mBPeReFP(CTjKLI(p'TPjVk"rVKJLI4-)0aU*ZfD6k%#$*6T(cI("X# +$8KNQBSqlTGmdMiAi8JV6QcZRRBXVa+K@b-I4p0qMLX-+GLUVla1am#FlX@Pb)HC +$mrFGir6MUQ8Pq3B&jLe3A%`4@0e@BESHZr80UQ6a3q`B(-hd5X-1@56`(09FjJe +SB[Gp#VDQ4Na+$hCHFa1'*P+'Mr*4m$Em2)b[T$$!ZF6M1iF`Ua&dpT3M%C+)qr3 +1f4r(RrQffhIefrHqQ4)HaD@4%c0fch1a'!$,1Gq%6#IU[Bi[@G'TXBEYKjB-9[$ +kM-f!Q13L-*5F5D0FMi0(8eB92JMDGP[(4X'XLiV5Cf`X92cmkaP8Q"P1IjC4 +jZNZD#3bpLlEjML!k'kIY!'*S9$%fji,TMG$)Lll93CQG`!-##%@*&a#aR8Ur#1( +dlZ,dB)b5ec4eXY`d[KHBhLAL)R6bRDBV-c(Kc4GRpNMX`$@A4Mljh1m*XY2I4qM +Ij@0bGLIh1iZ@EFlHI"[FArU0H@fa8QkKFIRM'"6FVRFISCDfLZMQ*ep&``RiC@Z +D-8"C+l#)1d6NdKpbP5H&PqPchBS9Ei,N8ZF%5$2433c@$Z0@Yme&p3NL%AMdm4m +fBYYSM4PD@38p$iIb3kJ+&(rdjaMpqTq4[K$4Gr&HZVH4YDe14RF8mJVV4a9Xkd5 +@)4,`,c+M#`T8CK0H$YqGj`#S%@iM5p'GARdE,IZC([CH+C6dQZLUADrRm#Je5Vd +[J5aZ)-d41RJF1p*VA4*b+,U3!)2E2,LK2Cq6QPD*I9FT(UQ58h&CR1IS+R2E,)8 +h&ECqMLPJQ3ih1*I[@R-XbF*X'"Aji"m4fI!+maXNe,eH9iVi6#Ljd)q3!#IKLTM +AjTV90AFp$0B'&Tp(pD(5Zi6DE$%XScr9rEV6h#ph+mFC0B802h%!'pDGqk2`M,Q +r-JT28CJ5J0*b3GXR*N#M,VfAUiE-&m'A"ilr-JUfeiF,f"0T8Y,ZhcX[qE[P!@0 +0*3ZFFX&m4Yh*d#Z"&1B(V60)P`4Z,G$Am4ZKBEIN*3e-P-XF-Ha5QcJ5Nph!+$[ +hR3LPheZG*mdfHXG"DSrpJdlI1kj)r+SLC94*ZRK9B3pJ`5`BN8M(iR@Xj-e`,dm +VPJ%KMQqZ"QikZp()eHhT!pUriN8J['-81c24%'cLJpi5XV`2[3pj1qcXKaCL!@p +%%DXQD1TF$K'Hl#KTab[QQ"1ISMU*'FFKQ0%LK#iBN@bCDP6(HHfKTf4iF[3+MZ" +)GZ4)D+D@YpGZV1iiP@hJ'MpC(3lUA6r%(p%MJGcQSpXQH#%GqU+bk*f552#H)dL +Im*2*2rl4eTRV%i[IFbfkd9Z"#,JNMUBml$$6iKR06"KCplFmq-j5L))%%-[QjD9 +2S-Nh(fiml--`l+jBB$FajAl+MlYScE!iAL3cJ(rR'c!dbVhc0l*l8(4*N!"&%qZ +91,A61qK(llEbJ[M*il!(ZL8c!4Y(CfIceY-"L'66lFdqUe2)F1L1`dFSi[4L`fi +9q9rJlD+cSJl24pNaBR%23E)jP5'CKfL,XJU`h2L02N+$*J3JbS-Fq-b0f6$UeL9 +1BPpQ95#UB3FEC(iR5%Y!U)`TkljA[BfCZY2F5q`'I#)6@6bhSDPpH*BC0B(2ehj +ll6Di)BdfF9c'X65jb2MEhdK&I2*Vq`X[XAP%Yb!K)a9TFM&T(P$jT2X+[dQdjV% +$C[U0pZbVkh`-UX8(DH1)$IV4(VQYcd8*@cJRQCeDbYlV%9iHmKR0[2TqYk!-0Ie +FMc153ZmZ%YeRP%C[3@(HKP`KKNpdcc5ja[F)`Z+CHQ&0SA"C&(bANP4UU8d2KQi +RJR,e,I8ZArDcKLdN5EI!-0l@QV0Kb*Sbe1[JER,d`+m'B#F0J3(Rp3MeePe8[J1 +k&4"A`3k4CSYD@X)e#$*,L`ppZNdDpi)1KZj1'Rc%XLUAJDVCZQT'Cj3h#GB"Rc1 +2@YAIpd2l'33HBpEKSlRA8fVSjM0Q-[*hD,E5C&RCjTE5jM!Ip0@B`de"!-4X4+5 +@feL#3qYbM09F'NiU*U'p!lN,BJ6b'RI1API00pfrd4erT`18HZ)"leP5*j&C*U% +jK)bHr13cqT%E8-!,HfLiX-E1dI[RY'+cfKJDN[ESIT8mIpf+Jil$2AP93a+-3'H +!PN9#ARJEAbq'+#jGIKi1Pab-UaA`DS((8G2!`$Q!ZKhl4GP[#emGCpTLKbJ(E+f +9F6MdK*,lVRT(ELB0X`%jCH%KP9Ul3Z(5Y-jhM#iCZY`q+@Mk#H#`EaX2Pa0FAMQ +V61IHUpTP%-V$SZBp60a5*%C+V(cGPYkRX"i#()f@U64++j!!q5dMU045dVXIA+b +!k`LJ5L$T-pjK1B`#5-60$FAQ4Vhc#Rie-9Q&Y!,'*a0mF3%qY6pP[XS0,)RYTKf +#'A+K+j(*@M5N+jUXq&d'q@TJ1KS)+ifH5)BfN8jFZe%UHMJ@!Bi93dbkkTTJjH- +`#02h,dlp9C-"+6C5@2*1`)4T-k'Lej!!,Ii8j4Tm-j!!DD(I0KHjA9m$`L$F`&r +aSqD&&9S,Ihf9R,eTH1KJ54k2%UrUI(&&IFP%D$i%$qR2f0#THk4Iqed)P!41)lp +5jP51Dr&&0TUS'3G%Z9MbUjmIZC*SeQ&'9l$SiG(8ef-$0!5NjI9G)jZ50)Ff5V- +2m$"hj6i5IKK4563E[IFV$Q,&m1%F3P2M&8-aUIdjHcQZ&AkpbI2r3A&@e'S99N' +VN!#qT,r+4#@@!,@AbmDpZSSbZUle'rMp9Tib8Y)$S85mi5GjC*j&)hS6r9l#M23 +JIc[+2i8@lL0Pf0M0M0GZh9RZ'LfBA80(Rrfh!Z+FB*CVCj&NbrF#0MX"EC3[hj! +!h+"C3H-Kad[N%`-r+N%S`N'M8JULCBdX,Q4TS12!BkE`S'H#A"jjTZPqPe0K)X' +FYJPD*H!2[ciaJ6HNrK4TlSZQ@$$[D&%c5SlXTfq(Pf0,(eBK,4VbPL+N)MEr3!j +&rhr6J[8XZFQP4'KK@PX,A4i%'kY@rf1CHGfJkpkRk['Y2TUIq'mPB[90aJRUMXr +E()0a3lZ&3YCHF$3%9[eh'Gkl"D(U!0[M4)AKAp!RFHHSfBDX#YYe*aJ!hi3C`!+ +cmmLHbGZNEq"fC2V09Yj8,NSl9[&I3#,Ql-A4LdmJep-M"A+VqVGP$XJUFMfC1Xm +!bJiMC+(4@eNrZIFkJ%fDJa+SlBl%jV`X19mQUYNQ1kDakV3j4`($&S2Ra@&6q*! +!Q(qUE0$pm&p@8-Abl435-G[QrQ0NR26(kq2MYqUUMqhQ9-ee(#2H)N`RX!@c(2R +X,Ml`mdJbb!eSCDr%4h9eFX""+6RUq3mGMk'lMY8UVr#l@`*,Gd2h',r*UbSYr,j +2+$DJFi&i-DRTGZ19DAclkT2@6ZjaTHGjIDrr0A(S-''!9PmNRj!!p'NGb1FP1i1 +"GL9m69[NK6X5pp62SjKr0B0UjHe4,%-[[i51RUKIpTd%HTEMNJ+$DTN-UAMHb1H +2hV43Dp`G`admX8ml`R`N@[*3R)'eq,M3[9F2,N%+34a9G1,'`pS1k1-RHjah%"h +IajDf8LdTXiT6di5AfX'f$LfQBHI`3E'reNKA!b9DTca1%2'5TJ38lU%UYPAj(4U +VB($,'0RkL`f1kZ`%af,&LQK@hphQ6[!eb-aJ`i(VH8Gq1(rc,(kF0E-`$RDB@KL ++`TPTd46%8PK@VPKJ9RX(X")U+69j)JNc,9,i%A16k!$HfecB,CZ0Mi,9A022YdJ +Xd2ES(l$fbG*1S`1IP%$F&`KTLd6ck%Hdk(dVKcY94M`)dPha-KC[GQNd3j*ZRR, +&c@1e1QKP9$ZNA)`0Di+UdeJF8bMCcC44i*bjk(PKRUY@"UY,apS!qQ5d+T@2E,b +aZ3D$KpUp!fTjC`pYL1N'"dKSe8N51XG2[CJ%fAVRF0dd#Z!e[#08JmqdLAhec-K +-'HmJ+lPYbCVAM6r0,#rXm0LI30G`UQA#9Rrb'#E,r(08GC9BF"'JMCD%Cd6U#GV +DE#B(%TcRj52qd0KJ32P+'e2$ZTCc5"ehTVDV4$Nh(phicMGZqVC!RbDG!-P[h5& +L8C@,8c61SA8KkD$lL+Q!c3QHp-4Bk`EK&EkX9fMa,FJ[#RldD!fJUAfTj'93CF+ +RDR1#mCR1cV&cXB$'X95qd'erZK[Djh"dFVF!H)-Cia(fmp6m6iLXATdb-R@`C3) +1"He1D9QpQ3ikShMLLd%RaRfNSaAB*(a9iTZ9!H2[)@KPN!"EUKLRVVc3ViG(pPX +Sl@9iI0#R5h&q(UfQACmZ4L+qd"-*cSJ6-L,IHFN,rRA[`1mLD#)1BF90XKG$VD$ +594)qjH)Tcr*ahibJ%DHVJhpr"KRPmY1h&&&4'@+U*T9*@X0BP#l40"3PiD3Qaq5 +Q@A4f9Q&X94BCJ5,&19h)0AfNF8V"aCD!@`(mF30i*Yr[YpQE[X1dZm53!%34[`B +2'fHGp5cVNT@[qV++!el#GYX69+M&Jp`6)i-VFb61'-a0ibb&!0qk!U0&aK5cr+1 +,"aS,bqGqrhHr36Hb(jEkCN4!p6V!!3@QYGl9b8Bd84Y2Fhr!Di[p)APbpce5k&j +3XTE2kG,U4%V6NB1[H0iHch91FllQm1bpqNcbA(f[Nl3NaHF-*N0KhU03JkP8U*R +#q%$EUNX`2#SU@pp"@[d$R6X[V"#)%Tre*UXYe*`C,jBEbhLe5U1LH50eh[4k"4( +%QGSQ'0d[!VUS@'f!(1!GEP2Z"8ZMlU"5q6e(UG!6R+2H6aEKa!Qm"4H-68+6#5* +*q!Ee'!%BUFZ51q2Am@*MQ5CIeP$$1[ej08"3QXTGN@+ViC1,r@N[HBBQr9*H9c6 +dUS1QIE6`+U0UQ2(d6QTrMhUD!V'l+9Be8!V"P0)HTmdBVB-$SXI*EeIA)e'pm[h +dBJrfA"QGIeSRDeE*2KYj)(1'cXD-0UAfYXBLd6Z8l#1dR5'5&D-cCK+[d8S0Vh5 +MlH%%0'DRDChAK6Da)bcGEGKl3b'A[VfR"lB@XEpdZHXJhH#GDG4Kkl94L88##Md +mhfJDjAPD5T8"Cd$mlkI5q$pXC,E3LpBLUN*FVP9UK+pL)qFhi-8[X*dlmXB`d5" +GG0GM@+d6,"c5GqP4ZVk,GlSGVmQII'(M"+8rf0A*NZ'6Ah!96Kl4jeqi1e0VTZI +l(#BkNi!-*1!PK1#VBkm6Q&5-1Y+VpVFmhH$m6M+YrFI[M-2bUL1liSlV*m6!+rS +(EU4[r(-RE#f'IJPIcK3KM!l,VKJfUUI$S$NL9#68iYB3VjI%dA5!)P,09*!!GXV +*DNXR6E4"NehMTPiSiV*N[m3cdCiYED-V(6hHGSp`N!$aZ,i8"`hFA5i+b$mkd3l +4d,kQP6PkDHV"12q%"pXMZb)4VM&p(#9`mfk8k8Z28dU6D9*9)I4qD6AL"[L*YU' +SKK'IME+4)`,H-#l[E)Chjq!XZ(#iM!j-L6-B*KI8+L'#mcNJka'YMA#lM,cP''P +@`af"VXBjN!#aDjST[a2p``IX$I*)i&AFh6h@HX9-!'YfKd'i[ccR&)'DPX&iDd& +&XpLieBCaaX$mNLe4#b@*$5M$1f#4DqX(%T%E5!-HpedeB(,DCb+iG9DYCaPV8@P +bP23UXZK@*PYCbR"+kNJ`6G-2&H@fBI(2*[+5eKj6UkMBT@(jCd'$P0G[KU)r)h8 +,T*Kc,i%`&6briabXFZ'H"d&0"R@P$UcQ$'G)dr6QbG)j(UbmVdIHQKThHilc!pe +4Q!XN%`4b2q%UKM4+4NiPqfP8U-(+K$'Z+J+Gd`DSU0(5bTF$!T%r[c`Dq)"!406 +FiV,X',IlP&SpfEpaM1(ZU[bd,f9,8M#&-[LY!XDj#`)dp`*GHJL2aHDD"#JcBpq +Qa4#Y85NDYVVE6NpQ)Re1N!$m9"A*b1D*"mNY&-VV-"8%69'jbP5qJ'5bqLGII'Q +BJDTNc!!eI&@3!0p6PXFHiih3@K89+FP&$Vd2[V&me*'MRJ0)CI%)c44bPAj!XHF +pMjJc48@hc"%!GeDbVHTpp`XVQHTf3lXUdbYY[)rPYm$r5#21BiPf4[Q,$Pm(2[m +"N!!XE4SAVb`A8hA%KfEC1GBcL0R@jhF-frX+cAlqj-G"(2"-9T13!,&mqc@Vp2J +TGkh9lKlfR&TqZ*p@FAM)l2(Al`CrSDj!VXiDl@,C`PIp2'NLEm!#ZfLc)"a%i$p +eSBY1+KlH%0h`ammi+[CII0XI`CQdDHNZTfqY&2!H@"1#SBB-(fHcLd`YaqUr&Y8 +FpR`0pQ*!9%2UZDlfQ%(l"rE`-mQ0J2"qYf3@I,Trm#ELikp,&TRFBc0!VBVG-M0 +RHJj3UMZpK4hYp4Te+rj8T+jlPmmUNS#95TFjjN`T@ZB36YiIV)(hqY28dhSU-!, +2Pf2VdMLj%NL,TbT@T`hAdrk54`Map[R`Y!Q@5-0qf`+AqhdD"fQ-'*8TM-q&F@- +b@j8JR`Ec%69f2SC$(J'@[-aGa5QT2AClQEf$!aa`$%r&!pU2UHAQLmIpQrjb#DY +-[T%@I9Gm8c3Nmj!!Ep5@MDr3eNL,d2j!kRE0)UNKRf+63Zdm,PK-,kd-&FNCjAG +%cEkfk(bA$`C2-m#hFYN(fFic8La4#S,!rR%#Q2%-F3qYR'4&[Sb&l@3KZlE(G%A +*$6-5Qm13!1e([(m&lFK83MQqh4$6Tpj'%D[(kJ@!LR6S+HkBdp9aQUb,ia)bdl@ +M!Gbijml6l+(HcZi*3D1%LVUiP'JVGq,ZN3DUjf[VH&NrdaAjR9$1&RKLGq+Ep5I +l(a*9L$QX$QqR4hT)[EH#jM'0PhYpYQ1p04C-I1UIZ4lJdD)&*c""idp&(IjmK90 +V54#%!q3MGbajQ3l!eMMQPF-m"2UrTD9V)+kRHCRL#VmJ"UXB49[Q9m5Gk6#UEr- +b'KamRFiB(hE9HEc#90B4kY9ZYQ+E4IPKKqE8d$9U!dYGhliU,i3MFZ5MfrKe#*1 +#UqLLc",Vh$I4MmB6kD!e[#ccK"CJB6e2m,3BeaSY3H""0bkIEb,EHrY3q3c&!Z# +p#X3r5'XiKGPr4@HQ&*e66UID$cD4+BrKeJ#Q6ahP2TCNdQ1aYlAZb52%D"D$M"3 +S#H"(Brc5bk0l-lGfp%H9!(eDheRCa)cmY42bC)Nd#2dAdaI!4UlamS9B$J(`p[1 +0p[G*H&`U4UCIlQUDcE"@C'[H'IjD0!#dGa'GSYINiGNZ6$L3!+3J"IZ)K,D*S#1 +IJ&[3q%,$VEa9LF8N[k2V5JP1+D4Pf+i5r1N)f'jeml,%f(E-Zfp*dq'mS2cl)c4 +NJ'28C1CfGf$'lSBBfILh@#Y+TY(53(RH(LGQNFrZkAR6Mff3!!VVE5)'GA`'AC1 +R&l)94%+`j6f+TA#'m+&X%-kM)"l#E!M'I0-H`)*i-+ahRpr-4,EamiL9H3B*C%3 +*FCDf8jQ1hm[+[aZKQm0&jHb*#cMf"`&(K!%aSqB"Te3pKPe`L6kYK!hP'X*XU15 +AhZCDr`,-c,"YN!!RSCHbBQJC!SjG,F#L4iVYa(RQM6TCJXF3F6NGTHRQ%"I+Z8( +c2qb@)i[FPaaA83p&!,2aXmE(!%*0!4!T)d+"h2mBQk1)C#KCS5XiI($B!6R"d%3 +H1bFHhfR@e&@@5+KVp$)SlrFAI+3AUacJA#Pk1Y)G'(hYPQYmpHhm#d5D$*A-r9p +6G$[[H#apBh9B-T-LVS2l#JhbQlAN2QjAep"Jl(-F5@Z[b[k42,CDd+GUI6r8k&V +(rXPCGRrQF0R)"*iHqQ-4BNmjd2P`&dC)r'fHqL1G3%-$YLYZS*Kd+"U(QQ)dher +4qQbKAVGmN@A8(jqC('Ab*hUKPAU&-4ZHp$@mFe6ATDQ`8lUl8`,2M+miqmdC(Fi +6NIb40r0*AB3mRES9FamX*#6a8(BjiJ%hfKj(IQG4!AiJ5UFQG%r"RRIhZZQ6a2d +`5!QBjFXh"@Qr11b`m$fLKB+e3),[FB`kVq%ka)9HG@N0J-YUH2HN1@)@2&V&"KF +N#h3qpTVeHSEY*R6(+kGkr92cliCQ`kHr0*J!N!#VfP'5$$,C`!ZF1j5D(Kc![`l +#dR*LT2E&cb"q!46VI0V4p,48[MZcf&S#j5b)['bPTG!4c#`b01i4D`fErU#KT)8 +G"III,+HPMa-5CIX0-N`82JBC&EP`UFKY*JLha"&`62&#YUK@!BUQY&M$MA(4r`b +![$0fPhLa!FSUe3'%[3[B++Er-%idTlQ8h#0i`FIF5DbEEUTkRI2++@TLbTi)&C( +6"@m4-FD16)l+L*l3&PB$PfVPc#D`bY)&YTB`EBcT,Z6p'"E-`m6RfEN'bK0lJCT +l`ZEVJ9mX9eR@-+(J'd-2%+b85aEfA2a2CkqeI(@N&fXijXC'Kb3bafkE!bedr)c +`Z$)J@d,PXHUZ0k9K"i)hURPU`A'Tc+aQ)eNr"K+h`+a`0N3F-Z*l2"b'BB,MNl" +%5LLZaJ1Mi1G,'q(#9H04I@@&(LK3@)K)!U9cY"#&[l5-Ih@GYUHYp-@Ap(5ef59 +F3&@**j*SeK$AQH"56cMqj'+5N[(dR0,++FXbcDmP[[BY0bN4RiUA[k830`[E@'* +Z-0+0,c)0Y@)fXU[c5Y0,-6pT*2BSX&MfUF%AeB1%2Zb,FBK&1QRZG9jabNd&8'l +8@4XULVCq`r+05Yh(eFXU0L9qJ*'2cfGY,YeXfE(Zc9BB-Ddbm88!Th)JNUYP3fc +V[K(Dc6-NcZiUGUThmN6(2%*SM+k0bDF4Z@`[*08"S%J+$"HfFC`+'Lj(6L(##d- +*D3IXP'X$TNZ3!,5k'SAJmj@[3a@hfahFNdiR4@IYcH9UKNhi&MrEfffcSSX"`!K +LepCkVLXpd!PlK19Gf[dU)Tr9!3`0D[#)P%l`dm4kLT@l6b1IJ)c&E"T8M3&qmQ* +L8+%(rK0IK*0NfSjC,2*N[[1ZLJS(U*Z%Relel3(&0L'2bjX@Q9l#C%#P([cEKA6 +QPQU`[5P8*#3eYJ-)kec-BrT5F$bTNH`$(d8XA,MCp34*THrP`$X+6)a9lR2LXM` +Mh&Mfa(3jrfd!$#1,AT*i`5$#3J*IrfP5jlbTHrf"V19)B&)L0YH4AcZ@09)&K)4 +UMA!)5[lLHDlQ&e35LYbJ"8`kTA(pL'P(QHH6PV*T3ZCQ9HI*8!!83%L3!'jb-(r +(HFaK(P+lXJXZ0NGHZCVSedrN205#)8(iL@1c1F4%H(4MTi"hMMIGG%,KS-Vireq +KP6+8--P3!-`#M6BMUUa"1k[*Ki"k9L2Fqm-V)`R32#1qXP$,e&-3%39H#MRmBf` +#!YCa#(qGb#8S[h2ir"6(bS$#lPPP@(2+leB3+P`l&rJM*8!!&%")Bp@m`V69T0q +)&F2*B3`aEe%!QBB"(q)E)PcZ-'Pe@H1J[)&kL1I2&ENUB%FMVV3UAqR-KTijeHG +c,*BE45I"aI3LU93K`N*C8B9Nj`ZMiCpGBrNH!bKkKA"@6S'qh"JMVa(,Dd+6NHI +h[p@TjKpM9Uab-53DM+G22L"2qpm8)HEP(f6DH@*aic@IZfpU)R+-hV39'R`f4P& +TNSDBb2(-aaCDdVrfR'kM&hq*C,U@j*S+mUDhSLNE!@,i6Er%M6@48q!Ek+N95'0 +9-$2#PiE8jPVEYKk(jeTBJU)L!jFrc6KB3%``jX64*R)VK4hEclE',*!!F(NUC59 +(55A`2SPd)5*JH)T55c()`'k9PZqFLY+Gk&Q*6cap2!P(J(EVMR2pYj0J!a1*J2p +rrHGKiqNSZ-FVNNRqEq0HVA(#Jm!!!!!#CZXi3(`9q6@A9#jZQZc,+U*)Qc6HUK% +IaqATPPmLFdf&hDV(,iB(QX%Mi,PU%*iSZ3@JTZZPj*F5CUm&0pI!)JC(6',qA*Z +LDB")!!!!!$@Hp%N6+ie*Tr`T@0UEGkj"$[-4RZ1fbIVjBD5"8eqY+L4e&HJmG6` +-pRS["Rrb'mDJHh6hU!I96#(d9"lc"dUr!"KFE'J5pBr@-XDrm),[F+f!A)J)!!! +!!!d(C6hJ`GRP(Aj0PH&0)"KQmaS2q4JSJV8[RYdkcD1ED"PEAd)U9!+)4GjRh@2 +TJ5GSIiZrV`MhD,b`GAC`&@XQScUJGD29JSk9XQ&1qfL&+c6`l2M,QhT%G[B0b4I +2T-!26-6c@KJ-0(8l(e9KZRJFpSr3h1CHS!c[T5fGFhda@#AkQR12J(&GU`&YHqr +XRp3RidG`ANcEJ5Jhc#46r)rZBVAZ8[2Xe9%'T6`fA$@KbPm",3Q2#0L"pe,'iAJ +#B+Zh3@#Zr'A-j69K'hYI`(EFLULP,+idLC)ZVRa)e3IJLACYl"S-4&i4+TcVj#N +MR``EQKZq%YA)McLRGd,8JlrLrYdC`@0A4Ube`66Md8ecSdfV-c"6P6Id2JQhFTG +!$R-qZGeEK(!c(U2b%pH`JQ#Sp603LL3c"ZD[,'$EFRQhUiTCbD"JkRmU3Iipr2i +!bL+#%Z)%jA!p((f[2kTH$D@5XV+81jfk2)%$A5#ZJc$&'8r[NcaSASUK*d(S+KR +jQHqBN!#mFMAIe([Y9Sj*aeB14X!PG*Er%e"[X#`ke0X+m)3[Iiba@T&)ip#pTP3 +d40jIl9NA4'B`X6R4m$5J`IL`b!Zfh1h)'K)LDPUqG!RK)N$c-!Q'E"k"RDQfeFV +r&S%m%"A0qcGjXh@1-GBG$qRB("Fh&e[B()c%j"PDVZap'A*"ZJQr)RQJ(H3@f0h +4#GbRr*@"K3V*hV(h%h3,fRP#XrUri[9N6b4,YBr#!MP8iJAV(brYq+fSJe1*ije +8aD1GK**,60$`%*[ImHHfRT(E%@Q9,d0CENh$@*E"@-B@fJfZreQ9$%c8"F)AAQP +(T!!KZXlB4X`'hla$Z&2-kd6[%iTiVLNQmd5P-Vcj!RD"8m([6'IP#Jr)dZTmcpV +Y)!`FpJ@hJaRP$"%VK0KJqVK#pXZ2,GM2ZBrm%ejmHE%AX2VIr6h9Flj)fl&VG!2 +-NHZh28iJZfMLMD4$H!qpG"RG[DG!##KrHNYSJdQ3!-jZ)Q5UT,)Iq-R8V'BRI1[ ++N!#*Y21NjSEa66Q+m+!)aM1YlDHRfhS+KJAb[+MRJ$VALX!"l-e39mK)6ZaGJPT +$%-L&$,BrHkr+C-9'6L),RSZ6SkGl#[Hp-fP(Q)pA$`Ap)iP62eAr4hi"d&"i#`- +hSH2T8r!a(TmV!LeYGd4)6S0c3Af8F&#"I0`lPUi58`lY9klN(B`f&('I,k&J54Z +bR[%Rp4S,%Fd@*3HT,-Ak1hbM`)J*[F##3[hTE(0Q5$Y[6HX@6&@YA&S-rZ@9Y$5 +,)m(Yi@X$V6!Aj(rq$1k3!19X&V6L#4iU"q20arD`8lAi%0N-V%j!0kJhMJ#Ilp# +r2`@&TlDFTjfT5I5RSVZ@dMKA$b0NHflEF2RYGRpeqXfpMXJk5Y5dFrMBM*jq#hC +jHSD`3qY&+Mrh$PMB*fGTl(iJa0499TbeEi8#emANUI"S2r"*0LB'ZNEm38M2!'d +d6ah2XXd$Shi(QLUXf,HE)hj2,Q$[mL,*pXDE(VP%BVDN'![q@G30185(MRr)q1$ +bVY3N-A@FpFrdfNYJ,b3fUrm50*!!rEa0&!3Ki#afT`H,NR8h2XjIKANjX,9CK$[ +[!jrHbjQ,6#Ra8UF6a"P&&e"MMI#0'"b+AD%G48d96jRF'fHdQ)!k-i%Y%6jM'0J +CA!N&DY,D#mF$S)ETbMK"IiiCfiR*Xedf5j`N!,DF1&(5kS$bL'fT)Uj&M2fXXem +9qTb58ZTL+0`l+T!!0r'6f5rXILpqUfVJkl-4mJQ[-SH#U4k-0VE%(f&ZdddQF9R +YkX"ciHiiV6)VZ(@M8&IJfP!L)4N*UPpQ4AjJl6Bj9VHS6FiPfi1&`&2c5@jrYZD +N)G9Y`B$TAF6R(ije*Bja6daJ+h)L4U`!&KdQ)$$"#f"*cCl-Np0hH6Y3dZN9#46 +FRIPjYp)*6F`cYme8Xdpj,qhr9Z(&aH!(4ZC$!&`e1MQad)SVIr1HM,a,f%L5EcX +"VJfDfGi39rZCd(bdL-G&Vi'["[Z-rcKi#)diN!$TeJI*KV+$hm!SAEDFpHEZTR9 +j*M3f0P8G6i259#44&Krc4cUS49,5!AVb2JdUB&Lq@dG8T#eAeHd$3SKQ[U(YGFX +f`$rrC'M[!30'2fbXp#!"4HS2Z2`r*Bk0R!h5Z1k1qX#r1,9Q%J*IlLli`$E"*J9 +e(i+6D*EIrT2r4eXM@`IS"ULq&P,iQS+Ee0Qc+'*50`!j[f%"ATlq1C-2Q"CD9-2 ++@--jF#q0qrfV2f0%`k,``Q4G)YNYrQ5G@idT6D5iU2f9QKqZ2i('+040Y1"!8!4 +2M35#YFF6r`H*@eB4B4r5jFIG5((pf%XbH1C"h4!@1(,mTkhMB8cErfhZ!QJ6JK6 +bAe'm0BqhZFX0,9aZ#)(a8qbK@T99jY*$r'f",r&P-#G-LkDUKI!rD5pG!+RX,PX +cTjVAJ0`X531*`CIQ`SYqGKYF+*cR#3PJLb0*U!(3Y4VhiUJ'4",8EImXBMPACfB +10ZBX!fjGeRDd,jq!R3#qNBhNRZYp15fB-lYBR'PDCT*****)cE8NNNNNNNNNNNN +QIYS',"Q*@2[+NG"0%IS-V0XJ6e4h4`Nr4Me%MLF'Al6j(`%(eS-cq3'flITYr"F ++CAlmD2p4Pq)P9B+lGem@-YCPIdeEk++MrUl&XXLmX1pTPrV`%2C1Nc`edE[V60d +E5E(iD,RBi+)p8,'#k!`N*EG$V0imU[h#qIkf1i)i48L(aE#B&SG%S2d'#reZ&0` +!iMZ5&!!!"mJB"!hLcDZULDGLQ2!+3bMc6*9`#A5XrfFCiI-9i6Ak4h[@qeShQMG +V*EP+hmL(Y&qT+VMXcSG0)A+C!FH8Mhb@G9`VG#aJk0Y9E`6&4L9!+2d#mG&6CGr +'R6`#bdS(flMR@LQZJQ2BS$Bh5BkKFj5GB@!TVBKIClYprem!mR4b3eNk+CJ%+LQ +KN!$E#1UBa`D-m5G,i5(M6((+EUL8cB*%!EddiRe9M'6kUe$UI8'UA!T+lVpiBj' +j+dk6#VqFAU5))HETF#KcM+b41#d,MCd'jIFU)ZJb%AXFZ$decAB"2i9HLXbM*@M +XCm6VG`McqQ'BK-NBkf2)b1L2G+Gj!H[&MBV1mfH$b81XFP""E$$S@(T5#FQSACb +mF-`"ae+@B3-)d(LGQjI4M,8D@c4Fi,YZD"&T(QjeLp2!dh`4p8B)A,EIrb!fj** +*******PNZ5FRZ4r@!ZX#eK1q1GB&'9jpHpA`K5QVdM'QHVNEj+#+%f%*%Erc%)+ +$q3BQZi'L-&plVF5QdDk,6b-QECZJ,YJGqjl)!-&Vb,fb$KZi0-J@Q,@F3+SV%CX +-Xfe)`5[XhpXh&K8p82mZ#TKqCFqrfF`F4a`LU9A3)K0VT)J[R%*CSGd&DN`b[SE +LR1XPpF-2"HFIM2P2%6NIm982`PY@*5J3Nbqq2qT@MjC6VMQDRqFEe',dk%TeXea +DQY,6f@ad8,2dNhVXJJH,,i@J`pFq*9JmFL0@H#DH)j!!h[*m-*P0(-I'Fj',EHd +FpVqRj5rrIEe-H@CH@Nfr*'j+V8U8PqB(,-0YCZ36UakB*q@BPA#Ar+PpaDl410e +[kCc)ifYL@UqYRY+3!!+RUM"$NE[$lY!PDqU0!XQ2,*UEQ35TMc0-Mqml9!*#$$Z +TP!IFMM''12,brdA0&-hN4$qPfRNf[)4eXXRNI1Hp1Y9[H@hrHq)3TTPk&3Q,,jN +PHJq$dq9hZZ'HZT%3F,d@BAJ%A8EhrdT%Lq6Z`(2,`FMf@bD(cjZ&ddNP-KKFD1Q +(TqJK0P3`f9TY+T-b99iepUIr5a"XV[6$G![mD,0P'pk#ANeIHb3XT9(2V(Zc'$) +-X&m"+m*qGdq2*Ne0Da9H(4mEEA8Qi@*(H#))Qe8MTahQ#UI[4DYYP!ZMH'cY,2K +ETcrN02,15b`MBhGf2i3TJ4U1JA$!ME6Db[4HNmjP'M&'hGiJhiCb`Jl&i28c`Fj +R)SQVdHD-(@G[`0f)+3)@kDFSH,rf[(ZC&L*"UY9cF1pQGjj4Z'D$M!JJ8[!Dl,Y +*)8G)lQS-q9,HLhpA&[`a1`2K9XB8lkX5J2(JP4D2UXBCa1Xpd',aecSeE%k0kk& +d0ZEA2*)`j1f%50@*f1qXP'Bq@$dTlkaP!C8b3XcP(HjUZ&$Cp'"PV9XPS*hd!G+ +1HMK*$2HQ5M0FhKK+PTD%-VLa`Z5hI,keP$'E'2hecaaQ13)a35aPi$q'lI+Dk&, +&Fk@BVJN8CT!!GGbGM`I)9D#6`D$4B*mmKH-!m2Q2IqE0BX2hpQR5c@MT`4jHk&p +&fQP@h+!0fS+DHZrX#b)"[3D`Z`ckXe%-VBZ-h$k9F5&B9X8k0k1`B@!a!`i@Vj* +jGiVJNBh3N6FPD'h"el'Qd#6KbS#8k3MX8SNcD5HC9aq%lkG"V+aaC0efk`X#4Q2 +mX-**3DYR"bM[!c3kl432I66&@JMq$pb%*2m81r3SV6TCD1r*$k"XcA9G0I!%M*L +Fd"M4P@@eiq@)C!`&c6-l8R+lQe5Ym0[!6bVGNqfXcm(jVIYfRQJ(M2dmE`bPJH& +U6EpjhDN4BJZAEfHb&6GVe%i#3V@$$QfpSBr+PkTdNYNIMI6X-3qIk8lS!F"lS!k +BF1#fcLTK`ZdHJrHM!D0+-VH&"JCq,eFa!KeM&A3r'NE+#irA&2LJ[h)QZ4RYE2[ +2d$M[Xi3U$a%cpHA4CfL@`bIGa0Tiij`HP9!dDVBHqQMB,4B-fRdG0#8B6ZTb!LC +ECeJa8&kG!)9R@2NL0YY-*!bkA"aNLdHepc`QcEM!2%Q%Np5[*l)$8&3*AJBQGNS +!2r%qmbpIdSlJk(2bEak!"(%TrFBq"T+pB+4GM@Y3a'BqjfC1HPl%)@!d0h6Jd$! +`Z@-QpG0jmY#S'XbRPic%rGc8%#blXjPE5AGMB'5+@GPUi11bQAP&&!+[)2KcYS` +d[hh"V0j348frlGITNBl#,8GaH#AV#4J08MR9,kHkh8mhUPP4$,X@Sca%3jGV!dZ +"!N`0%fGG%6dfaQ3*!mmkh0lGa+#5'D'f@(fimEXqfSYNSLUAH0`4jYf-1L8qklC +@3+'AiS,8ZJM@64RNVTX,Qm9SDB@EVLN%C1m%D48![Vh%ZDAES&5S6%D`aH#qH`6 +,mjP2h#FM$Ddar%H3!0lNipkAE6Thb'aM51q$Q3@"5rl%5'h[M%(2F#U%aV3f@'r +[mFI5'DF4b,eiIH"l0FhmETUh%aP*Dcl[QS`E+F3'mAcDl(LG&bDJIe(*GCZI#&h +Y4P8,Xp236QqJREFr,9d)4$@l"R9Rlqc,X(@c55rL@)IQrBU%MKQVj83Y%%"S'XN +"eMp3-dCR1B16RLIfY))U2KpS5fVPU,52%&RkFi@M2rYmPMYmE,*lambGPAJQY4k +49AGQb#@2LJQaMlrqH81c$GR1#h(hK9#$`SLTa*&+B4KjU'[[NqIAfKXDq(51R,L +&)PKAf*9f3KZ+$H)S*,EZZGdLAl3MaV&(Tm*0P$pX!h$@QfIB[QDFI"&6Ac1!6@4 +3TKU[N!!-aS#&L!N0"!'+hB9rB-mB5fYc,MKk+C&Ljk(!J[U)aplC66Xi$iG4-,J +q3FQTHL-6Y#3*f0`[IY'Uh5U*lVq`IZNE9SP5J1K4*D'B3T&S`#p9+eJmC*J,#I0 +Z)a'-9)J$%@1)"(U`'ad!!a"86@)@UdT@9Hb)"'3U2UL$AUPmcc*VijNTLNZ2N!$ +,p#M"G0X*VFMGK[miKJNdF(Ia,rJ2-SESmPQ@f)KDre*Sl%!ll[eKhr*mdU8&HL6 +J(dF*QD4%!K1I6dZ2"K`dR'I'EK5QHZ)lYb0[raIr+(CalPp4iC(pRq8c*0"(GAj +PPpFpZ**)kaSTl%*'IA($9r,6*!JB4fF"K[G245Zj,,-@C0akCBcQNU3b`,5dcj) +4&6P`M4ZkSCDHSGNk9Cp(F`HfEri*#22Q[[YqJaVA16H&dT%R5iDKfZ'SV6[-a"6 +J+rBYDmQ8!c9RJ3J@b5paE8VX`Q29Mqm(8Q#qXC8e2PpAI@SNjrG[M2e@b834$9D +%1c!l3-A2c-liZ3Gd+m2A'#iGBkDRNH``hS!,1%'*('QfVDlCL@CZ+1*C93@4,U, +B6AZ5V905ldDRLK#K$G!"EpaikU&A[0j(26EcFqVHk#e`e"l)-Vf0NDHK"eplL[B +-i"hPSYL3!)Aj"8"L&#mH4V%Da+8b#C9Y89&+$9VTe-K6mJdV'3,[$f3mebFKM0M +CQ*@TZ'0I#%&ij`DSGkTFZfe''d(*I%"G`jTBhc8"!mZk`Cd*a93QD*,5iUCZ(CE +@#i593UhEdhJjJ5B2MFLd`(p@8HhCCDSfd,mpcX"S(&V*K4HijQS[HJ4epI6h*[Y +ElK0h1`DA6[!,IbrJH2L"crU4MSEqK,LQ&dkE!IFcK)bq*lZRNCJM(X8M6c*G%*G +K`)Rd0rRYB16ZrJi*1NrKrHk5mb-BTNSI!YMZC+PV@MPkUbj[ZmrM64,-#'*l52, +1%'%(*QLN[PjK-GrGM9Z8mb&Cdm82dCKcS*%FpX$UBL+kr-&0hD4TU")P-Gr*IX4 +$CNG(2`P$3#Y)@bi(R5HZ+04D9KM,faUmXEi*bS-00fSTX6MPiYeNEE("qXle*Ua +LB0Y5INEm2HDDVL8QFE%LfDI&F-)"Te&6BkX%6aQYD$HAVr)b-f9G$X&+,38"Gk3 +,c65*VVj,+9FIb(&F#AX3rTT['p`5$$"66S5Qr)!iT'QYK3-T4UYCj%8H%X-Sp"S +BU"QCA,M"qEZ"iLF&LP!%JZG)A'@qMH61bT`*[K,MSL&JiehkZaBY0%ShmY-!LYb +CTpKd"dP,mJbIpAeDbZNP,BT2,F3B4`%VY`jKV$02T,ai3Ekc8)3CYQhJJh,l#"@ +rr@U6+Y,aRrbLRMIZ&"166KM8d,PPUc+,Z2!@,632fcm@`ham6K)EREHP`hF%+(, +fC9S*ZN5-)2%50YV)aID2Xa8D!HEpbERi1JQQL5rb1I#,kEA50)DCL(f4mY%%BQ0 +q9P[)V#f5UCjTIYc9TEUAJjGF1R&P0qCY2ZXrCM4L&P[FB40,24l1DCK[Ek!La1X +BG"b2b6BfZ,Z`*r0-1[mFj8Z8RmAI!rTEhq5CSTm'J$"q1k%'T%HkrDKBhUid%q( +Y'BENQ-+A0SLdbiUlGrKDBV'L"(MD(rI"V)4AJAVfc@pITDKQL+H5,QV*HPf44iQ +S8-MK"'TYJpeS0L[Mdb04SL',QLMZ(dJcd9r3K%9R0"1'59JrSAq$bQ1UPr1JX!L +CIFp2BGPh58PLMH$qNjC4dh5#4TL)6!pH@JAZ4+'YYPT(8)D%@[#'cEEmfrpV$`d +fIV-#Dff&6H9TaldN''Xc!9E&+Z"T8AkdQ*Ed9`lca*HUE6F+Cb@1lBaJYNT'+$r +*T`Jc@C!!X`%PU%UeiQE`r(0JGE&LeleE0f8NHiAYNS4"ILl$AA"a!jGdDAK9F)0 +cc&+r&-LQjMj0De"LY1V*d42r%+$U$#I(aX2MN!$U6QZpDe%#m`(VJ2V624Lm`P- +!UXi`c-9VGB[p&mPC0iCBb0VhB*Y3GNV6F"Y1[L(5*fESDbEPP*erKIZ!U2MU$-e +1ZC02[cR)b($r'hTiQBjipHKB&08P@rZ#)2[4pYi*QMfALX4m@A*F,YTSdXp[Rp5 +4-EeFD((5b'305*,-C1CZXk@$*"BC1EYeDkQ9()J*94V)m+Sk%5JT9d`*XdkA[6, ++r(,dKDKl1N9!cE'cDR"2P*'B+#VC0F8(kQ6,8%"BmpEIm9Eap*YPb!U"&kVZcr( +5*2TL4qJr#XJ85&V3Ekb%53%Hj066+[bBmNVqJqM5)&A'Ab*kQ3LcAC[bET`JU'8 +5SX'85e$#44pQD83bC9&Uii+M$DI(R6XNXf$1@9RF31l2a*5MJ2hl3QM"'ZUiHE! +J9SmSEk)b)ZfdZdP%G-lFf[51[dVjlcY5mlb1fQe@)8prURH45rHY-Ar,3Ml+&EP +k-UVEkPE(Lmj1'qE,KR)Qb#h*DLFC4`m*6PUNefIYbMSEQ"FFDPKPPa(H9[QNQXS +UdYlGH-CrMN0D5AAFSi)L9D`R'4d'NALfr!cBAM+3!%UGXb0hiBAjIBEb+JVH4fD +b,V))10lihrMpS8Z$S@B+%2,i%cjCii3`5pFJqSF'CPe%Qc&V20RBAXQlF3pYZiS +pL+(%T'R'eVc"9EbV9GDA`hS8,*3ZbPlBb&ZA'A1eMX&XNrMfYmc8cQPRI%,hN!# +K%G48,%19Y0$IrdepR6I5CGZhTpjL$jZ"lp$YMf2BkL(,rH'MQB(09YN5T3jMe2e +baEqZD#AXXhd35b+*[QhcBq0K#fVPIjJ!Kp&,CVq0#peFaXk[cUC'8YQ[@LKFZLl +CRPj$rfk6KZ!S,pYQ*pbMaC49[Ta'!T`CcGZepCTRiSYpEb"4M0d&52m1!"i+`Hq +#8*`(NX+b$a$#MFSRp%C&YDb)V$ZZDYrmBCP66XdLRMqd#RATHm1llFSr$#P4T39 +%BibXk5h#2,&Fc#rahiiM[YNb%eeAL@SmSL!ShF-`1pqMVlCU`--5[D`$EaZJ8Y0 +C4R!hP1p9LBVEHBMK3Lq[rSBU93*rb4UUa&C,m!H+M2%pEJ,rB4V[!'#2Dmq)#9% +f%"YKj"43,NFr8YM*Di3ZTH$HRiZK[K%Z!1GH9GfUrASCRV9bkF3!!ferp)PN!jh +rFXc3481&8V#%VKKp*P*5m#hR2hS[eUL&Y$eM#,94@$RJMTp-j@c`Ke3id$j$C$N +%!I2j(j!!5%4L,a+fD''DC""G(K(PcZV`6+q$*,#Z+2!#0h'#H(Z6$9r1h914(hL +'+!!qh,12&5!U')cCT"XHSlQI(Qc(Vr8PL!3k4)U'&li)9ZSm#3B3QjqkLm2ZK6U ++Sh5YJibSFUp0pdeNL4rSJK#*UP3cX-i0[H&-&FPc5@PJTaU&c6q,dbPr!Q!(DEd +6)KDi5i4j2e4T*I@PSZZci'a#UVP%hjA4ccR8lVhDQQ'&e+r5R6pf8"AHEiq@3D' +e$6%Z#5+lY*!!YU,GNm0Ai0ejl%$T`!+E91`fZC1a&Uj2qTSrpi'GNYM`h3XM0'A +DfT!!8QRbJRcBp1lXqb+Ucaq0HCUI9Fd3!b1`B4a51eC-Sbb'(rp2r'`#[i5))+@ +!1'5ql@5E31E(ZdKJ9Z+HUp15QX4LLN%P2Y14XcCT,&)LHm2Z,a%(9hHAXRfcEJ" +l-l'LR)LD(9qk[blMX1m1PZVNa#DK)-Y`SU32cdF'4'[58F0HJX)J[0+lFlFiF$Z +,"R8adV+XVeX`F0kC))qhh`Q9He5MULhl@keLSAV[3`RZ'9mqJ+q3!%c%P`k8id' +h1RbV9,`R9L%RRRQc0Q`hkaZQcX[T'6f1GR$[!64MJGGAqmh6'DFkcJ#5!DPY+K4 +5*Q9kIP0cpLca8+*iKm*8JbZV9VmKISk'p[B%-`YjRqKDa%dLh$SHCr(0ppUA),9 +KAr2AkMITlB(h@51&2R(5R*QMEAc0Ce$F8R@T3LJ3hqYCqh,8eDqF6i1qjpA(J)Q +eh%HCQmaGZ*FmK-EPM5@ffSP2p'BVH4A8EPcp@NJ@ZaIdX,dlKNZc$C64hSDGAI1 +5Ip+RS$cb0l0@-)`49H'-YrfZ0j,)qRNCj4(a[2VTl-M$aBDfQ##%BCkbBHekj'4 +,Y#pJ$4L8#0J&P[2a+f!XP!#G@&R@ZQAMk6-*Af'I95Vf2`BE+lZVhT66l%ha!C- +rSk8pKS+,E1c(-H1[qrf'm2Y9d@Z%iU3#KJ)PUR-PeHj4JU`rNYPD'A-+34GFK#Q +6#S2%J3H1Mq`SBM5@hQIK4b4h,ebS)HSQj"@6VjjXN!$68IiV%,VRkZKFZ5L'U#e +pU$aUlbA56D4E(A(r$aGAQeQM"aMdLIQXiNH*l"Hk&TXm92@PaJkZbfqB[29TbeI +qbAfCPh35&&-U@A*0"C*6HRPCH12`'IA+Nk846BJS'#f&L&XJJN+(XCJB18DaZYN +1HB0cZX8(@Y1L@0QpV,1Dk0M40h+"RHa6DR1Z3Ilb*"+PT+r2D&NKQRiKTJ5lDI$ +@FMR(5"-D990pG&N4G"*IfSADHd9Mraa`D3+V9'U%F,+Bj!+#kh@+[HI5QB9@+`B +'0q%51"%$IcDQQmZLf(%9*5D#bLYE`UA[I(10G,dh1mJ%MRr)[*M*#"mHFEq&&b6 +`emp4fD&f%)IijbQIbSR6qYX&#Q9da`[4NZap9I%+-fZ&60NCFSdkKMaAaL'+kRZ +$N!$a6**$E5$j')`VL#hmhlK-MRaT(')pc4PGR939YmAP'l"e'PNE@-Qai'SNcSH +EjZDR69I%J&(2`-@"5HD+RBl&Z`a5dPX&%8LKIi9m`alhMU!,id2I62C8#c-lidc +ICQ(MAabIK)"PhCMJ,4RbkUriErC%2lK,iejGF&G'J[19MFlNb539R,[@I-8,jq$ +r3FPcB(rYD!P[Hc[Z'K1pIlKa-Y&KcIAJK8m!a[MD2qU*)Zb)[rK[YqZIf8Njpia +l'dL%4"+9(`LT%L-`$RGR3D5f0cfL+F"%NUr8qNiNXd@fV+%ISHQ&E!Xpi*9Tl2a +*ea)P`eM3QqV!G9(lp6*RUa6fbj6D*V!cqcBbXSEGr`3j8kqJf'HJkkp!,8Li$+S +R[C6T+hTj`8J*M&#-JQ0d$-'l+PCZNa9qFLDK*qZ9D#4iHke"%iM3lRBhRM4,*qB +8XcIeKGJ2M'A,Zh9"5N"l#N#@j&Lk-q&AZ-[`c0",0P,ir$C12XAfNFP,Ce@Y)$! +*iDVJ@AZ##[UJVCD$aGSC@J!RV1h3rM9X83LLP8drX94IRPY3pMfK@hKH-*RN@KT +3[))R6rK026rZRVQ)'#!+hSI"9%i+Y`kL!9pme`Pd"Be-4QDKM03qT,P-&`5QLdj +"!ZI-X#C1VZEJ%I$IYAjAG+h0#2#T*94bBHD$01lpcPakB"qmIGT6dEl,XCalF4, +%3X0X#(f!eL0R9p"3IU!KK%dU,"BjrVNF,li2V&i-a-bFNEZ%HBCq6C!!5cFCi(q +'2Ze4&9'f'fZX3GieYUEQ2)C+NhbAi`QK)'[,,Neqh*lFN9,SJ8q(CJP#UJflfbN +V&@jA2QVda3L[dZ6M&b),-Zp[JeK4F3Z+$Ai"fkAY"!MB"Y5QJ`MXBHNpid6N44( +#JN")KK(D5Aee!UlCId,fa#BQ920D(rK2AF9`dQ5"f!4I"Q3*RUhKTiNV$F91Jqb +Qh0e+9CB([c'JDa!PXq@B[f#S85"Y*C!!Q,%(E1dPP1M$Z!!0)*%U'hpE1kfM@c" +6%pHL*-qbFQHc,KL4@3+&am[mPba-l&cmY1EZ05Tj`XBd9+c$N!"e[D*JEfFq-36 +h+rBmS"QMlR03&NA@kFB*ffAYpp-SKU,LE9Am+mZ(X(N9Mpj1bhrAkXkEc@4AX-F +kk+S'mi-T@+186,,q9(C15QP8'6XQ@2#'q)[r**DRa#T!)Pci(1LZQkrd(B'))Ub +YmV(5'a3A*54+kX'e$SUjbdjF#eb$X'De$*eiVN3k)F+Qr`,j1p+@I6hGT,Ue8X3 +0,5IGX*PP!*2AYQ)0m&D+,MZ0DQk&0U5`KCGkL`2L!GZUR@0rm0a`4&C`Z[UP#qV +UTAq%Gr&8bJj(%K@rYY`+8`Y9k9`e5e!aTJc`!5`hqr(8KSf6&$IhSXGYVTC%PeP +,hf''B8M`MjXLb@##0BfLHa'QDP'-&d5d(STVrSU6(KUfGMpT+QbP)5Uf$R`UTH+ +"8BfAqdXElA6QfNbECeacUNf[TB4d-LUXE&lRU8jIXG4GiFmH&D*6%imINDIIQbS +QIS1DrSM[VjZ-r`-kV*3X[R`*!0'f3[JAE1!mM6leCY61jdLhK@5X`%$PpMr-8!% +fIkS3*d-qGPRNGrXA6b+V()FdDdD6Q1[k*Mpd@HVlX5MdB[fZd!5&hE`1pHF'6UE +bjYLd2-1&GLIk*RMHX&IHY@8iG'eNEJBGcU5C4'P1MLa21*LPiNPf#&GmIkb6V,j +4,M,TQ-XrZq$L4-V@a1EqLU4m#mmI(&0U9!CmTjfcD9CGj`Uk(d9r(%G*[C!!er! +pr%9B1#8%9XpS30I%Q-T6r8f*CA@eBl,ql(EH0UU3!-aLC,DVT@LmYMBZNGa#"-% +bq3hCIIiBrhJc[+lrAP9`!#Q8ZSC$-j+2N9hm-R@B5R#a`lNJ$Cl&ZaYBEMV&!MN +LJLcTN!#jFKe3)m3QS@eD01J6[BT(G(aDS`a6SU''&mrNCrH$Pk!UKL9q4'a!)jp +$DD%#M!H*#IGc@dDQ@Bq8bF$1BQ08L1"jDpKfpa+N`CD)Ge0CrS9$)!ZKL0qYhQF +&##Ej,6E,b'+k!XjV,0(FKXN'iDl$iX1ELkiK(Q'YE,3T4E6C36bkCYl'DFrAAIA +`8qS[)f3FUm0,EdXpD%BB&8h9Ce2LU%aRlh@,!))Ca931h%U$!S59H+)k`$#dKHQ +PT`KGQ1Xh*#!H6Rd0YD$mE'Q`U%ZQ61m',+2%-X###p,KZJ,+EQb5&(fKD8lh!BA +e2)i&DF5A3)8L952*$)(4FZqf1#e9)+Db2AYTRB+r0r*JUe'l,e@#,h*m*rprm8* +Q[i#YEKh2h+qFLl5`FS1Gk(*2,2hJIH3X`R$JmElMJlS+G3@jFSm1j3XQh#G[4@M +Ki!5%XLK+ri'bpca"D*%q)YD003cl5XDpR&MeAaAID""0mH"'U)8+!p6MRZ$d'&X +X8CAMqK@UYm[+h[S&'ISPmh0P34S1$@[hZl$,r,Yq0M)2L1fcklk,L,k`+-2R`%! +2P&98cr%bmF'Zdm!9`dEhc@AZTe32+R@kVjp&phdQBmrpBek6PI'A0AcPm)2k#@X +r`D9ZC9UiBQ0M12L3!&L``i45ES+#X1c6N!"1P*qMfdpr0R'G6CRK`LZiIX$@4Zk +dbq`%GpeQq[6NUQ`$UI8INGX@Bj!!!6,!-D(+GqKDk1akFP-KIe8`U#i9qYB93Mr +E"iJEl-cJf550%mr4(p$X#`R%&V-"Vd-&c"eF+0LZhTEQr4D1U*[&Za1m3m(kr3J +#!b+!pQa,6&SiEAcqcA*`U@qSVm9cZi$4A1)FTLNBeHTkLQ4K4rNTh@")#(65'cC +*ih*@BVI2[lb")p(XR(+m%R68Y4`FISF0$8'k*9VG,9E$IS$R2%0i,0S15`5-ACM +I*bm(4A6N[Bpk)ZYkbDV&!Um*$bD&N!"'!)+939)(GTM5X6Yj)S+GNJlTLVId*,9 +MBp80X,J4i##(9(p3KP5$2Im1%`42`Fe+QJ#Uar2d638Bp,jJV`3HNj&`Ar&Q-8d +r`I0T#!!jfUf*STS`0!-3KdS)HLeDiGihk!jcN!$E$d9GU2PZeh"[pr$FKKSjbhF +0DX'ZTlfbH@#-9P3*[SjN+qlX*qVj[eTLRBHCmeF8pK92Hc$1Ri$S$qe#m48JIAq +9+lej*"lAdmYY3r4cF"A,Nh+G"K,l%)f849$c)`6la#pCN@JD68PjGYK5RJ60$dq +"B)-"hUX8(r@l"&r$lGABc'GI[ICT[R-'ja4V0erASkIS45B[VN,Q0JH(*[9$Z'9 +pPDjBI#Yr&`l"mK'!SbR-aqUZ)b*0[06l![m8[HLemS1dXVM-ME8#*kq*)X9S$bl +mkkA#ma0JlBdqRfYY"`rZMq,,9FV2r"1@VN9J9hUdIGLTkePc*Nj1P&``)!d06FA +B3Q$r5,2RmbD9j"6IlH3f9Kb2&L"#@m6@ARBSRYpp0f+%#AV0a@@UIm6MX8Ei&Xa +6[T!!K*20Y@B'*JmmMaB15E`K)ZF)0[SGB+i'ik,*K#jJ+VL(DMkY@9&K$#"FV"a +J#4,Xi`(V2c('Km!54dEcIb[F#0I1X`5&6mJT`DEYJ,Kl8"djFVMY9bBZj)ebr+! +q!)Q&qR,U1kJR4C'&A-8mQ2DJZ@JU$4-L#d#YdC19,G0`fTAciUaEHUh@b3Rl)[% +SfRBMp3Ih2RjIh8*eSdUR0DHNbh6*%*cX)qeH!SL+r20q*p8N$U4&Ui`QDX!!JSB +`f)3a2XIm1LG)$NS#iR!99!#$HBJ553cja9Jc!H$'jYil-j+Nk81GSD)b[G9[$FP +D'6L"YBam)B%lZ"j%Z*!!""V)YiH80L4@!LGK2X`"%m2!i0A&$+'M0GDYEUlTa,' +%I&AXAA*'hHFd0l@H@N"AFB3XABC)6eC-("RJ@phe,"SpR*'1MSL'pJ`D%LSSKqd +iTTQ+K,3+AN@R68rNSr!XYlDLVfR)ehj(Hr38i-NNkM3qj9L1&rCi-Lc&E5#+('N +f)'eB9`%$hUpZRfSIc`I+ZhV`Jk&2a2mjCY5k,a1U)5[(6#[iBLZmr%A``+1q&FG +5*89J#CeL-IE(q,)YD+Uld05kSicjCpBm$Tr@NGFrfXYK,%"dDXpXc'DlFkarV09 +PTK9KcXH*4rU'CDJU*iR!U1"(MK6jS4M9AI4I@pMK*I'U-p"GJbH5HZXdZUZSlLj +E#AYL4QQj3+``,#mE)2Q+$hhj[BbMHAM1-H!KaCJPVp"a#a'b[`r3VLk$SF`5Scd +DPr@ShE2F0#Z,&q+%Beka9pfdZZ(TdAMEAD-`2@*0UlYkTFV&*BUJ5(-LJjAiAZV +M4f(L44JX9hZJj534EmD&EZ3h24ThCY0HkUhT8Yp''MQQ'FJ[T&3%P5mI*JDGD[U +@h+hSckKR8jIC![4YU[ET%H(+UlY$26r&f)JER*4$q6@[DcSTqqm9+F9[l%%2RQ1 +NHmR,T41M)bX`bQm8jfL8QY4b0rHUAZe"i*b93-e!#3L$M[d(6PEhD%@+q(2fmHF +1N!$F(L(,B*1N8[cpL@fE"'JLK!hBe+lC0`TY1*SHD`8*2rZm(IQ@6D2,E`NIQ2- +X#EQ6NpA@(p-KqEliXpd,Md'S6+K'YK8BU@rVM[GXL!FT9Td6lB'2K,kej1$qrQ) +AfM,-Qc%Z*44$6[`lIDZD4AI(CB%L-eHSKD95!1&A3JH41%DN"rcda`9eqI#1r*! +!Ik'X+1`IBpp4&b#0KfABIL2-V9dR+0[QC!rk&J-#p@I0P9[RU$(62+dbl5Y6K9X +Ikc`k5EQi"c`B&*r8[IU98PT%CM(GLjFPBFG1X$rfQAb5TfMiR493hFVJTIF3M@L +CB(@@PJVBU9EUj#Q0"SBEHQK!D-b*4INcQ0c4`q,c25S2GfcJ%RTSLA6E@HcdT2p +C*8m+AKKELJ`1kF),[qSZEAV8b,hLXq'E8%IYGaFmPXVA!Vmm615C0BU3!"%@5rJ +$31*qk`NRUJ3D'm4(PacNihVCK2+r8c4jfq#(Di$QJ3FFcY+He,9JTYV`X%E5aNc +%8i[LS-1'h&qM(6DR[DE-Gf'G41dFF3%V1A2&@RQ$-IKN2J'L-"UA9C!!48Td`,` +amM-pAJ8B9'CJJJ"Bm63PA$(rEU`LiG[pC$52J8[A0JA42rJZD@S@&@P8YpR0TNp +kc3666X-hS-,e(`SUmI8cbl#p3Hp!HeLLN!$85S[U#581dp4`*dc@Xlp#Q*GR"+I +RKbJdd,[J2B1Rm(EVmT0$)QXT11dccERA+YVpNS$X`SD1V1m)$CXJ8H@QbbLPS-A +YGk8Mj9m6l&DX6pjX$IPib%rP`a@(&[HLFf3BVT[ZUJ@`a-K-`a)KJdNid'9r+*k +M@$XKZ1L%ScIp*-[4*`4@qYTCeNZeJa$YS$1P@2Q%FH9YcflEk%VKG(YU9)iBKmT +4*#$pp#,8FlM4)J-"PG@eIH,r6$"P5C-4QfK("h(ENACAYX'SE5`8CXc&pDebY&1 +II%C5C%(8E%'I#LpD'SCmZDp(XGb3!"XXdAXZDAQ*55225VR&Ala)EIFcbBSpYh[ +Zl0ZZ0RNKU#"4EZ$c%`4-`er#F%eG9f@`pjr6eJTrlMU[*QK1@1d2fIpp`DD!cc[ +IrN31#)P*8fG*HfKEkFR6!r)R@"!dr-U8[$PTM*GA,q!0pq-F4P@m*@VfVZ[J8h1 +CfHGmI5XI`LQiiHS%pGIlFRj9drQcK5!HkmXR9bS[QIT3G%*D1"[R6U'TBafPFI4 +)i6X"Bq@*&``RVb5Q%[2FYL!2d@IC58,cKYN3ZNFL9RFkPMTE,Q@TllDSjdZCRKr +8(eaqb*DG"@GrmDeHT0*h,f4kA1bc1PmaCD46r`Gcd3fMjEU[8cJb'Z[#$%f!#cH +SEjK+VqrirY(CDckR!Cl%q&X4!Z$L41AlIqc'd#5)aY(!C&F'KCJJqYah[V35&G4 +R@%3UDq%ZeadATZIBHT9XhZ*&q6Q3!1D8)#ajSdb)#hl9bE@&HJjGZQ2Z!m!q)@p +`Sm0pK#UhdNqQYdh#1rmGXI9,M"SqH*B-l,FLJrh'D3(ANE2-kZhdfb(,K45M-&J +jM59HbN[6h08'UJD`JZ%!"jX&j$SGZ-f53N@DTUkP,kFGS0)$ZPX20Z481q'b935 +1e'fhpm@GM-T!i%9aIpSYFe"%H-H,GVZH9R4Sk3NL@Aic1r5r&$,b'N`VF5hZ9T8 ++LSCc*dX412m+#&M(TS'k*r8$G$21Ydj-3a85(5IeaY`E!%*)ca6LMMq1m%U5dN9 +*Z)T1L%(!p*``A1ZpP9jAhk&+rYV0m2TpNeVIiHQ(ICQRjhllef`)'[8Y1&Z`qKN +N0`eND-)H9YM'AldT$YAT`d6hp@K5qX3KbC9bGNjr),L0)r[K!BLV8LU4@B4"DY( +eXR'N*#4`kSEd0VrZGi0-F5IME+J0f'XGU@rd,!56NmP-afFR2'ah3V[`KHBPGXi +2MUha!ahA5b&ERV-MNmAGR,4(%$S@j4iH(d6Mp,X6`kcZV4643UbCNlT)PA$RYrh +fF3Up$3NJ%U@3!-m!*+NeCZ'L&qQLAB1DLejlP)'BkQ"lTHAZe#@V3&UI8jMACEN +NlX-h#$)SAMcP3Ej06M8PU0NC%Ni[5l-TeCSl,3Ap82!S(kQ)1p%+6GB-,$-`"E[ +HQEIh%iPmj&k,G%&',0c9CLJp-X-L)p8MEGLCJJ9+-(0$hjZI5SM3&p0kIh2FB(b +C(QcikhE'Sl[p+H0"eB#C0b2(Z(65M-YaE96NL#5r(8qI1V,rCZkE!G[ai%&kq@J +ibeD6bcciil@c@-p4Cq13!+dEjaImYXpqhE1%JdKm9[8-CHa(&2J"8`*[eRVq4!q +fT$d6Jej,l$3Dp)liMCb`m,Ul2HT%lD*`l9c$Rc8c6d-3)Q8PUJ3bAP*1&rdP3qm +6,Q16J-5)J0*"S*f$a)`G(L`DpE2lDep$%@,IVh@bkI4FNRKTePR0lD'D1@aGPE5 ++)lhr'Z6AhKZIXTm-*`adT(YNadqN(5%cZ2-b`Pq$pdf4Ucm*1BS[L6BrA"r[ +ULp'f3)b-TLTF8FR%-ESZZQ5JZbeSp#PB9@Kq6#-H&K8rRp-fUJK&6CSF2q2JJ2P +3e3UrPHEiS+iD[QplIYEpd$jR5lZ$SBhVT@RI#K519F,5F[@*(ep8%86YSK,,Q&2 +B9*DJV6ZS"[69Y1-@XA#P"C[V&Q(Cpq8'3JCI+(kKZ-kPDlkAip4*cI*fIl8&mpM +A-pBhj8Gi4#9Rp"BF-hp-f&NZe-"-L$SFkT+LGSjHMTfEXCp(3l$9P&dR%Nm'&,i +31j29)3MP9Dk9JUlF3A,LV2icb$lN&2Gm'*HeP-[aIBl+JbdGTe2Dhfb)Ch[CT"2 +H'DBieJRfkZ6$YCqi9*Z8GT2FAUp$L05!TRqC@bX[-ejIXC0)(pifC$f1a5fN0'+ +GY$K9J"ICEd&SCb@aLpr&SeZ!@9VL1ELCCF%'ATRqN`j!M4JT5+J-dZED5UmAb[+ +$+i!SHlCZlpabh6DqMZZKmZ6%THTHK%3EZk[@'pIQSkUpGGE@lEk4Q'kqp"Q9+eM +EKk&Aem`'CYR"kNZEddADYHdjF)ER"p0PYhm$[e%NrdK3Ap+5cMP#4L60D*N3lQj +P6D(j9&mJ2`-'hbDEiPa*A+N[KH2ANA2kJ&[r40dQD*q62BpG4CfRq@h$R3V5J%P +rMpVR`)2UlFR90AUJ4+q58G,-Kq(a01-NVNkX[a4`85Rkq6&aB)f3!"BhQ*m@[P# +6CGE8K'U`V`f[,frar0cDM"MjceBS0jk6ib3Pcf[C2"5em$be(Mi4JUpeU+Fl!ri +kX$-ZZ+hc0(+GMGN0j1C%RZYpkMG[TmMjd*ijaApL1XE@a()Y+aqhUfBjGf540,Y +CeD3iFcAe-kSmZai*4c9FC!BTSk-'FTG9`hKNY'Ke6m`XH*M5XC%6kBC3)T4d,Gh +NRHAf%5!i"-fe#CH[5b*'SQYd*TXqIK1F2V8c+`@@P2Lp#q"$lq+DFD4HlCemP+V +r+0rRf94(6%Y#IA3qHPqb"a)c%T%1BX-12''f*$Hf+Gj0(&V&1(,*hcC#hQ0EQZ( +6CM8Jr4,KjJ#d)MFb9a('SL6N4Qi-9UkZi$2*qNi(#6L*kD@1P8Bi'%ph+%G6`B1 +P6J,(*&dI"%9APLmE"S+XIDN[fE''1h+qiM1XFeaU[MYT5f"q&QiX3)U+T!%9Vjp +Ri63!LQd,+BIGi-3'3D6Lbdj('H"i4T5$4i0aS0Z#*S&P6!mi,%B)$Xk3!+PBBIB +KeeV!SL1iGr)3%a-!`r9cajmeK9ik[3m)"9f5GKI'XRiUQ*kEN6rJe&6""TTE&L# +2lN*,cTYhBGZ@A@"`(eI3B(9q8)!&V&jFJ#%jb0HE`Sq*'pCf(!mdeAiSd!IqK`+ +"@4SjU8Y6B9*CGdF!-3S0iF`PJZ"CkpJjVR9!iM6r,Y6p+!P8AL4C)*,r19)02JQ +`Fp!EiDb[br5K6L`qC!ZT2-rQJ9+!p)J$Le8'"&PV8R@5hHVpjETSla$N"AH0p-& +GPE6R2EGH!bb1`[H(VQi'X"8-IM`e99H@K-`VBZ*FT#LK"R3&'UR!P%*hjSBBj'S +mH(4QYe%--kTafkE&%(DEE1PV%AE"b$A-B[$GaqdRH+%kCIc@($@'Xk,bb69L3QG +d+1++Yk#(hKfXF$YRp8q0hMB&*P!@Q%&e1jj3XAN2pY-kF'jGQ!-ITZ0R31Yd8QU +f0LTbKXKjpIJmI[AGJ3'k3h3CHR$STrCXjQhMbI+V6G+hh1dV9%$HK9Qb)F(F2*% +',M&UXT0aRB&@hJRQTd'9B)N[imSMCU-!)8@PiVRNMUl*m'1m@(fj`SQki#+`Grh +c-8'1R+,eaJ#R48LeLr&%2E@$QX*rE"(@@b0@a5CVMQLC0HIN-YZ8QEH3!*Q"2h8 +3'8)r[$Ikc#[`&9+,+d-8N8Ac,Rb(2$fKJA-)#0Qk"pBB1Mk&4-aC5dHmPhVL,%V +[Jr`2KLM)1ri2,2HKchc'cTPUb6NGF)@mp@d"HeeL)+L`"r+C+QAm0X+!SjA!,b+ +k5TlHiJ%XkL#''e2!M4lPU&(SEL25)SFIfS)3lRbUlprPBA`GVjYL'6J%iX)6'D* +jpS"fh898m*DrUYQeUN`cE,hNLK`8fP%K,pQXJFY+Lc,!#il1q42!+4X5CVHZTU9 +[kJX4pRd,TGXC+AM+GI(0X&*Y,D"k)EC(1DG0C,K'hKD,2lST*jI(Jk+@Z(2SN!" +V*MdLDjPmLIR604[9,UB$9''PdGZ6qe39dTFV@@F)6jbc[8jQA'$&m"NdbG28BmG +Zi0SXpD&C2rB#pfhjSf9L#l$l$5Jc4Bb-P%cDG*[Y'&X13B8`MkF+k('bmKm1EYf +q`00dk2b,Z,X[!*XSq#l24[ZSHS8[I!6#EFcjaQ(X2$Y[mb'F9R8'+XU4(+c4m`e +AFJ*KEl$)HX6k'NP65mL0b)RG+BIMY4%-hlLhk2(,f*bB33AGEqlh'1!2@QcVmTl +e0r*amc'S($J`8E1"9"24B8BdmrTi4XBAQkq!R!plN!$42,G`LhUf@"C&ULAhXha +mZEDa`[X(4U1RST8RD*C&(Ed4Pl[jHHVYp[QZcpEJTpA6daJ&6lYB[hT65hZAVST +14b$hFmm-(p-H&ULhk$ULmA"d#$F8%6cP,e0M+cUM@0*qF4NdQ4L6MDXUYNRJDrp +GN99`&,Xb%QG9eZpH8k14-phhP*hdCa)JAk$T*qhalQ4NRpf2S+rMX@RP1Gd0Hm) +(KR)$AN4Z[NFPj0J9$RrF",HL5M$2pkBa2"mIrQD3!%VcB"GDqBb[+8(HAfHPU@E +)F(J'h)HcEG[01b#"KRFLGqkq9jQJ9"r5(c[e,N)EMT*ifpj6DVVNcqU`4ik'KcP +iVK5)i&02X4YCBN*'J(5keeG16N+YK@3'`)"8b8Hr8"L-4D'M'M@jkk"*(Yckb&i +%T0Q4%&qG@U$mpSaakJaj8h9I2k3[NLk%1DqNNq-81r1I)T0C`JUSR99IF3GL9b* +rUlEd!VR[8arRJbMlSNjD4'd$!&NeQJ4`Bec'P8'K8$!e'-S,c[Nqm'G$F@#i0H$ +c9Vd%%`IcJYpUUY92$E4k8[RF89'p+L"LYaBp@k3GQCBUjLBZHXKDZ$R$k"Ae$iK +i!ZJq*h`T(1dpReRL0cQq4N!KkE0D-*!!8'R!J%K1jI`#X+5[6Y$4Z0$-,VlL[98 +Ga1qa#'H3!0H&Q!#2U1)h%`VUa$!+k02PcT!!H+P%M"j90,h'MYVS+"0$T6CC$*r +K8,%,9M2(EibaEkrdpS&P0m1al0((j[B52NE43,!Ncb3XPG'!`(pEANaNi6I'&'I +GAhJ@X4'8`YYfekTG3SIN5BTrjXQFq[b`Dhhl!m25rELD!YBjGS@pmC@0pKbq1c( +CD)&0,AD03q1C5-VT'4JB4q4iSld3iHj&pP'AN!!kjY5J%)VA*ZC)c`XHDcUJK[- ++phGKJ2@+HA@3!!k50i4[I(,H#%2LBVTkqJ[aA)LG[cV$R&92RDTR1lY4#Y8j"Da +-"EcPD'f(1,4+EM[`+#aXd)F#G,H[E%#F3G'dF4+p(a2U$DZ+d6L@5L2`3NIqH1q +BhBMaI1(*Y!$9e)@X1QTALIkh+X!MILh&U`9@9B3J9-Ve#@R2l1S@IALG@LA@p+9 +5[AiXSZ$&F0YhPaZPdlTX"4"D$T5+ULBh)rKV4IKef*Q!la(pfeRH*'`dk&0ra%Q +CfPpK2Va*8Sh0D`QT9[dqB0`#$Q1rVZ4ebKZScB*fcGamK5fcCLGG"pJ,X1%#9G) +U,'52P9J(`0@PrdT(HHDX$CAeU%M&PU)*$p%NCe#BHfVhMDpT&B3+NQ8#HQ*PEd( +!8LHLd"$K3CrT&I"+')Lb2C%(qZiJYpUR%lTMUJkm&&[i@EZhZU`dlZL@C9[6aD` +$C)HaJ%QRq+1TAcV29MZ9Jm9[()mq2fZBZ"*FeBT),#5CLD&aMRDCPYVH9)QabjR +1M!*"U-LCK5+#Y,2qe8A-8j&XNNFj@Z"Y*iB@5P,Y'XAIb3+65#@cjkeYb$@05Md +%P3!X)UfcUma+hrLdD)Q+QIIcN!!(DVS9)D8!J2adN[TqicX`ZfqIQU@YHBD1XqX +B4f,!9R('CLXNFE[2D5l-0rpk&GfM$d)dVEb!"dfX`3faMSe(m30E#3rlLQ$30r$ +ADSDF#T`N+rJll)bBY(MK+DE(p4JbeiSekL6rD@NmXN3Cj1D(P2%5iLDq[D"RP-4 +F,e!%k'd2%i$d#5ED202A9GrBNFj9Ui'+@LkF4ELUq-QQYMN&Q#ih8D@'I[I@5"V +PIYlbQh,#NePV@2Lef(R6qYBTPd[[ajPH"@EKqJ6e@Ze(Y,f%"FQ"*9@bSF22!$! +jl-Z#mr`TMq(IAr`l2IiE*2iD6I`hfrKhRIm'R(m1JIp`fNrKhVI`f,rKe5r`hKr +KX"hqG*hiHRercp'Lr$F4IKZeIKdAhiG[[r28@r$V*lm0h,m1iUr$CMqIGGr2T[[ +`fAjI`Scq(S+rmqhRqHi,q&lAiECAiGcAr26qr$FlrRUcIKh3AiE*IckXEm0flm0 +P32*$`2q!81b&Q%NEI'jF)#'3!%bUBGCT9YC`Ir-3`p#@m#R`aJmN!1f"iSYjikM +e9DSL0l18$'rae`1MbbMjiRb*qQrJk#UqRcZ',d*6S3XK%!3dp"!j`"S#*Tr+f(c +MM2N!MlCPFNq4PmZ453Qq0I(Ee"%D(Rrk[U-UXFBG2iE6kCS!k,,!Um,I&c%GQ4e +BS3SKrfLDFiM0mql9Q)TYY$2-fhFZ0(Re5i'iRLI'V#R9h-IqiS3h-UbcAhbd0mI +GHI(fFRXcdScDi(V`Z6E"iE2,iUa@GTLKC,AQH+2VXCiCEQKf3ijkM'A59,E$%(3 +44!R@455bdH2YZYj40RMm29cV69(RbU!JTGj`#X-Qij!!j21KBbcf3U#2BMUaV'4 +J9i6Vpq(+a9-)ade2N6S-a3TX&$IC)*pThYk)J`TAFZ#d949N)jZFF@5m+EbLVJH +LEBmCNI1P!'HY&S9CJ3bqc,6#NicN&i"&YTpa'mI(e[Fc2J%'N!$BG)T)aN-959& +M50G6!PYfGTEjMXMdlLVSJRC4Tk'JMZ'U@3NPXqRHIU+bC(pSX4U[E3V-)%U3!0@ +Qa%G-QXf5CrmJ!lkPqd-rR'$C8K-r@@4bi9mmQ55JLAeIh&C2L(bVrHNII''qQAC +9V,`UHecXGB[`+qp3hm'Y2'#b5Y$XP%G`''4pLIm`P'Me"2TLj-S"cI#ZYT4kqc9 +JVa2NH4GKX3Li[K@H1(Glr["-khc*iLjCc`!5!Y#,J@08f&Z4fi2m&H(&1b1DJ)U +UNYkNU2V6kDh`%I1+rPpd@FAl0BpcV(kK&LQG,KrkkT!!QfApd`*HH8-C%UJpE3C +A3GU$09R4eY*EQJe&)GL2[eKJLf6l2CBFc-JHE85`E#496@@PIP,fKhXKFL98HN' +Tk(pSE[-Z3md*i`5!6k2LM+`R2QEhM%B-'$`H"4Fbi"1MBXM43piD$[%pS`)DaH+ +lVfKC((34i"#NmS!U'i8GYX!(*IDE++c,qP8[,P0A)+8J6X8&q&iRU!j8Ed[VTm1 +HT*I9+aED@6G@LDERLlH'8Z*,J3-%TqCSI*pY%LGkqA&8XXe,NA+qUKpL)1jb("f +rRH2Id0l,EKF#[Y$',V0RBFXa-``"Eb3"'!ZdTQ#,TUIHZi#r@P1%9IN0FePr-#m +U#S`rJ'(i)IYXmc"Q5FcH(EpcfmBXBaIP`@S"Y8!49c2lQAdXcD`c")@dp[kFB"- +K!b0q`ckPTHG6%Bd"rSp+S8BpFJHRF92*!K*1UjQ+Y%XX!*cT)!UPBFF@ZhYR#r$ +(e"RJ8rCHUN&$Fpl1YV85`%faQI1rpLRY@jMK$BXZrZBUi&EFeQa5XLVQUXF(GQ5 +'+-iE$%+#ECEppChF&fB9""#VjiXq-RdahKklM-a,eeRbf0-LBFV@Q59,eB"[FIi +A3hl5B23XUU['*cGraI!r2EC4%@CIbJNkj0a,,1D4I5c@8Em%ldp8Mq"J)+P"1'3 +AXH+(T)k&Z%NdZ6-UbDlmNkR"UZ9b)P08XT(j@I`(+$a+bTTHTb#q`dCU8VK-YD& +k@)!B(j,-H616kCiQKe!JE+A1jJ9$ULYb2j!!Q0Emh6')KcA0aANITaBhc-a0J3, +"@UkT9,G,Si*lmI$+YX-0k)Y3@,pjq@*M[Z#903#Z6'f()K2`0P@P,!jeabVlAE, +82'm9AFD*jIpEhhq#8&E'24E!f1LD,&BQa,"V"C'VB4f%36HZq&K`T1mL"Dr0lcE +TAJ8GRAJ#PlXSm3$eAbXM24r!B51`%Ld2Q(Mqr1ZiS9CPe%8$P4K(a33F!GZTGV3 +AA1+E$)@NLUkH$a(P-q@b-d-9E5%kr&'L)j`Cq`$d[6(PlY,el4IZ0ZHd,c![!Yc +[dP,$6QmGZ-XDpM4k6'01K)LSP,9P3FFN[++@+iMr'TV9hR*@0UA&(&dXhB*8qME +k5b$hCN4-89%cddI85AXCJqfG0$q$+Y"CK`qH4ElJcH@hhNP)P"XrDBU(0jV(JGE +X8&(NQ2A+5#pS9YP&l,V613b[9l69hS`UH18%6K,bG6S8hHSKlXYfAH2f'f+a))Z +PQTh8Nc*-VAGD!Kq0$F3NlHNI#FDT$U!&bpjqk#m!RCXEN!")2eI@Z#@C@qS3!IY +%Z$ddaa8IlTCX+-+`VQ*"382TPA@3!-*qRJ1d!%Z,dJ*M1Kk,2*iQT8p"e(e+i8a +%'*YKT3FKr-+Mj*8`rLd+4M-0jKGPk'p0ica[3(6XVfT9T`VjHX6fC3,JR-HA9Ep +*KbA`#q%pIl5ASGNa*0ie,ZZ-+R%)-&Uq!BlX$Y%cDllL%Q3E+SNRYepqXkM`iU3 +cY!j8PPB6RPFM+EUJl*,`4'1R[4((LKMD'%eH'`IJT6N&K0hfTeB$Jm%KhCD%qS3 ++6!@)4l2GQ[aQU+QJ`k[(P[j1`I!Yk*2fp,!a3+mN5Z[YL*9GM`!j5DdAcrV&!AK +GrAhG68'A`E3G"FpSf`p(TNJ8(Im*rQ6#$Q29ML1+ZchDCZL2(2m4HC!!%329hqX +'8R&$FKE)b"PF-8GP1&,d$+""AE5)Y3j'fd%`(H(mDC')1E&5k5EILK%$%J4$9U6 ++IQj2+)QX@X#kL`X9!b+Ed'jNc6#MhAN(UhE)pe(Q"IjX-A0)N!"ZKhjidS[L$0f +Ic56QH%(#V6J8R2L&`f219+$0c+("`#l02!5fp1-IC-`B!eb5U"(*[EklMqe@A0X +U6db*Ui5Qp36bhSeG4q!P1pm1YDde[9&89LkIQA4j&jrBSEJH5%L4&TK`q0J-YBC +EXp2[fAY6*N'aIX44E&%1m(Yrr$VXFa&bH*m6$aPJ)(*&GCDNHiY1ik2E(H%jl1C +$[-&mUEB1U1qFZ3TP`8EF(QPDHC6m[qXH,YNX01Q9DQa66i20l5D(2XR%L@6plRb +qFl8jr,bpEm,bC'"R-,&X)i2+Fq'-##J@F0)d,(1X+LZFkepPDMEb+AVh-Vd-P5P +Rrd[8hk"cdBGMQ0BrjMPjj45@,XBPY('k0Z@FQI!25LYcrMeMS9+C"Y`%)ANr"F$ +&V5YPHm)l#m9Pe2j"FXd')22L+$0+r2m""@MPFSFc-",X$"QCPFKrL0$[$--8QHL +S+TZpd6a#HPI0+"0aI'[lDMC-h`EpK2*8&*MT[@`3V9C[Faj9BBam*mi(LY*2KCc +1[%Y8mTCL&rP6lR!ah4,ep+BTFSJFRIRflkr6j!IQ%Y6F4'CVlFmAIH4i-Z%rdk) +P2G%3,cPKA&b4YJZ8$"),`h4cj+$@**PX)mji*5P8T+q+YN'`4-(X!@0ap#1-RDd +$@k1L%caA#U2!@ZH%p-BI0SE@-dhS4q&*JbD&1&$VMp(fh%3Bq5FbMU5)T'k*YAG +4pGaZCj2a*iU66TcY!V(HQ3,03D02+&UVDM0EL!K`E28CIpUI$(a%Cap-K2bA1XU +'DTZi9TNU8FFQA%JJ!D%[cZ$$L$GB*8P9m2P#lD2MfMr!a1QB5J(ZmKb-C80AT5H +5ipM+,l%T!Pq-C&@-kTe'eNi)TY1mhG2([E5FE[)8DEke-3qNCT@jeDLFJrVr,MC +5X'J0,)G51@8ceS19P"3$1dKdTfl0(*a,J@i%%l&IrhU0Qdl1-)1h0LPI0QYkd6l +2YNK$e`kSNP@5`!*bNkX[acCF+T3cqZakjGh,E%ZrkA19,[PjTJRlS6%m"YL`Gfm +BK3hc'dpf#,8XL3@Cj#Fmq[I!Zqe1Ul6UL#F+K!)p93,C4S2KBf0M)$!aE"LcLpT +c+'Qh-&*H(D(GPVhV*!$['dRMj0Zd6F&ZVVGhr4Yl(i2I5DF#lGU1iKVBpL'PjRb +3!"RQJ&JK48*a8DNP!61"#liSrRJl+clM'CeM&bqU0C!!,LD9`"9Ef"59Qc3LG!0 +['A-!&+p5Aq"B!UI-b5#p42dk%pF(X,YC`Q!`(E6%rQQFb++TFFYAmdqpqM&$ZVI +&IR3"ZVA&'-*L250[-$k+C,L[+YhH[bf6ANiH`cH8pUU5-@!Q-1*f[a&)'bT8,-( +NrKiG*8V4aYa&5'hFGq`FG$T4r)5$a8)"AiH8aNbSXdK*$+E!l&'*"mcN@'5!F(+ +Nj@MU"ffQ-9p%Z8r(Pq0l0eE[@Ae2UPRFZ@jIr00a%H@-,)*rfD#"e&X(mCm!mUS +",kV'&HaFEEY[XAc$%5"*DZa&CUCNIdRc&@C&&$'9[[ppd!#Hm)6f0['BH&a+[P0 +)Ge"GqFQkL36X-95*#@-,-mJ$P[A92B0KLM6(#0h[GMlQ+pEpd6%+#jidi%5ilfa +58R$YHIprrbePbKFB'r6PpUIM(1hm64[mcL3IeRZ&)92(r)0C2"c,BPp9qlKFcYc +GcME4KFTcj-H6r#0hDM`RUfHN4V&M43kba0,bM(18!*mlF-CRT&YaTjUL!8cAYqE ++EU+FjmjB-br$dMlqdd)LIki#(qC)6QjrSa*QdIGe,1*M)aFGG,L)I`IdIK+'"BI +9)`KZZa$5N!"%THqpdEMpFDIbfH'LhSbd&,PP)kGcYE$l)Pi3c0EGrhA%*%[E968 +!rUd4KjckVm2ScR&"h6rGIM%2T09)!IDHqK$KQIk)ab&91pjS(Q$cMdYqjl0mCil +*K1r5D-6j`qUVp5,@4I!'lR#ACT'9c!iAXJ&eAI)d$39"R0hT!9p#bHhl*)@p6kN +TMm*RL3rf8eSN21X2QFjMI%4D0ENX6X*0l5Uq@9rma@@e'86BNSFkiBGM,$Cl#"b +HS9mQqhQ&H2)!,mH08q(SdqT1$&MZFFp(LeMYHIY$@6!%G$@fU`NmeDBcKcdkMR1 +Acd1L(pN@&m$Z@lBP-Ip-i,d8)Bhea$"T3VA4hk6`SBNGbc6#TQV*9R6p$&Qqq&6 +A*jLmB25*9c+1B#[8D3[JhZB@E6cJ68-H&-LfFRIc!*BmiMA'PS`L*0JK13i$PV2 +949I+5qX@!l3'SPhRr3@NRq0A[bYZPl*5lK"6%L[lJ)01K%5p0"-KN!"4T0dChL8 +MDCJ`BAk"$NIb5@e*N9"0!#eR4)B*ZCkc&-S*`XhX*CUJ9`b6M`U*(TT`c`Y4368 +aLBa&3FM-([)9'5BdlMeiAi12JB&2e%Ri,X1$p+J5,R[F-8UfBDM9b(*dKrZkf$h +G[H3!FYE@q5MLA*1SNA,+`5bpL!"bp*bBH,[8+h0MC$L('r`T!%![UU)adQXTH#- +3br!CbQY'lJ'DaFiMQ4B1&0dDLbV*2e8ZL1'ZE!@hRDae@[m*mA6E!8DHf#`Y1@2 ++PZ#2`rIrG8j@Slekj)KGL93jf8HXVJ5JV%)USL[qE-kPaM+Q5H8FT1A!0f)@NXm +TE*6X,3TKHhVHGc1iHDTahMEAlIiapr%eNr%9S@3PU1YCFCUr1-!SD@`*ZKbaPqC +a+-2'hfVL2[pjLYU%2NH+m,Rj%rTa'GaCd)6#5d@qG+8[M4q5fNj'Ejp-brpDfV8 +CqAVQcbG(fD%-pIl8mDi[)rKTA3Y,dPJ8'Ae`*-KU,!aj`a-L6f-qKiB!RrAl-h" +DFA[kafRfN!#RcaA9bIp@ecaGMIp$)I&N&L1T`kmDYf[`HUd,1hVM#1`V)30C)1, +0XZ&pLBpeY4rP8Y*bR5VL2##k(L)-S1Zl+KKQlP8L@lGRX*pkbZDY%F,l!RrfeR+ +jra4X5P!,RUM0QZVH'ipQiI"JPGp["CK1T'$P$,pCrcE(V-,5R)PL0R'!8TR&F38 +1dXkr(`+h)38&K)@`Bk`(`[h[K-XkE`@'%ATd56D-qjTiEe+(2-J9pf6Q)aGh,f( +T0fJ$CZB-Q-9p1q&J6JdbA[mm*JYaNJ141kaA'51-H"BcPa2m)C&qVDa(K,!,#NC +-MImT)Q)ri"%M632KMkS%F(0N!+U15HFerN%S$cGfqTX-p5ff#kj()A,H[FCKee9 +EkmXT5LT6&f,T#l"bjN`pTNAQ[4*iNh2([X1PX-21kkaA!dRf&ih$VqUj4Z$Ud#H +h'hcCHmVeL%c4&JMU`[AGhTk!L480X+a%$b%MG%R!hB4-SQ6AS2aRP#$cB05p`Jk +GF'V&kBbX["!)6Xrhb8fXf49#jKrc1Zbf'&E0p"G$pmhTB0XHDl(ZFk![`dTM(XK +#5eQ!aefZ1b*KCbq%P%F`F4Mq@`4)@lD!Xi)bij!!SBJ4(UM28jFA2RQJZ-jm('V +Cm[44PUFbYKke)ekGeXj%PjS*r9r+Eq$3,Ka(-&Qd5`IPYXfS,kbrZ@-#QE1,Hb` +Iim9BQKA`(pF1@LC8X,1q+#JBJ%(a@f6RI1k`ZJ9`*Rdkf6%ehcYl+Kklbp5-,8J +l`UjMMZL0KCee#8a0AJU'![0#$kedC"B&H(PCdX#q-&@3!,))[8(&D'[p3Yb+Z)Q +Ek3lb"*%6%pj%CR-(hq3%HaAAFjJQUFcqkh!C[fY5(2p$8d8JSKpGQ,k(NNhYr(2 +96LICqMGKT1%GXFSS(1r2dDNQDPVSci&UUlQfV30N0NR'YYNX4BFhH(ZjD3['A8* +#c%!(A#!+TYjB3jG'dBm"$T6CP8bje1i6Cr%I@&VEHhrpC*R6mqr2RQ5"U#0`IJR +jLN#%X(J+-Li6(4f,6I2"hkb2LkbdGV3Bd2$Z+j!!-FB64)"TqlUih,Z@'cclV"" +3Qb+H'P"K%&ciGDNDTdZqfmL`*Jm[jd*h3d[r-@8I1HZhkHej%)@ZX@TcB0P&5TP +d2qb1'Mr3TEPb,@SQfi5Ph##@EB8P[fp-`XH[A,aiV6@r`U[kIGCbF-E!3i9%+-, +#&Db,`VUF8NhB@UKS#*rQb!5(Yh#k&rH,#@T"Y8!-V@rT9kB(E-qkQ`"DF2a9I@5 +E+9ZYNe4@Z4X,)eZ58$B##$,+PAbCEEbKX5LI634GhRmS9herra+L8N+h"B*T2)K +X'B!X%1G$2m-m(D%5003bH$ahkNkl+TBMkHUlB,p6BL`XVFL'[f9&ZJ,C!qb9qlf +PUAF6AQ'Td,0T5H%epKUNLNrG!ddNhP#qYCN$41N2mGFAQ-eRef"Cp#9'mKe9-p8 +*l$ZF,k'9eTf*RGImX)6%X!d3U(l$9LlGE!hdNAlfXAQUFAKDiqhel@qq!F(h-8i +e'MS5()h(M(SBEQ4Cch$r+RZPHG,L06l()5[KM@qK4[q1ULU92(TJ)lSiNjYHA)m +rG2jip4K4%K,Hd@N3D09X-c63(%pUm3YcjF2K0SZ&LEC5+e5F'-H'9@0%#33Tf,Z +ZYI2H2A-hMS"kEc&FpU@YIZT"h'&U"Y1%UNC%aFXJQQUE[r*cAe&,Nj,F+Hl5*0m +`ca#&["A*A0i'8a83Q'V1fI!K*j`Aa#1T-(rrIrprrhplRR$*ArJUM+ffB-iUSV8 +3)KqN#3TSKMABS,0K0ZRISIPRk%Sr(0AVU[CE-k%0MM02PmX3UC@SU$8"%"FKJhb +ddj'2%'lq9(GT5NS5Rr,8pE,bA#KJYFK8XTGHm'eb@QJkR+FX"ib1!5J5fj5Deb* +dG"@mN!"5,BZ-kM4LL+D9QCC9ch$eI*rk&8@EK(A,P1[#(K05eeJl#jH@eCYZ`ap +%er&)q8C-fB!85b-aF3GT0)'!('[0G&+CVk`a1E,Pb4`lSp'mDrMZrMMCpXMjG9N +B,BHimG#L+La9"4VClQ4H4X14#hUi+p0T+djc0J,R8bF-"2T&Xmb4FJD!`R2!9@d +-**GYk2Sp*jlm8hh`QiS%"qdCqB`F(e(r'Jf@R`rB+9Fd&LeF*"j@l8fdGGN*R#T +e2,a5+G2#jdIU[FIa-9DL)G5L@1XUjr,h24F'Fm%caU`X46VUMURXDJjp&iFF8[h +3ShlhAE'EpdQj+4k"RGUA$Q1hGm$S`Mf0"B5dacYY4!dB&a19E8YdCEQ2-eP(6SN +dJ@dkJ(0,i%L-Yr)5fb!IBkRjS`TT$`&PJ0UIZ*fG9,bFlNV)+"2-$+(I'@HZ--X +B9eB5l%#J,r'LB+r$&#P+2@@U!edXNlQ`aL42-Z!j*X6'Ba!&pE3qY1d)BbqM""c +,D33V0*)j4,`BiVQAq`b-6JbrRLS*jPCl+DGd&9(Gjbq19`U@c+p9-&&+3QfP($J +ehYS@6hijp3hY660VG!UUq+8k-&m`[Tf$IdC8*Ub#T[XhYTh!-8q`Jp1FR#hjm,3 +$U%5bi1kRF)Di)B'B+%P8S#Da*fE`'`%fD'T%@(11SrlFC!X(VPCq(+bIE1-@)`% +Z34"HTQTFrfif3UBbmX0%E@(RUB00*aP+RX@95""3BkKeRMV*aZ2A0I!%+-&K95c +p91hl&L1DURI+j@%bM[p,B-J!MG)'G3P%(0*'CjH[$,2'QeTaaJpKZfpN$)k+S(8 +pLRXlIll[SRPGNmRVcmiI(I$+hM)Xp@KS0iLI,RN(KIbRBpc'G*4U%jGN+-Tqk$r +Zb)ZrdQc'YfZJ`iUHX+8YSb&a"ZJRpk!0IJP!XB6*($&28MeMmZ+8YfdLZ%qZc$) +%k+q,0"T)([CpMr`1$(LICFBN+e-`lG0q&+k*'M3"i6CZHR(D5CCCZjkqG1*e!KY +5cJG8EQA(8R8pq#MaS4BXr+GkQErDFk'3!-jXccTSINcK+`a8P36*e#&MXlY@[cP +MCPRR#$`ma4I!P(b#GS*S1%MDJ4$UbpLf3RJR3GcqYh9D4HlJdh)1m,MSq"3#F`C +rQHkhQ5D#ir)e-'UeMq*I!)Xc"SV3dpM'V-q#kBh4!*,c!$$#R3(6'YrRXM*-R2` +L9#A`&hkHM8ap'-GfV9*#&#)pdVS46qQ0mGMJhl6[HAX0j)@6@YZb@6&e#`dN(G+ +qI%"$i$Cm1b6@TS&0MD(6I2cAi5Q,5E1BR6rpHID"Vp'6IR+!1VZm)X(Q0iaSi0N +Zp(c0G9UakbeLMP8F@`&3jAXQqjhQ5AdKUc[dje59'0Q)@$2S2'rY"SReCCJprZE +h(9QGJhbr#kM$#B3'-)H6p,i)2"`CU-KGZ-q@SM6cVReq'cj+B8q1F&9"RCClT2c +L[4#a0Ehf64Z)NXEe1kS31'[!iY(fdYkE1XSji'N5q@pGIra5I)aKEPb1KBb)-AT +P&XrEAqehpY4-&#'TA!Cd*(",12XhMrbYq8m!$$U6Ni4$TCk2CS`kc9UUBD28*lZ +KjE45-A!)TK,dTbFq5ap&*HSGSpf$#Y$Y,#KCjZ!cK&1eEl+(((Aqprf4E2j1Ui' +@ZZd!Ybi8r%MRrXC@0mZKlM'%d$cCj#EX!4+d)YGZ9*K'V,+,6l4[$jjIQ@PDa"E +iG!)"#!19qhiiEmhJMASL-F#Trii$+fE0S(@B,!)dcNA[TArE%FY&DdQ-q#&L"*( +lCZ*aQdNNXhB22(kBcAqNGaR#UpahDd6X,&B15rC3M5p,8-8ERTY1"0T1ZbUbVCD ++p+HGK-8LHaPj'L00"50Lm#hPXpfd!1A2$c@H953iQbQ5*JP&(ki`U*[4B5bri06 +`VM36q81c""-PNeG5Qmlma3p5`0I58$HA3@Y%HrY#U4[FJmre$%VZ5FZ1fcc(&FQ +TmD4S!-KHD#TK5-KQreimhVIb,KE2YH%e-fJ9P*9V5iEYi%YrkVU&1kB'@@3-HYe +8BmN3kij"YF3&5Y9!Ge`X**L[YhqCeEYq9maX5EXi,@kKZ(Zl'Q3U'q6EAMdXebR +@kcNHhM,L#$r5q'8A@j5d-cLHZjS-mpL(lD@Ci-8SlTa"eU9EhiQ2J+'FCXp)Q+p +DTS1j,8JcQp5M84kXLHNbYYF)lh!FPQIBDZ1S4FjKaaSQk**$@L[0I,#pV,91HKd +p+N&@bMEP@cfh9bCCQ($B5&G6Xh3kd04j@d,EP[6X,lC-9Zi9"L#ZkQ3('N*d&fd +8pr![XPhcf$)46bDDLq#(-MCJkCbbDlp@G5@,&$IIVJ,Q4pI[&$&RQR@lQHcFSB@ +T6*Jp%icJXll9SQ@&-G,k99@'Rpp8c@F!S`5ad8qa$9(+RKicSK-UHKk6*f&QV4V +55e6Aj[G6UVSUrKQT3BZ8(K9KNDQ[Nmcpbbm%ZUZQLEZCZ,-[!E@i+jJ)CrB#k&N +'$G9FTCaZ8JCYPF9kF[lUHkhXT1M9e(6Tq"RmZ%#%5c"JCG1fNSaKD(Xk!1pFbRU +SXYdkd`$@pQiiQ-bX#@Z4P'Idh3D+fXpF9([HhaQAflj6(RRq2`$"3XP(hBU$P$& +i&k$HCmZ$q(Q(UG3D$m,5LX,Tp"JTK9ML`kdGPE95qpcRXLkfkdPLApL8mZjBk3% +(@[4QHI3kJN[13ITAecPVh3QdC1,Xi-b5$*ZRCdX5J&*HQpd&Rk(P4GSXBLM-CmQ +B+hT[Bd`5K@`RUe0)URcF5RT1ZJUVC*1Nq1NSEAd1$E4'B6h6Z(-@3T4Z+'Kpl9P +j21+9$hP(2MRlkGAI)$KI[2H#JXQBa1mPGBpC`6md11b+FYqQeh5FKLGfXprFQS$ +86%--"(ENGC06%Mqf6CbbE3KKkjDAAiHU'ApKeUBX$G263,"iI'&Ie$0d&fJ'IjC +aHZHa[H(TQ,h0jqKLZCGkN!#IED4aCQ[fjIIpXp58%LjME59!'1RDcH"1*frBHQr +Uk"4NT*UJB$,KQLH8@NU[)%X4Z'P2J-`H"bqi(jX[H4NL)8R'",2h-fR-a3Tlk[M +[%"iL5!90+kk'iSDHBAXMaC!!&p#Cq'+LF8,q+R!,F4BhXkpNmDHS4I"@BCaLZI[ +3h"p6@N5c!`j5h4S8cpXf`cGEXD90--4,rVAK80M3q9p(kG)NTAT#jEJEpL$r'BS +52C0qXKS*4M5a1%c1B*2b$NP-&+'J+0,rGCfXq@IT'5S)"Lilaae(9aZ+X(PdMNM +54V@bdZ@GA+$)![RTrLXH8m53!(RUZmI#j"mG10C2l6K[V$dqX-lqeX"SBLMiK2f +%3[h-#S')#1R)`C!!U2Y-kDL'1$jjb@J9daqIkicp2,m[MI$#h0-eJG09icA5Q82 +J#f50'+!%3PbqCM@Q*fc8N!#NAZ&"GJ-@f3cTMk8ab3TG!ETZI0PHEMim9'bX`+8 +"1&0fApcj+qSAM82hMZd(Ka2pIIe`T%YP6r%'S@GU[*'T&bda1CPDDLD5XjF4LE( +fTA)AXIC0`i2jm0T)hhKR8&H9%-DLiq2RVT&dEkTLKjJb%i-ZY*hjqaRNaSAGlpk +@Pk["FpEflL#eAi&PLp%#e0!51)p$j+*lk1aX%Cjh$TcJmN"N1[KCHMJB'd$`@8P +Jm%%Ki@EZVpmR'T'a@qNq,EiUl![iC9(I3PZ-bL9fV)&*Kfm8@8dlEDPpQc6ZMai +3Uc,bL#"1&bh[ieTYJ!9GLe-AfL!Rr+fIIRk99TA@Se4j1kpLHD5'h%!e%`E*GMU +rm4e$12aQ%h!mP!FreQJVaYKa`QqdEL3mJ5Jk'qQCr%eK*XCa8EN3"rHbdaKd@2l +*!,KCjc5H!Y,D$b5l-TMZ-KdbPqaXE+LMDQGPm2TpqrLq!(mFdQ2PB+Z$i-(Bl)c +9%qDMRa,16JmSPZM5UeQC08mApZcKjkZiEj3G+D!d5&(ZkdKQU`8IYa(kh1Yqhp' +Q0pTVkf4lp*GVP$h``$`'"YUc02M9(*mB%k!9lhFkH+)'E`$E)`iDHD-@)PA[Bi" +V!$MKXiGd+,*iN!!'MPKN,D)VU#4#U#acD,-DA5SX@5"QDPJk#(Za`[E'h@RF,HM +898*EfMDJTG&!5*T*d`U9`!6AT4jPGN*`YSd&Y$ZY#%1JYAh*Bh*4,RUej!RS%Gr +bh[pRBF34SC!!R4(Pi`d1V&F[Up1lETCJF,(Hbj3AaL0&22[Gl#VmH!F1Z(,qbRj +$"4Bie2-r-$KGD#jd(PfJA'Dd2-##5d55c6D@Erp2B8S#admVB'!J-1NbkK#LU)2 +f8L01(8+h9U!0Bq9P+FRqjTRL'EY&pC5$&2N#jNcEX`LY)4NpLXRMkNS!KX#*#%N +2p#H3!)TimIDrJka8LKPq2'N[rSU[82`2dT5H1*R225Y,N!!3AK22[Q28QAG#Ncd +Md-l(PPBTNX11fmGaECY0X5E$CR61+abb2U+2iH)E,KXC'RGL%cMfa%D`ER3%AEQ +YaaFhD0KB9Em6l@E5!Xh!f@2XNpCHeQ6I(I6iZL4@E"PpET8NAGe4HlVdNQjhZSQ +-@lXM-B,S'GheL,Y&bDY5J6%ifk62a4FHI#NhTmVZMpQ3!2!eCU-([#X"TCh)ZKF +k,jrYMKJKrKeYSB@KHd(I,5Ckh#'ZQ`)'JH1,%5h(5"5k&2lcjcr"Cl$9HmN3`rK +E&@b3!&#CrcCNrM+jC0U#NHa(Gff8R&Me!E2,LaX!fQKL"SMqpBm[GV4#NGA5$5@ +A!-`'+8D1c(3*AbPXL+)G[DI*)$hT%CIlPH+GDSKA!*%CKja-h2pU0VQ#D*1$i@0 +Dql6$B6[!#LLf(r))p$I6lpq5Fr)QE9imPi)C1,5Tj['%[`peTNJqN9D[%I8kN!# +C,FPSC1Xa!MM)"a8UT3A&X6qTf5P#@Gmd),!$AS2hbeJR+Gl6+5edPXV3!8i"&hi +C55V1A#)#bpQ*lR1PCj(b6ZpFX)K+NJa13kl[TrSB1F!D*$U1iDr`!'iFMJ8r"X, ++A%B'(G!6a&39'L!PP6,ZEi3RFDGqSR2ia-6q5MeYp'&Y1a4HGffj!3),Y4YrESS +"&,B($k00c&pli@[cC*l`15E9"-)bNH*Zr"!2a4(TLh$pH3FJ!9Nj80"0H5U`$P" +8,flr(r6Gd@DUMl8NYmd`PLM!6%ljYi&IRR+EeRfp`pGA"aMcS%H`"IBP4-Y5Ij@ +RP&9,2F+VCpfNE3N+6cl"NTLKlbTPme+bhEUYM%Kb3BE@IRr08%l[5Z)cKp#+J)) +k4V`k(Tqp`0(!L[PJ!*cPa2if4dhI%q@[MRDJ#ZY92"DT%`LN$3dV5j`mqDY!Vrh +-mQj$%V(R#[69cCqE"23fFpM-Zc8d)hi)A1Pk(Ukk(5D#"*@dFFUc9LMI$$Tj%15 +4`CkFq0EMI9F,E8)(5TS6BilQ*e%R-0(HAl1PPNH4(1&+*,"TV6J4HL8%R*-%$I@ +hCT)Ym#Dp)Cj5&p$hRJ6VKJE2MV2q`A0VRKV(0kcL%#a-bE1GrRPf&m9c1fY'%er +YpjED8d!4pZJFC,djX+#d(dphEHE'e10"r@1h*`"(B10Zc@MkpPEbe'G,jTRLYVq +A`%%6jAMTXE$2LYGe''3l1VbJIKFLb`pZlV8leY5'CM-NJcDEP-4@Z0Z`l&Q`HR1 +f#$!A!,(,(j4L&RmRj95lZ`ZE@iFmKJaYm0U2ZMeNIh'THAarm#ELimN+`eS'YCk +B%3&,5[fX+ap0d`%aE`"!5+8$pp6'B)c,+Y2JEXdZkkiR4,IfP#UfH!P5KDI&KBl +`6dVjSId!2,(S(S`'F@6A*ejN8ZNXK5`l@H`6rc1CQZm!b%iT0V*%P-Q*YZSr4P0 +"hH*Q!alcl"m2QfPI,jDHJ`2B6l%FqmS39B'Ke%b*YG99dlNEAjNi-8(dVeL-R'U +[2!iY9C,I&J&hc[je,peb*BiJRTF(2p5I,m2X844!4bYSVqFMQDrhQ[,85ADDL`8 +,d[-k$@6)JeDE+3[11!SI-J0G2QPL+"9KqaX@A(Bfp-#1H)!TfEJd%"-pml-S,UR +""MQK@R6ZkN%[M)12@!fBa,NNld)&&r'@1j!!GS%dBc2%dSIZIp$B8![E[(8I1"( +"p(6kUP2[,(R91&DZGpZffA#CZ@pR33rVb@Y1lHQ28qUVLRbKbe[YS$46#8a3(fM +Cm#ClVRpp`A-!m$&3TrUD+r854QLQdCK"GE!T0`jF+q5+h),eQVdr8i"UG#CfY1I +YJcf[0a3R@A4E5DARX*aa"cPGkN@9dNH"IU6!rF[(Zq")YmApBCk6D2U-CDbM6ML +1293EfRDfMBDYXE9iSjU*T8C[VR3T@BY%+rV+Nlk5%%@0qQFCNEb0&KU(KEDf@fc +clmRTBXeE9a#p&Tiklf58D!84GCN8Hdr3Z2+1AR`,P"%Q&F,H0S5Ird-jNSej%Vi +GD4L!k%ba&`eYK4ke"r*[H*VGR,HbD3#5S+8TX-8[mPVR-0lSmBRST2Ke%6U8"mG +ZEqY+5B*T"f@041fCe4RfRcV8MD&4YlqcJG&%E-Z%aKDDl34UAM,bZ&eJ#'a%Ir) +N"VP[S00ke30*ZY4)4TKR-VbF&q@BfK4*+fT$db$+!((X[F2Fm`c[HG&V&1BSabD +Iph*FPpeT#Vp)C(DqYD899IU2KBdH+IAVPIQHV6m$C-*,B5NQlYHSIaK%RH6bG0% +lFlcR1pP0"ibe,"KH2f5'AG5Ia(d81jMm5#R%j#hq$pTa%)RpTf'-(QDNdGi$)A, +fA!r1HXNaj,l9ML,&Jr4TA)YI8'N15Db%lZ#%qJ3B'p3aC$U`@QM9d+9N+X`$$h) +N*k(q41fd'[`d[653!#(r"(G0`lT8X8&CbSmQH%9EC*!!"6j#%QIABk3H$3p!GUj ++pf8p6Q8Y-i$qKq0I%+bM1K9-+$VXT+JX9+f`AN9LU[G#TUES)-[)%Ga#-EVh#+q +T6&jFrH85J,hQaV4bV2PZY89LMpb3!,`*S'&)bek8'!YUFb)0b!18e182r@fq8k@ +QXf*Za[Uj4j!!LBL$*3&IP+*Vf&,i5@%`69!&Rf0c'UikAD1B1!pqQH5)PP`qi"X +kBAkCC&5KSTBCPEM-CGV1D'M"V%`S)er-2*+#3qRFiAG(K5Qa*)CB'Bb(Nq-0$UZ +cDBa0dBVmIFZJhbR`a60P2ME2aPdCma15DK0fd'S#IpBB5",S&k1#j&b#rDLS&cp +K15JL'0G`TTmUVBU`%*m`D+ra188@k9GhGBENM4Er"Mee#3CUi@'4LS4V36,A[6$ +'")5&1q25m[RNbJ`Yj#bp32(fB9d",$G2eNQhMq,3(FRC!P!BF+0GQCK4pe#m[#T +a"pjQhq3MPk%l[SX6)5`5#ZKJ'3flVa&[XV)e4#Y!X62JlTFCmHM%qMNQ(h[NK4, +P6LR'*E0q!hZT&R'6S(@9EQJ23)e0@T84cP)Z-mX3CV%XY5$'L%U5b8(,I5i%qXc +ih9H'Mc'Sp`UELZ#)TALG&[Ti!'&$ZX1-[6PFj2@%!'K#Ck(dc(Nk3d(9LLrYSHR +Mc%FG`LlG)0SlY,2MA%r8SGfXrd-29rZjq&e8eT-r+@ra0L8LE&i#@jCL#YSJG(f +kmZY*Lrjm*$P8B(TfmDNp(ZBNZQCP2KB9'Gbm-(Sica`Q$RdLqR$+MYK6-rZ++dj +`lQql*89SR&*92k9*"aPj6D%[N!"*I8KLjZE)rIcPY-fac+2QED#ie3S%V+i#Q@) +p5($iBZe&&NYT83%I&kScLmf$)G*+&2i'CT!!*!SDT%V3[5qCUMf#X`KpJpa,!&A +)rJ!`6EeB@d(V3h%i#H+QF1T)(Q-r#&1jq%2q`Leic@l*&c*f!m&ha(U+PEY2qc& +[Ld`)#%4-hH`9&9HhS65@VjQF@118G5kDcSm,SUhP4$DrdP1f&%3Rq4QSmYA10-Z +j+B4jdFVEM#1r%B8&0l%,qV%$-EC9#B!QUEi3E5Hi%Cd'GVH%RpKpN843X'p@5S* +@XXm+#V0DAL9QV*UJh8k)84!d*636H%Gj)(-3)50am&0BDq""+Bbf4@XEUq(IMP+ +fJ3!E3+cP)pL%68ZYTZJUi2pJ,4"9`I5qaj3cCqF1&12VG'I@eDS)GQfJAjfGE2d +h(0&Hk@`eEm4@iA(qlYC`%qjrG`)'Q3DA`Ld'%F[,`Xe!ECeK`#M%RV+#4HrGTIl +0H#hNJ,C'2#aedUi6Vm5rQ@BJ"IJki*M19YdkV)8ipRVk*d-aEbc1PlA!dMF#bdV +0Kaf!'*3#9dl*`ei"`EDEd#$3$Yjj-*B`Hqamai3'@YQE[He-f[RPKUcqmc9p`CA +plb0["rV,c$8h%j%q*ECNfXBbl9#kQk2r4GX,dD[hi9DqDcMf[8)i5Nr32rFXUdZ +)HRq61(V#e64blXB4#(UT(T)4D04!QeS(aHXqApeMS6PDRRe%%-L%XUiJJZUY#I0 +#Ti9l2P@5#!HdkN$Em[P[RY5Hj(a0RfZ"4*mJkYd2cN!rVV3UET(01D4Jra0GR[& +J'5#SrUUQ&"Lac!#@PP-+&*h,AD#YCcI@3#)@V,@k$M5K(!@,AD0XB0K)HHQILqk +P1pZ28I-+#Q0%r-AfQ#c'aBPH"d(jGVNXbE[%58mY)ILV8H9bY+Q0$a!e%TaeB!V +KQ"0PHba4,0r1202eqcd``c%X#Rfm3GF0XJARP@bh3RYf5,6%eAC2LJE!kL#H8dk +i--R1GTARV(c-9DLlLR[Vd9F#Z*6Cm2XLYH,'JqYSQ0X!0'hM954`DIRiT68,*0& +4*H80bFTJl4lLN92b3,MBrN@Ma`)XjJX0*C!!N5aJ'UT&`bC4q*GcD%e+ip(i-f" +P#88r&peNk4c9E38d@q0Vh!Hp2K,"d4Mj*q)[BY-q62MV'8jq[X@k`EqR6%H9(%C +15eaF!U!)!P&HIQ6l!%QDkk6GC)FmXjZ`JbrJ@E8'pYLBQC)aD*!!3XRQ"a9Y(U* +f0(Yd2'S1I+GB09PpB"frX0YL1#BLY$FU#9GNB#T,Z`2T#FX,(Ybr96mGPUBZU#S +!J29h[aPNiXB9"R"mNj-e[@EPeQLFeJ)-XP[(K-jjSp*jFp'VJ51ZhG0m2`(Sdc1 +4JM`PdfiKjl"b!61k(U(pUj81J5VffZM8E!1A[3%rqTBSRM%)Xr0G*6mhaF4K'E1 +J,!-Jkpq#k"kPD0%5Vc5G,*!!-[pii%!@S3Xr@P!5F3)bhfXX@k4&R''eJFQ!)@# +1XS*hUY*Pbj-`1PF"T3qjI5qpIiZrXcE(h@$Z+HU0kIjMb,SI$4$ZV`9EVhk##N! +Z&l%6SMU(0+$QLMVa%S(+R"STJK'ZXmdI,&lh@lAPdPK$QE1bhUf0iSpHl-1#CcC +`)23K&VJaA5-4!L!dGd"'VBDfHefA5SIcR!A5'fh`Z(b+KB-'i8A2!(#$#RrB$$C +aFBP*"QS'NHZfmH0S1ceGhGZ5UP@$L%i`R96%fMckcNmTV3LD0X3RU+CCh6i&M2A +r(4B+#aBN%rj0,L0e$"L,"9m!jahDCPVI%Uj@kJ`8ce!e""A4cc))!Q#lZMZC@1r +5l1,!kRRT-NV5er3$*bVe$PPbrfh'DDY2TJ4X*+"bcV!N+1$Qi2923+IK@RL$Xmh +qlE%K&!`F[[E,C`j[!m"FYZ#IED*eSaa@NQ[ccPU-Q4+m&JkSeB)GqZrPifA"+K4 +5GH0$,qBd&+$61N60KB4ij$D'"#Q1H'$L2Z,LLqXJ,CM6CTr*CfQASR"p!fmr@,I +'"QZ,N@Vf[T(3,ESY&XTTKPNl2`U,PUj8RK4GUMHFXI3dqcB4"Lc%`l@c%[Z1pC( +1UE,F#Tfh3QapC&iE`2p1K#"C9Y(S"lJEl4reUL9R",DKEPDfpU`1RGE,m`8Icme +QQJAlbhe09jL01[+aHc3Cp'A@Ld@2kHqEH*ePEAApQJ8&FZeGI682Dpqk,3VNb(4 +r3qGqKGCE*eS(ja'65GkPCikQ,59`C$,fKJNH$6m1LiVV1Z9E2Hje"!a5SpL4[f` +N$IQrE5NDbQYlFm4[AZ1pKP2Zr9dB"#rVllb6R)ci#13f2"N8NPRZ0KlKTh*L$ME +r3ed&H*EIL4eapF!e2Id8&E9'@&9dMjVlEb#033GQefCFqF3@P(,[&lEa#"b5a(A +(qh#9Ak5k)295[8H69,QGG,QDl!aU4XA9IdLFP3RPP-m)KLA'qd'kG'l+JFqQTP2 +G'N&JI66-00PY'da4ri+LRT55TAL'Z!5Bm!&U[%AV9c3RiL4%3iQ)BS6ieU4Pa-` +"NjUFEUULl'8lZ1D!Blb,HM8QfEcC),I*VT!!+&4V[3Y3k6!I+6lAYRDL1Vml4[M +Np6i)%Q(K,,(DMXa`ah8LBR-fj-JA)mbLS'd4qNk[)eJi5"TAhB9cdN#L$C@pdK- +fCk!a`DV@24Z![,0pYX&Q")@pmAr@FCLXaT%)kdQN'F83e4HHlNe"0PTD3ePCjab +`D2L,i&f,FjfZ9`aETb1abGLm@G#(dSj6P9r[FlFK$&XXS0INLK4R@GfrT28J`iQ +&G%G(8VI9%p9%NVj#Xk)q0K%dTNYIaL8+aPV`IefZZp4RYFNdP[(3##%aZaei58G +N+Z9Ib$*a#@6T6PDNNjpC[B%@JMr+4Vq2i&8Ahb#NMVAfrK,Ga#mhHlZh$%"%G+9 +2R0F+eSA,!KB#"0QQNRGff1D[lVeYIA%T*Q-`S$5L9b#"&4mR*K-f3-D0D+2Z9Xm +RKSeSCACI6&3*rI)("ZBm[jjTcXfZiVI,EBkAeMPG8VMR&Rc2N!"420Ukk'qq8XY +JBq$!20T3l9@Zi&!Xrh9JhBhqj8qcZcXj#BGI5JlV*VHa9AjMYc+(dKj2fPT'[Qm +bU9!,,28A30"I'RldY$Va3LXk)$KeI"C#q'1KC1F0J40l3)DV8cSri%+X5hhDS#q +e-Y*r*3S+MdQp%FB,9NfJ8%NS!!C5Nm!!!!!!!"1ZZqbM9GURDH,0'-B*#,9DamK +j0[,a+E0e[6D"A[++Q'6NI0hHSYa(I1&pUd5c0Ie%hTM8TI!5jj4RG-Q*Xl)lD[l +&1AcSD4r+fL2XA+Gq5TK)-YY!i)UD&G(BE3)R0p"eYD5qaI0-9f`6JRhC&c2TLQH +DECaq4PLb3XK$@%AhMU%l@I(fl@1X1[Dc$$*8!!"4+J-3kaI&!aAb8$8U3CpJYJF +aqP@HjV`$,R+AK!pXCG[ATB'1+9KE6fD&HjrTde!Ifr#*!JQRR3p9Ma`GhA@a-pi +MX*jB26$@Z,DTLIHCP6+8RJ+V'98APL5dq!4@##KL#UQ&IKFTQd,Ijf19$#C#prf +mLqd1hG,r+5`S4"+Ep`bAK"lQi%jmT2JjM0pf$-Q8-)!k+GZ@C65P*#@USahj!D2 +-*VP,&(Gfh6+eY4c3`9E"piMJirDh&k#-4B-qralqcX[[fj!!Nm#3!,Hdm!R9)Yj +PZ&b5jlk4ilMN%QE)!!dAimk'HSRbG!9$(45PTljKRHQp3m!J[5I66M95Zmj0-hH +TT#Nd5rFNbTS0jXZ"aKS2*5kTUmCiLT!!ZZE*+q`AKEKTq9'R9&Vq+BUTT,MiFV2 +VQY4fL1b5J5B3ZrK@5,U#QM10D6SFTji!jVBYV$KL5Kh4lTa5mRTS#DjQ0EK[PMY +!G6M1M-qpp8fE46TS4Q3f)#@$)1Ypl0#VUYG(5m12f[Z2QI,ZjT-kKU4))r*aYTk +Q"PE)X%VILGf,Q$V[-9HLm#rFU9*V,e,j@%X-E-iD95icpSeVil$1"Q"LpIJdf81 +K$q$LiJ9"'bbPPP#KJPPpC2`,UF&!'Z*%bBMM0EP6ULcaPK8Y10+Z6YZ%2l*JEIe +JmcHXTA3"P$,bb0B6,8Er95+4'c1Uj``T&![LhaRXmAdj28(GeA%YNb(Q6FB#p3e +e3Yl,&e1qB`2EkCd$rd[aM$%2&G9Yb5H$@fA#+r6)Fi%S%"bFV2$'G'&3Y"P,EHr +B6$1HmR0hXG%P'0a3hbQHfN8+mp4rQ``82[CD!HAL*KdEiIUrfaQ)@)6!-I+Q8kG +haYq)IR@JPP9aA"`%I)AieYD$Q(r*M[mHp"!Ta5'D-VEABHadZl"%P*FH$AiXH!! +LciC+d"H![+))GV9*#!![N!##I8F$c23Yihr'2r`FLAB%bkHc,DLe6hN,pP6UI"i +0p[[6Y!d9[jNi"I4PjmH4UeClr(`'k4jD00Z`(a0KM"6bU1ANYcBS-Fa[K3JK*8Y +Y*ll%qbeKU0'R1+3a9Qmcr6dYY9di!8GDNcb*09m"eE(B8Z!3@fAb0C+d#Fj15,e +)'P(`AScD53[e1J'0-Nf+F`[&lblibDT23YpQbN'pNU90'VajJ,a(-QCNUDUE$9+ +6-VIh8rUBKRh$NCE#!@Bm+iJ9GYEbP1IaA#fi[CCJKmH)C)IZY$f2HK3Yh5%cjh6 +2FlP+lB"Zd64&fhA6qaSUq1RMT&9$kZM`*SKm'ja6TG0JddIePVkrYHE$I@rY0a) +ip!I",d6p&ek3!2"3M4l2BPVbZFpf26IFXer#Si$L*mJjSah"-8D*!6%X9A3Z@YM +NAAC#AEmp'Y1GfZ15,KEa'm6,G@%&I+$C!bGk@(3GVQ`*@Nf!&C2Cj`L%Nb(2f@) +VXrX"aT1`Kj'"[8-KINJpC2(LTHG3KM(XJr*(e@i#FX3KlhNTe6(qFmGMRTd(i%l +K[QKb,ImfKVjXSbTl1+$0P'I)abJ`ESPLN8A$JBPIIS,Fb*ad)&p)LYi"0IA3l)8 +&b3#"LSl2+Ur#4FFbHP+C+[eCFTN"*A(0Xr1U@25ZkIIGrhL[+2F@+THp6"#aF*D +e5,L4N!$LRdkJEYC'N!$l3#pI$e,eaCrL'GP,JrD1K)'rBcMRa+HHLX'fU[+@mIY +[aDbPjfEK0B%aUb18j6&'@*0[AA`5IQFNI%"-TZ8ZUSaYQ+N"br0LLQ@Z11JhU*J +5J%IS@QkXS,FZ2D"(YdU)Bi)`b""MT3TKB%0EQGeLhYZ[NG'd3VJC4Uff#ba+)Gp +@QkefLTPfffJ!LliKk(XFQ0lE"P+INJpXqlK#RMRa%iQP-lP*(T8)%VjlU'Z`$ZL +KDlNb+iSS6M)`mPE(@2+GA0'lR-l+8!3rdRF+P2DVAlI6$EF4Ka3@F@5%VQcRRf) +lN3I5aR8r$*bVUXT,aj+X5'LfIlS3V'#DN9@H8(m%lhVpc-0RiPj20m8EfDeEZpm +U0M5qpMQRSEFp2-FPh%LQVCUr5*r4rDGbf1KcmBKA-*M[C2jD4!PelSUFcrm!LQG +,b3EG,D[aK62J+f'@%jVP*A+L`aflR-$35S0S*G4hicA'ABTkSdYJ[hi&VJ9qk&F +d[iRF$"-[)P4!f4qXceLb5A-Pc-!N`'Lpl62pLldFpa&Df89TpM[Prbf1b$25rIM +0IG![N!#U3%C+*,*k'@LT[,bdTSCrP`i)BR$qM"(C&+21@6fFMY%I%VL)kf2QrK5 +N[15dB`FTm[dXbKUJB[)kNEA[T9biGq3!iSJE$5F[LqP&"h1[c$IDM54MkS``S*! +!QFi33e,3iS58ECDJj6L*AV+djGaf8S%pYc*JlDF'!(Mf#*8F0A@3!(KX3PSZ!69 +#JK-6$ej8VZk"XH1r4XCKL*h8Y$"Nb*GJXi0j5G'pJI9JH5!DmaMpdA[[F*YA4X@ +#0A9QG+AfL"EQEDBE*%jA41f@Y8GQ02!+AXk%1JJ8"PZ1)V"fbqK3Y%"YDkL9B3q +N"i%'JBeT%dY$KqRk-RhRNIC(DF#3!(4SJM@E5"8$[NfrK3B'GND0LC4G1R%Dl&) +KD45CpFM(EdT[keafk`e0c4+Y2rZZ(*CjXMXTDZ`PB42L!)@A#4hLEk&Y,1P9U,D +G6&"1L[ed,TZd(h%rGrA)9+m$iY$*c5FR%Y2L4[d'VLVk*CY9[*BKX(("YiI2m#G +jK@(ATGNUCQSjmP2Il!DrNYLf8bARSjKDUmUK4&)pqKfE@-L3!)rR%RGZpEMr#@' +PB,D$Da4E3'a0F29(6NPc+lDcqhK1&FC!U5)'YMjR+l@K$%bBQ12C&DZpch[2JR1 +TDf"qhf25G65B!4akCiJ%1ilh5r(%RJFpb5#4pa+dEJ5$ai)I2b,89f)G0BP&YE0 +EL$X$VL3Iq1PTSY@A4&!kaA!0YU`@"L61clE&j#PPEX9&T1X@PY2Z-M!HL3Q,NFR +)B5bMff6FL%Zcdk-K$M5,8aeBr9I'dkaI@XVbmR6adP)"GC!!p&FIP65qB5L2`N! +eSGmdJ@ljXlTekXb`*1a)6"6EDDpDcmZC5"9CCQ)0fLKf!*&QAFbAYdXZbPae,Bc +4B!S`$r(i*J'GLRr4DYCV-8cU"5$NRGNe#1F#-I,SEE3jUGKqVJ!`iaM(Br1QeB[ +l`K)-'5k`q3U5%pk8SCHM"rQI#Mi%`lbA*i*NG[$c4S46MC`PLTdX[Z#beTK$&p+ +r4(8#lCfDkiLD"2i`+Rq!%**Il$+L'L6J,QeiHV)[m`*[4KcjY[h'mFUH+YI3-6E +Rj+*JDmh)H'#'TY$D+Q#F0QFUH@a(fSj,&pa3!QAM55eGmpe&l&5cm@GD))[fbE4 +b6[bC%l+U0r"cGS`8Td&i0Yf8Lb3IG+8m+eNMa`CSAL0)QLa*j5`E3DYpf,k#BiE +"B+H!HB#8389YVNIBY-cad@fA8NT&bpadpkGiQ(0&ZEi'$(!(D5[*kE%2PqpRiL5 +0cV&9$XEAR)p,MY*@KRZTbc"3JU++(j!!9(GEkda@3bXHk%hLD4pAY03aU-eK6,# +[b9VmP`A8CZ$'@S)$6L!iX$dE@AkhZ20hN!#Bk6YNI[$H*RdbhT-!ZkZ''k1Sa0+ +bK#)[BmNJ*#iD,U9Z@Lf@E5$Qa1$B6N)ZQS2%0mN4B2`9hGbYPG[m06X&RjHfSd9 +#"PG4(hLM"(A4EJc2UE59C39F'&VVC4HKIcp'H`11D`0`[G42fUKZYdH1-mMXX,P +EEE-#V)kHIXmj&e'0P!H3!&+e'NdXXjP5iK%'rfEcCS*0jiP#fhD"&@eNAE'F!Fa +l3ai`3bjD*)f""3p0Z3YH0i'I4&I30a@*NHK,8*&fY6[,5#`T2C'mb+Fl38Y6eQF +VKXFaVY2PHa4a`[,AJflCiXEm2-HIT-#50DFjYLS6'PqlmZbmr882%[#6Q"YV$(Z +!3eKBQ+mh'TUpM*d9X[a#0jd[1PNbmLNEfVH82,cba%!ea66eFpar'dXq!3*dBXF +R(m[+cp#Id`V5&a+Ce&,d[0A0TQ-CVLq("cJ#kUZ!X6K!!24&+LC#2dATbd3ECUK +r`UKQ1)FiQTG4TY@-YB'r5Xq"$29BHIZ3!#eS`jf'-@&%8kFF49i*rSB&)Dh6@jf +PCm6p((&56I6%@+T2pUF!`R&N6T(!M45QQIIGeZRHac4PK#4CQlBKNprH%2TQI05 +Y1"LJq@8Zp*m%diMZ&)-@'ciRZprMPdNpCc[YP`5jP`F!FUeF$eh$Y349HFVFeCD +4hE&VX,XUKr)P%'-,YFrGX+cS*Na@h6B6[+DlP#!bI1`SGGR483'6qGk08#%+bq! +KP#8XYKq`e0I(,P)%bcE`@22JS#RD`pH)HYiF3S3[N!#b9m%6A2)U(Keb[,HN2qT +`T$RI-9%J!fG8-GTIp6jZ@YGSpAr(T3N[M&mCYa8X2P4"C535!VZ0VSDac$FYYl, +hDdVqbX0&@8+d@H("BD5T2&&SJ2KqE,9J@(Ic2B0m6G39BAGpFJ0jk3V$h[b44l+ +6F`eXh$IBdX)r0-q%m+F0k+1,'3(ckLdDCV8!e[,Mb+CYTZ#QmHq"P-U1Fr(4CrQ +QA9C8[V``66R6krRMY!&I4&m6-&G[dhCK`@LEMNE&$VJK6Y&d-me5QM*-X9BDTaF +(V%Vd[%CLpF*Z(qe-h!%4l28qT-IL!Vm8fiP6LVRAS25(&G9JcPh"KS%N1B"NK1+ +#HZSiBJ(`KT%9Ga[!miq15HT-@jc+*!+dA`(L6F'3!%U0JGI+FJ%h*5+4,["qPhr +MmV4RrLH"@HU%lI#I"#CA2YJ2m1`HY'`(c2hTLRJH&VEKm'd@'b6!!jhB("Qh*15 +j)Zb6JepdplpL68M"%Cmk4Bc+JFhH!Yc89`5AXQ&,BVGPZ4lMUQkhp)R4CTDTS6m +KCQZKbk5NH9Efp1Zi*SG$B$6N$1HLdE&*KSNd,L0TfU-b&S(eZ(ap22,fYDS%1AJ +rR0J#-"4`Ka0U-fQbZZXU35,'1UYMY)b)p5#D&-bENRZDDdM+jefC*[9S2Nc3hG6 +#b'h&U*Sb0QlQIL!ELa)ic[633ERj#Ud1'-HI@MS#`UIPYV)C$&QYeL&[I#1Z9$+ +SrKa)BJUFcM5+l3!SRMNFP6J[@k"YphhM01-Xqi35!'h)0m6r5'rHRGP`lVk4S86 +Ai@QYpe63GrH$Q`C$Xe+YL4P"%L4lMr"BIb'SVL6b``F5ErFQE1CJ1lZj&c18Iid +,h9c56KfFFK%%55-pk5mdblm!0TZ@8X$a8mpKcFMEVmJ6$FG)cFL,6B6%I`5CEhZ +@R0$NeBQDYPHS`lQGLLD`dd9--"!pi+"ISM8,!AYk$d2jGSaR0rd-!Ub41rhKfj9 +NE89%XmkqY#P0#,+1HRb%*#`,M")C#h%S1*qF)@T'8#YL$C8(E`kX,Vk6Q$9)DeU +e(d*haQ5p2(i)-FYRAk6EBl0rA`)M0SU`T#qBX-U`J4Q,2adj'Ri$k#KqaaNrDq6 +ppI&!cc6M'EDCVH4ER`6FA*kRNb'R@#mR0AfJZYHDaJa4"8Dl#p2&fT2E#"h+LV# +Mb%6J,Dba+(V6)i00$8EJ('rp+*9YfhAB)9*BmqJQrQYK3kmZ8jdH'l-V)QfEP'r +B#$lPT%P9YeTD8M#Ek##"Y,Q#k%VM`%5hHfdpX5$U"LKL6+d-`--JiNe6BqlU1Gh +0,"Kd$SA"6h#T@1"bTK-rIcV(R#4b*LL)D5LES3h-X`d,EBd,Cj'QDPA3hkH$9,% +PKrXZXLb5L)*K'RVZ`QRec`3*&RcSmN8ZrTU`$pdS#j8IV%KSBZ-0d-rBaU36DQ2 +PU9a+ZQKj#QRT%1`TD9kTLdURC2)4&2pSkdC"%C84U)1+VhIZ9IV(j6Nm6erhT*8 +Vee[1j+1PR[E[9F)4fZMR4,r@2H14@Y!P)D3)Ni(+keSeTVHcVeTAJ!,LV4aq6rL +r8h!Y'L2QN!#fDC6I)f@j0%L2kac!"!k'Y4eKHlaAkcaaa89cj1XHZJMjZ5Aclp5 +$mAI6D(i#)aF[43kApZ`Yi2bXFXe'c6C3h"EfLD"Xh9eA9ADqmbEcFlpE'K5NYLM +K$I(e&Y&T+!pFH8G&L%@%XP*e8M-9C`jmUL&BSlQ,r6$,rUEH@8#bfUL!2TR[QQp +ZT6M%RDS!q*-(pZh$j6Jm@lq'SDl6fG+LDpe41!-HQM3B,0+MPdC#%I#Ea&Y5'fM +GYI1)"Felbm+R9Y0#)b"JHqZmm2elLqrfdhArBEJiK`fDiHk,Z3M,*jMe)@Qh,'2 +L@cekqkerbY0hSh#PC!()B&f,4DpC[[A`iL6XaDV5c@29F[Qr4P5Y1f2CadKY2#m +@r6k-D9d8jSIjGAD9fGp4DVapqmfDZdXER48aZ2*5lIkB%c--(IYf!`NMETpQeX9 +R[A3Q2kd4Dmd&Qa8dIKkirDF"*IZ"'HlFVN#peTFhl$2q5502plaFjc'9b#&!0ih +i('+RVBe8A%(B#hZpJSff)a%HZ[*S1BQ&hEEV,'VVR&`ieM,+$5fp9ljCY)Aaare +M8Uh5$lk%,a@'h*&JH,-BmGLJbBYSDU53!,cMY3RcNlZkIXQ62JfpTELPSc$q3M9 +@Tki#(AP+Aj!!9,I4eqJ!*faYr#*lrdYa-0Yj!+Rl%bKZa4h,B)dR22BF6"LJAVJ +9m'8aK2fmAmCPGi`5hR+&jH"@,9hmAdLQJP@r$ZDdPPQAj)b''DKRA02GkHpVlRe +C-e*qNR&(,ZaqLYI+9VqQP$RFiLV6$kcDM!bemdDTM2k0@'HBd,bcMpmS-F1PZaL +#3BGm-USbSKRH+VDH5e4b#i"ak6$bGAbSl55#D!p3G"HUCY9Ba!'V4bHH6&-Yh[k +chECAHT-""a0b!dUM'U'8eN4TA8QL1&0k5D2'Hp)-2aZc61LLpq$DUp*jY1UF+IS +9*armAPF#fl)$&%&09qFdHJXPJ6p)#P"@54T6QdX)Q+)!Cpp!$E$N#Dd!CpIM#9L +2!-`m8biD",!fcJ[@HV#HPXY`KD!YE-(Pb1&Bl'i43maLGEKHHI@N%FZBr6[qcbh +UQ!!JM'(ER`G6`+*!Amm`02b&Q''[*SY`,1bN,[0N0C`"eED6HeEHpFie!pkZq3c +`(2#K+MeRac(S0r19HfJ(4a2'C%HASC!!M'ee`[B`MB1)8R(SK[GNJk9%El#D9'E +f+@L5QCj&mD2%lm$*UHEBUDYDfJYZ-QNL($d"reH3!#(qiPZ,pQrFl00DM8$aQ0G +%dP%(8i#RFL-'#S@@PC`MmYdI[r&r(eR6CkHdY#%qPL4BP'1aE`-Kp$l,)HbXX&( +IMFNL6KGV8+4KYEcRrbP%VC39B`GCACcD6*S3kFrDFH#$&U8Jd',('Y2E"VbcfJM +AeKL1G%aRMqh9!i6i#C9#jRR"US34Yp'r%me0RE0fi5#[bAIQ)!dmFI%"Xj'+4#R +-`fa01CDLlhdaBBFT*V9-RJSN&!LPE!IKJ8dje)CI[$CKjrPi3K%)EGABmSqIMFi +j%9I1h!(,51e1!2AV3%h9k[[NNSp($J+3!"@M5mV4IRD!RGJ!KeV3+!YK8Ff5Y[m +i1B4h,HR@*J8iK33Mi,&G(f`4"%PYmdYXGYrP8cFjC[5BjXNi6V`+K,*lc00*#iX +lhR*lI"RQl$Mf5HiUFLmIGm!ZUYMQ9&`-"`JaNLXEa!bE-9E$krj&RAML@)%HRjb +)k*1K[eiF!lZjX*!!f0pBjLl$3"(XK&4V3C9F3+d4Bmq"K@lD'4Uk+aJEcX8p-bp +00cA`0eK0E*cL31i[,cPa9&8iHKXGYkS0J&HCVVe2#jMIVULKaYd"bGIX@Vmh3(Z +MU5Mf%--AjpIifepFh(5pYhiVa%e8-65X)%Q&PV22BkF[ZkZ"B*hEHc%0IMHK@M% +ccR+j*k)-Z",f-UFjX@GTS55hRGGF-Ee'd+3CPE-U6Q21#3H@N!!ECK#`)bh&cma +JGc[(N9e+ZAcb6V4DJT!!6iSVlZhX5[eK681pY00`2qJBCZ"m*`4'c&%Sq81UQXQ +-`l`9jQ`"Lj65[Dc[$3@PN!#T&"+9dI"4*fqB)irhf(Dqm*TGa@J9U*`H#pZ-ZTj +6hEPGHm-aT(i3r"e!De`!1#%ce)["TbN`Ye#60Q[L[1j(PERcDbLT6qNE+68$EDY +Q&VCdULaP99mY@L[m(MZ@qeU0Ih!PRi""49f@KCI5MSeQGBr`-iaGD%h$C*'Y#ie +ljcT"j8Ya2LfTkDP9Ib31j"'+`CY'LCVcNdZ8-@3Frh6XC0N8C*Z,X"&*V2[FZ!# +k9LKSNIFNV6a60G3XT8LPRfKP9"'$j#&$384q5MJfXLab[d8I,BSF)1N[cmh%&f@ +5&k$'F`#1(CB@m8N4k2mrR3#VK#GXkA@IPGM(,,S`CE"`kY+VL)2KYqq'%TBNL,& +D*N"2d`H'Q@HQEc,mFYl'cUXJ2(4j!$-!B3l1X!&6aa`U6bdZ%"FjC5H,QN&hc3G +l%G-KYPdFBb&MCNM1*N"6h@C`Ab54prYf*dpZm"M9[bN@A5RGbq*PF4B%,'%TGKQ +UY)lX+@1$Y6PM&d&bV$FlS@[RF(J%'Bc-L0SQE!Ip@bE[DD2L`J5FXArf*m*#a'" +%bkaV4'8'iiVV,kh&!4!iNAFcB0FUfYPBVjJfqEIaK2D%d$LcU'fLC5f8*X-@%,' +$0`)[5cK%DfLc*h`,L6D%++1q"P&d+IIF,4h#$%E6KUA1c1,@hd3mmQb+4qS*TY+ +6CjVTleDi@[ePr%!G'6Q-mG5'L'NG,+@XBV928YqDJN+JLQ[QR&CS"54"I4lr'TC +4NbkjTHAF#%+pek(3jdKQ1pQ$M,LKGHV"`Be-S,Zp1m$pkCNBUK@140YlMXDMEIb +e0aASdiiQCQLPDA4aXe@Mb'fd0I*SlpUlk+aP9H&pJiU@Cj!!m`4FiS+V'J-CmT! +!!ld9!G8C2HTrPd0LSS`Y4NII8@ba1mCAc*P[E[J!ejplIRPh!brY#jZTC(*q98P +1mZrI-6)h,Mj#@&eX3jH@II,k*LmZ,%AN`&$pU6%EQ5BIE1S#@2ah%`J0@ATGpJ5 +FmB8h@aeFd0I@i5&BE)KkP',,H6&2k$CMdGCK9P)6&''@316AkfQdK[Cph9S#fqb +r*BDCGiJbr5r#,9Q98jla[+UqAebZP3jd9(Z`,j)H8f(SB%G2f#Y4+4Q1PJZ5+[' +2NRIpfMf[mX3b[QCIm@Ba66kRI4SUGDd+'b%"kk@HVA"mZ*9QR!2Hml0@6RFYq9A ++DVCKF6@5rM#YS@*fbZja,6#4Yk!CeccULY[NL3I+X0TXD4C`FBq+I5+RXTl$06I +)BK)aNe1Z'PVp-,eN0#CVab5H%e$cc%0E%jTcel`eKleUY5p&CbSRX5SJ@`&+43j +c+EXe'@ib9X)`$5rPrb[BjUZ2b[8Q$I%c5*ePE5ZQJV)Q8e6-X1b0Ml)j%f0XE*! +!`AEMF1UR9")h2QkUhGUFE%D2l0,q5Fi1GC'FBrIR)-@M%158+RTe-P3M3d`0$r- +Tk,CDSU3B5JY-BaSY[h!+kpMrIpFE('1[@BRXh2[5#0ibdC[8QD5VQ610ldqa(!f +KE)6TLkEG)8"3CD!'aY()aS-Y[IM8N9KVPeEVi$2aU&m3LP0C4CEaXP9I5@kVIPI +c+IEXYG%qEG91)!0cB`I,+QN%r5'405NG9M6h,2ZKH6EPcVM*@FDMrVqc[,Q'#9& +$Y3@a)0)!YXrq(LiN,r#%TkjYUR%!fEUPZJU6+ZPd*dI"15dFD*9VSHSN(%418qF +Y-F3NNFUZDm"@rH+r6%lX5YS@2GU'-#Ge`&-@kS03q-je9f%#hbaQhcK,FifB5XQ +44+5L4k[bCHpmJk4Q&kD0XV6S(IK!ER(clSpr2BYH&IfY#f2%jdq*"(S4aLrS4aC +8UYCTI@b95llY5`#4"Q-!*jQP-5br)Akl@3)Mid-Y#$0U-H)cVddQa5b+b&e2KQH +e8$#+KVY3E,46k8CSiBT%KSerqS#(X3aAd+9e!J+pLrTj3+Nk,cJGcf#""M&Xfq0 +5%[)(aJl0EZbSa2&Q4XP)hhrPk9N%H#+4,FP%U$@[JJDLFYQ8,D'62T!!'1llD1` +$(XZfP8-l1%Jh%+)*9TqY5V$'Y5T"Ii`QER#AilIa$c5`*jmbr@4[HF3SC(dTpCM +ZaCE))GY6#3BdV8a2Z,j,[!p4ZfKm6cVN%X&9@%)!0Q&BG"p48"TLrU1MHBf#J$D +)bU1N'ZD3!1h#mY'S`GS[Qa@U'fS+1'X,ZeAD#P9i054,D@VGkMHbhPM`,m$9V(d +3EK+`$pBMp5&V&*SAj0UiDS#Y&q*A'RH,+Y[0TdFkHk8AC!d19cqhfA)rc3i!YmN +fI1E[R@m9+Rfi15N,CjG$+ecjl!dQd3P[-D-UR(ArADSMe)HINb'ebh85hSe4k&f +88f6,@Z*ra&eNJb3"NId*qZ'6&+9%VHGb15mcaD2$@PdY-'b908elK#C5KeVbA)H +q0CIX[m'kHl*-0Y+6SjLp+&,+$R%dMV9(k5efdP3rc4lla`EbbK%$+M-U6+8G0(k +"lk-I4mp820L@H`HakFXCKT''C48"dD2e9rNjB3RB0C2TbRZhl%lUZ"#JePkY25L +M8``q%HiJ4!RZIa[NZ(UVSbk3!&i`aQ5Ja(8M@VlHfJIE4YVAL$&*FD0cRi#e6V" +AN8d+`622`UNA%)T4Sb&-K2bS-"iN16LdThZ3!+HE9qdZ[eUPBBc@f`GTEZkSH$B +Q)aUcB!pqBPab2Rkc)IX5iC@XpVYMcraI$FMe83h(a%J"2jTPF*@D*)ba9i+FKG6 +McS9a+r&Z+DaDqB-j9fLPb(kRaMcZCiS)(NdLNfrET-0H"Mjc!p2+V`V*[CV@R*k +LimeR!8ID$ITIb+*T4HCHC&'NKT(P@Ji9%,bNSpDZBdleH54AjrhAiAFLjk*a4%* +C,##YMHL[1RUcQ5k(8KTA@)3%!1Ir*`%Gh6jf,XcdC)@"L$2[Z++Eq$lCU[HcX8C +Y*md51"KBB96G2LQ"VK&m65L$D$fDFb*T1&iaY"1Zj+3$HZcPir46G4'b"S"l3%I +LNN+KH[`)Q'RBdL9Rp2KXF6VeMjTMq#(LM,pI,FBE,Ql&q9qd[$IL'E2U42X1acJ +T,Tcm99p@aJX@&%QNA&d*A2c"q940b[Y1I6"-hZT@Hj@frA0D0pKTUP-Bm-&BG,@ +9I)98eq1NP"J+C8BRbEpUM)5%VfM"Kem[0PKmESbR+9Df"3CY'PUpbdREVmk8f'& +Q2`!X&mh,A%VZDfH)pqIdK@k,cDkImrdYBS)Im%8'kl!DKV#%dFRBX,qJBCPTr!! +IMTC(UB('@KqUSLMR1QdU`GM%Y!'-bL-IG5MPR"AdT`HGVFri0Ua6Gp9,*[%kI3U +mpB#J"d4e@`$F0hE"X`M+iPA'[NCMR,XR6!i26SDi0)F+c+6(DE6)&F-c(-&GXJ% +8(`FbIpT280$M+mB$@k6NLqb,kD4AId8j4hBUBe+lkhaj4lAKc)1haqK1(jXJB1! +6Sk+BRb%lcU(qTA')(9&"1hGK$1ej+YHJ$#Y%A,1Z!+rM,dk&PGi-`T-ErTch9Yr +r@&R&RMGE5G@REi&b,FH2[&,`BZ94R'2R[-!GGj`$-r[BmmJMmaXDbm@hN!!4`+A +r!I"#R$JEA*5UlE55FcJd23''51GFie),FRXQASeVk`)Lr"PNjT&qbhSj*I'kpmF +%RXb`C45Md%Zqm9F0L[b!3bJ*+Uq-CDJR3&T4+pqki-GeDUmCb6T"bEcA`-EUk$I +eIl@mG*ZP[JdeZ6[UhT-,(b-@Ar$@X04DRb5)N!$!`G6kJNQMX9iGU#R50fL-[!' +'S`*r+pjQUG'"H(@"Z1VP#`TPM(qF1H&Db"#S*VB%c+!5NfYdT(0KDdLZ9C9PRC' +HJ)XYk3J#&+qGfECcC@94XdK#+k",ZRmESX6ZUP*(%R4EETDRmD"P#2j-P9Dhr)F +',kj&`qFU9KjME@#eARZdfTkI56Cl-mLS%RU,EQqjaGj!jd43[%G9+hrm@+Z&BkI +TVQ2IU!(ci88`HfeahF&9jJq$$SfAMdID![Pdqbk$ZXHFr*XmYA[M#5KdLp,-@J8 +'GFB8YSfk%le+Y6aeKGjV8+,r%6m6m-3dlJm''1TCH8a0C@%EV[8dZD`N-"A6qdT +!"S3#Q)'ffj*4G$%VS0e`LkX@(DB9`f@"`VNB8V1T2iH0bJf9TA"P3LV5$$$JaR! +qD1#J-3l*C+B+P)(X1pY&#A&prFIYZ1[DJLEThYm3,f0@cKTZHXM`['0aeFcc5ad ++IbUJF#m[m%cAa@*GB4Uc@ZS92AB-$R6)YY,UJB291893TCe%9LCR'%'BerEBC)D +'iLbVPeQ'(ZmZ5p2m&29V%"#SE5l%b"'f6)XI2rN3MRGRh-66lqmE8T)Im4+0Ic$ +,rhrhaCeiji'"Kq!G(3@'TJ%F`%q[+8JaUI64h1KSmDjNFB,BVBUP5!bTUUJpLSC +3l**DIpci1i[FCm6Q'i&kc8$c&!*U9fR`Hk*5kPr+l&1iVme)1me&2Ua+[`$6*1- ++q-,&'4!CJdlY&JKpf1a%FR!Y2`(R[,B*#aD@3PeP$&)M986@FRaK1j65$X0ZpUl +drK[ACXK13b$b6SqFN!#jCPIJM(qKkA2QeTQqdNV!kiq"(XMpkMNJm$EiS(G*j64 +lPTIE%PE@a9ikA*kqpFk+'I9H"%(HHS36If63RSF2!0@i-k&FQS95'3J6mL"#b4q +LDCGF5C)'!kX`bKk)RilEX!Im0V99MDYNJJimPiPe+@D+[HKVm6%I*)I!a*RQ'iZ +bd6R&a3j'Uq3(81kEq@C!%YkR9kUVp50(5l18C(I-c2F[r12d*c8p@dkHMCK1E%S +T8ZFH1`r0TK&%6R%rSr-e"r'UpE4S5Ze)r4cZ9jGN)1(eL6XM'HY5L6lAcpQTieK +*R&TLm1Y0#Aq(jP%0NbmAHF)CjAb4E,A,"+@"Jbmq$rNEZ4'LpTId4m4d5d@+KZc +#UNMjErP+qTLFSlQ%a,brYU,@C"E96a8b&,893MAE(Kl5hEc!)MZKZGliaX9a3D3 ++`3"PMXrL5+hkh-`jDPYCXD1Xm&94U0Sf5PE1BBl%qm(V('6HchL"Fi'6!3@D'0K +VE%TFdaM#4*CJa2RZJlXX6di6@49brLDq,dP(C*lIYS8lEKMYFm`HCjMXTZ*Rq'k +%eT!!p8HU1cbbD)+@#c!d!2'Yl%ejqfUrB6'(KhSqJ6ZdQMd[K)mCkrRidr[)C24 +kp(%(k3dD"-A,f(`"@MYGLE*I4rP)$mm`H2*9415,qLq[S)cr6EmK4h`L()4Kf9i +j+B)P#3cVh'hZl04(K4@Vj*08K)kBVii5`hAPSlLVLVHYGYS+mCPQFEIp*X(0`Le +AhEP1kaIEqqPim"JVdrUK-E"cQU-fUbK0-9@(Hh6l5hdJ8kQ9&V1pHqe@VIT%()r +#mEkR#UTQGSSFKaFGhPbafqia%+D+$Ll3afZH'JRq-)GVVq(X*LiPC%"dr*%rK&+ +d$lNAp1YK)8k0J`06-V%0'M!#lSm#-cX%b9!pLE6#Gb,&rL+RE8IC[($5+fjf#a$ +3MH`)`hL,`TCN&dU9$pZ+"Nhh5Np-+ra0I+A(+4I+D[iS*#8VrIh8V,,!CC!!$b, +%BrZLlaP,qN2'U3UZ6-9YbX#XEP!*H`CHXkp"KMHm(hlDM"TkbQ1+%cjDCK@#dN! +GKGJD!PLPPEG*R"+cPD#4bmL$1a@aHNGPF+V4cNlD2Q-U"E5lHMkB&!N3T@f2!r# +lL+EP0`T-4h#TMPR[Dh6G,3N3IV!AR5J-KjRHN!#(K%JLYQ,+e2*FlJX3qX5Y4Ce +r$aBjF@KB`N2(Xr@Y&J!RDa$ff`LFpL0GY6X,56SSU9(&qcN@BXGGSmbBk-q#!KN +"`D)iErXJ%riZ`h3jrUZP)EX8r3ZCCF,i"!)dMY+Q$cDbi9P+`+!T1D-*5+[Dk[Q +P6f6Hq[hJbPVK[aA%V5`RFfQSIPE(M&4i1[3H934BXqhjN!#%m3M1l3&+(UP@bhA +jj1iiBdmGjEr2jJTEIICA)!QH!$i(IVe6aYBV!#'VkA2hm5QAF3"Mr%GNQ`UfYa@ +a`$rMQ0Mlr'1kXUR14pmaBR#DjZ2,TBP1S2U!B9%Mr,qVCMPjFMj"(2PjrdXHhN( +`8kPe$"2B5-ZCiVEI3C3ICN-`d"[NVYVI)L`CThe-QmdJlQ(J$1IZTUYGRa`(9V& +`B@N!5!3#%X4e6BRhaV0mrUZQ+#C[$GD!lD6D[k3j1b'![28#ERrK9[6EFEd0EKM +*S"lSlXE0@*!!#@0EVUGS%(b&rRD3!-C6qS#*cji)HI6LrN'49aS3D(NEVpaKC"j +L34Q-m(CJY@D@U)Ha&%lqCF#f"$PB8Imp1Jb)Vm$)r5qqlY8bG3KZi*DQ9RrB&1B +J1ZDf!`Y92M@%2"e$c($+Z`8i"mE9J%,ca,DCTPBbQ(EiC90`"C`[`B8$kV%p3[4 +M"C+YIBN0dif14TQeI22-IBrJ84M9[i2eX2pR20a5XT4kbeSDIf"c$K`JrfpVr%X +2Kd2ZR5SD*jeVMK!cdjJG8elYB28$C2(T#b6i'cd$T3'J!B[3f%HU5U(Mq,*)PpR +plR2-i$lACiA23Ya$30cS5@jkG#K(',)9T44MIBI'DQIb$"+PJHUGDPdPNX[aKHE +lcR0pSq3&GU'D9QQj(1GDA)aC+'`fSfjLUU8J9q+8*MRC6f1MTH*(AQi9*iQfe-( +KUPNNCZr6"(p'!af[USa3d$"iLCVXmNhC9',3VVL@#CD2-L!d,q)T(8DN%4U(+3' +j$H(-ekQ(V#R$TXcbUX"FFr*%PY+jML&eC+2#cUcTlAGJee!CcBGqe1I9+B,,jDY +`V++-,%0A),lT[$2`9+9b)9PDH[mc[CE%$KPDA)DU9QLE&("3YACfj%J-Qem3*QR +*IVl-T4NHJ&2fLHr[r,+r+PMN#Ukh5SYC-m8j5YU,UH'`X4IV9Y&8@@$Z2YCh@D0 +F"BM8'29j``e0Yj5lC$$L#lm`4H3NN!!cP!k9GbR)p$a-m9LEP9bpHr*HYqB9$pj +b&Rb69RFBBXpeUJH[*hVXU!IRi%[85*4N[M*E1aQfQk*Rr!6%Ir1+%h(hDLhbMh+ +)1h+LCfr9m`q9@5Ka)chifrbfX)'3!$T+URH1,)#)LKQADB`G2,ip!RUh0RA`S-& +QKFeS)SYUrRSeGD4qB'h(eYr%#MkmE*XmrAmcR@aLmMLLJceY*BIH(GY%D'V1@'S +XlNDIj,2QYi-f"dk-2j6K#Z0h!CS)EQfTee2`DA49m3QrBLe@$RH!H@MRZJCRjdY +G4l&E[&-4!R"*Z[&YK9$*I9N@FmB3fCC!PmY-f`&mFL5Q$(rT2q5r!$FfX[Y%B'@ +(9ci42ZGfS0mS5I0[GjrKU-K6#(+bD'U`66ja&Bjd*4a-Ehb(i90NLXkI*&YU$ab +3!#SPQCDcYIaIEIE3XLVQ,+KdU(+0)I@(c2$0G[2IYpr`0laKL(JZ`DMpdZ164PG +6T!#ZSNE0l%Tjc0HbEd$k+Z&d6(V&&H2lB)%*b4E@Vc+F9VM'EF3d3'Reb9E$2Z9 +1b%5bj[8i*f*`(Y(l-2m+@@C[R))2L&i2hBqJNikak,58(FQ+CGY$8`TmI6j11kS +X8hGRA)35PBVNS)jV$(RPLmY[h#L%VGqfh``%F'VYV!04pl'L4kH1ITq0bl[JX5' +KibY1h3B-e0!A&#aj-'GNRGkJYP)aj#kP(lTmqbD0(*YT1%V@28i&*AS3@pbTB-I +Z#!jUVHBR#q"T+3C14qL-JlB4)CNAUca,h(K3C'9dd[),KJfCfT52"SK1fIe9NG0 +Z%D@rHE-jca!i1jK,jec&GY45lSDV*HcYU('E%Udb3'[`#QS`H#(PGijRUUpMN!# +j@%TfJm33-Ipd1`[AS3bm84i#GaQ&!R&+!'A$KLKZ4PdP8(-56@E$Qq*-@,MUehi +Ree`r+530rhETc*H'+TQkZ*2G6AAf@X&HQ%!D['c,G6c5&q*)*6(*9pUP$!"hF%J +4Q%M2I6kMVj3$&[[b4KUA68Bp6J#eiFaK+85q-8k*aBbS$M[hAYr1GpIE`X3+U8' +e3q)2!d"0pD$dR&$&1e!mK1jRHCA+(rZVB*dF1m%-S42!$Yj2BlhPF8HYR5'UdM- +TIl'2(+mLHQ,qFB[dl1Rq#GE4D4qTa3&'*[c*%cG2ri$dc"PLmG1ihQ3AV'Z6GAG +Y'LDSeCPcpKBmV61(5(1eRLTb8%q1'h8+GDZVY-8RCQdhi"2"C1RDh6)H+,CkZ"% +-aIQiapTrpUVYq-p$cP5$N!!ReG6PLiRG%IVZ"GdhDV1Q(J29jNc5mE(6kJBM[b2 +pSJi4JYd4`0QUQVL1,!#Da1STm*Ik8G6JN!"04(#d"5RM$X60&ZbhY"EJ@a%M*Yf +i1K,*XRbN`5[1d2P"`#XN1[,0%kVdM3I*Fa2RRRl'jN*DHY'l"GiKd9lCV2hQE#E +K*aqRDD4Yb,aH+"JNPIeL+QCr!kCA*%ejS"'*q`Qh`F#adm618-T%$%lehc*`eQ- +l1VS-F#54AX0ANGh4rb8PDQZAD`PaV2DA3%KkINR5j6MepE!N1ShUCX$)lUPK0V3 +jNV#C1b2V#T!!8(+le4JXU'9*6mIc-!ZEIa)#QffK6qZfS+%AjT5aRXiqbedaF#U +6T",r%qM8+"-X5dlQfKmrI6Nhb-)()RfTqee)@GZZZF4U5aecaUM`40%h'"`VLXS +,(pGPSifaF3X1MXIMrb'Um[R"FKXF+jrMk"Z2#(3PK+aIAAHN`Gh)IUPB&[[cr#N +IiGZ[r$X"rKTmrKB(m0N2iG1Rr$5cq'`[r$9rq(6,r$9(q(8Rr$FEq&ZGrR4Pq(S +9ImqrZr$9Y2Yd*rRX[IKdSImHRAmqJRrRVMIKdSAiD`rclArjp%Yq&Xm[i82r"h4 +rmqarqHUMq&9hiDUAiG*rr25br$9[rRT6r2TD[`e@rReChiE@Ai@ZmN2!ri"3l)@ +B54YmEP`J)C!!6+TKeQP@eR"rma$$d*E`+I$'$b3!lB(LLhRMU299UL)hXj3-Er( +A!k2,+2RLI)RkEq$S+VkI1iB[3P1K#b%3"$6d%$R!'J)QRmVBI34!S28jHSUV"K8 +N*[MQI8YUq"T"3S-DN!"UT*-m,+JYqGm#FQ-b`V&#'39*dU'qTLHA*49rlY@BLQf +d-mcEGbidHI9,JELH*mDX+GAFarlLK$FbV,0II,3hapem#pJPhNkjV'Dh)3BL21P +bAjV,T8P(FKV"4C!!,eRBc)NjEJCC`V)K%Efb)1JLM'R%e*jd[%+Z4af!bH@6*D* +)jD&QfI-F(Kd2bU&6qqF3$5cqSpXALSj!3,@8*R"BJPE3$CJBF(Y#ck%9"JISQ'' +#ddKFJXDRqaMY+HHP'+C2Hr)Yj*qR45[a0XH-b2R5J$Apdd,AMKY$Mj2%$T*TF3a +@(1KIe@,r+@C5m*!!"U2+`@jM1(V%Me4m[$TQDK5P8E$EPb6$lMKbSRf$djaU@Pb +XV,C!MVM"2e#`FdY8E$r%,0kSZMkCqXXMP`Vjj-NP"%[UrZ+bI%DIe9a4)Yi6M6' +Y6f*SN!$c!r["C-ba2YaqS#0!VFGa5986hb83f'R"p5ea(`c(S18hH9)bX`LE)D- +"TGN6LjGe3!lh')XRDQ2lS3aaEc*qR28(HF"@BcXYq1ZAhLN@DCk(3%!k,8I5Jp% +L)SaPPc0BDK8*Sih%B"%hGi,kbp'qR"Mf8@AbNhRJQhRBH`jiV4&qZZ"8)Ic(063 +ad@Ck2UcXPiAJC4@R)l'S#mkNH8,ca'c2GKVEj"I*F-8fDq&[,HL-(LeKV5kNV5h +RblT!``8d1F,5")m,m,Zk,r,MHPpG2Kce*,k'6S$!6)FR39BKNJC8BB6QUNFljlf +cQl0+bf(&J#IR2-HET+'PQ&B@CA)X34[[$N+CA[04k+dk)EVS'AZ*bM64%Td-fYl +pp)iFS1mk,@J(Yq!hMEbRDTAQbprPLpApR#4%(+jij[EFdD)l4jacV!%YaQUle!Y +8VGfi5Bi4d+&R&pG*l[@*',k*J-8'1Xia$m@J*S"!MAU1c!%Si1bI--jXD0GC$1l +e8Qi*Jheq&f(PcK&5ZIEP2U8d"RNp5AD9e##3!0#V(ScC3'pRNpr!j&`f@`-PCL# +I0ea*F6F!'f%@Fd-"-!aq+E,bCFS"!"bYYV"@c,$M6V0i`4P$rMEH(PhBXh"DHdd +D'Ti5$i&lC'q8dP!Jm6h(&!kae+UmH3NqlY1H@[c(,C3k61)*i8`&FV5rN!"&%-m +"3aQ2h$jD"FpY`BF$%E4dfR%C0!l0B0qTQ5j1YIPG1MeHbYTQ,(k5'K5U"k&3D99 +J$MDJPdZEECpd-1Vjp%ca)Q)#E52TRLD(8#"XTFlQ"81U+h)rN!#Be[cG-BL(0Fh +&H4qR&MI-c%f"!X&DVUP8YdZMJR[am-Uf``hSLe"B[hRjBQ1qi*8e!+j-EBFL%r! +f9D8X$RA(+[YGXY3mEa9GaSRPre[IIi*39XBp&X$Bk*SX9LE%X'X&NDYK(B4"0kl +i@(#Nlb)&Vmh[0ZPH"4fGH!+AZbMa!29I+b-p(m"K)l!5,3qBH2lmklLK9QA84,m +39+X93H`+90U+-jSLdKmP%%pZ-$iaES5Vh89hT5X`U8#!LH'RBPr[(85)RlSTE6$ +XEZ(Kd$)TC-40cpP*iHFTBDFhMYaPMJ1iYF5PS,ZM&4+@V+Jjm1FfP02QU1q,qcH +FfI2d*LI*I,dr*GaJ,AN&iaZ-fNXM115IX*Zj3fE$$YXhT)82`,9iD128$600TU+ +fX+A5ai(@l&"4j*MebNJ[Cq(LEh6r!Hm%9k[DDZp'&6abJLF*H6UG#Qle[e0@VQe +c"AGNSladf4)'d#k8S8P1dQre6rp3dDXI0MAe9[1R"A@A&B@H83IDXFaG)P+LA-N +'$J(S&KCIcafE@!PaHN"-Cd24Cj2%e+RS1SqTAlSH6c$2+Y$m`U2NJHV@DRpXDhe +N1V!rlETB[jq#JjAY5V8EJ*E)CRaUQ(`U6IGh60hNeT!!HX'R%@-#H64mSGq9%Vl +4`cXqSCi8e8"e6)A[,S40EZlm!e[Ra0QSlmhT,9@DR"-mQ`H(lQmACZB9qI'9'Tr +*)J1flTR2`B9lmbf10,6UeKfVJrKDMCqqU+c'hYAY!84eTd[B@S61X0mMdjj4TeA +$hGIj0-l6Tjb9Bmd(@F**M"eXfM5krFYe--a!fQ25HQl@5f&Qk)mFra&jN!!4!pA +Ik`C5F80b&XM)'CZi1bTi),-JE0BpfPPZRdJlpYVQ"V(M1R1f8Q!)1!qC0-H`(MT +(Ap4-&`A8@5C[4!44imrcXZE6I@%YHq9a5#Sk$AA[NBDBqNEK5ITZZXAU5TMP9(k +lQm!Nbb[f*PS56VP-2V*S$EY2q)Fj`XhDpL5&%P@4a(%,9-LpfR`02$Ca10mEJEN +ihHHH5PcU!0c#R9*0@mGhdCpj1YrP)"MI0"',&ePHQ3Cec(A"akh5fh+q'G2+@T5 +IZHb@brC4d`SD-j,M1m&GXQQ1#S+TT!c!&DG&KU@G3L#2(C*TTYCiAhQFmeEXYKA +TlF$QXJQ4LeZ'JqQkY3hNQX-Dfd8b-Xf4lY2@-'F$Q(CqR5IHGp+",%3LNmJZ5ee +jT@K(AQ!%33iN"#qHE54%QQeT08MZUaP0%h4!a')*YibANG8b55VeLrN-jDaKQ0i +!)`!8pe`1RA2a)PT*C*1YCL18+PECTN`Cqk,RSmM(HBX2GLI@mB4(l+pR33%B'ic +mUTGlk3Z6m"0P@c(c6"2Qc%Vj*Rl%2-mc)K$,+8+MN3+5KTR+FPUYIASHj&&6!*- +UPJD[fE"2dk0K'+SjB@p9Bpe'qQ&D,d6Yi+,K"I+pce(BY&-SD5#`AG@Qr&e2$X@ +3!#jkL[UaKKk4$1q0#ZhUT8dL[mULEmlLeGajNb@fRLZ5mC2QfM$N8LZ!L2B)#bY +E"Pap$PpKQ)dRZMrLp@@ULQ!J'XTb8r8A*fB(iP)`PlN%Sam+raZk!Ipp$9im3pV +ilJZ(!Al-SBeFer'M#Tp3fMKj54BiU88$NTf3!14r9!EC&9e,m%kF92prrd5PZ91 +pidkCU9p#C9lA$U44BLLNC00ihSFNmM6T8c9V$ADe6kPU-FcHp&@VI+38Ei"@P9R +48aD`S9!G!U[R6L6m,5&"Kdem@*`!60-hAQXH'p6KfECR3%836IZ[8NYmYL*HQ*0 +h!p40*0RhNGN`2phQ#VPm6EPA18905&`KZMi9KD,rG@SX+bIY+TQdakA)[jE#HS3 +6(E-Ad(U$X88,ajcdZFG-GY`Qj*V`aSTVN@BTb*2m5d[Q1NTM[ed%q!%HfD*4`TG +DSVK)5d$3KXaD+km"MJrYmYeK#3`,$,i5QUQq8X%prQ[4S$6IBZNC$mT[dTdK`b" +-BZ-AD2X4*m-A8cIaUhpJhVU,jN'YRJ11%2XY%XT"`GV[k"C1lCM9B(368J2CdSp +%[%deiNEGe92l$f9hedhfTb5qGB%qp#%'*kqVYEDD@dNMJFbPTN*$d*,,CjAR4c5 +mfUBRlB,J"cqb+AM3[L$8m63SmN6"q3)I#[2fc(r9H5(hec3CVd9Q)8k0cKM2Lm2 +9m2lJJrKDV3IrGIHPfI38cXfPph'$CpXieZYV!*NM10ak3iffj$XB[[BN`Q4r#[N +ePe$bLN9c[&12Rf`60GSaIr3Q,kcBQUm8C3HQSPjQ@1T"qdikZ53)aBQYjM3!Ddr +LDaf&Cr()CN3AG("L[lY"-4A1FCQkR$CS+rYI%i+jZaS'0@5&qGJmDRS+J@MTpAh +DCPcRGQ2"D(RC[5STE#c+aSVS5%*9@c84"m3iKe-Y8NkMX`(`1-8eM-(4%Me9Sq' +9J#pfSNAVYVk8[3cKG#`!D'!GZTB$UX(SjPTHP2,`1q@@l+3f614d9!LBiV2r+GL +Yk98UTLQ(XK46Y2BpVT1K5&M6Q*MSi*3Ea3Rj)2,cKr%mTNp0LqIEY(NXPB-VI$# +Q09+U5HL2qN(mj-100mHfaG*BrKSdh&,li'`&+dVCPpE,B#&3b4-Ua@(2(hL$a&B +P32#%!jrP`+,KlA5-[pQb$2A&ReCI(i"Ge$mA0&QN&EcFf)Uf&!Q)V9[)GG&CQRM +ACQhNV8(XY%*(6BmiFJ+,SNF$QMA)"@2cpIk2BeqlDip5KmXHK86EVhhar,GZZF1 +p!EIEiPZMeKj"EEbPJLY@3lbk@-"5`aq+eJ)*FRi-RBZShX@1,)"RB+JQh2YR5,P +5m+)B(q8kjQ('[dSd$-AqUL6U)R"b[Ed2`SB(d"re-%IBIhDl"(rKYIHIYd`-8jd +lS$"&3i6HPp)515d@,eZlVVqM6&)ImKX3l'3p6GY!Z(03RSGB3'pkV()K'AI@FP% +GI'$5lbYZ8Q0@VG619CYA$YlIX$FUd#kmS%j$MN4SM@fa3Dh$8cqH(bGFT#I[lP# +E`m*&q)32NhEk@l9Mcqqq8(GRf2)S'3q(%2[HVrE@FVRqFX`C@3m`1V21L[6@$kd +DIfH4VpGCdARaU,@--TNT[k1hkQl9Him44Z6F6ff4EQZ0$8k02,d"hL!,8j5!"S! +[$6ah8%+TSZM3Qrq*'0rVEZN-APk1I*KIGf3%i#aU2V6$-#)(@rjdf4Z*![S3r,H +SH*!!j`Qj0'A"[Q)Xe51a2@eYR*dIHD9H2K3-*i5rU#amX)8,ij-ar-AT)apaekM +58clRrdj(-[4HQ0-qNPX2`kCDr#Z+e)N-#fPG6I#cELNbrEE5GMYB&q45$QEe')p +cakhB9@H@cI,QT&i(+!ckfLjIQkGJ64B%!r2c`B1@Jqei+hqG2Q`E[8DIrfhIh%J +B[MJTRXT!BNV`%S3Md20GPGeENBECRDDA,0k5RdPV,BQXS%XPkJ1Tc5Ic1Zbf'+) +E#`-i1l%M!M&D"LpIYVGJZk9ceqd)jPL--Kc6i&BL(L"Z8PN`VmJ-P-1hGSVa4NL +VkIkJKjj4*(U`8ImMM,R4EX(C&"S`EJ[mVNd-k2"`CIGk#F4*k2fmiX#8aQK8EMr +4ad8kf4jm'3bZY4U[Mm,-Hb"eS)b6c,c"U[(N)acd[G4P0N!28qr&-5dAKr$4Z8j +BJ'Q&B2pq[p&b,HmR$N46Mk@fk#2MI[$b)[N29BKerZL(-UL@3$K5XP@q,fm0qRJ +"ITfAPN!YK`'k&B2FZ&fT9mL*m$jA#3H3!)aUR*!!cq!Maak9814c%!e@VP`V3`f +FhUXi@mPk1U9VNS)'0LEeZ!HIhm)@&hXS5jVbK,1fM4Cke!RPHTiZRKB1eNl'q&0 +Sb&*"1hC*lII6&'Zh)Uq24A1UH9+)Yp)jlP0@5k,b*6eAd,`d`S!RF+EEc'-"LUd +LD%R+jihIpQCRRc0b9CYdH'86`Gpi16q#$@)hl`D(qE%MSrT5K%Cc,*ecqJm+,9q +BjVb0d"fGR`1m%N'N3PZ"E#U'GrH&j#"AP`&bZYR#,rp'Ch6'CG[F@rkIq#A#L#i +#8'4Nac`eZDDeq`#FlH43DQ9X6&%feb51[*[Y$$#@[KTG0daKa%-8A,m%,"P`JKH +4BRCSDCU8$3Uie#U`H$ELSa%,`LK5Pe0-&"N)R4b&ieImk[##HQTkp&&MiCeP'$K +Ic)-U4ShP4(mhJ!IkQ',Sq84)'5@)pMrbYe!9SqC4)2mNE"F&3%-hUAS@SL,p[V" +'mfZ5M(ib'lf48CeZk5LAh%M[hG(YH#TrrVfQQa'K)p3UV#(@,Cd`5K+D&q"hPNU +m*%p&qm'FcXLdNFa%b8U#k1$3DTVh#"jmR6mHkI'RH5M&)-GrjK-4(8,lD@9I)JM +GHb,J(bf-E0k@DZMRN!$%XZ6JQK$qpGSeEql*2rprm(GTiMHfl%hS1GTYBYErA[$ +QCI(4M*0DBVD1*bb+NlGjXk383qlVfeaNZQU*fU3*p3,2Q49@diF8ek*kDL@G$@e +H2BcJpcTM%"V$3f*kk%efL(pXD4Pl1)Geh2YbQ*FIcr"dL%TZM[1Ir0Q3!(fLdXL +8S658V6Vj4*!!+2pe[iiqdecZ-rTQfmCPSK-(K66*HNTQf5bH*c!dLdjN1V'aDi[ +d0DdC"BCDfUS!r@HhUAQD&(BKa0cBp(!0i)RMrU%bSbd%Q@VY+F-A9,p,lF4U8fp +QMM3EBL[lQJ!c1i5jYNj$-m&cL-(&%bZ(fff21`-S`-MPh-*Hp[-C2@CbA&+`D-I +I-QU"H#['C2I5358VpFFHHHJa$DVief($dEL`82TcRiPS6j*UT0b(mKf6-q!d,b( +$qEji[T(iZQ&'4fX%pFZ@)$T-5M0bE)5j0XZ9RKkii9-b,Ep#aVk[Dj&N!`#NjC% +Z+b$,SD!MQ+38fB2%J1"cV+HCVh'(KKSVXdq4!IidPQ%1$RYlEPiNX[bBK*`SkEL +5SjJ5cAM6eTIHB18"Yk(*36CC9jpS*MGPC(ZP!%`LQAemNJDc!&r3KBCT'i4+0Tb +lM*YX+85la3b8kC9*!F1FMCaG)E,qHJLP8epe4*m1bcEp#hcfi)Zlh!pR-pd,p6" +#Ze@'MMX9!h&lHJ+fik9[C5XBB9GJ(h%LU68FZ-$e22fLKIaLQdPF@%Z#ABd1di( +EZVV!k&%c3Eb[DpcMqHq9if)r[YLXM"9LpNbQ3$-Tle-ljKQelr8b&)MHj%f`T%5 +cV[GI''pEmaCT'I6T8k"h3FJ)3,L+bF2Xqc8Rr`rG("DEMU2J(5Q8VHDF%%LmdKj +Y`'01IjJKhi,S!QM$`'@@"2R4$@3[&Q+G$5@R*)D`BLcPmfVj'+5MJ#pQr'QjN!" +BPZa+eI+)@Mh(aCFj3L0EiCM!&3Fd5Rj6(UccphSjl@H2J'90&"%jKYS@52)KR"% +UQ09B$el+ZN+H&)i(jfTr$b-h%[E3-(!dQT!!hITCMN6bGXR4HmBhE+JhZ6I5iD* +ECR`%3JaQ96j5aF,1GU2,R&pXcrp4GbbpY,8Jq,6c#"#9ESN`PAGJ`TM)k!325K3 +aER+T$(QNh$q6be#(UjXVM%&X))44e#br!`Q!BG5FR$0@h""J+a5fSFJmkCZ0[q& +p6+eE#0pC3pe*5pjTI%J*V'`A9B)c([kX+4Npi4R*VqV+Ar"$DTN*(HV0$dS*rc+ +EZ494D0F"fRih84aV"(X'2&YX4*!!ImFB!NfkEl%f12)@f2GJ#*@K&VYbTfCB1)! +NHX6[-be8cY11mjqc*44kNc'NEV083hk(p8&IZ3Cal8IKc3$FDS@3!&R#68%DK8G +Z4(!1C#[62+qkAl)E[EZU%+39LFk3!(&b)hAb9`NJmr2pcKMGA@d(`Nm88(F5ESS +9k6@DB-b8VFREG*[DfYIJVKT$0!B((c5PCiS-QKJ"1XXM82p[!4#CA6*X0AVY2#B +3ANPd+Fi&@V6C5HA@%AD,!bap(D(UX&lfQ-$iHV0c8Qi8)CS`XLGD,`GfAY+,8Ra +*`a#CqH)k&18-pImHY1YL24[8ZcAQf[8N6@LGmM1Z[bH&#&F"G69m#N0!bPHhl-$ +q)cXC&@ac%#(Sej8(@MPa&XdCrDje@%"Y$Id`!QZP1M3E+8+9mYGNb59J(V!2Kp) +2Nqdk@J+*6a`KYIjNTJ"19Qb@9jaBqq0*GX@G$r(",bdJkeblICMd'm0Nqq[!TTP +H%pi%)CmebQ9'JDmd9mkcjppI)q0L`MZJU3aI3pZbMTmE8&lD#Y4h2FKk1Tl8cip +C0)HrYP("U"pammR!a%"CXGHMSe%%HhqD4S0#AX&M'`acV"HNQ9@mq[k1*r#Gpqi +)``U3!2TQCN"A(56*&m6QKD#j9%[([@m4NUHe@@1"M*P$90,A&6&c8*mKq8BE2ek ++L634HSN1[iXKj@RDDj'Q4%ZCD5h@&fj@Zj4KY[hXQGe,imXMDGRS2`-C83ECK)B +Z(m6@hj!!f&V)T4D*6E(Bb3RaBJZ++[m'RXfpeq0-b*A%%a&i"&1R"8J8q4MHfrZ +5#[Q+6+dH!f)cjX[*!00SX5#!9fmVZ)E*Ph#M`LqIc5K`e+3J[Rd#V!RdjIhF4c, +d*EM`[A$8IM26d3ljPbjf1*1&%*(M[rNpDT%Q3#['(4,NMUhCh&0-9XQR9IP0al, +JN!#IhBU$LNCR918e)Z`9MM(ed&i'DU$TTccR*'(X6m9Np9cR[35$A!V$9@SdNU@ +@U4kfQ03r2i@J%qHL()D53#$!2abAa[QJ5k([4$*U)CaJrU-MXB-@RQP3URf!5-@ +H0HJKLF4qEjBR[Zqi%U#"M)+4X*4#`jcX[JEK,8&R%9aTr*q#1DZR%BI2mLK*ENe +JpCKM5J13!$8r"p*JD@CB8IaNDP1`DYNM2Y8&DUcK[F96(6*@M3Z84MbQ@rQ-H-q +Fi,,Iq,'*$r1j1l6MXB*f,%cSATbe1YY-UQPE&4ViCkc,&@BccjX6@8R6)S11@-m +0G(P"J3cVLSh!GR'UVl4KR,L1c#YqZl#LbY*AJ#DJdHAPTd2kJQd49RAMVr(c38m +SHRUA&f!$b)5IDL366PI,(cfNU3&GZGJ`Eh++NU,eLEU9r`dfDp!@b6X96i2hjYf +S@dhT8ElIKR(r9&d'53$%#qK-r(Qk9$'E)%F$BZ@k8'3'9*Pp9SI53+fh-2T9$9& +R1BDA0@KGjY162XTlpc00&)qLreBa2qVkf0KQba(aIUVEmE3m",ffD&(iR6*9SNd +k,LeJRLNm5f4FhVd0ipMkCD`%FGJP+HFm!Sq150*'eBbmN!#SZ*!!G&DR4@AYpMr +UYH`AhCT`dIM&0Ul9iY$E!"99c'$X&$CXA6C-%8QrI'%jh+jGF0('ehkH`+8p''Y +UrfppiYh@`e)`A4[k9FE9jeKL8"IMT-ebXp6l"G$FV!Gj553ZZNkR(DMqT''5#mI +-&6@ckaZ#,6*DF#INT*@e!%%)BE*mFmAXA)G`S-@Q-QBZN!"&bDK1DHq4VS+1GmQ +`Mc5bVB!EbBk+Bm1eZc8q)"de24ZHdKpqdFUq(9A$Y)&f-CKEVr+IZe0XfbVl!PZ +[E"[1BL)LplRlm4e$12aQ%h!mP!FreQJVaYKa`QqdEL3mJ5Jk'qQCr%eK*XCa8EN +3"rHbdaKd@2l*!,KCjc5H!Y,D$b5l-TMZ-KdbPqaXE+LMDQGPm2TpqrMi(Ra`SN2 +'&A"m'$XGNCXGeFQC8U9R'9r!FbDTi`&XhH5TImTreabhXc#R&8cT-N&3"+3e3pC +**@PSKV$VC([dPfZ82I$!2!B'fV-dq08FRaPCfpIZ`II3l8Gi+m'XhV61#dPqM8J +Cf'X*)LdN@NpXTLj1KF`#@ddJ@fr)NR"lqbMeq`P'$h(-m[GIBf-+NmTKJa&q@5R +HM-[109jaBI%3ZlB+iHcB80[b,#-X1CqE,q$cMeYSASXii&(GCJZ&2%Y04F[$$iC +3kh,$,1S#Y6IK[+2YhcUl6(eH*!"Q-,K8LIm,@V8B9EKcQ,JiIXqI56[K@m*N`4[ +hK`cbh0)k8ciZaAcJ+[(iC8Ff"&V6d+-CH3U@HG-%&a2m,"G$Ab8'DF292-)Q1X" +6Q`eTcFiK%3lc6B5M#)GIYq'8a5EG#(V+KcQbIIG#R5la*mlL%Yaa2TS*m'Y6T@4 +S3af(&iNa`pBGBjcVd$AqET@#4GZDh(&cGc5lL6q[VK1D+!ZTU,%l%Vr%Mp4G2-N +fKMIlXeX8Ue3"9i[DP$UXK&`Z@*08YJ#MBU6QhHpQLS"hE!SXUe9h[*bJNr(N29e +,0#EK%ekH3d#QUf#p"XeJq53f)9j8"YJhaJ8TBMqI*kZdKDE@R9p1PCM%&qU,5[G +BP(hdkH%fA3Gf`lPSr+IX`ZiiYh')BHe5)6hfK&C4iY!8G`#Jc'p,lCbll9%Y+Mb +'S6QHmkp1MEGKM!iBCDIK4*fiH#AkE%2,++GI&ZKrL86,mM$10'GUUC'c0"(K(B9 +kJHK2kH(G0V2EmJU3!!jZ"bU,&8@3!0k*1KUG"8qeQ2DpC!Bh6`5QPj-PZF9HbXp +#2em)Hrd2AaK,j$(h13jc12(c2ma-J4bC@CRda+%1VPM%iL,XbI6G9F4*l1b#98r +@UUSh-I3GHdFYR@U$k1Zh$jCeI6-+N!#LRS5)!lEEM3J-DDLh0PHLGbe(ihmD4Aa +"fT25(l'P'&%`6(SUB2pQm`A&QF3&lQZc'e!jS@SQbJ-@bkmAT6ckN!!T)-*BNrG +0,@+VBC[N`%j&YmqNM(-)e@"-k6q6k#VpC"&kL66NJ3Pr([44YIS)5)"E4N9P%-1 +")&dYfZbCIYk60,L834a$4pHI@SA5"SB`%b,c3FC2c%+"`NAed",,Qm49P)jbl-N +HR,[6-m"eGNq(#eZ'26PX4R0KX#G*@5Xe+JM*e+H)3hF2&0q1XJf88'C0Ijm`jl3 +DRT&lSpU3!1KpCbZpA,NY@4%cUIT4cR@kBF)AB[Ll,V,ja$3YjlPL"kS+[V05@`A +Z9K$&`[HP`UZ6P&k%M'IfYQUcBrdC$DHU()a%d)qK'5eG*Ni*5J1klYUV'GH[GZE +,,rPN9&D(AGY"@eK3@JqRmGeh'XP)'K$D0e@FC*9[!C,9bl3*I$,*k@Xq[G[N(QL +pDq""Y[h'"V*M+LHcfMr2%rfBm--RcF@+Fh6M#()T$T[IkJ8HL66eZ@$GRV!Jap6 +PXalj4'N9c)RQQXqP9daDUj!!+[bhm#ELimN+`eS'YCkB%3&,5[fX+ap0d`%aE`" +!5+8$pp6'B)c,+Y2JEXdZkkiR4,IfP#UfH!P5KDI&KBl`6dVjSId!2,(S(S`'F@6 +A*ejN8ZNXK5`l@H`6rc1CQZm!b%iT0V*%P-Q*YZSr4P0"hH*Q!alcl"m2QfPI-"I +b8KV6ATc`l+D9Ff#Gml,9-$2r8h9fA-Kch+q4!K&4@-88ha*lUbJR$XG*Tcb9daL +1K&%83%FVD+rQV,Abi[mH3%KF@CHGqkU@r,KNlT&'&b"!-V9-McBKUH&`H,eLGNf +A1)-R[bZVT44)&rpq[,%%'XL1lDifR+!mL-(V'ZiXh9$")GdVeV(FJ6ZqkRriS[K +c,e!k"Im41MG+4P5TE@%k*1VQbJeb!ql"S$LC9)%(TBQ64EJZH3pV!@d"STK*LhB +4BT612ZL#RdUVH%*Q(96Ir9HReEY`L[c51)c8aMim-B@LPaTDR!YMZFqjhV!N-C5 +q14cEXm448E9La5SKb-[Qb1h)iXb"VYV5rQ,r9pGK&,q2k2a1&TJac!R[Z$5040+ +M0pFk&+c&a%M("r9K4airkC+2X1*!0VKUk&2#5j,XB$8&aaGlECNp@)KI%EHQq`I +b1Y4LRjm"fdQC(m5e4a[r$il+UeEG843HA(SDiki'3P4XZ`dQPbP(,)aaJjlbpVb +*JLBB"bdmd!)[9@3,(Vbera*pYCK""SHbjK#aU*fc1U-qdqGDNE3U0[E3aeb@pLB +DqY4lAI-+0M1Lk6jkE)@ifV,l9c0M9GTEKH)6'aYdFd+8TA5#,Ee!$MfAZ(ZHBCr +p3(2+F%5ae(i!E[+HP&@Ti0Jl[Nph3M29QNCG(#"6%91Yl'J(UmDfMSJ)@8Xp#NV +0J6$lDU25(CAk(DlcpDJ"P%5%hMd9E-pYP-clhEJXNQh4$F"bq1cCjHIJY'+bJp% +pkeAJlI1!4Fk3!(jbKF[CF$mjkb6(LpHX,"-Z'cmj,PFVb6A!G$4!I3),pYH+P4$ +[K@PfB"3PFD'`1)$23l4jjF$"`S)r`ZQp+PLJV19(Nc`LVE*)!TmK#62VXG)2"SH +JLNpUdeC1C5d1D6Ck6&5b2d%U,1IXqT+"HV@'XZ)5$NJaC)+k5b+bT23RDDEpM$N +380-8Ur8mLDiT@H`,iFS!j[&F6EDfkPUbi&HG#3`6LZGcN!")Z+e8ql(5*GjK3UN +HG&jQQ+*`F8jeMV3!KU`Q#5%,h#eZBeA(5l4c"`(p%!5,eMp6rB)q6+BU80&'PX! +&"iK[*6r)p'R()-KGDMUI"I5$)@ZZLkibDPN3X#5&&%8f(9rD2j!!2I,12KLQE+I +'fIM,ScjLFNe#EYS03%rk$38G3D`2dYiPHqN3X@*i8D2@8)ra188@k9GhGBENUU@ +T0E"aMN&XSVA#Gf+RLD)(81-VlP#$-YINmYhdJialN3pccq$AI[L96m(Z"dB*Xe` +)KfaCK+TlTbPLF,LicAf6#FNr(TNAPYDcXk,0B#PRie+H!dNUZ21VHF!eaU,D2YJ +-"H0a"rS1Y*BYRUJq&)@8`4dp1Tqari%P,iJ%e'Gl1GdKhJG1DdN@X'$S3mDjl,F +0li&J%a+-kUS@8EG1!8ZK[&1)c(,akLmNJA9lkGYYN9$[rd0pQ'+#6`@#-C3`FIL +SaJeqQrPaScpHe61H,-Q[3c[Pc5Jkjj3M35e)Sh-q2Dj+Y[+#CAXc[hH5mb%qpr' +0TXpZQdXG6klPf'A(#DR+Hm&KiF2ALde#"dSmkTdqG'q`-aprl@-9AD!mhVjTApP +L+8%ah'd,Yc2B+pjFNAE"c%FG!C[2e4@VEhJ6+l*l8HGY*3PJ1KG3,J+C!Q&QQm1 +Z9#2,R(&bkQ@3!+ihRIHm#B1'aHHJaC'3!)&"(MVh6LJ!AqSC)k0P(Q+F0@jB%e[ +k!CUTih"*J!eQ%"m2&J5`9bJkH6HNd@[B63,-!bj&k*fjP-XkPVbT`d)CRU"2SXh +PR96,S8P08*'0QS8b&N6,5#CNa6*f"1-MY,55`qJdI#+Adr1(2$4EefHK0Ch2PEk +Hc#kdl-FfN!#mj*k0qDY$CrX2+N5h+G*FYP0ajVMMp-8aZ9",%A-Xa,Bj2mD'!p[ +hZTX"Hl+aiJ36&$HqAeQG[G(ea%Q6X%3mVce1E*-[X61GI$3G"`Jm+,3)XeCEeMB +4PfE$#8I(ECRr%XQVrhm"J8)i!8SYVlGjrhrASad+l6hR)1a6'-NqX9L)S"Ta0me +m3',ICM--"i4HTkQ6Kh)(YT!!2U6[lfj5GXX%[UdDra&2H[#YUrp1GS[$$GfZNa+ +pN!$j-e4a[m(E5"I(1dfGd8p6IaMCdjUSAK2qD@ECQ1D!&Q%S(YQRVDLl8PE+,XY +R4RqI-@R5EbKd)'),Fcj1N4JqR*i#`j8XTc)$Rai&!6krEi)(YQLGb1cLhXaG$X* +#YIFcp5EbbaGc+3B*JlibdGeieGQd5KKdEZ`)K*mKlYNVYEf['UE`0KZKM[P$3I" +(V[9EL1SbcF!`$kC-HjmX4p)134kQF-8E44ZNS([r#L85Akl$e!r$"b3k+Z!D"-, +hQbF&(ZbcBjhr%$C6JGI+fbFp6dI@e`NkUAXfNNVT'p#Y3ac1ThM5dbp#Q56,TJ3 +Ij0b$'l6[pKk$Ga!d-jpDbdEeTd-0r3kK[Rj$B`pZli!`BVqGI4'9#EUKJkc,-U, +JkJj+MpMNX5mJF,"6Qqd!bM'FChN%iVHQ8[SdAVjT,p8fJ$c$MkmVX#"G-)%EkNe +CRqmcMXNeR@&&il*5DNdH8b&q0kTB'#cLU)D$JAhQm+@0ZQ'bGCVLC#)C!5%Q9)L +rAIKClTl"#'&Kccq,GfQB!Lb82G#[4!k-%hXYRZN%YqdZk2Zbqb10fm"!jNME9lU +92@l@bdXTGl+p*M1m)08,La[&Zj[bk95[FKf+USUZA&!fePZE(NZFFK@ilSY"`ae +$d#4ElGJrqY,I5m&8r9D*YQ5+EdE(c0c+f)EXf3LpdV2PTmU4H[)r%[lNlcrTTQZ +C#630,ZCLTS&d[bLF(J@mH*94"hEX!R9MfRI%"9*QEb2[FJ0rKImr-ZmZVhI9T$c +CaHfbiiF2[EahfFb,Jb%"CNULPLcHYY-mIN!@*G@d-I3eUNMVDU5Z[`-I)S3RjjR +&lK14AKMC*"`Y1`!"c%lZ9,XQE%qb2Bj5frhD5)%lRem`m&e1T,kN5UlLkpF@ER5 +T8JZJr`(LEU,Q8Mp'iHE3C$f`J9HCaPA9HrbR90!*C+4DmDYCK'VR6JH!e2F(%C! +!K+SD1cI,eGJ0$MG+@%L6)A%Ea5Ajq"K5m)EMjF*kiKJ!i6#[r'IUS%`!)C&hpF! +S+hqKFm(pe"MBMY-#E0NfK9NP!hH[kD(E%,a6ZeGE)b@N"&''$NJP3C9rm,*kA+T +5qNfG*BNmF#f!45$)c*h!S[+`CbScREb2B,+#6L2H6)2@Q4Y'i2#D1X&hF(e4apB +%SHZh'4c`lrY@f,0APmZ)G(D)e$`X&kmUb(Y3!&`JQ2$-$Vd`+)p&6F&'#CGSVIY +T)lV9IAqc&!d693Td$d2HP4a`,!2hM&0c(LCN#(c&VcSN%P*qiC!!2D5E(5ZND05 +FLr"[(2G#11hJ05rp8TCe2@Lk#DdJj"-q@,N19EMIUCMFL#Gm9j)`ZGRcr'V)B(k +VF[lZZ3UflreV[5"IFEJQMEha$!h(G"m6hIe#akeMR`j(*ZVkXHeb6%)5J@Ri+Ar +"XXbKYj!!i6d21$A9[C5$'d(iUF0Vk&5ke!&j)bBpi6jD2`UdF)#8JLZSfa0-9BZ +HTNDp'EkZY60+A)"5(2jF88#$QZp@klLGVl53!,K*)dMh50FNbc[4J65*aJXf&@q +)VKDSJq@93TJ!NIGGHZi(!8PEmb52L"RQ#AbUmpIYjcIkM-Fl$j!!0TPm-#"D(fi +3p8idAfZqkrLX0fibej2+jZqkKD#q03(eSh,4ifp-Vp"8F2dND!rU'aj%I34+B6` +$C$rcQ"[mJc6q)qb$#Vh5p)qGIQG!dKGF08`+BDEhRNM*"hf41V**Chqr@aS0Fi0 +RTrpQU[*A83+M)B*5"V[!R5fNdZYIi6PEbUHfpeP3Je4-L4+TAmd[NK@K)'!!!!% +l9!S!"!C$2q')L0C4!3bh8'RVCq6laQjpP[Y&`,A"-rp3Q!(UYe!0P!q3!))+-0f +C'rAMB`N3N!!!!!"'Qb9!"HJMVpX0I@1'L*[)"!+2YPpD9eXReU@6TI4MkP#kNfl +q#HKIUP!i9rGka*H"&V0b+DhLj,N!YE*8')L&2lN'p1CE"'k',[8SE22jZ8QPKhr +aCDZ*F&#+QYi(re[*$4F0Q*pe$0q6ViT3$r6dT8qN314291hQ$6BfreFKV`jZZXK +S@G1cf-M"DQQ8-,2DNhTrhpMEPU88&,+EiZZmXeKZMKSqkiKPi&earbffVCl2jLS +Q9EhRGC["BG9aFYE-@kKCX&`a-6Hr9"bibdBP'P&j%liIP!D66emaQkM*bqE$)c# +LH1KY3ck9Y$,G"NZYYXml(Y9QRBATr1r$2'b0Hc`PGUhciT2mX$9NG#-ZGlAR#rL +B01f#HEd-F4X,$Kl3Z5B$$E0la$(q'1,0VfjYmSH-LJk'$p[1HD$@j8kTYY9KR`S +AHZ*fmCCPBkl'UF$2T#T%&MrKH1TbPP!j'Y-(KC@C(NRRR6c9CF'ANFXY(#b0jTZ +qj"%*LFePD%k!BbZ*L-[JADMQI`p'R#KrVka[9+HImTTrLlJT3LckSi-&%5NcEA( +aSH(!("FM2N0hC$2,d`[Mi%"@rX(NdATf'JM2l3#RHM`YNIMRlk$))ib1HlLc3a@ +,T86qPE4Sl4*KZlmkMD1#FZlS64cckH+5CB(VF5e!Ad)Y,+ajBe*1ec+1[Sfh5Bi +%0k+eHFmf@'H$YNL`FPapk#1eMVYf20)FmV+&M2lBIYFi0GB*-)!1dE4LVU($ +5-r-6r53Q$rpj4ZEDTRrQAKjraPp6dPJplLjb[BfMUr8GZN$GFUHhQl-m,-[+Ij4 +bX%IIDakpSG"DA)iJqZK!BRqFErpqfF#GYXCGfq8HIXflpSA1be`Z%PA3B&)h+h' +ZSh&I+Ld*k&*)S`(0QAYS`lcr$pYq1p,XldR%1!H6L[*@%Qk`k5BEb9Frka%L*(f +5+89'9K21FmrD%"8+b+X0N5[%'q%9)0NbME6pKSH2b85-[c12R-@hh3A(HmMmD1J +Ya)ka33ibUj5aJUBc%DN2#A1"L0LRdpI-Y6I45X#bIkCA45G,(Y["'!XD(K6q-[I +DC338hMXXAQEmD"dfT)C6ZHEd%l&'5VjX(NA9K'-2`ERQX+U4['!"bCrQqYJE0*p +l+qI"1YF3GVX*mL690F&pRV4ELH"TFXcd+AQbC+FLAe)jlLQHBpfI[@*i@HFIV2k +SK6J!G,IQ+NS2aIkUp03`$D*[qKLG0922'S(YN6PH#&a,Be#G1NVXm$Y4NHSALSR +24LZD-&5(jH"#eD(f9%0jZbZ!1C6ce*Li36QY1ch+5UhZ8R[H6N)H$#AHl6(adiQ +'VPqhZ@IYmN#D##A%-`M1U,3i#G8H%*TJCQ%UAdhBQbQ[&p6@rZh[b04Q@S8)6%$ +j'Kf$PKAfB0!*rLphibr0"!5Fi[LNXQ3+lb'#IJ6B*6[VBKM1$p-GCVqF3-$&d2$ +,h%VA8L9fCZ$0l#'m`G1bhk,IqISrBcRpjUeA9j!!#U!r%U4(182iR%i"3*L(VH8 +A%j@L'0d*AqJPAFc5,DF*2V[Bj5PUCISJXZ*F(,R"cSQA&&Z(0`$U$@j!24+@!Id +f"kQU@J#'PQlQZIf@cfkp$*Rja&ZPReZkFA6+-U`3aI`-4SCdZUQNbDBfTI-FB*! +!TajmA*cE4qM"DL[%lSEPH5VDF(Fep&LZCpX`'X*hA(K[,LEC!lRH9Ba`'c[SY-` +%(qV10-e@k90YaF!pAT%QR!I#G+@MBJr@PYa6Q0(4p#lr51rYiB$,%Fqk`$ajXRG +IK3B'FdbF4)*bTCVTm$J8XL0T*0a!biq'$h!idl!)-BlG,[JT@LX"R!h*q,R!%@8 +i88aVl!@blGTQmTAVYA19%K5fR[aMTp8@2C[#!KiGrd)2)!pd*I*,2"VDQ,Z1+aN +ca06JIAr6EPX8Nr)8KdUm+Ufd[L@`+"&0,R@NZbT@0p3aM)RJ-NBiqM0haB)a1&V +S3+C&CSa1YGL#,c*"()eG%LBNhaTQ-8UJYVKNbb0QPS)0qXaUHl@)6YFH0FKNCmP +@jarkfEI)d15P+a*,cq"`YXb9a5f423V9pZkN2NXHbpHVcNr-XX6Z&FY`1[,3+C- +@FjLq11(9r*bPT%309Kf0h)bbaImE&h&0N`DIm3XG2k!mC-)SUFh(*ia52rEr%i& +dU@,`H'*kFdEUrS)1kMLKCda0i#)q`S1CZMA4*r2)3S%1l*aA!%mPf,QCq2VKQ"b +cR!LXi(a'L`"4J(qF#amVGdV4DYCV-ER1VrPfhi+qiEhIEc[L[k3CD%mIAL*54-j +1L[kXC3dTip@!B$%!eiT01QRT&B@BTjjNZ23SfM,Cda3pAi"-dQCJYD0G'@UqS") +4AlV%Ue0eJP5"G2m(0R(1KJjlZqAjiHhi#p6RYLVq10@k%pS'AlRQJSA!Vf%C%P6 +T9QFkeDrNijaSY@mG3(&cJbVl2DP66-"-$m2CeDb5F"3(YRY,XZ,QadL22IY9rcB +ZCV"pAGRY+CYcJFUG-qFBAMq9eI,6E2((b&`i*3f,Gi[%+jh&#)#`C52"(r0*UA* +(QcC1KTDQLHfDUk5e95ZMYjYAX4#$Y6"6j`KHJV0H,)QT[%J+mXhUD3aIR2P2!Hc +K9P)RZ"EKqC-iKI8-IKm1b-#mB+k#,0NS[aLS)`8pBq6l2Df@!Ff'X5TGVhk$`+` +Z9,+e'-I9UrIVk4F%[6aaV2(#B"d3eVR0HCIfb)I$MJ'VFC[C(9MjJ-ckQdP@8&A +,dUfHTDGkm#0A`*%AKFaEM43a1Np-rB-j8FiB2i#H+MpHZ3#Q+TrA"pX252BB6ZL +0%BY)%CmH!BmNSIL[refj+#i8,&'"rK`d,MJBIQ`i53`B$iK4df*Y$j@f&AC5GSm +`Z)NJ'L4CbZ'ac'Zdq9l&('m"0Q6jbA!00,fQB4a,fPM@&YBD&Z-Y%(Yl4`)TS-l +R*`C@34QR2b$VQP5Hb98#k[mqYU"F$)3rYl)k$B-i+jh3U(1#`f3#EpHd&Th-J8L +)N`caE,M+dlP%T3-q4"!#1l@"[fJM!Lc*KajACPC'KkSa,MbkK2(AUe[2m&BVHM9 +DVaqMI`V)5Q0Mr&kFGM5ZbE`FjcT05kM6DXCD`0qPCm#'HU`mrFH`qaUFC-J!b%C +hTJj4P%'Hj"G@ASGMPYdDq,iiqNi$SK1f#)XH"+[X"JPe2D#mhJ*2S(@aNdJJ"!d +DAfM#h%*iQ#qG9a),l2K,T,#3!,JL3Z1"2Mkf`([$2f$CK$+i0Sfp6c(CqM@E*NK +)i!rQQ%%0"2%faLm'MKb+&(AE*e*LZj[ifM&4L@F91-'DiDdcRle,QJXJZ*++p'Q +k"08d*f!khGQ9k9d4S(3M+h4cEYB[E%!$j&l(&#V2JIa6,q!NSMCiKkhKK#JrJ9b +q6[&N*@IT+Uc*[Sr1-3B)#hrM`"b8jD!Ki0U+S,P$jMY+UJ1J1'JBPS#qHX#lAZ- +rr[T'!ib`8*(Q,Gb&,LVEf9TX['%H1,5FP9$B"6)&+)4k&f4PHp,chNXcP,`r&9F +1+2'6L4UIX[Al[+9jld2D,*Qbi&l[rHRHQBdjbmZ#k8jmkmGJJSmQ26(V`[#pchR +iM+aG$mH#-5UD5Sl0h1F&@CE@ZERf-aB(Fp'Ffb+4[@c3[AKid9D5aYebHiJk(J* +eT!S(D@CrU"m)m-pi$b@qCNUphJU1lMKhSH66Z[2$fqCe(Qr)#JjUm4fIqDcJ-94 +!*32A`8SRGrQfT$#LG8rpa1Bm%4T"[IYRdjdX42V4BJjXlC%S3r5Ni,NTSIQ!Fb5 +'el4hF34Q1f(i))Rflb))eUcBTUZ2LU`8l9QLG2HrBNe)`3Ued#V&QMEDMpY2AEq +NB*lqh,alAF+5,E(CERI"!X5Fe[pqhj6%@Qk+kBVAZeN+i9mc0DU,#B8*Q0D!q*) +(pGSJm+-p05eJMQG)"B'Gb($)DTfLB2#jB*NB'X)bf1dM)Me)*S8c*Z#NZSq2(mU +`YEA%-V#ce)"KhB0TD0kbfH+KY8RJ3DCSj#Vh$ee2Icd4"[B93[$D%DA-hmlbhq% +mAZ3-rbbi[K14cFVL9C6dT6il3mlZbkdFPPX1X2$ME*e!XM"[%'bB#FbVKHAaFX4 +XDV'RcTF88Yl-dFrH@2$[MibJL4)parJX2j!!e&F5AHHdPfRFTF*rY$,!`3h!'RA +j6fGUBAbAAD6J5JH'b'f'"pI-kE8k-ECT3"lH)YR*`*MV2r5F0&9K815qa3Am3C& +Z("[hPd%U'd@dPde&`3AX2bN0k&[R0#Y[M"B)33V)S[*#&Rp8)`$HLQVI%@Tbe"b +@2)Nh%!C@lG%hN!"RqNCSdCIGK'2AfQUEa0ZiNNKZ8BEd[*Xbd9UC[QShCFl#Xcm +j4m`,j6I!BmVEK(IG0KbUYBLGZaF!89!48bR[@S-H,Y'R`*9NC&BFpZk3!*h%b8j +H2L9$b[*@+-peb9FTM3(**+ermN8ZrTU`$pdS#j8IV%KSBZ-0d-rBaU36DQ2PU9a ++ZQKj#QRT%1`TD9kTLdURC2)4&`3*%8MD+-U)e%(&9l[lmF&)(Ei4mIX%F'VSTjE +i#kr"I!Ub-pie#'Y3fEkFr`$XQc+C-MCE*LiK)lP5Qldl5[-CQ4+!$Q`Q,@RYJl4 +6e!kLfF!UkZQ[kac!"!k'Y4eKHlaAkcaaa89cj1XHZJMjZ5AclqFB,1`+PS%jhj6 +D,ApIhQ[j[kQpcqNS+jZDkpM%25r`e#rrA([K6ceG8QUrqUTNA0`SXrE&`@e61Sa +8C`bjbI2DF640Ra%fKrj'dFDc6R+d(l[-cpc+BVGk9FDhCpM3ac8SM-%Q8X@k1"% +c-+4'E01U@`RdU*Vh9%i!`P0&ECE5[-9[`,)QLSK`UHV3m9$kPdRr&S5c@XM'UHm +LXpq8mL#3!0(!2ISTA[@r#ER&lpF$#9@TCDV+I993lb!EP&C!`Z%(%b#$3Td@T&5 +hH(CRF2cjJMSp#3fRKGamc5L(5)K8bIPN3r5)2Y!I'DR,fbG*kV6ZK%J4Y&0*)0E +Ac`rATb&&R&N$r56jEj1aMXUpb'@ij)[4-@+F!P-34a"B,Ye#-9p4k1!Y3A&mQlE +af2+BF#rP6+Z"E,`"d'M%KjG%mrN,AVYH-$9GNcGZ&jheBqi),p(V"Nm"m0VYl5' +U"U3*$[kBQG+(Ci@QP0),IC!!!mm0L*SNIJ5A8-)aQ-%D6RT"d!1cDl0[q5)RbXY +NX5#A9+Lc12L59B0[8"qXmET-(Z(V[+afZ*CNQkYCd,Z(HLJTFleq3EeLGa%h6hb +!9[%*(89NZIfil!*"4cTi"rcifV)l,AK5fF@kr'%2U'MEL6Y``&aI@-HC)TYdb&Z +aEm!eS1d(*V#LRiK"2429[062cEG,["G0m"[YDh`pbLF(qN(m*-#91-QY&BJ@b[Y +eXJE)fGFkN@YkPBl$aQ`j0[CmF[)mDA9LC9+1d9DU'YKJG6mTj'ILL55)Z%rpV&B +ceMI$rI0a+)B%Y![bFhDXiTpK2b)ZPGG+*kZ1!H-4*e)#4'GeR@IfdICr0LFmMq[ +-,e#lbUPQYh2lJfX+-R3T'l!H3qfE)B0p4ca6HfV3ejE+VTbh2YDEE0Ba8[4NJF$ +Lp2*A8ZL()S`QhA@dHC&Cqq#1GpP#C[[44a4C@HJ`dc)Z,G9CjU")q3m(Q*rUq8b +plc'(hZSm)MPX,Nk#`Y0R3dMJTVBb),`5AS)ZCiI(d6Fp()+hX-GNCC&pebBBL*Z +12Xc#m,J4iHB2hAN#(qiPU,pQXN6+Eb54(Hm!Rj-66bR6,"$H!*%BcNG+j"10iT* +UCEqi0pP`+)Y98e83Vh38kCDMi&rRpA8)QR`Jp%VD-@BC*b'D'aB5MfqD`-NaVm# +6k3D1D-jSF-eFB3Y+[IZ5ikCADaZ'MJS"!Qb0f%Mfq!Q93ZCj`DU%%EI4[a206Cf +cGZ%JVmPhjL!02((a!E14LN3Tc-0X66Q@SZpp-@'(+5De6*i+*"3)T@`(iB&01G5 +'Al`fBHIjH%)4#'h9f2+2Rih114&AcY`"bdMY6J$ekd"0eHVlj*+24`i#N!!9Sd[ ++dAjfJ*hB!)GDd#J,B9(0NVEr1$Q%GbhTeLB&1)8%)q#aA4pX%34*EI0,E(EIj9- +h1@EdQ1E*1%km#S5bHmc653Z,1pjbHh`CjZ`ipNRZ+R)[(hI!,UVBjP4F$!F)-C) +V'm3-Qc&A5-AUB3Dqf&RbiZ6fceM`2cBS-"%*L(T[$iKpd`DY&lVF0P8FYB80EC& +$&LR4CpNc(8f#jATE2'c2ddh0I!j5%pXR1*!!1i[J$d$fiT&pMH)$P02Zm&eUfjR +*YJ`#r+b[T1(e3P6*IS*I,lf1jFCNKUDVe685rZ`"$@eD5@#"Zc1E1KCN!KhkFka +Ke-ZiS&'C,ZPAQ*eaj&)R*YD3!+3CPE-U6Q21#3GT9[K#bBe+k@2f,ddGE($U9F[ +T`'D4UDN%q+15+RF[*82XZ4'+hMcL-(B$rXL9ZN#L#!8+"24'+V[A0B'kC6$i3l+ ++*HdZdKFhM[HQlm,`S9)M#&HdReVN"Ge*I,%q+'84EXPQ0)r#(i1S$@Z!!Z6l#E! +$6P6VE6d22Zj(JGrU(F3KJI(`PGYLYQ&VCdULaQVl8"fh(i2(FYq3!,B2l-LHAq$ +L,5a5U'J48mX!0l[PIBN#CREF@&`FAHdcV02S'Ecq6T`&iKfc9kEa++J5DU1NM!Q +Ne%cQiKj[5fmX(hT2NJF1c8rDl,BDpN@`q2QB&9Mh)A6$)P$&*i+dD5+kR5iZq)G +VNHeNHB3EUI9c[pDKG4'RSb2S,1IeZr@GD)fjAlcN(aVccQ@VQ-!B3l1X!&6aa`U +6bZpH40,NCieU3AH0ba8(AZ++MF0cDh6UYZLh*)%5VVLUhj[r3k8H+clZLL'9++Q +PU)LeUpE6JhB`1%06P1)mF"0lkc,AH'Cf0%,NXUL`C("BiBf3!-I[`m6mhfHRI`B +FBUFI-TV1)%5rkTN@B0#Hdf'5pLI#3VpMm$$,00L-JT@0H5HfhB"5f*&2V+rD9c! +XVYHNPQ9SSK!e8r`MDLX$`@k4,ZJ$'"6XL!CIMk#kY3[&fca![Q%+ZQ09kHR$9ZI +J0AiTB-0!VCXI+hmbaiNE820E+BVj62ST0fU3!,+VQ",#aATdN6$DU'eE$8!3dJI +Jj"rbH)AjP3Q86UDUSP%1QA)6+S@dpY[6e9*B*)0X)NJJh-pCKF9M%*@,!GCYb"2 +93&10KmI&42$Xi,eKV&+($pBec4NZc32q8fpX2cPmIZ`m-IpkhIj(d-le9J$&E2X +rXBY!6F$YeGe2EXEQ&4Q$0heJSd+Ih)DqcjfH$'V0MABIbEP&HR@6+#(BR'T4`iB +l3lE%NbSk"*%%qX*j"DN&YTF0KN+l1(aiA'UDj`MjCUN,&mBAMBEXlCAmGH#GXLK +p"Y[C)X38`JVH$2*NZ9i!L,-29P+c!2IaCNAXr"Iq%2Gk&24m+KVYD"al3pBH*4K +&R$98NIdEAX2ZAP+Jm9+G3J#2pUDqadJ%4l3iU5e,bE4-E3eTc@&fr1jGREFPiRp +SNFDRT,+*aqJ$f+r'INrMIqB5kkCJPKP(,k0qXkUDTXbF'!V"m##,FKXPT1+A(Qb +fBfjE[q,lILfFEiZ%qZ1VN!#d`Yq`i5[R$+J4&'m,Bi$lXb++$54[CKiLh@16hUJ +1CrpreaNXi+qiSI6E*XdpZK'bL"+Ei8ab0k+k(B,9qP$)9'#Xfk6ILJI"h19`SUX +pC-r%ldh`53b4!EAf9H'!-E5`8$3Be)bebE[4(Il*12"Sh65*maqC3kGG&M&T&El +d@T!!`KGM3EHJR2U[e[ZNEhp'30l5'RDV8bZNKFJI5cd3JT!!6qD"HCAK3iJ`1Yr +Q-HVVGGm5[Hdd`L#"eR1S9dIhQp'ml-'Cfe`RUV6Nd1&Ir[['%L+b@2hAPf8VE[J +,NCTkk,ZYlM(K%[*M-JPF9&d!ZlaPb`Ph-R[FRDG0G8[$Lid8-[690kS#G2mc+Yr +!cc@QF4&0)4@XhffXLr6fNbjcD!&B20Z,XQ0[KG"HA1A99HU`L6Z&50bLl661M-k +%R$kH!JpXP1d025dIU!"1@2EGJc9c3HL1iIpS9-J!Xf9VTeErID8TXh@L4&`&ilk +4SIRacFHSMrprM#CZF*IMYr%20,!Rcl5%S4P6!"-pJGr!m49Ujq)a`-l#BH4A4@E +j)cTF&JX1lF4`3VDIjrCJ3GE$3T8*)3$AJE!FEkbHpfDaBNh6`PS3jp!KNGI"KY' +i4`$qapjJldlr)(lYX&B6mC(G@&V-LJ%YaMK5"CYeP"f@%%fap[S-q4RJicZ+TH* +RlpBbI!elr*`4PF#d`2Q`'+b+A`1d#QL`ARiq-+Vh[QLjeL!lA,KrA2(pB`bbSre +5TlcbV)$2,8NeT(3Z(r9[3pRJNMfLarZAmhaU+QeX$[33M)FI!DRfFE3$`[YU*Vj +f,hR[5+a[Z12DPKTK*DQ((ph$$mC-A,HKpIaP@mIEJK'Dc`C0Z"mm)3(Vh(E9(ZQ +!36%k"1HYZh-0%K8f96&9i3HBfiFYLhcV2PfJ(b91`"[ck`'8Hd`reK6EP3c"[Sq +DFQm#'FV#Mjm6*BSQ-jCK-dqbFU[Xf0KVl6fi#&V&'+8'(9!pbMZqmifAB[d!ikc +492b0adRmTkVQQhc"RKDQpN`P@Te,C`VMp*JM,jdraFd6E6i1*[&)l3$-I30&r`9 +$I8DqDUH#GNHdTrpG,4C,5[Mme[1!FBm-620fl)9Z"B[4f&KN+e0B[R+1pe`(AQ* +)BL0MbTD#k,$FGqSR)TdarXrSc@iR$TNT1$d-FUJSSDeQ92)KY6ClNUEr-B19F'( +Z5JjKIGrIje*L[)Xj&4R[[VHjR405A#$Y+rP0HXfC#iD,EVj(&"jGc9f*h3T"NKd +MUFA'fLQL)2phN[Km,d$JL"%Kd!KZ`,@rq$DX8hI95bEa1Rd+[2@!S!G%G9X!h$H +C3hYjZ24`Gcc1'Q#[cD9MMSLI%5X3QTVr,bRk*BeD(XF%@8'j&K@`[lTrqC2ec9E +PJ22Z0@"!K,ZS6cVJ5c[BNZ"Hl%rT,Tm&U$S)%(V8#Iab-(@KYrm)VepGVk4Lk1` +4LAH"104"Vbd+D%l55lf@bEa0((8KL8kFMN"1iF*XXJ2413ITrBUimQCj!)&MU-5 +c*F3LmmGajN"e*G&LkRJ!#X4Ma0I28#NI5h'r"%5M5m"I,apFNiXiQ9YPp(H3!2l +aR@`LE$-6aQb!c(+-UG5ZZqPVr[R(ZdlfJfb,*91H#%kSY1TB"3#RLMSi89'G#N0 +)&Pck2rV3ah8@AX!DcaRHf3fd,A@T[!*-#aU+YF'*mZT"Y9HVF2$@X04DRb5)QSH +k+mmJmbIb)b%F@F-f-@Xl-X(QZ6&EU[bSBId12)3X`[VQU*LIF6(r)0pGeAbQV9a +0l-DeV8QJl+4E`laF&M89MKUrM9irlmq6`!8ASb%VafHh[PpVjBPF`2a%qp%)BTj +J&8&-ILr6QJ(dPb%GpEQmUa1aI%9MeH8Ch43L%8(04bcqGhZ#l`,E-8Yj1[0r&c( +FXA*58kiC("FI%Z9[CIE6%Ub)*CPB31lE%X["hKQD34k-0eTNJ+[S!TB-MT2)pBm +!NV!Ba"iQLRAqfrZZMR0qYFT)DcU9eb1i+lJC*cfUY"**[A)mA`AkqAMDVSiCL)H +kPjE,fN`BLLSLZi9XR5&)q*SK`J)pQTiGKJ'Ve9`+8*!!FTqQ4XTIbi2Y,`SYD"D +&&HmXmLY9@lmpI&q*)%UZp4"LLai+Q`C%FKL"4-l,Tbf2Rm,Vqk&(&iL6RaNGKIV +rIrI&RAMRJD5(CUl#2d$dMb&["BD@aV'q9qiPIIj55-U6K%4Kl*&Y5C8c5d8'KIN +YLT0Gl&K$c#hireTDGh!ZCm*8c"ZD0E8`$'%$b1aqFQf*8bhH8pi1YH@N"r@b$*K +kRQ%laHbV-J-q&X)b($J)[JQ'81R"Q[mI!Fle8)#EIZIhUA95F(CReB)0dT%mELf +Li&PIjMiHmkcj`GPL6rhpFj)D$apPA-pAZT@c46c[feFq5,U5#,DTE1M&PU&-iE2 +@YqGQ5fG!9khjeZ(Y%$2bPJRbHAjVIpJcj1*LmU[)#4'M*Dl#@(9'Qeb#`+kEbR4 +V"JDjREN$R1EXJc%`c@h[6bSidBT+Ap(U4QIqHUbZ2kp%%J!fDm(QDQ%mredLa#N +Z9iFCKI"-43crIq,TJ#Z21eUbNj!!jH&!&6(IXR4Y-RH+4qU0d3cX%-e[58J*fUP +fhNNCh,Z`@#0lZrfYaKijU%TS&+RJiFl8a4F'8CJG`&FPBM!$c6m86fMYJ(IJY42 +dKA4fB9j(1-bmPlU*$e-FEQc[Sf1YPrU,@AF-93J54qjE2HllrMcpQYb(BHMDLpX +0*KaX[jX@NHj+ab(SU9VAK)F41&c&9R[%$Z4qV92fCq9Y'mQGiU2fbK"@@H13!#A +iK)+Hi9q3!"RPe#GcmSPSA5kF`@ra3dXc8$U+b0p53K#Ua0!4k5+3!%jL9HZlD3k +L#q`F3fp`h8B!E0PjMCb%f`br,XY3i$SfJC8c,[69GYF49*G+((Th9*LX&Gb5)e` +lrLk+`%p,hXc&bF**QGL((EIPdMd4+Li"[8Ir,`+(VepC3Hr%&lVP*)K[HDQ[F", +Mq%9KcVfkPCKFc*e-K,f[jS9b86Aa1,+KQI[!&2DqS%AUmm32!DBTr"ZPlbpB8BA +Hf6D91$,bfTFEjhPkZAF5D6bIj$*'Hi#LaN1l44JPI(Slcp#4cL24NclkTRj-#bB +#4MrU$jid!H5[`ilcAah#-JbPBj!!@q)b"SJhDVGGD81Tk"f@9AZUDrhT14G1(N% +D54981hD!!50F*3"Bk)hN(Ab65Km"UC9jPTSB9k`Saj9&NScG@0[6PbK4R!b5QMc +2NaPk,L96F5&Fp38rVIBhK+`[m[)f@j[9kl3C#jFEiF3E,"ak$'Z9@Y`FU05CbK" +,l83lK[f6NRUEqHHCAP@"Ka-Jh)DqZ5d911PpYdI4)Q`EldqVD4r'l,ZQmLZ()4Y +C`'CD4K3[h9-cSdk3!!@Md-1ZL%hXLjL[,cMXQ#FJN!$RMaRDr!GKTUZk2IY0fS# +1MY'[c'5@%K#2a[#","($LeNV&jr2PK!lDd!-b6)$58!P6''T+klEXEQr1Nd9)+m +8[BpBBD,-,Sb9Dm09Ip1!*pC%PGkp85,dMkFB&C02@9``1Bpl4*Ajl!chG5*C)LT +il'e59*`5A$YmSA+IdP(2[,1&q$!QN!!-*SAYG(cpA($4GEm[T"*$hGEaL`p02bd +fbmdS2kS0eH2jr`fLq0CVNlGf+Sl"lZ)++)K`E584)iD"-C[6T80%mkQAjp0iU9( +kHc"VGphBq-lP3U['S#`BF59fJKde$hMid!HYDGhr!(Pa-m8peQ2H5Hqprc86S1p +j+1PlYaq11U1"i@kF!2pj$S[AB$C[dhZG"68cacH5Mmkm,Si*pr'&i&9fBjJ['0h +jm6rN"ADK!VcJN!!EJPpI13iS(i)(P&a9DdN2DahSRr-*5kQTD*jSZAV*846XqlM +2LHG0JPdkp"Uc+Qfp[0*(S3M)iZTcaeL['pP23@Z-KM#0Uf1FUFNYSbF)S3`#'d- +!0iai2*iEQ"3"ReXHBp5h@-b!ZEqYc1!H)KZ-5Ser*&N9'0Gpcr4"q+&C8P6)m*F +-UeXj6MMbUfFMH6&D!V+2S4#$D"(ef`"2c2CNdd#@q*2"HI,DR3RENFK+%)Ti0$Z +FN!$"kFl@bYfZCpj8!ULlCZ,J(HN$5F8jl!m"+YPe*)"lT3&JflCUASi"rA&2rCK +I`a-qHQXp5Ed992D#-&"'LmQBG`+#B9-&r5lK08#S2pPpakEjlqSJKEQMAL9T&*S +#S`EeUrQrQ5Z"A-41$C4k8'E+$RX014h-9K!qjDC1%A*0*Y2&%p,&`$XF,,iFJ$T +LMTTE(m,[1-+CHU(4V[%X5ViQ5,!)brBQlb1i5JeFik9UBD"f&+*2eR$@cf#q@,E +&lD+)iSS9qND*AA+l"8e"BUEjE,$pUAa*VH$0JG1M$hj$*)lMKRiPel@-P!BR(0q +T3m)D%'1B@)J5R#BiaL&hA9)qdh-9IpSD#KJRf4l98hTdVZRH$V,q66!TRD8Ep&- +[%pGlILX`3&M4@XE2b+MA$3SXhEffVT*eqJdAi`Ac9!)@82a)ejQCL0eh-T@*XmZ +2TBVSa!,6P6NiX6#B1Me@qhRMf0F+LS%hLZm*CVMQ*TGd8GK1Pe5*fCL@hrETj%p +eUN)@D&-HA`kA,NfP+mbmZ4fGReY5,LY1Sc*14!&i@C2ZjE5SafhMk)&RpGqN'K" +"dI1GRR&*(18c*G+Pj2*B62EE6b`18N`'&ma-Gi4T[dQYZ0frT%a#IXRf8K5)3eD +&c8850$d#mEZ*+dP*5EMA)lpjh%2m1"rGMk#6MUe#U+#"Nj)Dl&p*r'Yh`hY$QAT +I96q#`F-UFV4C-+Aq0SF8%[X(4Qhb6&61*c5&++fm&*K+epcj9T+``8&e9#Q-j!4 +LeJQmX%DN+F%)UlrN+hXeXhDDd&d2ZE-ebRl%Y+CP&8T[Vrl*X(9"1@1fLLVaqb* +iS"I*am$AlJTU*N&"Nf4"lX+`K'8RjClANGlEGJ[!k%a`JETcLqHq3Lb2C*6%#H@ +i'KeV4e3)$J6@%R51'LQ-6i02GpdU)h3*`)L[%PaDQ4i*Npk9Ph)j&+L!8P,FCV0 +CTD4)PPqGqm$jX)!*KE#UN!!Kdl@ZG'!PJ-mM((Ul)+kfZ+4b6ahFJGTXYGIF)'h +5B#EQpBkHp(JrY4h2h%mX,NX"&pmkjh-98S"`9r!Ijh55FJ0a5MrSbhGd"Nb#Kd2 +fLF-dUlR-Ep$NAN0J$L11XL8,Z82*NIb#b(p,QbG2qQ%!0j1@ip(8FHLRb@dN"p) +892m%kf+SjBlhPF8H9(r8R19"#U"&Y!S8lYq2h2GNfPMke(54CS&qJdZP#[jck&K +J9`4rq0fj"%!eApC-&[Q0M3'$@Nq1'h8+R$-Dc"VfDrkFbpaeF&T&DKrA8ZP#b%! +-C+`@Cl"*6)E#K"$)U&baklbhUCA%VfJ*N!!U4TY&T)bq&bESKN8dkmAEiP`d0hq +kBa[222ME'+CBc3khITqQ)b"NT40i2QDGS&IRHlmd$CdJQ3$0e!SdCdEF!!-epSA +M%q1dfAUC%mYfJq[c8-aY#9,ZBJ&aX990M)qIeVCjHDVUC5lklG65rcJY3aJXBD# +Gb,12@3-K&T-!&AR`%4#+E$r+,dj[[3rZ41-+$!+Yl`H"#5Yhl[Q3!-35ced4mck +U1rKf&mI2fk[Yda6kUL[YdMrKebkqUd,kVZhlE-rEe5rYedRcpVTmr5rpZU[0pYD +I`p1RrKffAfk`VlG2ElGQjpA3cr`dT[YhqhlGA[flhAflFr`lR[fp)hlGE1,pY&r +YlC1qhS+rKV3[US1qh3QqhT&hlEAr0X6[YXLqhSEr0e`[UhUReDar`ec!mNY8Y2N +IjAD&6-di*)$V08!QjGf%Ka0#r!8kp8ZE[h)%,UL"*5cYE[3p*"8lb1FSAZ+2Fp! +R$C!!$2QN4jM9CTlMhF3rkIl3m5#Ec'+8afIq#[RY-C56bl[SHTkMNi(a6LA+G,q +E`@4I(`IiU(10A$Ba3NkRqCEc9p48rhf2,`B`hY"H61*%D5r5ceGhT-raDLM8JD% +25))VceSVP[T,A)9*&e"Xf&%KPR'H,@m$)hS90`ed(e-AbeX2HCSkG3UfIh%Ch6' +86'AVm0K)l*SZYjjM#mG&D[(Tp#MELM,UZ4fkr2i)90dH[dK,K,86-Q`Cb86eNR8 +l1KTMbpHAjk@B%@,jDqpRM-Jfk(DG)CAL0!M`dKl1AN'b1V5*0q0p0k0C!1lkk%Z +2+E[0Dp(S%3c!-YCC-cXq%6qhRaEI*ScpFXD,@M9`@m(9TY2H9l9NLEk1d44J +m8@H1+e6S3-,[S9kYQSIBe0(4eA,jqVkiEBVUh2'UkR2pm!JI%jPTU)+!XqmhC$, +KC)aR$mc1SVH4La`ceG*Q*CeS&0YqGID,jbQ-V@hN1F!d$TZCdEBi'N8%Ykj2@q! +39@Bi'S)NZ*9DrS+$)YL3!'@!Ea14HP4Z52f!q+8qE$HDpkc2-jC)lqV3-eCYc-H +Ch+@)c!YPbi!5EahaZ0@@[hI9X"lAH&*eq!)0q3Y0)PqGkmh#SpA9E'VBC$%i8ZE +aYi2ja+8DC-hf+dTEJ28$N`)@l"`89BH)NI1KJ3%p2!Ei(Seb#Fj,"C-TP3Sd!&b +f83+NH*!!J3aQ`kU`3C9C)pi4E8K+l!RZId2r*KC6K+%S&Z%6hbeVdL%q6i51X(J +a%-*,V*B26cST)U%MfB$fplF56e$dIM$#NJK&()4D6%e@5IATkl2fl9RJZ&*9Y#j +BhP+"#eUaYpcRA"*U1IU$EK,4AUV!f8K0lH'Y8ri3$-cMSIP%'c'3!%ee#r@[[bG +N[I)`Udq#Bp&M-5K9k*@iPkCfB4bhp0"5(elXfAK5RSK4&aa1Ci#A"&D6qb*H'%$ +X%H,d0peUU,&X$-2m)[m9rdB%aX,aCbJKH[UJ"Q%q#U`S-j-L3%EZ'1[$(B%*1Ek +6(642YpH9BDGTie(Q@d@DSm&e[iPI!3H4YA2ZLfN-h!F6kS$mKH'0`hB`Lk,Td!k +eE1IBl"Fh!dMl-2*$JQ4%2f&mN6G2YiSB#i!kVHqU3bceeXiSN5)QQ[TBh4B1K,4 +EpfCp#+Qjpr%,m1'QSUbjl%8@YrmP6FHe"5BbJY(USC6XNldLGk#*iA)#V0!RTI9 +*p5R[Xl,fK'%dh3J)(&bPHlZ'ZJkS$$`c%03EGi6GX81NB4PdjQP6"Z9&mEbpGF8 +U4DAPTPJf@Gc(FcRD*XV(4Ge8h%I'3*T!c0q5)rTUH%r2r[jUYJ9hSEk&hK&[9Xf +VhG'X,*[6[@BM`d&`2J%+a!$PJM5`rBK(DYS`L93P$DmaMaU!qD@d9UR51h6Z+Rc +#B-q$aeblk"'9GlI($1qlH$L4bHbiAAGBeT(ecjK-#L(+T,MNjS8d@BbIUcjQ4"[ +-HGfEQJl@+#MKDpclL6UAY!AB1h,XDGAD3rlfBK8fb$QmD,8Gq*Q(+6!Q"Zq99$' +*Q&DINhl!PHSplH&ETbL(mahaKMRMJeXi5'c"TGk(q["rJp`kk+-hXqkPCfHBGML +Xp!3h$Y2`0Hr%YZ8J93Y4M%-46UZE9(k)-JV0iC-T1#(DC-jC38dZ"TqD"%BTEa4 +MrLLqhPbZd'fJG(pi1f)da6@U"90L6,4hp4Y(X1Jj5j50LYG8b4BV!e6kCJ&$M,K +ZDB%k9APN(FUA-qSp)-RRi(ri*#,LE!pGmIHULX@+e-Dhh-AF"-'hq-&e8aXI'Rq +jU[kG$iP`a%T[-h-FEqqe`k,HNckVil)%GM!VPp0C')Mq5DK3h5f(1l,f`4A4BiU +fP4-`2mYQ6pJ4(Iamd'0`#lFiI0a2N5NfFhB[qaSI8f3"YhL@HfD26#mEpeEAaJh +0$cpHXCRjPqL8qLeX0"a!BZkZBA)SHb*"qNP8X+i1i%jX`H$#3cRZRTkN+pD"Vb- +PR"l-N9lT#a%+3b6*![CfQ`&AMf%aqUH*3PYpl5*iQK+8NfGR*#ZJb9B`'+P-kcY +di1)8E9UQDCYV"`'UP+'dZdaNc)8a",`XQ!fcQBVEGkj(HbK6YlH8YXJ+,f+bYL% +"rV43BNEG%@'@X$G#p2)!iN`cVFm`0Tj2PeK+ML-&!XHXjG3jTT8[-D2TVmbFf@X +!6leU@&90['mqB''Vm[[Cl)H0Y'@PH0Y[QBci"kkHV@Ur8)"+qVP@FkXG$"[)T"h +C(f,qKARSN[L%i082G8+Hr`I)%PblJ1IQXh%-GN[ILN6,U,lk0B@)Pbk2*0r2M4R +i6ckaVif@+*HqG$Ba5Ua4U[b%l'e4DJERANheKM&p8L&,UNJl4*SZZpjI&+S,Emr +-+UcVYqF#piXh[3ra*VVch!kk&ikd&q)h$8T5d&YlhrdeDbT#'2L[GK5I)4B[")$ +L5+rh[m+ES$SX!SC9*U9GN!$!FrQhiNMp+6DQ6NT#m@T35ALUcMATpRD`Q1N6KN& +KhqM%6Lj'(PhIV%H9j%1FQH+I!b(6EN),ZDmEQ[4293cG&ThjZfjem(0eri8[#bN +c2Qpek(cUUbDYSVj3"m$@'`-bIY'2j3iZ8b$3l1$+6q%BU`piGUEFRpUSffAiVaZ +e16RdQVe94Nl20F`$A"8hr@d@G)l-+H*2FBjY2HkJK-%MM5P8rSXJT"T14eVi@Jb +lG58AkBK*GqVeRIfTCRP0mT9di26e91AGpBV+CX!YGd19ILAc%h89kVqBdNcEI(( +ZmFP[&2PJ[Mrb#(bYb2&X`8IE,3S#lIIHGV5SJ6,)$bhN9UGq2hqfJmhYG96YZ@' +-9Kii0"(9J+qP'4CU*1f&50H5+GLr4*PS`ZrN"3phje&,+rq%1E9IJrj'+XR$$6' +lHK#h5rij[XJjRQZpS'EbKeVTKM31+QqKU3PIG38pIJA03RRfIMVM'&mfE(H%A2A +KX3GFEd[H#+jb&!k)C4`%+ZUV6)f'#,pVHr4Rdq4$U2f(ZDJMb[Q5-C!!p$)@jZk +8lT4M@-*p+j0E%l0+G@lU)!QDiXbaUJc`TIl"&0M401CJKV&mD'jA-f60K%4#LNh +8CqLEi"a,1a2CUR@GUR0$KEfJlcF#hJ%UA1`FD8IBGaXfCk,F'@3Bhi[$cBj3hK! +GAX-DSSJ+ABALMMq*-Nq06'9CpGe0Z,biQUkl@h1X$YY`KM+$IF,aT2pUU*8cF3@ +U[Dia1if05JD4TGEkfUj2DipYpNB+!pBSG8mGBTVj-HR60MDYAia#D4aqUE2ZKpK +%[aDJ$49lk"Nr@6l4'a%((+j-a5h`9XC$id'DES0V!VRA!9Ebi-#[[m5NeK-5kN` +,B"TU'd,$XXNDGFPQMNBpb@R("Q3@[MHRe"AlH-YBU10Sb@3dPe+*fmEGkS[pS!2 +J1$#qVRQB$,(+IbQ&Lk`KCH3EhfJ,pH*93)1H*6QA`@GXG2c`jMD(LIX&&,`Dhc1 +4"DCJ2J!F`1SZYMGe(*D"dkC(e1bD&VrRPaSl3Q3@dlf'#STfmT)lT8NHhjS%5Ki +ZAqXcD&9D(RA-5NM-l-P)+,K@HSYYh`E(R+`Y91)h`hAK'4cDqIkNfZj6"$R8iaF +Y[@rMUp,q1`KK%(*8hmUZJCHqC#YeF4jF-iThNjfLBa+!Y)$Hq'`e$iY[N!$L)6T +clBac5f@Q%@G2YV2*&L(V`8V5TXVQR-U`kfYSdVEi-6c[1-E,MBImA8-*!p9C08M +aqBIq&-rb-rd!R4#P%I$QA5#,ZaI3pYL@6MN&b`YYHrL)dk85MbCE!1daC+T,G8Y +%dX'0jkdLek`+*R`-4S42Lm3q@*f,CXDIRG,UF0Gc(SX[F2M9L(`b$bHpAM(E0)m +SdKkhUC4@`V[qT'&CA3r4CkXR(&RR%RENXhHr5eP*Tb3'(,P%JAlTAjZ&86DH%`` +)6ATDreb&"))fR!LV'IYB2Z53!'[+pCAC(!L*2P#*`hG0k#qfUrMMCZ4-*q!Yfp& +8T)&"cB2V@(Z3!!pJ3L8k&@+ZF'Pr(DD*"'(aFj9jH$k@*ZX@Np1e!CcpP&e*jdc +-@[5P6+S`jEM$Xr$JBLr&X#b#P'J0,mI$$$dNE6Ad!XJX$U66A3+-(G-!bM5kEj3 +Ke-AAUGHcD$X6#+JBqCp!-Fl-SAqQadHG9JFJm*l'i!4K`"VCQ,!&Re+QTIQJB4X +&ZS42f63m8SmmCi(KS$YTC6P!a91lPG39#P@2[ZIN!DU*p+l(RLG1d0UXMS`[`kp +#3Y)N9M3Aq[$H[L6NKM"0*HNmcJ!Z)YiMd"Ie!BLSLJRT*f(1k')0mbkNq&mAFBX +4-9qi$'X!p3l*Vbe6lfcq3ZDf+jF9de%U9I4"@J9)h6ZFB,Y1XZ6LI18$Y+(PeE$ +[PhapADbF%eJITMS#-`XZbDCb5-R5"e-J6CeSjhYXhA0F`jmKD"N9-@!()eP-h&e +'$6La9Fh9Fp@!%QK543!hp$+HiZYHj2EE-*3)e@X26,%P86!amRAB!mEDB3`34Q+ +fc-0$6aQl)33H(#2jT@2!TI%h#GGK%Vde#p!YS[Fb&2"0%*QYSpf1Fe%!p29BIDP +@,Q(I@,,`-#2BM-Q,UpQ"Jf)S(c39)JQ2pjU0F&'jPNme&G$jpTi*PafeL`9J`dA +!45'Ma!Mel8,Y)hqL%TIHTaEFpeGaRI5(p+QfKMrCe5HJ-d3F5)Er$4IY024LVi3 +@5V&+#XSi%8j@r@A9`6'*CcNB5Ha8BEVpC(`8$K@AJ"jS@QQ$d`&6V!cIIlpDAF( +,8H-S%@9XF*pcpfE@ifJeqI1bVC(HGG#@00lcaKXFJr)`rh)5k3TB68V4Ic)U%%[ +TdkaiJ-2JS5f!FSU3!(&LqLfeUSAP3('a5SRH!5HN`M3HCV%Q3k-UV!bDkpVGa4d +BCJD*IadFPY4R5MKG`pR5iSTqGh5Y"LP%pf$S[NJ5-eSKlcDe,Gj!5BfhqU1C8GQ +qZK(MAHH$,Ke!F`)k&m)rX26iP+C#VhlL+Dh*)U`$GKN13dc@K#r6&YYPpXpp3SH +#CP2PNI08jkVpY"Vj)aN'((D6&4ILYb1D2dK6Rel)i8TNH3*r0eQS@)p4,V52%[" +"+p+8Yq9"E6(iK%56d(QffaXbl)FEf[B0NP$dSH($3-*(T&+eLKEr)+qA5L[mB%j +iQQZ8Qdf(SqV)64DEf%U!XkpEiL6&q2`ZH&k523$lZ6UAp&Ff'&QG"cf[ae`,+6p +phb'GkEX5qISQ6,FPTZ"@URjFX4%5MR@EjJ-4"!DD80$HeLi+X$GkX0"9`m,-`hE +FC&L'GTSVpFhGm8RKIjmh+lDe"AdJq`U)YM"9'9fK'86eTR-rUpq0If+b)MqkadY +ViQGJiqfp@3VR%X)+#AF'-S2VlrE5#U2Y-1@80kbU`arCXGQ`qS$JTNR#*jJZ85I +2*fC#A[3+"3QE1rbSlK3PG8De$VIYQA6br([r#D*a`ZI3[T!!46ik'6P$26TVak) +46%LA4mJJ$8QF'r(h#YB$QBdVU,*4#CAQE+-Y[-UMced!')lj@#1RECR5Z%jmdb3 +69X4RkAQeeeGXY#ML*Z@B#c&SiMrSl42@R3pAMqIC,8eC5q-0ZlGEX@f&dI+H1FF +5'VGkGbH-l3ImrT-iJ+4iLp5)QEmd815QZP29JGhi+re4ph14N!!1i+GQNSCqhd% ++i8(ZrF-6bLYBS`4lE*8I#DT#%QeThY!%I4M1pCf3!)p0ei2+8@6&l2C(fX)ENHU +[Y1#Z*PQ(cY&Kl2*)m+G`JdPaJhrjPZkrqVbi,Ff5Eh%9rSTk5@#rmDi9$F@%e66 +K`&XhK6'eLTJL)G9ET-(Ua1-9&KUkK&MB(%d(F@,)&8d0JJ6R9@'b%qYSLN5,`@r +)Rb'VDLD@TDP'Bj,!L9qFdq9cZQL8j4`8i6#SFEP2m'3"L5HE)0rZ*&S[MkXBScD +@k+8eZ(F9EQ"Z%HLC4dZ15&*ZJAm6ESlqJ$r#4([VEJUAQ4"4alpV*YM[8%Q%$!S +Ad2)jUST2&Di6jKbI1FDV@P"eVBYSPSCViI[m#j*T85fI*50BUP%SJdAf9%5EC@K +B@`K,eqLh[`QZAS64jCAP4m*98#2fe'YDNNUEZhb*T%c5N!!bKUfj81+9Eb&#MKV +qFk--Q$F5'AS$PKTIG"IE(1M%Pq$j$!HNIKm9Y&mC&VbAUe!Z(aC&Uc30P1e[a9c +8c$+3!0R1CkGdL+@6AH-K9aljj3RfA&8++dkLeY0321(H)*,J46e31-#XI!NMNrl +aBr!&Ae63@Be)&22kT`m5UBZUNVPEa3)B%LUj$J"QXGrfpF[ekTKkVC69qJ&+eP8 +!B3BS!+Kf9[%'8TmFLZmk(0Kh0Pb1c!@d!NNJT,SXAdf6"(NDGM3$DVfRc4&h4%Z +(Me!Lf43TNkEFI89)'K&Q1ZYk,30'!)-V@cEl%ph3D![%VY`EY8hY4C6D0HEada- +*eLL(N!!A[mLeKHHYDih1S+JG9a!e&9E3!LM0jHUT-XLSH3dGB5M,qUhMl,X9Efl +QBKMFMhC0h`Z43,JCPZILeZA3eh%`*Sd'6S@6b'-I&TP1(lGkJFRX+S&40GrL4El +@&I5U9rl)C**eb)d-ImQQ20!Erc'DC!V4i89Z+de1LR1LBTBB1GX61Y*dSMi%+Uq +N2*lJLD!P!R[lij!!a9*0,NK+P[HG%hV-[rf9B3+U&qq5iJ"TIhlpM`r6Z9e'[r$ +eJP"ma)cFKPbhDGp,KAl$18%Ie0a@%Vm"[2UFIDjaX)Be)P,B[aSXJ%9lqBkRkj- +AF0b!B,5`dCUBclMrGbPJ+0VNZF"M%*,hSld[BFq+*-[TkX2mdFFlpe#`VMHlTfX +0Qlkb5!Y[N!!*iXb"U[851q!TJ-X0fR&*[hjcXMRpB"MLrNTU"$cqQZmYr&+B*Br +L[aULM38d"SRDb!Qe08FC(EZSIEZqjJG8el(D1kNE-G")P,#T@%`4RXE*[JqHcl2 +V25jlY(G%4phf2T!!D4SD[S&e+1D[kjhcj%PS*-6fIL8XkY6Ui3ll&H`K"lcCS)& +-D+!MSI[5+X$d&IJ!0iLjEeLM10SZ#E'PYI9rA-ViL!`A`&pB2P'i+1L1E+,lZ8J +VN!$pi*Z4%CkB$0b,'B6aBl"CajS3#jVK0E$GISLc'GTbQ-dde(1IHlBYAH-LN!! +CiM(klaXRF8#"2Uh8%PV1)9P6&QD,[(B)BTMQU%M)i+3L)X[Z!4AA3QqPA$(hhar +Jc8`F$Ef[I8ZM4Z9UHKerp`*ENTCeK)"XAb%$)dK&-'6pA@VXS*-)C$pemcFXlbZ +P6-2C`HRfjEFZ@PM+XQHp33i$Y0D5S$0#"M-j&@dN@RMba%RmCB%h!REDFAKcphN +T"-pRp%*-j+mq*IAl!'HGRY"HhVb0M4T52j(FP+Rl%0`2E6E0VEQak4bIRFT83Hq +2h[@PrJjbXHS$4@JB%EiGSY*bebY@G+FUk*K*m&qaCDpDNAR!b0PMeN`HNAX+Kp6 +6mEcY22AdV4bX(ZiZ5FCC[0*akUN-14b9*($0P)U4Q%C9+r(r-EZL&)FX*CcV0`a +YTR6@aQeT-Z8SN!!DSH+*G8Mi-4c22C3@j!R+HTEhIlKZhi@I6$"QVHH6dF@+lmF +Yp%6#VNk'[+*QV!$3aQHi)JY8!bV@k,9,lK"@Uh"9hqBK3pC(U2faCL)$#J-P50* +EAPHB'Dq'&XVF5KaRhH)e3N[B(%J@lI!MdmdbRYqJN!!qZSkR#meN6h-FZ8'FLK` +kb-!#dfi+LEA12LX'I8ScV8d$ELE*fR3rm65lXThDIiXR58"R'Q"-Y5Ha&qYba&T +0@d8),8MqEp%BQQdhXNFlMLI#Nk)%qdiYA"[dcr@B*%AZJfbPb)dHb0N*m80THG' +cpXKBl2QUQY"%bfQkhXYKe8j)GXD1YUm[I#jkh+BMf0,9*2EEY[VCC`RC2C&4lp[ +3K9([ETfQe1Zr[Di`)Fee,mVXa4a5[S('3R(9cB!iTST!D`f)BLRFRhaL)4+fX%P +-bq)"@"VIj9kYPZk4RBb2l$N#S[k'B*pA6G((S!LiS3PaCd@FN[HRIJpkV+eP+c* +QF$5eB6b$+rQ9c"3$K$m#8')k'k'3!!DS@H%cRDR`TbkJb8flK1J01RDKT*M0IVr +C8ae+K%'PCb[EaZKT5Q-l2%#49NRIPVG2bRhJ(8[1J+3S@A3mXTeC1-JPVE,B0&@ +*AA+UdqJ[F,Vq3Q1161KI+`V3%JTj,$+TMrphN!#be*9UEJdZQZ4R9Xa@GNMPfrH +Nlr(bCRb88,Y`[[E"lE58cpU3!"92bB'2,#Mf41h5D*8Zc+fKN!!,%&Kf1fP@@J3 +#34@*6AX18m`%EiI#(k31KZ)'+CMIiREhiN#UZ!%kieLNHTE[Y6TL6YNKXZ5lVid +LZA3rM-,CS9Se#3Ka&CDC[epKFNI[+r3[qq1'JQNU5reJ(hlCT%he%'B60*U`KVc +-DIU92Y(ih1FGV2Y*1-K$1)r,$"LT+4QcX485"Zk1d-4m@6fGkDRN,KPfch)[Ib2 +5q+r4$i,YG&[RI1ZmNpY"4He-2fhr0`!U)eXHH$frd)d+SRLRAbqe6%1PEFLLceM +PkQV%A2Z!52TMGUJb9*X644acdHQ#H,V9be,mDeP*Q2d6%c2&bUl2AL06cr-Em(Z +8qdXpP*d3%lDi+F9mUF64Si8r%RQpKeI$i$qQKm&VJXDFE46%Uq1lFiT!p"Lf&BA +1*mSXe4-!E#5HQ)Gb6FB8BBKAfKHN#fXbJE[Z0plpE4N"`E%@6$2lEE)eAd&SbYm +"b)k!d"Vb@a$8G1)KSBTpR@85##rI,8"p8K`,UTIU23I*[fQS9H41VmP4%[1iZrD +Tm8C4-Yj)2FY@$3V%!Y6YM-L@DZ`U61j)BHcS)Ppq!E@iJle#jr-hMI8ekf,hkFq +@MpQMXd#2F&Scj&VGNHPYmbD)*Kkm'crD0&,LVmGEPdD(liC)NLGF"Z@AHS(C&Pb +ICq4&qFYdcJH@XGX#2PIX2U66LdC3S0"$Di1IMhSfcq(h,P6$5c[3[j,,lb(Def% +4(B++f$+Pem0,UpFrI!+DY,Q3!'a5+PSPj0LcZ9mCqIDNKr+Jh("'-3VImX[fd[' +#*XGQ`!1q-+3*ZGp+PDlcZE`RBaq%e#[MIZqM&-`"m6SYkKMTD%$4$iaBK68I"C3 +f1H-5qF9lZQMck(H%XK$DL*%31P#llF'TH2PXh,jJl-T21LKM5`bb$Qe34G)EU2F +&acFT4h&''b&+lR[hE2ehr(JU()$l43N#X"P[BVV3,p9MNZff$VQ*+BCiTD6BXIY +F&3-D-hr6KDZp2e%-faCaI%YmNpAXLmGMp[L$$(KfpkMl'Ca!6+AV4m5hD(L#)Yj +4N!!PGQNCF-Rd`+)PE*S'LV'K84q8kaRXJV5!F48qA*h3Mbk9#YU1aKbd3b6%crm +Gr%GBa8(ebA(4SKk*YI0$ImQ2l0#cVQEHi*0Zim%CMl"r*V%J2H"0mTTTRDQdaFm ++!%rB(9ZJ%B*'Q6E"k2hYF4HP[EAaaTFM4(M'"[-h)2&mG,-(TqMN+TGrdh1XaJZ +9VjiHdN#60EZH(rU20HHhX)$8-1pc04L(PV"EqZG#jq`!pa#d&fM"I60`cAT"08[ +@miLUA[-cL!B"*EY&#q`U3K*rr"h8#A#HVbXrSd2%RNS)3lLUPR6c4fK%UV)))P# +&-PQGAPr8@G#[i%a$[LS8)*r!N!$fAaq9-q'PZY$LL2!&CqfHK`qN%,S22LR)e!9 +&c993Gp,hbi'#H-8UHLr+*f#Qbq2VHhX&q$-ITfm+dkM[2al#M2pV$aIHcENc850 +pNe4c$TA(Bj1A`@%++pfIBkXa&hpLULY-K0#`b[NR3@B*GJ&BlAb!&p4VMCSNTkS +#&&9pk8br2+6bFcH4i,CrR)dpcS9[aF)0ZPGQ4R#'VB!l+lf[V)emB)P!a,ik4qh +4PIlB3e!K3kkT)6-!-(CCm$6m(H!m5"hM")EVb$Bfk6MEY+bTQ0J*UPKBbeG5BA& +q45H6afFeMS((@i[r'UN"fcM5bSce9#P(P%6@B8e#q3eqJT*fEjVDQk,ciPp5Sm! +AXE!D&k@EAhrkDJR3%jZiP1L4(H2&hQr`$-PCek1Pk#rrD+"5i[9e*IQ+re5d3pX +p6'Ad[bAU#IV)S[RqPel5ELQhK+T5Ld($*@fl@8Sh+qr`f!faL1B#``QKV0HI-bP +IY-Xmj'0X3PkbFp%f1HK+p$6G2JV'U*C[h`kDH#9@NrpNKBMBMJBGcXIZa9D28(B +"AaSUIJ4krB5aNVS@lShcSd-Y64KaIlVNFcUE'R!ZHTpJ%P(bNlBi)B8LQQE#c88 +9jPmKS4@JaMhmUNDZXYmMX"mLSXmFrT63,ZX(P6`3Q#c[ZFrC2KLlMNJaiC%")6' +,[Mi(4mhmrbi#D+LB[$(96mUL'(8d@#f#"pmf@S"`Mq9Qj4QBIKeXHiBkC,ePCbV +[E8he$2IhmB"P@4aF520&(i)bf5,8aUrcBD2H1[J-8@,e(*3CFjH0-ZN8M0l6$kM +-QDK#FF0PN!$,0B@$$[P4+F%'6qmUa%rq62LLPbiRLhC3f#cF1[hKiM[bBGk+h@M +YU36SXm#1MQ&%rDHVD9%KTb!3TLRE`SUMqA6Iaacj&pL[GrF1`93c3Qe%QAcH$q4 +mrG&*rYra1)"P8Dl4kYDL5jDS$pqad4)qlC3+rV,@KGJC%[08LZl+3R&5ci`"@b! +NpDlKi)4lr`,1B*IalJDPf(a+'ch@cd"B*$fLY4K4iPEe"&QFPl!T"i1%ddR@E2C +B+dZ%J8*ZaV9+rf,!IHb"&F#(#GQa5LlY6cMp-MDb9`JK5*ld1!VQFa5jc&LlITb +QEi$9-!914)U)@'bY4`'fXp"jiPEQTpeTpq')'Y2UGRh#[Ycj89hrITA"mGl2RD8 +J%F'8$h8'-[9(a(NF*JAr%je#HpUl+SH3!-bpr[!*!"-A"DCrN[EChC@3!+NpQPa +4B+Z&1dLLml4`EpiaklJSYSMXTdU4*'Ve,+id$I9hQRmETf[hc-b[H`DYUMSX!-J +XIir,6k'k`H,"dUpc5+mDC5U#,akKV+IU+e`9JDR3N5er2VXEN5S3Re+A'UpXT63 +KSLlTqMIf22LJF#10Z8XAfhP68#-mf'are*mIDV#,rP44-GkXd[cZNRI3PKMFh89 +80%3p+FSJc!E`q8LAUZh!M,pcXMCEAYS'U$m(&`R9TrPIKa%,K(eLSReq#C!!IkE +cp[C"9@rQp-jPPdPYNV4jSAMTeDIY9c2m9Vm#'[SY+h0UH@TM8($+fQm1%FFFBX) +mkI6C)X$&3!!!!!!6U9`$U3L9"`(%K"5MS%J!!!!!!!!!!!!'P[-q+,CERMHH46D +Q&TpGIZ$U3@NXUD-93$0A6!qH[iY-p+Y#dRPVHF'Ua%9eQr@cUlVS&)b3!0U`)Ip +H1U&N1*!!G-UcPrpf)f1Jmi3i+0#"'$AfG[BU`Pf0'M2Y#lKqj#PK&A&kmF$iQNi +1E"+9NJ-)qAli(e"5JLiS-@&+HVkL3*cq4kHCrRIG12Kc@2&'pM@&*YYYYYYYYYY +YYYYYYYYYZ(r9rbZ*G@cDG9[lpa&m%(Km-TKhZM!0ZMaIF`jHUK*mAcB,LCBRQLY ++qG1rMd6d9)Z9)RfJm46[FB''P#L9&$T3(*!!A34Sr6RKH[pEaIAYHUICRppR'IE +61*4hP*Sq[raY(+@QG4XNq&L5QZ5IrAAL&lj8N!!81El`4`AaVC@KDM0B"r$QY0f +pMakhHQ3rJj[TF-T5kec6J9fU)q!K5CB!-2(JiBcd[[3'8K0k+qJMK$qNI*8)S)r +1jfF*X[)Ji%YlpGqKFIURGKbTAd!!!!!!!(TEeAa3EX,hk+mTV8HScdJe0%+XFDF +KEb`IJ#db!EH0IL"c!1`'H'ic19'm2Xa-KhSSjdESj19Z!IbaI!UcHh$p6Aq`FBE +(`-83%Md0`a!f*6TaCbqI-G%,VP8jAVeqmQ4XJ&kTD3Fj8caURbH!`T2m`8K%5d" +@@5P%!LN8%4TL8m1m@Lahf2V*2prf+k*@8Y5[f4j9U[(q5NNShdl8bQJA3mHIH@, ++,`ZVZT!!jT3Q2fq#AP3ScdVdebh#p86b55555555551JhTf19*q*[M9%adUXG)` +5RPhqLK$(-e-c$%pjh$S,X)#Cl$G*`C4h%%hj-*0jl'#P5d-Z$frFTbaX*#GLQqc +XDKJ[Gm28*0Y+jhFl#6e[HIdi@2()F"&,-Kb`G``K'YY,-"GDf!TK+Y6b*@2CXQp +0kePqb-XHH#5f&3AJZi!3BQKe%aaAfU+(88-ZC5Iem0e-bcfqY+YB"p&(5Zr'l6h +%KGKiGhCjJFFfiGdSXhfVp1SlL#Kra*D[*,J-$cV'3DmXp%'Z6LJ*mdeYC)FpJr8 +eTC-qq,jCi&TZUL!QQAQe%HmfH%VakI)!p1&mb1%!fX@Yp%0YRY+j-rl(DZrj,9J +lcp-B+88Ab&jAL*d+%+riQ!6)"65eUMD!YB"aBPe[UP@frJHGkh8-D8+[pD`kj+J +@a9QM`DT4+V-eD'fFfkZd@#LBBF,9HVNke+,*F)31V8XL2D9J)Z+E#fImqq`-eGN +%@L[dK0XXqLL#%hTS#C`h%ma$l"&,%#rCl554eLZVYkR5cbLilFN%l`eb3S2)f@% +hkmqZG%Bb"Rrr-kR-kBcMHRlR0#GV4YFPfR5breJ@cS3R`qRQ[1PCK%c8j5&(ikF ++0p9+rf,p9rC(#rpQ$k)E5FeJEf94rN$PYD1brNmXQIXdHj3!dNGc+l(DDIUADa# +E`F'V0,Je-XrXC9N#9$ZA`8q%M3hY,BC4(cmU%)*h9MpBL0DNPTDI4-*8r%-Mrhr +h'Y8T($KArcPC#6b5E)[5KCka'bTH1KJkrN$[*6)`&YDBFd05@5BbiQ4RZG#C[2e +)k)X8J0,%r`F5'A1N8'46%M69"ZP3(q4BrTLja'Qhmri24ej)GQQe(+UABPeap#N +meU%kL!1Z&[KR`&kb'4Y43Jj`&*1A[E%mm$22X-3"Q3A+HZTFdIaTiabpQC,Z#*N +,LSFQKk9b'ZrEUB%aP1L8CJLdj$)!l4iFphPl"`+CGLAPQFJ)!rmDSq)@K!fARK, +9[9ElGK)V5Q#rr0R@"FH*G@"+T9i88&G[qAcf9G"MLU2JcF3kqI!1YL9dDZNQL29 +$8ScqcX9Cfh$b18,fL'pKMA[8q+%QQE[&Ab&81)a1DE$!X,iHb*bVj1Q-QI@lAQ3 +-)T&mTT+%,G2J-+4b&qkqk(rQqKjGm$4Z*q!5&a+NG&Brab3!'%JChDYMqcK6d&9 ++(rT")'R$F59Gi6$8,E+QG$Ffi9MhY[aDE+9B3EqQYXGR-Y[82VjCli2p8P'8Hcr +0aQTM+L10ZJkM9rQe,k(G$$*8!!!!!!!!!!!"S",#3ID0V`qEUeabE3,#3P5F43, +dT@32jY"p5-68T,[60K[%&!j*&ILSf*9'90h+i2"ka1Z6eM+R0J-L3LhQ5I)Bl1- +K,SjA&'"NDTe!bGJ5BSJRX'cBJU!!!!!!!DS&8jYb6aZmMRp!heE33K#%)3K#%)3 +K#%)0dQAXliL'1-8Ne[(E1+,8Hlp9[X5Pm&IVC,!P8&D2bB1AS0k5khL"l&D$3E8 +!bRMd!Ek$r`(NM`'c3X'"+J!!!!!!!!!!!!!*-d@VT[H#5S!!!!CJ-p$lmA(T"$[ +BhQeNARMi!Pl8c*c33ljYZ5EK&D5555555555555555555896#9@kjQR26N2rHGA +fk(AaPj!!fV(-X"kBCS#aSRS+32"YR!@m-6`iF)Sq"kf"MifVVmG"HC!!Arl#qVX +G#+TK)5ifm,d"q49)$5pCRqFArS9Y(4*55-RRjbDfjBpm%SN5SLdr"%@9@6mN!!! +!!!(@KfGQIfA0V#Q[$4N`#JfiVYd6$ENNNNNNNNNNNNNNNNMUN!",rhrGeA%YCL4 +'KRddB@22,93%Qpf3!$Far+9#J("`F+XZ2pT)'iU4e0q59fIAVpJe+d-6(BdqPq0 +*"BkGD9!cqZm+c)5D8N4+pBRZ84Mr9N,R%mam@ql*aVbc"1(JTVD%9MlM3K,!4mB +-lFNirPj%r*8!!!!!!!%hEi0dCH03)iC,EKY%iNHU9m3&d4Y&be`+$C`j2Vk*%4` +D-Pjb$K+Cj`!bF',#Q34J@,jk`FD0!pGT5'RlK5dZ5)M#ppV1m%%DmGcFPlfd4D# +45a$UpYj`DJmXEF5Y*Tf[e4@iP!!!!!!!!$bQQVcNm+1DELCSpkSQ3V80Z555555 +50KD"KD'N-ENhR5,'lVQc1(rj!(SamZ2M96G`9XTI-'DM6ZBLLDfVQ`-P4JJE8m! +T'FcZXaIIJrp9CrXK+,J#ND*aAjE&G[dN*d"D"&GNFTBcF"b!0Z555555G%S0YQK +iCkZHS%NmpEriGQU$$fS@*`0P0R-[#m3eNIY5NEl#d#pBBl-kaYK`L2Hb1H8eMf# +iCBMKlKR0S@Fb#Hl3(HZb$8BLeKmZ4I)J9,Pfl1XKAD4f%&ZFM,+4eLE(YF,QKPU +R1bqN3m3"644@S'E4cQPX0S%FN!#cVF')KV5@0(T*%*2Zl,`BF)HAf@3"aqfIa"A +G!j8h[j'a%-0AGQ-LCf9"mRQM6p'ZEr!aE,rU+!5f`9A9aPLdA$I#G[Ah+5V4$ql +9dR6&3TV@3FXp,C4c`M(phQJp6c0f3Fhck#*`2k*Cbi4LV%*,V'N'T4JJr@)rU$q +XmbJcSfVY'LleI+eM"AcqD9F+#Z#C1Pj@qTSH)A(QA0b"iqj&B3M[+E1)ddqINQf +q-I&U+&&D!8DBC'&Ki@@!@9PFrJV@*HRp+Q"F3bra63%IIP%m(XB$#%[)pLYj3%T +hAQp3l9q5QBCqPj&kp!,jf-`-$dYY!T[MIGM@@X9h`6S1`JfJiFhf41$"HCd"1JH +M@DcJldXdi*bLNr-LGAJ4#9J!mUI*3-hGZJQP2R4a6q1@dPMq!$mdqS"E)9JIBU* +L8LUDha8XAdBU`8cEpE%2kjeYS(XdLad9$D,8,#QmVQ#pjT2$RAC(XE93b0S(SJb +8Jf$#4!ChCAZ!9LIM'N#qbAAIQJNl6'HKQ3+aXYJ+#Fd,NKD"!V&(N!$4'UC16#l +%q3[e'mKCDcjlU'EY8N-rkSkTb&JQrQ6mM#$SElPj6Yh"+pD2P`hkikF8l&GNQK2 +)@EeQ@A8NY)AZ3SZmpDe[""'20UhAr-DTMXUEI'0GmfKkNlSd9"@q8ZqaLdZXS`M ++@aM0fk)2hqTi$hAU'Ph20VC@D8%3FHNQ2AD8mF8(3&@06)TRD`ej*dEVYBJ$,MN +!L1r*$Z$48dSpUrC+JZbil9,L9LPbZmYiR[aPC)"lpeP,iA5NZe`$0)LMf%LSkHD +B5C')F@YDac'q,"M%HHN5J(B#KcHAh6afZ2#Vf3"A[,Urldp`NNBXK9)),FD%-fm +Y5Eqmk$"dk2d`La#)r64I&lea'L6*(kmrBaIV5i!ik'3SE,RqN!$'QapB#iJEe'R +!,q59BmD1a![Jj@$0beF,mMMq+EraBYeZ6VYe8NTUE&E5$[BpPA!6*lh@i"QqCiD +imYXF"MS8XH'99ijEFK)I,C6fB!'RHVbAjB2ArMTJEQaeP'lJVeCL`a,X!HScaDD +`XlP1fRLGH!E-fa0dN!!HP@2M1[&[-r0Na+m$$%G"epeSH(rKaq5ZPcQ-TpJh(JG +pQLZL-Uh'#"6r5Sm4mBZ)@HRT%1&QYZDRZ5&,39jPLQC#Ce3ST%eFZa[",i`qD8Z +5Hm,!-Lh3RG!4VTLlk50Qf&+YR)AAH1,@R*+kl'M)bDk0XZ2cM+bc)Gpl$Td&U#d +II8L0MAQdhQR%bB2L8Bk'j3+)2DG*'Q&ebNmr%5e2q-%a2qMZ$ERZGDK*)DY6ciC +Hr'Rjr)N9DplkY#L#%Ip(dV4BU-EP'lHXH*-Ed'&r-*M+YbfZUB%iHBD"D8CUCU[ +X#FSe`!Gi9Am*qAYEF$"j0',K@E(3ND0rhKjiTXJA!r1iBC6G4JihC%)Y!M5@l*I +(qZCD*MVT32+S,D5-#@2Uj0&ePbcAcaVV#VFa8D1"iPkHjf#,2Y5D3HG+lhU-Jrh +k)JfTPlUHM))DI(!XU0IDIe0kP1#GIaXK9)l1hKqS%TFA8S,QYk4Z*EYbJLmbi(r +!r'KBJ0T!IkH$)dpT4"%miqIjf4%YbRBkeM(q6V93ZTiiA*HQDb+([hAD&L0Z'"S +LNYFi$"CdD"L%(q`P!!bR0fJ5e"EGGL!c`TC(M!4G2'6PXq(A'$T8fH'c0qEV[TE +ZVa#C#*1Y28AA*CMJK0LNlQS&4#$-mcQVLd6X-PT+,NBAE5P&q8AcHfBK)'pHN[V +fJ0-i$6SE88Urc0+T#1-HJ(@h,@K-ilX*!aD0UPQb+KPJS3$NC%p&XbFI&K8em,k +H(`LFXXb`"%HNME+G-lKJe"JeS3b&ZEI1H%0hAdF'R6hI!#GQrR(DX1!p6)`RN!! +,JIMSlNP&3G6LA$Fa-cr-YcUFEA*jchA1ak5I!%YK*6rB10G[h6dY"@!ZL*25IH3 +([qR+40&&!CkQad[INdpCild*@C!!`KY0Llh(&d0l)2KZ+@AG')@E90XDCV5DMIf +54(&3)S@LLU%a3S`j0mP51AcU'ic6')kJ!0-CTGNVbB"U0$(S1YZ3!)X$1ipP`Hc +Hjk%C6*IhTNqRFL"DTljVSP2jH![Ki+[M6DG-D!AbGf`EFjLSrZ94,KXTZ+TR*2L +Y@-MTX5,Ei#34L'L+LL(dqbHCPj85XqhlRLel%eDq5hU5kT*20c3r[TMh-S-aAFA +0-!3EI414e*9P!DN%'0j@&[08NerVKRCHCDB)2iTk&hIB5%Q00YCc6PGdQZR*qkR +(ECEIJK&qKi6hIrp(-%LYR5'K*,6,*HpCreUX5c&D30e(ZIiV9+KF(GC8Q`I&9!' +1U9lRMq1!)e1E`(le(M%CmKqrQ1$rGP-3T8+!!6eN+'IrHJF(ebq[T)M-`pZY89R +Y3UJTFG`AF`)%BrE52-EYKN61"2hDJ8k*R6@L5IP!K32++3""*baaIi9ZqQ6k3Er +GkDPlCrm&dbBXX6%qQrK8!,fZXEHU*QjB*k#`GI&iBqMUV0NJe%p+9bSJlPEa5jN +)RQl*cV49UQIPYR-eISJNf18+C2mdf(hFN[6XjI[h8e&J5L4GMmKC"CSTEFfjX+E +@c5aBM4a4%R@Fefc2pL0Q6j&Z)YHRI"`ae5TBm5921abG-[[J1-5hTkjbFq(h)aP +5rHVXK#D(c3D84EK*ja51F9(iZJ%I09mCSc(j)a$Xl%mFdph6SKra3U+q#fm8IfL +!iSh8Epk*h,8$'[#q,hUe#hm0#l"SBq0k'c(Cc,9"ZePTGAY,"*q9F"CPKGCAUU4 +H%-96)"X6ZB,r0ihDqqF$a,'MS8$BBKV1c#@Jp['LZbXb-*rG6iXUAB'05qZBDY" +8`$qU6&T4")dXRf!5d3G5rX`k'-VEIFb2c[a$L--I2[mI![aSD1$'#Yr'J(dUFJj +SS4d8(561()pMT5P`Fm,!B"BpfS-GYmDP`'&pcP42ebmp(QJKarlHf($U'Jl,LA, +dfV9FQYNF-f*4ifXR%j@4%D*@`A&dAq%*Hm%P*qJ3#+h9B$A8NjJ14iYK#VEAkZJ +"H(kpQBP83Ve&%`%Rmj4MEL4SUj2[(Qc@Jm`f%[H!YA$2Lk-@-TS"r&'$(3$[PQj +ELhbcSd-`P$*P$iXL+@*iQY-fM$*D"md)Ej@eNP&Arhef1l$AL%Q`PGhffBYi)GT +@8(RRZ3fVlhR"4RaT&TJlpBf#9i%N&UP)pc*r@m!b&le!69C6[&q#H&X`(iE@A00 +ld+F"C%q0!*I4l,lEd1b#Y6#c@cTBbUM"XcGjLYm'Z!P3CkJZR9TL+9pXD@`r+MK +G#HMTj&6j1N*+`DHq!3-33LL1bN2L6'c89J5P9q'L!3f8Za6KTL(LV-#hGH0#rRG +I9,AVB4E'bdk#!+`b)13Z@p@KD`1K5@c3V0l9'*KbbF+PJ+8,8qDMT'3Gp5ffA@c +D3ee4&*K`UF#QR[dMT`-eSjf1D+XIh(3)hK8[dfcmq1BN5BSJYh-2mleqcXT4FM8 ++)C8E(S&CSA9frQ0,CBcMkcAXDNhk!6%l[AY*R#89""XJINHb+@P+`*3dQdM*,@r +9QF0)i'66(U3iEEKb4ik$+"510UGj#ZUFQU55[FKbc8d$H11@5Qrb6mi9lk*65Md +BLJ!Zq6!B'mBGX-EEphH9L6DCeE*r$XDYSL4b'Z!ClREGVVV[G8&RAik"8`NcG8Z +Vqqb3!(cU&8NFi$GqAeEXY$[#@YQ)JlLUrV,`p2DVXT!!%LYH+V+@FkJ[*c&P3V! +p5UJS'N',HEd9f8,SJ@Z)49)MUd)NYAd)0Z+fS#5TS,A5)NA`3HVZ9E+6'pp8(Ab +j"(SX(HZF%1DQL8RN"0H-,h%dcpjqK"FJ48E1B8capDBH$FK(D92S2D'DSp,CKRk +rGq6kf59#kd)dD2&cb2$r+bI,RL'48,C!d2f$MPc@%B[MkTUIK[2d(,B5*6`RM%R +[(SpMi*M"Q%mc[J@aae3JESpcZL8,irKFAVK+dD2"p[$DL48Q%@i#d(#RjK1f`R9 +I*SG'(KbDQX9Zf&Kl[lI[*GFN'IFQk4q,%*R!91b50-!A(@HB'0ihc(LGX!`Z9q& +mlf0hMQbUT*BlKYmSL@mI860!3(!3YS2mAD*-(#Lle+Mhh"@B6Uh[ba5'hp0'4k6 +'i#dd5EJ8imRH5KL,JrfrmGY!FbQqd5pYJ9DXHf8fmA)k`fUaS%J5IB4XLCGP(#q +c'"aB!Rj*!BU3!''eGmTj0$5YNN#&EPGP2++hILciE@JP["68K![QhVp4(Y-mrbJ +if+8$XD9&RMTmAr(J")K4SeG(0-J2C)2D+RHVHJi(JH#V2m)*[jrLDbY)d*VhjVS +3XUPTGFe)3cPU,DPf8IK2#Zm2FZjAk8BiT+Ek+Bl"+6eCmJ9#SGFf"cb9a(62mFM +B#H$[DhXdK!"53"*HmC2Bmi2QI`i2+M)Q&`JA1aflfTjqXLcL&5%E'XUd"VT@$@J +)T0&pbD2epeBHJa1DeD@[Nd%m9Tqh`pI1BXPmAK'0dQN[3EjKiNm"MDFCfEV,#lV +6!SYG+aS#@8emAI([Ld8(JMfB0e%jk1A,(f#+**UUaGGjF!6#&Q%#"&E@d"'Fc)J +D$QNUjL(abHhTQhCJl!3BM44-4p`"F9chb15r#3'!TYUle1q)4Y[BjbRR@Jb4l4[ +H&%h,"X1kh-'XMaAAY*k[I)reDDiXMliTdreG9Y[[TM'#j+Sjd&p2,Ga@E&Tbq)1 +S8T936#ZfQb-`C5d&AQ''Gk$b@KE[&(M!Hm@!B96iFeB"JAQKmJ+cB,`iNmX,@pd +h8eZl%Z9p$#'3!1iS+rV,#G5RkKqBT8UP6cm8D1R"9U9YLHkK6d*F-0NQL@P0cDS +Id,Q"eS-!&pBRE@31!kM5ecPF*rE`*D3#6lYNH,mSmf&&PX2iCfQq*mLP!EY@eB- +cS9rP,"JFJ*1!ei1pemq)Gq`pL#Lbapb*JS`@SHfYPjU+)@q0&X55QVrb5$M`@CQ +&h<hV16#)h`#+HKaY5HaPU9f9JLAK9GC3M@hp)H%bV6mGpNfFqqP1[rB9JMa6N +Z#2,"4SZISHN&TH9i4EUG)ZhHYQiV3q2%eZkPr%C'0TQdl&fe`(%kGd6$!rX%P9# +XHDEQUUj!h-4(!V&M&LfLFR1rYY,5Xr24l`j*a#'NBMb*&8KkV0YSre)[``RK2El +iejmEDUGY!`jDN8f+)Y5Pejjk@"K-r5*rB!Fr021X+I*jGD+2%Kql6VR@!(rj!hL +EhT22ACKGIf!6[,2%++RdjVqb'*,l9Mp`4!(pVcYmS1h$!3R26FRZ0eZSE+1T+F5 +Q0ZQr-Ip*EP*"%#b6(i-ed0-@SX5%ai@5[UB"GKC&G8$+CjNJ!8H1m&eUH`6[I'B +YH[@AerTFBjB4r,c%dGCd-Tpiq$SfBR(IqZ[!AmND8djY!hF+dERX16YT&`2KPS' +SJ'`5YQGF24)jQ@CmVj)amCZfJFVdR(EqZ4`LJ#e&V3,h&PZkYV'jZ,i[lqQ+bS% +0PDZJI('j@VTYMX"lNQX0VJE+9M`,54X84!C#G&9`pa(X@J(RFdI+*$+mXe1!$Hp +NpbRfP[@'hDILTHd!-`Gii#iBTYdmPj-D9"kHTbR#DEDR#46JF-DSF!HPQ#%hYZZ +f1k(+[U'R33bArbcE1LpqFRGNBr*$hHb[L9-Bl13'"BAda+riG&[,8U1aEm[MAK5 +a1@i(5KQ)p[6!DM'JJplq#dSU`(`kFTX%GrYkbCY5[abE82"V0fAfEC5Hj)SQlP3 +-BfAXkE+EHk5K12++JFIY`ZIF*ZlTBeEer*VXHMEKpiV`FH08cUK2GLd*SPQ28cG +i[bQAIP1663MAiV,')9ZMSV-CdMDP@[*@P6Q0c8lJ$eefaUj5&r#eHIh(FM0TPZl +f-dN[c$m2mXrL$Ij5F#!V[XXP&Q2,dl5PdcQSY5h)*X$I60S5Pk)XNVG'NM'DaqJ +rIJiI(!PNX5,KTFk18blqUXHjBF,m%!Thi4X)L,h@MKN!B#jHX1)$LETA8[8!JT9 +rR9JJVDL%(HDkbXZ"('h4U9`ZrbaH,1lTcc['R&3Ni51j*V*rjEHRR"M4Sb&$@m1 +'Yd$Y%kk*HFMhlqEG)V!V*cBC"RNGCIekIB3aRe2)U!1+9Me0(0$BqU09(YJIN!# +h-2F5(EaA409iiUY(e%q4D+Llj@F"9K!TraiAUF0mhj52SG$p5)[bZNE)rZcE9*A +4(SVA3kC%EhG!TRVJ(hT5%L,r"B1aY'pdr-X'iq+L5X&m`5EJ)%daTd%lqTm"AE! +@9,FQK"K15NDepZ5'M!epr#H9bC!!86*pdbkYJ4GhdcDFF1+E54"ir-`dEb2,Ep@ +If(86FdB0)5E'LSDhf1qXe*qJkUkC!`5rqMkr6A(pRki'L[QUH19)5Ne14J9'bE1 +*P[ZVpZ3F"EJf2ZEKQAE-N!#6I4Q6G(Xk4)3hqIT&`0G5k'%1%F3B3XPD4$i)LZe +DV*RRJXaUAja($h6*,0"F9dM,HR0j(2,hA%i&lKl5h(a'qENP5%H3!!HUf4C3YT+ +ADUq09TZ&T,6![am*--'K2*`19`bUeYCH[DGhp2Re%hSS,Y3[Rp4T2&`mIdT8ir) +r9NFSc&Ui&-C)%GdrrV-KFRL(eZ+VlPk+pS5$,10!fAhTr6@Rr8E&-l*%$Vl'&Tp +@kP'I8jbC)RFSPdaVSYR'-I4P8djArK6B)SRK93DY2rIj*'+iAD@,pQ"CZJ"b)6h +T9(CRZ8!$N8Z(cEh"Zh-6RDII-&pH60)LCRr@Hhh%3'YArfN8b2B3FXq#dqPU#!Y +$HQMT*$VB&[P5EhbD!i)1*R#-#HbA',Fd&JE8R")89P+`I#*L%"HDSdSVCZ$9ScH +V+'GAZ0ESb'!p[(K[Mkad+HF4CR"a(*!!KP`YaA(Q6R1STeTZ!e`HBj2Q(l0C#4a +kRiK8DY1#`N0J6eD1T5iA65cCP!U[cfDl@Y$h)X4NqC1KU`Fe,3JKJN`BqNXqE@N +3SrGqrbJe)DiV9f'NMBU`NSqq@f&k4GL&341I#a!Z!4B6b[9PdGS8K*N36hHk-1B +f"%ahEJ)G2+ZF@br)`)-545cq-dUmC(,ic2UT5!(MQk*Z*Ea4#E@6Ged&6,&Bfi[ +Y50jDqMbfJY3@*-TPX+HUChk-9[fT8l(R@630fPX9ciEDRl6H'fZ(("UG5dSK-Ak +P#[%B`D$VcSlYViVjcDJM%jDh98H-cM"[([@00FhH,Ma)VS)pEJLa22B6#BFT2rE +iQqe93YM**-&bSL3&LpM*CaYQVSMQ*)35q!-p49V"qdR+FKaGJBh,XeC+,fIL8i( +6P@c2C#$Yl`@#'dZ!qP`qINQr!i(e1(I@IE`dq5RJ49[q`N*M,L$!qS*'l9C&VK% +aJ%dKB9)JbB4rpBLP#l5TRlBQJ5ZHcGdm9)Y2bcaEHEG4D[AS(VHMQ3U*UA9bP0& +(mfldA!6Jm+8DmjA9#9-J+N"N[r,3D,KZDpKl4R[$Xq)lq)FmVX58Ia''Y5T%6aY +!b5`pk1lUT)m0JNHaQdpcBXTS1aQ+,&K6d@dX"$b#FS%9#$dS'`3E6Z28++Y-F6Z +E6LVr"(9j)TP9BpA2T423MKIfEiM4MZF""eL6%G)@!eRkqk[+rEijdXf@5MFT%+@ +022I0`GJ,lhi'VB!rF&E"&@#[Cai9[N@+$J4Y%"R$Z,LGC5c[Y'Cd5X1[ZMIQPDB +a6M!k9a-'S!YhE8MQc!q@mY[0QeqT2QFBZ#c1M2ZrEpIh9Mf6UY5jDlT,FIK*)5L +CPKU"$8*M$prdU+ZKD"4L`jdjqk(38elqrNcSD!I`JIHeqi&,iF-%j'jEkVLH59j +6MJ(2FPImSY0iMhd(T8G&@)e9Lc,R4pKHA%&bVKb+TFBqT[bMemEP3F,D2SJIU`, +`MZ3-e614b5a"`V`QraQN5PTNTJP)IS`FAXD4-'QBX,4'V24QK'jM&XJIQ`%@liG +dS4l[Cpka6S`NPBqiKVhT10G1G64lM&2IVr4)jemmSq8p$Tl4I"rLrVqLZ3iKD,Z +[aRpp0p6NaUpCbCerjX*mJBhB#f4'#h$r56+@qaq*6hE051EdAhb[IY3eN!$+h8D +'6*&BIR,"dl$0Ke`kR),Ka`mq!KAPp1qj3kP-2ZT2PF+ilZ)B9m#iK%lr8A`#e@f +h'%LrS2PUj$-i(SIXl5mRZ"(!*E&V-0ZASe3QmGr*Zd)mMSE'F5DlKF$[,[`4UFF +F-jQR@Aq24Mf*HLrARCVRdQ(&#)r0FEq-Fd4%[mVmTjp-[mpGB)*%4hPc4BlSb%! +V0'!@@Tfji0$"43TcU#l54BPIMV'5fTb,cZBf`Ck+)[@qblh`l"ERSRAVD[`efr9 +9)Xc`G`KcUKZ#JEcA8k2dj4cC&eb9'mZjGQ+V$*JUA%0Zl8bXF9&l#K3V,`kk0hU +$G(X3c#Pl`QN)4NQRk3ll82("iYQalPF5FYCmFqcFJpA@dirk4&!P)&XiPXMbP$a +SFcUYP'c%YZ@qNBHUSRQT0i`%Y[e-"!&4@M,DH@i8i5G%HZ[Pm4A9MHDR)lPh&JS +I'`L6LcZ@VKj(N!!b)rf`@)DHq"ipb2ZmELGkF5%8Ae%VXFF8bc42p-UrQ#5PqL3 +k2J-PNr%EDP`ETlq@#NH%r9RU-LUEF`RVe,bRC'rk"LTY5Lb8L9)UaGZH9El`K"I +PM&qLBYD[fG[)SiXTFj*kI*Hb4cGGGh,p8EkKIS2%r'&(EDVY4CR!@bCe(,J1reL +'&36akNaZpk[1ICCT*UlEc0%j$H-YbUQF-PK-Jl39jdFPkLZRV&cF9Kp$Rl##pdS +#-Hd*a4%$dee8j69d98-(YZM!M2fYRKmA,*!!Fd3RVUmjqilUVLa*ZLqe*)f1irS +lSI+-L5q(ji-M`0mG%b4b"KX#Ye9Q5chbb%P8T,Zfq0A8YKAe-mU%RZpc!1!VURc +h$QSHI@RiL-G44BMP4ebk$+cL+lk&5R3Bb3NjZ#4(@1Bkl!ZfUm&4"&0lM+MB"Qc +ijaD43*,m1qCcdLNQ5,$63bB'G6aHTM+3!&bB21J8GG44q1HUQ%%,RK6kNacQN!! +l4Ad!a3$+DCXdY,1qq''59jLTl3C+3&'-,-HbR3`6I0jUhD8SMffGU5aR,-HX8T! +!V@+4fSDeI[8HFQK8d8jPBfa6@-ZC[c51jU["A[bcDafd%E$Ne#p)Q`pKRiI"MYi +p66'&,fVpD!2QUQrUKb1eNJQ+@cq'hNmCd%p`"Z2Dr!,hV-4h6Ebc8M2h#3'6ZD5 +G9$#+3D-+c%@3!%H"c6ZJ*!V(VCe&,RM&`E+-XdD4DQkCMTUZN@Y$-+jj&Yp5pEQ +Me0+pE1!,*0%FA%*-'-RqpL*Vh&EL2%[9EL4DKq*KM1f1B"TQjLK!FdhlCmXkeaF +JPUPkD'cj&U@@Z6Chr&`aYrk3!*AaBB+e2(*5V'e5f#9$4!&Qfm1qLC!!AGd(3q3 +p2ZkDQ!3JBeCX@Q,'$11G-J@I31lCeeV,388F80VH*AMEbJL8[&h8S1DH+20rR+i +8M%#T)E[1)f8NPq1kEmbSSmN4`Mr44L86VS9U0J"i*CeRfNi1XpN@HH(4$Bh8IEk +p)ECALBl#h16BH`AD&M)(6CRP@Xi6N!!L[Ff[E0ki@BIq@&R%)UGfmr(Q,Th@4Fe +d1&pX3*Z*&E+BQFDaj*P4K`R(XChi3XMP&eX3"KMc#CBl'QqE9kZ8%YJM-FK'di! +AFX#B-aTL`,bICciID-,GPBC'MXA0GAjK6UAeSrkbFc6l0ImY+49fF5-[9fP0,$* +$S&0'[kN$f6KU&qc@+`*mjp)""F9[i"dikGN1`2mRakXFq)eULE+A`f3KEr8MkXR +YhD6qCC1AC+LmVJGj3Hr2A'rKr$lNAP8ed5$+q-GF"F[3M(m(hXBC(SV2!YSFh6K +(CibZ6LdabK+jBkRG(0X'i5N33`lBCPcCEYC8RqrG$F`%SlkfD-UJ#ApcfU6Sk6Y +`M3E'8P-N1A3ULJj($fqXM0MKFBd,6p30A1X8R8ALQNP4$q5PrGAehaP#a"rVl6A +FD0U,J8&+LqNpjVITDJRmM'@(dPDdXQ)0(p&5fmXieV&ZpMh`k%J#VLqkkZfXGeU +Bd(k$pcqc+DLB*k'(2H3[U1"d*VaDXkhNhI+5LPfjQPJcjjfSZ0eBD0SLASBM(cc +VaZ*f&8`k6JH&k4IE&la!'MRPq"crC+db#G`8$0kV4[f*A6hMP!mRE*B+bFFBU(M +#Hfr#hM['iXY4A@L)VQ2[-T!!$I#j`jh9&Ce64dABB8FRASY&#ZK*!C8J,5+`)9I +%Y5%Q(6ehR!Y&q,6Vm#q0&"DK6Vf[UfM5,-m3VSP2qq(`#p46rK2jYM0!LEUaXPh +KPAf")dFkKCZlZA@AE*8a,3!c5ME8#`E(T5326`k3!#R!V8h*VrE4UVNU5F6(pEa +*ThYE#0&ijkRV$&Ri6aQ+f8U6LD2d(6qi)@XF0rK'U8AJ*X'!Y`&T`@+EiLb&5)# +$L4rVQBec$pY"8L[,j0QL-+h!epHGk&jj-mGDfZY@1ZAME,+(mTHmdf()F[Z(FDb +)bN@1Ak62k@2&3TY"@cm[Lcb3!2+Jr09MAHi'bkLZd$l!M`AcMHlU!mGZ)ak1RXD +@bji$36%ckp#ZMG(e!HdSP'mQXpLJ*f+Z`8Z1Tiq1KM'(HXIe[BLRBj[)6+-UKMG +S9hJ35kPYiG@IM&cp-1KD6K5(4&hlrLbSD4aULk9f"dAEEp!*RiFYThFZYkhMTe9 +52C2GEm+41Y-8ep-Yb5!Ia"*SV8f60`@$6jj+@k$5U3-6LPcZfpl*E4NSbTLLQ%r +PbN)@Q(jAh#'lXeZ1SD3SCQ0j%%cAh--JI-%)(J(Z89XlBbe6HlYrDCIG8e(VDZk +BrcSKNmEpLLVY6KYkfD$Xjh[[3K"c,aAEDdE#"EP-2SH(l2BUmM,@0J9I'KB+!lD +J'L8Xr4Y1VU4EX&$MKM,cLpcSe-!`(*YB&ZC4qU06AaIFIjZZ4M!*2"c)acACME, +"m$[XS'1J&,S@*hI%9%i09m4A[B%L+PAK5kJB-J)jIIlk[h8"dGB+jlU3!2-H-jS +8L#HPXQk+j3(9p!&8a)ITB2GGLrVMXQGM8P)l1T)i5&+2#dHD(f@k1NShk9&R+VH +*M1`TB[bKUQ#Mr4HckpKr+I9%0D#Yj4f1"`RThl'MLQ+C,j9!PZVCd4AVb9RIrpN +!!!%!!!3U6!!%+8`!!!!b!!!!!!!!!!!!(!!b!!"TBfjc!!!!#Vqjrrm!!!!!!!! +!!)b,: diff --git a/src/qt/res/icons/bitcoin.icns b/src/qt/res/icons/bitcoin.icns new file mode 100644 index 0000000000000000000000000000000000000000..a45f77216406d25bbc6e28ccdd41c55fffbbceb7 GIT binary patch literal 272712 zcmb@u1zeTM_b`5L7x!MeOAN&B?(XguTM$v~yq9iK1W_^e6!Ow~KJ{`0jdhs=qH~omzDsEMaw9Mz zdd}Qw0onH&+PX=H4*yYgIZRw&8EF3^Gmmt4k_YdqfS&x=r|Hv&n$JH732mqb*tK(o zi`TtdyQPu$N`JJUeRPJ9O43b8ck8J=FMiaK-T7_dNM12+-zj_{4uM}%+P2~CWN@OuzOyy8q3 z-XU9^&z^So@xF66G&pqes)bk9uI~m&O3RYOK&%*MO_{uA{^DuV2TfV7tg50W0U0{s z3V^GnBB$AJ&|nE@GWAuK8IBzwD=$wb0muQFvq4LSMgzX0j*_+nF3vVu?@{&rSt!8h zCG$a~IM;B2ePGz*TbHb7tz8YYW%H(+c;`Kh@Vt6=mdObKRk3Ky4(CgYR<2sG+sctK zk&uXr@8o-~+xQ{dZEU%)%jfu=fY)VFE@nrU8}EhX`dXI)0$-FxT{^OF)}|Rio3_pB zQFv;&>se!yaSP@V7$sx07B>?FK$Hfk7)W4<&Ul?+3#V%G7_wi7f|xtul<8WgYv8WUz3Fxhkq&|okb9C>9K7L7*7Ni;f(!4Rn_i5UP4ng#F~Vht4$10OhswXe#g-3_6XDj{&BPth%NG59d;l zxjd$fyqb!bOQ%a{Oad$!js=df1Qq208jA9=LWF@R(CFfA6UJ(DWn^$E5*iCY7Qn(9 z%qAQ%qM!ga8U+v=&cMc!!@oxFvoO{~GE(iJuTOMldg^E5Kw*K+IzQ;p7zAkZH$sE-OCmJ_mz z`mCU*s~}d8gGrys96%H|KDu7=z2(~xa3Q+b&0f28&0F%5JOt}hklVdO-NefJ?5T?f zMG!C@Kxp@V3y*>V;ABJL!?7x_tf|k73VmkTgDwq}$1ReChF|R8yPjW*#qrd74;WL2 zpO<9|Ld)>jhrW*jA|gUV14E*0K*inph<`G%h+C|<`H0aPsPqd;jtCA44YLMS#jMPm z0dvf5q&hwc^bb$Ui2g~UBBGEg~Og!qtyzDo`tG?iYx8=V*u5D+CvfG6gl zvAB=QmOBZJ7L+)u$$*M z@#*8Gz%$g9v5L5UJwUC{9FU)cE7YYRM~HnyYOGIYvd46t>(5ftGKwugBmy8Lk#u)= zk*?0JZYg2I(agfi9PDG$2oN}tDM=T{wveuFlu%EDcP11Uy(@G8Ipn9u1O-%AEgW1D zS^g|3#RAmmguKIH-QDEVSL$~c@mV)B{$u5nG)qt-_047FqRfU*Ut3!(fHi07?0q|pEkH;rzI6Fd(0*D| z^Yv#N!5(=<89m)$mLP-3X8@SJZT#BNg&oi->6UcKcYgf-<44<%_HN<}VBXN$k{pgF z@yM{SHM$l)qxU3moqB&STQmlsLa@7uULwulQ_$eE{}B z@pnBVo=1bJsy+V=j zkW?KGd!ErLGn3t8u0VG9a4DhQZlaKL-bbDxt0E`YM@w_WC_Jq+a3lRTon1F*@aWNl zRRwGgiy>6f(A3w^TDr~>xI00A?Z(k8U|0YTg^+B&e%c1G!W<-Y&^E_|_I><;Qzjc$ zO;kZ;Ghy1Ki5u{FxcAq{{yWjRb&YS*A|KvxC225p_JXO?7F&X<4cvekXPmtwA7y1m zKD_SkYGOEU*~;~+SK~p$CER%){@}X13+SrP-nMS>Qk>vmzTvR#{ls@|#W~Mne6PE? zP63!@eBj6t>?35#p0ihcAHRK_9`(rUii^Ygm3rHbo;-C5`{ZR=8vO^4nmA+HoY~XI z+g+R6ug``9XU)x}c%H^h8@F!7COl~k01q}Qa5wEaXyNSWjy*y#S6#I)p0slp&Tj!2 zyZw;mWmh*`ROllg|FER2SNSznc}W4Dm#;4cm|}F%^1v?aTsU>8duVK0Zbd`Q%f~@p zcBjuzkP&SVYls1>^}xDef_458>sol ziU5b*J$-^>Q?s8&Kk~3Ucf@p(f?)d6MT;g&fJGa!Nf{Q|fok8AqleBLFlE8yDO&-R zr1C~9srQ*T1V3h>4bpV#y9Goi8hY3OH$w_$BP?hl2`}QBu zcj#mgp^dHDQFNLuyiI(pD=vLV1s_z>MBAG zS_B*!wSEH!4zU3NLseHp%%ZVG@;oM@$WYNx*U&*JjONH_LY&M|Yjezj#p9_e%J6JJ z!~?omO?&dVkv+By;~FqH945`~|K>>9gCdOsG&Ue?mb{uwpK(Gqlfl-t0Cnm-jqEQ* z>CU9A6~3GXb)sktI$gmUm^3CDIC#|1Sfb-;VgY_ZSHrz#(SgYUl~Lno%%3-HWM6rP zSe`@UG1+3-p3@|&&fp1o8e^tU7_7o&uvoxEKs+{srDF*!J}`Mangc!%U=G^~5s-j< zA0QtFD2n(hGE6)rfWgI80^JT|XdIz}Mqf>3c^pfVqJc!4J<$e~Xlxld6-{*| zS!y&cnp!TCZVL)1b=X`Ehs~t3>4>F}hX$4Z3+5vAMUx0WEl={Sz3 z#6>80>{vVwhcA*>R@K&4Q<4=cC?ew^y#Vbtlu}3n>{F-uzB8lYbJdvz2Ftq{R z7FYZDFC4|D;a1_onYaf$o`lU2@CFSW-ETme1CmY(494KT90_od!^J{2i-~41oyO)O zBs8EwYwE0t!v^%xRFM_S@>z5jbU0LWbrkt5o}2=oiOldD+jH1g{yVoD_ZYOy9)lMC zYIFu=KmYal?|=Q#K~duGjfVVzJR(1J)6P|6QRn@{%z_@;;RfQ9Tz z2L=KBmQxN5A*eL6Q&}5sc0&8aH=PD4r!`{@=+! zJy+&E>G(;?@SGTSlUsjcK!cH{hYlY$J!siRaK1mzHzFhp8SfADVo4`KPZz;=fAf|_ zbX-U~S@1_cdWM4ydfL#T!&LE?QefGLCKeNbrAEv zzEjfG*4Eb5qgo$aKG36Zz^Y&UbeKsYhNxp}Z?D~l_|GC;P1}F<)1dE#^A|3h&!fy? zY8z*xwNXVr^+S^U#Rv@8N!mNHeIurL249hYUi#3Oz_IYV@AJSLkwzkPkx%^r#N}i% z_79k)i`ew3|M~6vw;vy>sw z?w_2^HxfPmua%-)L9x88ZC}sR@hHRIlgaoSWtatL`E6&f1D(HiVc zz~TJNeS69YsZLGx4hp~I6&Vs191`mcx zM23YvxEv8>2j)bh8}@E}>2Y`2B;5l?=8c%N@{qOLz3Ak~u;9fc3L`9ucA!gO(DvIY z4`EH{jf95FuSo}KFh<2RZRhpJF%h95Au;GErr1G06rFwDBYZ}$^}h8eCI9tfzuVrS zPclNxm)RvoMnpuXS0*JSX4pet5~ku88E?MyW^6)o+OwB$US=gng@py&iAYX~kBEKs zG9@xL+Xe=pfFdv~=~-s%!NV>Of&%WkTAJ-xG-33twcAf#jeZgs`0iP9#AB%=2#5LQ z=VS%goiJK60zk$R_#znVlInB0GB>iD!izzhqy?L=czL4p65vMsT>q4&*vINM}805g2zlGxa1yzAJVFfyNtB+uhds`ODYVHfcL_ zNxEg)ZXgGmg}i*3|BB!cRv+}GNSA~#yYXmuO1fkzSL)~ZM`UhbX5s6%Z)<8CpbsB4 zVL{G|7dbC7KN57rDEG9pv#pQ3=x%yRabik!tu4kz2zgV59-*olZ2C@lbJWT1?34j; z%_`3?D=ztjgVY9U9b9gRgO*OwDet*I&g@S(1@wx;>h z*W6U>M(?l(77F4sZ))p`tEwsx79QsU(q&H6uoM5IEs%vT_)zT_SwR}x&Rr%L%$B4Vxgv^G<=H^e$%??24j~;I|PBKAu{N&L96;8x%FF9NfBW(M+c%t}vu(TGHu)X9mmWQey34iUeMLiS zTgT5IKWvc;$P=qJ=?`g}+)ukd zto`!iCk8ETfnD(O>8CHBzeqmQzJ8Z{lYWwReVNixaft zC!{AOr*u!8lPuj`)N}~FMz6x$*Kac|56T`dD9_mzEfP&&HmVZSqbGN{NpAX$6Y%09%%rC8fpq zdR;!XRHx{;iTx!d3y=|?SiV&HC^jbhX>w$|73ias>0{-;fBoKL=dEr;=MBmt{d7dF*k4fnmT|E8m((EGSy=l4c={j*~|Op4R>dA<58;y zW_lMioW2AC&Iynie>k9o7^|RN%O#9eIW7Rk;yb{nw*I9Rng}DAH$lJ@tM?l?c#sxi z$4G#5;L+F|9#3%sXe{*sz6&Aql)2pDL}cI$0y_Fo{C%Us~0Vqj92VE)}hsjtq-<^=!ZD^P4D}s!khKR#JCs9SEzXRwofUCh% zK*vaH$r-0TV>MND2k0ov083p(Rz|2Hr>&zi9MuZS{t;8AE~O1zylVaCod*tVUpi%| zo|+t+ud1pftEj83r$2BqhIi!Q0SH#@KVUXQZS;cW^T+6l8I)T{=gO+6tEdm^t2bt% zmLsrb*PS}LXPOAN2_rcQeRVX)4eh_e5&9^cgdvL;P8p;u)ICZ(kL}yFW8)+?Ulzo` zA2<+I<>F>G5HH zckkVB+lT^4d(`yVQ)h*3z{j9)K6W=SIj`b#b4gxiVz}S!YuDVbsxGtcGk?aSC5sjr z9z{)p-pD+uy@yZuASc zoX${deP~o|Kt3sCw_Su31K)4K_TL@>-QYkvt@^=EvTXN-f-xQgI7ReZuzH%%D34m z(Sdi}uU>U`lmMsSz5}L5jvq6#g?@;@G(+Qa_SYXpXS~i!PmJ`xcjJ<^i`(4OgBYCE z`;MGCedgpzTq9FiLq~7GpkX7&ju|y#*xXgj%Trc5# zeH2f-b{e0zwzaXb#;G#;!^TXSF@Ndmjq6vhSh8T=+))dcP>(e-+;v#u;NtAyfOz;m zxZo2Q5&z^_{=2fe+QOWaNZ(s-_BOaE!JPeuhow%gmmM%n&!)543x%?jmf3Of;suQK zC?W9=7+w!-o7ExN$Jnul-1T0<~)w{y?M>v4r zX9hSO92%FBmG`c=ys`d$ZfdmuEm!Mv($iAlOg1*Vxcxw%@%Es%?8eRe{-Lo6Z|WL; z4Z31|+VqH7{}Y$>3{4O2yKv#OHT0!Zfeh_|0}Td`(w>vkT-OWkiuD;2!<~Ek>&b06 zaNw}S1l5d^wyLRa-<1+rf@OC-QTz*kCQH8yfo8>{aKEtQ(_*(J@f%*KfpV8b*eZ^g0Im z1IJH7RfE|p28e_V88Oni-}Ln+R-QrekJD=ii5$a238bi^quFopkl{8x=R;xk+G)B% zI!m$N=ot%_uUs@`u$BTQ-Dq?+PpI3sPyhb<4xo&2+ZiiXFP}ek%;3Hn3IZliEQ8T0 zngqQOmV#8{3dpj>^73LCE|bkw(vZjC6ZQdHB1@AKI-{38QNOGcX3pU@9m&VH}SqBO_p3 z!hk*|J$W3az!6mGLSS+^Y&MG{8g*D-5kq4v2Azr=N-^k^0%|gj7-d4$ZchdJXe`_j zsz-|mXqrwSlwosa#8g;KQ%y-;BoW|9E<=JdFf4*YIhR12BO|M*s;R53))W6?GWa|; zaK#KXj*(LILC&DfU{nSR{G(`qSAd=V6?Wdv8`)rJ)G7&Az=~9sUIDweS zrLfcLqm9uyF~XLjKQBeZ@Hq3hY$uRsP$5MnHBEIDMOh)AA||pPWjNqNTtJ>iXE0f8 z4u;+^7>Ea!#zLOuGBNsw$g3*eKuR!}G;`pw)a9A@9gPAiM`KWXia`b*m&0OW_zw*i zp1wiPEaV?b=dhU=loZJ+DywN|Yip<~E69pu<@0Z*$35?x82+7dKiP-{~=Lnypu zsRuLdF%!aJbGQN#(pB{r0I^6xcQE3Bq+?O&GnADvL`}s$#d3-&YMMGanriqMp@7T9 zYy^@Bhfw^%<_d&jdE7$nUjz7W(!=SxTa1e445}O)? zL3NfR5(iCMMcuy!;AaEeEaVySAJTk2=ok!AQ&OU^2ARJ>lk@_k&KDiSoJ`riRJ{O` z!$<6te#4)7GO~>Xrct?lOuqKWa^P|?PJ^KkHt#p8D9MX)Q<)fZrj8_rC2@d0qJ-PZ zR_IAJ;8w9XT-+<6SS*y`Bdf7+%f+~Qj78xO5f538!IeRh(zTs1JkH}|Vhv4DH#A!H zsM8|BOczT=#24x4s38OLghF{m6=kd<5D8HHVJM!iHdkN;N@%dMgz{pMP%sMQgaWju zF-xH!k*CXY>6Z~0k42|5`651B!ju40Q32qx6Bax01lG6-h>5zIIfmhT*+xN8Nkwal zqZ-2%C!*0aYs0L5A{-=Ou(*7I3?Em)pkJfpj@I<$tCr87F=2#3Uo90`1tsbb(7kX& zL~^ns9t-KEpibohJpL(wZ~Yg+yT2z^%tLAV|5L;5_`h!SU*Regy8jomdWJBBvQ#1g zg+21&zc=cXVHF8xI%m72Ry2RAeH-tz660!Arr=a$mh2Bkz z-wf)oP~ZRFXfp%zq~kcpFDx6ZHd04MNkd&ptUAXct{DTDPbU25BWN^*E98UMx&qQt zT~>v8{)VcYKv!GGfQFy#r28_L5^Vo$QqrAo72S%J0-Zha5{!ysqoM~Sr_X;(K$YZ4 z+FKHRW1qh(dH*)U&%tEFvQ>uX?&SW!AaTWr|CoUFNzOkBX|H%1Xt!$$>(8fiMtd~3 zcVzTMLGt&8J39GN?6YT4&YK7G8Eg(ViXTy&AFb?Y-uuttc!vJ-D=H$2?v7^*NkK#T zKN@c4fbCniZ`--KKixaNT=0*JV0PD&|pwc(+|h+8m1LG$!LmuM%K4= zk!yb+PXo=oo{;*Pk6jos*ZJE7I!ydQ`R9K&EW*oMMGawqDK4giSpSox zLuX8#_Ioqv(YTn=$imfhk#ZDv|8x5lv-a-Alc2}^w?_YG>*?i%VZ;{~)J3NKZ8UXM z|IvCV%stwGn~uYad(P`$bN-_LpWjgk(O~IEgx^8V{bRi>gCT>dHsp^sRIA5$VZccW zeElimpKz!@SV29hjbGu*o*YNpixmi-1}d*Hb(3@ZcZQ&WQc>^tKQ{oUbP*#QM8|pu zQs27oANc4_n=)m})TvXw|JdH{?sn3sKxG0Bk&ccQb!zkeYQJO#4RmY&I0O_Ck%1`o zYbSSqM~9lm=28u-%#eD&S_k>0Lc!mT_+uo78b$jhh6T4PFnIU=eewHmy@v(!KAm0U z4344*gbA$P;nW<;!kPA)l9X9Q0 zhYufGf`xz7hAEekL%qbIiRa$?Mm~6NMHlej8YL8%a2oS$f6+$g@>kOK`Z)UV=u~65 zA(asM)o>85c3peMS~NC$8>J5>_1HY3G^(&sbb`yW;3@E%&f5d2w;=myXUKt*w|b{8slW?QvGomu~Xo6r%OpQ0h-Q$Q?}W$(|zV zF|z)xwUgpg>d)YT|DwRC=h1Z+nb=4DYm4w z{d-GAn%i1*oc~py_Kd__6uJ~_IW--t6`)Z{KqF^S!rjyLSTug98JDLc+rz zU?lfmLK=Be4*a_pKdis@AUM9Z{H-;}cwKYx4-E~AN_-Tb_M{L7j2azH*4~aI-Ht<6 zJ6?a}8|dfjhe^3RSS0z{U3$VVBs?}CG%4ye$TLOZTg8uRz{v2%!+_w>u<(d*^Du?b z;NYOZpwNi)l&GNl!QlxcGB*ARurf0;Q=UAw0v)<02C<4URvsD|6%p)v@74{E8@C^Z z#HFM@Ns7mmnj}~d5=pG?`GrJ>hr}g>f{K4>@`(_CpNw3a+U&P9+6A~96&)QDn_&(k z#*7v20Pqa-y74ap4i5_oTWuASpC*>262~kBg3d5D^{sIMEmd$*ld0 zfD5UI7b;qV7Sq7+*0bD)hYYXAB_t#!B*fzagE2N97#tH77UvIx7RSPg+c8h#A|m`N z)1H=7I`(l;##7Q&80YVMi)af+=okR`8JkPmq=W_Cm|BvY{BR6{_M2Ch2MkUvSE-3hhc!WMpae7v;*cHRGD}o-XOMo}? zhVy1=bSy%U#0a7&%$^p9#l}R%hrqI#j}pQn+yWC%X)A$#(4(W~L674@V>0p!3M(2~ zzPEq-SXWh1_Wt#=_|U*d4<96~T!L;T4ThcHViFM(7aJRcrM8h_A)%3>A<@A>iOIe& zw@o~D85?9TC&nZk@lN!^!ibR}VUqPH?#DmP$$Rs@vf(q@ogM=F1P)|FuyAo9T^cG8XOc6;kn)msAhP(D2Jb1|1Ek zi`=~2+!r~|v!6Z9NPB|WjOfTP&wWl2(Ka#M=;+wQ_{4<7WPg}V=L$hK=y_ho>VUU- zjaZd*G&;Y$?B$b)pn%}W#Ppn(ZwreG-xa)hm7n(_hXR(KhMb&|ln{%jAutrl85<*s z6+}~Oj?W~?iAgE`=$Ue4pkK<1g6Erj%HK6!0T^Z#{j##D`D0TkLGG`26T zscYB-U~tGYI_vfO(y}s4pS^qYGWU7rlY|Jr+pd-;_ibD{W8BCQBSuY}yK={Id%Vc- zBso4NRuV4=^Y(l4I3XoDBB@bGA%+AC6p|9`5 zyIyV%7tIV;PamqnbOseppIJs%Bh#KBcPA&@vI);hN{oAwmX_`h3M>&9mKT&3eR^qr z{L!o0=BAfU1{kqmDQfrat0lY&j4;I4927KGUrxwKiBC!oF}BJ|kBdvq$av)keQ5L< zJQ$x*UsC(|rN@cWmwn^Xo~9>+-1oFtrvka;V`jO8aDhCTEn=e+Z;c@?jNi?xz9o== zT;G#nPg4@oGY-#-%Z^PJZO6SjO8`I#K_yW zN4FlB!eG0B3S%1(0mv*q6Pulsl4mD;loOYd`TTh>o>dxCEYE;J4%yWWjUPTX)szEGLMn`hDawkJ2k*;huxhgV!2Z~dHv~wxJo@Nr zfT3BO9(W6^v7fI7atWE6GV*it@+Gfm<%QwEwskw((%$yds?F+$T^sW!m58>&p<*E% zs<>)Vocr?St4BF+-xh@e2W!Hgp;g>%)n(mj)g{GZbUHrU5)C{{-!(jG2S3;2q$<<}mQ(CQ8{Oa&q$vawMp`?iRAteOku`n_FgH4k~ zqs*sHf>ZHd?|fk|-V~7$eJ?B-pr_Rw&n&^2toQkEN=mDPfGvYu$16#e{g21vvRiBb3&J0MJQs(yd5NT$QCj-CA{bb@mv0OPnj=bxD!sd(EQv zMMZ^01&v7Oj?RwuR%Mt2@&Aej)@YO?8q2}tt?}!MvdXH8rpSBEt<`ltD8>j}M;&NK z)ze^!jCqH!(+yx1QsF<=L%NX;X_#&q4Hr^OYf8(jq&2JujdcwTjSqmKLP*k85H18b z)qo{8f6Qk8VpvHx19`p)XRCti%}XCkDr+RQ?E3NtgnYndF#{i8`uyGYE4#JzYwM4$ zPHBgzv#s?*d-rcV#Oeiw%-D$mpgcR^JUEYfH^BlAO3Q}YKOpwA>kil@}P zlhM^l-3O6$&=DI+7e2mc(`a3IFgQq+n)1)28*NO%$LHtq5o_ z>5z6=by{{8KQWp=eg1L}I9wQ-R9Rk8;aF}} zW?wES&Wrcj1CUYi`BOX=gR22k*Wq(XMRi@n$L3F;%v%^AKen{q#WGMCl-HtrvI03V zy5xNVtCsJ)vBnxRs3NtIu&lPSw6eOsskx=)^XD&L@c+-BaT1%Z-Be==45amXLeeJ@ zqBImExtIx%>7UnFTwYn*@BxwfVve;)wASz0z{ir#u*otQT4XVi4KeDKMP%bY6_r&~ z)i!=?!J4J7@J;fS(HQ)-trU}d%JSSxbA=%-MI~j3G2R7g{fZ?;=HK9ZDX6X5r5b%w zGyGFgacNl(a$mlF>$%DEL;4+ll!F2xGar9I$$;H8^&dX9VsD$|Ctz_CAard#y#Dg0 zwg_cwDRm?4LrW|6x3_n+|7>f+`#@!Y7w>kKG#0(@8GuV^`TC>nC+2=qv$?Fg zuBn+KAX2aeK6P|{ybH|H6`@qoFPAzk_<*i1ykbLR$iuAWDwIID8@L@`J5BfC!TsqC ztZ6`6zPDO`y@BOSf_4fg>e?4_xCJU@%8}-R-C~DHf+SBW75hmPI

J#2;qYg4+O)17M3*==9D5${suN2zN$o_+}+L}Hze`&rAY+bxfimJ^Tr*fzwU`qB% zJ6ZS>w^-W6qU2RKYV}^ZE+Mq;PHT`q0h2yb+w#FJ+8o&Dc{%CB9PpxjbM}=Yst+!n#Sif<@#tp0X zXJEP7zaV5mAw(qISm>9F3#6eL#e}4$ikkY5&yrgkn(97%dfn`eS1lykDl}(I1JU79 zPvP4?SJsOV>Bb_*uXvbc!3VjhzP#X5eM1A@-s@_K1Rjwaxrz-LSZIeT{2!F*osSV5 zywr>~hz?wCF0HDmZLF=UuP=VvSP_Gk1xpW1|HsK~ggi%0G7>DBiz}#7$yz2>Up98$ zgG&rP6^xN1uo}_-?~nfpP=XaF)8N9#_vMw6YIaRceO+zihdaPdqOMz$PDh}x>8~gO z#+m;Ol?*h*W`Owz6lj%|RaMoMRn?7H7={Wl9)ngCOZBpYMJKl-mjM6e|AZN(V~Y^8 zQQ*{2Sc;W~tjg*tBoMOyWP)g_AgHPU?X6N~d0AOi#XU?KR#W`+ z=jyCFSs1JRS0Mu| z#f~q?d-L{9PEKC(YkN?k8(oh~NsI`MijGN)ODrzS&W?`Gs)>t}Qm22&B8&N!^Q`CE z%`=}%n>SZFM=)=}M0vco+mO}Xc?@}z3R})AeDU)2>%8}cBsbm>G;By+XWmJKAR&%!8;-+_eFkgM#|H;6lYME z9l8v^Q{4U_?aAYe=XtL(yhAbxdG-Fg83#RST8}~lz9Bfjd-meRv+U>DS&1&7fmK4v zG~jIr&dq+7|F*c`=8dPX@t}TqrFokFDhUmxdU;v4s67%jX5>J)ZSJ%8NtSosSfn^hzZ!!NqdikaN^k=znHT_9sst0HzC^Xnd1l8A6)qnqT z`Q+R7uQfkNZvOMk)F;F@GZ=Nco{q@edED0X+3C-s`Hyl^;!0AAufss}s4>H`?bYYT zhF0?I(9MR9FQu4Q@QsX&iGPxvm*sTdJjm)+#m9VaP!eznnUP&N`{1dx%*@Ni@y|P6 zCWI$?K|fBP!5mO@ZutJOsiXCw$&Ht_s3jo&2W$nn;UD00d24Pt=PoEKO#-+;V2jzg zCt0xP;A?MPBYi=jPF;pUsWms(nwKbPtY8On99ArnL5Z6_D6_F@A-g z3ZC4LX>9t`(C`t%3zKFOu)jZZpxJS|^i-cKu}>eHkf?-Mw_7k;0rozQ$LRXlo8@0y znwqOKy)90jIB(^6#XI?ZUg86H^FtOSwV;-Kqs*UApFcOefA!7@)NbywgSnnTKuph{ zxSby9<)4-oe}Y6M#Yf%&9X4zTkBP#gqp|C5R#8P=Lrro1)1;_?yVo5~?^`t%Z#<5C z`>DCU`BO_vbMuG#)~w39(c?#qcCDP&pQ<7O@;)acJNI2tQCUqrT0Z5qKcJ$bsHVEI zyrc+&TzR<}NlDSp(1gdu_SA*@i3yQ0$w~3yU*Ckr$3)%5S_B~*W`=}^gajqs-!s2I z)=}v&U~l@fjFgnrjAt+M-xL&4Mq)iiVLmq0R)iC>1&uR;@Y21^k6rMNiI0wni;Iu( zOU?ET4SjSEhGT@E1A}ir$x05of7{dJc5qU5UQQauiZK?P_&7Bq>v=AUvG-+YgrkN3 z?T4hT|BvsjpPN54qIyHND9i}=vOa#y?qPIHWF&^S<3io<#CYEGHT9taOLQIx&Enow zzDW-7kRIB-&&=G#%O@}_Cg}-1~G50zzdY)C74aBZ>p;(dX=4)7!~68;O=cNPfxE~2*Nioq&M^^N#Z6Z z#K-kSh%F*$;USj6{ICfBE7KN*yGF&%3<3kr&}l5JtlH`vlJ=5Py9YR0f`cvzSuR1Q%K!BBm;|J5xoYD2Itd_*WLQn~Mn;c0r` zWyf57W1eK?x9K6kDGUWBoBu_xPQmX!`0E^oY~%uOQw#Qc`-D)XPLd& zQJ95AhTXGX4iM&n<&`S2l)4q^ZDrzBZWS(FT3(@G6M`v)wDQEA{$iGmM zgo?wXB7Coy;FXWS+W<#IN{LvTGkzfEvZRE_+JHf*^9^LuDAbiPm>P(q=2B0`(*5YL z`+sG54K)lCjV!6E1Y?T$4Td`ze9=5Yf)Oj? zNxF^=#0$P?Aw$m_F8)e?5xj=~`zMqw!0)H4GFDf8@MJlI5nm|vz{Dyq7F#H0s^||< z7(26RRvW&!fGgIT2nLc_m7qmqASGuX6*2RTC!MX zB^WhchDm8Z{TPsAF=Q~dHe7Q6-cn(T)rRU0u*PIFU4k{PS~S&ZyHA=dq#mU`bddgl zKFavk8eU&@HcMMsJS-5MOk606Hv#S45WXUs2uvB4jfR@4Cf1{>UJx+Z1Nrdf!Etx; zqZ{LpfXqA!V-D)dV<-1TMv>{S-v{|vSwN?8hiOpPpLIt?V5~xpD~H6vj2m9><||HA z;%&oZ)J?e|Q;-BS0Y<777@GZcwA9s970`1K9QWg^$chHxOw38}hVZapPYbJjMg7Mu z-g;Q-_9#9p{=pTg>9(a42Z*^Mq2eG%DeeUZ6_xe0G*p!o6|l6Kr9h`6_4?_D;?@hb z6o943LO9Aanm~8-+zmz-F5iz%i}&-eFkU^WuPiDBEbwCr#G@3LXvHWf>ZoJUq@1jr zh{F*Mn=Gr}M{NS~8AD!oxC$ts8HAiEk7gfJb?9t_b?Mf_doG9P_hF%-$&is(QdLz} zloRrpSnNp^&?#%;X9anQ98bg-stSd=>gp?eQ7l>DWs!cPW-1AX&Tyhq=`xF`R3wY9 zqOGHbx3HBNDnn+h*kZV6x8b%;YgaCrH)F!EerjSi<~``DYAVV~iV_7rmOP7sBy;3S+jk>@Qnv8H%ei;X#Jhc z+^0z>G9p9$yggj(Eiaxryl2Crsl)qXtsfUlv2d@j>Qg9Si#62M@M?>atel*ZvXYv? zP(4-E1p#Q!Vwu34RfeXMM(#Ro=Q;uNHiFR`PuN_#>})GNWxRdmjFEaud^+W3u{Z)O z7MG|ARd8FC)YUch_4}%+&+x}8ShOA0S8X$vY#F)cjQwTn1y~Eoz-eq>OI{;ESE58iN)awgzB=wF?P7$Rv6Ua;)^0QHMO)g<&^dM4H+ z?XxCNpEGOXV0@DZLsn5?4XHrt;hP~sT&apvffRp=H6%KMK7AEs`VJg2Z0N9&qXIC{ z#{~9Fld~7B9IcOSoj-1njE+=+UDl zPUiWe1)bTuW7;m@XTWB%j8!M$qHYtHDr*%@BuJ%!n}o3f_qAa zH7qE&j>up4L7+Hd*wE1iFk{M^jXL4LL}?9c(Y>088LE3Y!U|IXpfG0S$Z^h6V-&Jbd^p z)a_bE>@Ccuh?y{8p@IJF=`&}|h5qa2uMdTxE(ACBitXYSlZa~EvfvO5e$=-N6{U;=u<6qHss zQecWHbe?7OtU4sn*T?(TjceC0U%Bb&bsPOYCd}V8YRtlU^A{{!yJpq&{Rqau$-(vd z9iIR+C)2X?3reaQo9e21SM_%=?(QDM@pc%3kyV6YM-~|@S-5EN;$_oj@7T656h^Wy zy1RMZ^9_zf+T@~VSKr+7p{}gxcXV)76guwi*UsDB_qdL3tb*CLfs2By;h*!kW5wzb&g54uWy_@NmDjkIGsZ84aDka)o3iYxVGH zn+;8aU^JVLhO@jPmVT?Ks;R4M;3?HXg)-)P+3UXu^cSRSx4mv)OrFbv&4)+MS+i=j zWG!>k#!b_Wki+Fyu2a2)CK8-3&Ha+0X{_C8`xZ}MEEN#$VptEwz z*6rJOtslB;-@d&E&ilZmeH*u6UF)v>CdW=+w6wc))$@*zZ{o|h#T9iQKGZ0{B)Ieb zUzgx@(+*Klfj(n3H*eaq)6j6=@&(35yG?vxG9LYDdk&f$KWA>|;_ij#COR?g`LoOy zRE0<5hbsUJ3;ty*@cx~LhZNI^e9+YHziZPr!#$F{tVKtT9Y1*<6Iy&ij$Q@r*+4UT zUYPfv+u?rA>&A_THW*0&1@81cn|JKlzyH9&y{mnKY|i2`7p$C$l^e!KPhGIIN2Kl| z!^WlNyrfRy$J)|YWySx>9qyMe-Mxt6CkA87&TYH)8yOiJA2L38aGTwIm`oPJ>iv86 zA3lCoYU6yBI@sYo2m9BFtStUl*1c+D;p7&FmojP4|KQf0dk!8lIc$3Ph>h*JvnPFE zg8II_d-j`9Af0|YhkFPTmU3FEA{m(uSO!|Sg9|lT%ZzvI*lD=e=*WrlQVT0KV%LS@Sa@;8i9E8ijg<%X?Ap205E;Sj zwA9MR-oeqy(ZSBq&i;BSU=b2b+;{-3K8Yc(hcC=+>>QmXmsm~?j`j}LWx!#>z^w-l z?%ORfl;4Bfan{_{-pS?4mCKhLU7RmDlp`I0x6o)G0>FM;goUkxv&&UC*GtaF4!B)L zB&q9UG#GD;mn(6Z$jdz=T(4faF zD=~w8v<11p3~;u(Y+x+E6!g68%qK~)ks$#O@7}uZ=Hh5)yZiV_XNU7PnB)_I*3mtC4;?*q4qusLr9at9 zVq2Up%OEQgUR4 zeMV{Tg)=8k+O4|{ zGcetx`|uZ~qw$R^DQTHhAnx_s!v9K*9_SZNA3J7Zvh?tNOc9O)^+UUG&yO8DGj9F) z6Bo~&HNOkf7_jP|e{U3v+CO~x6VkY(x~llUQTZ3#eBAU1O6(n{y@A1ArzpOJm*eOlZK(WrKKK(uBcp>xXHcbcV9~y9yAST)ZHlVt zgxS%{j*&1JUy-ng1rbfv|H?~$!PtAy$Pf)hAxz)9#c=Nd1Zi|=u-?gIF^B|H2lh7q zuK?U1twwW93H}dzZvj@-(>#u!8+3O`HwZ|B(%m2uN(hKbDy1j}B_XYZASlunh^QFY zAPNE^28bXf5*7-mAaVb5F8UELKfdqx_dNgSdDpn-o_o&j?Ck99?9A+p%6bQv^&36H zJ@LMtUOu^~EpaJoB%mW8rf+^*3%Gs&7@UaWI(uNv>o;uJ80haCyeAJK4Ut#&*Ei4t zd!hk9Be?tey?g${{hLwR6QF5_$SPQIm-3C{;^}tqiXbFU^*?9%U$G}(m444Q| zl`k-smIq+yqP+g{cTjHd_H}}anGsc|RrVnJxwv|HZ1nI3+oB<1ygLPv!0eP}&3oDV zyMgod@%4j+kQz~6ZDqU0(aFih#%}ZW0z`YwjvZO~MJ2~io+A2uUIR5ZIuRb+zuxeo z`zL(i>sb12f@Axepjr|{*T%xyZuJ@mH^i{I77ZBgog!Z*#yp zsFv2k#Khd%+Qxa!8mDbwNo3*X0o4_$0F$UY3jwi+N3>-T*Zgd>ou4wFS17Z5G{-E@ zoj!TA;PAopl=zsauq~dO{r$Xm#35AN7Wzi!R#p}kR$Dgi2W1u+IOv#&$Z5wQTHMHr z;zM8RpIdCIYv<7O1a(3AVL!4Dr0j}_)-CWURXl{%ajkdwbY9wa<gnldYiX#fEmu`hQk0il zCL=8^B|wE-I+N|bGh8(R;MUX7(KpaHHi?o4UnbU>e{+G3fop#s)OQ%F%AL?vI;I+VX_QMo9ZT@5&@PxN!*hFB!>5X1#KcO9W2qeJMG6_r$$>)4bYjX4Mk7FK0b z8`n)c5<|EY)&}^A7L;Ers7SvEixEhHED-)kUQSU35!F(V^2$Qviy|b_b{jYEjLSZ# ztF|TSaL%5Xy*?Www{5RNb!mLE(y|Jm;+2(F$N_-|lp~f~L-(d1Jrk(5qp1A!g=Q-& zJvD9BNCv}7)FRF%B`Gb55tEaaQxn_-rb;Z*29zxml$>_x#MK-V*MrA$;-a&_vxb6+ zMNrpsqdeG!5xJvfvH1WV#E!-wjN)Pvd~6ajO7c>&3WvZY8Ff3RSecxgS5#3Npy#|} zr>~x>jc(7?UqR2*EObHyNh=&q{MCjU)dZg$3MG6KvHGGNK_!u+@+MI}cIOY$=6 zmPF+*bxlFIHz7i7tc+B6zzH=QI~yDj=jO&p3xHm%1a@U4q_QNS>t+>{5El{PVx}QO z50?|PwG6CQZ}1J=6_b*Aq|AO-BeKcUF*+)2cd(zwItN<|P0*aOfYK4>4~CRJoSBjp z)jbG^@CpbB9fx2uc!XV>Dh^Z$)GXY>(#o1fE7!Pr2kwZ7+n0GLzo@VvKMrDP?F9uD zGv5-h6d-siS~_|LIDO5^!p^fKoTnHRXc1s0TB}J4qe(+cO+g7~sv){HmWpYK&{9Qp zeREsq4V$*?+LHiVvizdrqJq4f%+$pA*zlbJKCTwaWrR7wEP*3MPoSe!Gtx6~va)fo zltRb{{}W+Kq;RYT^r#q68&fcH3POzr7Itelg7_U483i2;3G{ZgvoO?Bm6wqa5fXsI z_bgO6P(u<=wZlnp8bA~)2{|)VNC}m&23@O8b683PK~eD#=#>ou+6W2?@N%&;(U4%W zfEdxh1+XilXJz8ypgoZi+3(&Z(FS)!NmwR7j##Pp3J8Qg$^jB>6jTA z=xB+j=ivYyKpP205dZ;{sWkKqq-Q|iiw{Q>aKhF*GLN1-nwuKE!{5VYjg6JLsj-ov zzOJ^Wx~ih=QZXTvAlXn zo!eT_lbh;mC@&Ki;9{kxA}0yQF;GK91@r{|+<|_y8i*`{B`2Yz#NaN$rVmeoI|K@9 zc8*0)K@@ec86cP&M2JZsApsW78i1J#q95RKk$_kFZ#AQlG%zg)Db;de=rul^gcQ8= zA#wuP6d19j)XYox`5>$W3ljqx2L%n?ieMgt=m#G$2%0g0kB^&!4I&f}ec0vg4P zfoTf@D*$HzBM*YmCS?P}<^y#IS!8?XhKJ=73r;djP1@QlGxF>;B> zEc+MMHdK)fL<80o3=OaRAKThsc?SysL?@x60@`B!Q&SrUUpj1bNhxWlVR8E2#KuCq z$i#*k2-l%AgiDMoQ3h z18ewZVS|oiNw9DWRaPvtuk9)$W2B@IKMzlkFNFvce5k<&I0P*-n65ZDm#{N3&_lEe zO42#w8rUFX=GoRrF=%ibXqj8!3=l6Cwx=WJ@|z>$J!juH+C;ZT!WJi%JSI@2f6 z;Bfq>A%qKb3WuklVgNIc9BMAa6>^A#0wz8R2xbG3_ZJz=4ge>`lac`8 zp_BnkPq|GrTiJnmaVvNF^Ax9@J2?Yknz@-3oCkz^}hzQ58DuGBuc+gd{(lZOk zK~!c+5~ub0Hly9XaORLv1fpl@^CSL;hC0#8f8H6 z7efi6lPuV$FnAKoeh^XEzk3ap08)D#qCe6_IjAhh4V0retSu(ea*V3bkeg4hn=SzH8O zAw{Tv_6o!*0#1NK@MIwT!F%uzOHWNDELH-+J3-`usRX_|U&fk&o)31P3a}fK0MNkj zv>5VmutURAi|YJ=IfP>%;RhuS%T|ggz$yR;qoRSpS4_-o^yJiV#mK-4{x#&^BOC<; z{1)(FNP>#sC?(2iQ1IBfc?HC7B0NA1uxE(Yy*ogrXpkD5-JNik*PKfM24A&7X`YpZd`>hy+|PbAgf_hh{t=b`3*? z!_mwAq#gii;f#a`Wk6sceF5vnGC{OaaIQcr3P&e{u_+t-vg3&K97O1x`iBb=-Qj?9 ze&d4wkSb;$L?EM_>la!Lh6YcPE@p^1NPH*~s)2R{jr&lKa4bU3&$-|?oFEUY zWG@gC=sYRJ1UVM`h-IXqUflz@qlG>9(nW7#XvxUM&^HkdEd>dIh1G&b93J-^vi7Jd zi7)yIt(3JNp}~ttFRBsX0x*e}e?&V;Cwdj)!RwVPRdu^tEd!{UbO5ekNAg zLD&s4vwTAga1@w7w1tSgfPf$!h$BSaIkz04GeSgEOhQshW|@?vgqWx>y3d@WMmm9& z#=5H#VX#2>!Tr+`I_g*^LtY{NeDJsvK*GsnfnC6El(@x3x6h~#z?=&JtiN2G;MN4* zLm0l57B{|BYe%dI}m+EVy)XW_08gc|I>@s=vf%ZUJroex#7plc$XvoO<@(@`- zHOQ`Lz_=e)j7k$QO`$tqdqW*gMNR`Ojlx8iOC|w<*+wKY6jnTrn}eAHY&o!A{Gv)! z99UQ-NKKFlg_(|AQI0hMw#9Q*f>?oWE`%rXukmw4j{_K=D{6S{lwGFul%Ihzgy+66Po) zoKuKM8b3fL+H+JG#8P50oRI8>$V?-lI#VSoff860u;I9HJh+yTl17k;Q8IJ=rXp}I zb+%@wK)DS_sle1hjz(t*hLpbm?xiClbf`NSDo_1r5au)#4`U~7BPo)#fN7T@*GO9j;$w8d! zFresMXJaBD7`ETzVXi*FAS*pBJ4|&5FNNEOh|>bK{B9J$X_TCt7S)^+DGZiZL|hOo zEkMwubHD(7p=%B*V}mfr%F6Z!v;lNa0(H(U_E-kkS zk4*)_$Kz>W!Bre6?c+fu06wd9f*kbfyf_La zQ;7AU0-=%dX}}Z7j-WCHac!Xj$M{AwQd(ExI#70kXa-@BNe=?AL?e~L)FL4!zo3FJ zXCm^qVAKJ3l%gqd?%8mDiueQ#9W{mo>>j9X6cLw1?I6G@VB4m72w?#Q2fE#)Cncd~ z0s54+9 z(Svg+6Ei0S_TG7L}GBvYe<#0yeJ0zg&clS_ojmQo+Qe zXP~1bB?*W0U~treL-F#9IjhB82R1T#(WPE2wDPFc;_RG-f)>^zIEnz21X>eNZGd(b zPYM=PJ>)POAn^93oI4FLmc5o#(_&O|p>`yuNZ z9!tT<&Iiwn#v>Bz5H>@QSper)%vD(TNw9pddLfudG&(W}oeWf@u=gPc#R?4s@8yEi z9*(f?;z=m!!xzt&fvJFV0U@LE5F;}yD~B)~ zIfFAzpjyFVtDtvawwkjkU??G&D>)e$MZj6$E8CfqJzxxhqcJgo*EK8XGFUj-+1coc zDwusx!#o25bOjrZfdp9JYM=t?C7c%g$cd8?R4k;VQ7~1Yi#He83HG9RfQ>K&SHzqI zUC_@A0^mgj{@5UILF`@F%z@iGElhP#jlg=1f`rA?z-+)TwgGH(S#4u!ZenC;pr@my zp{A-pv;pvaX9K7~_s4&y_fG)K|4QTENQCSEADaFx#L&B1AgTYa{0{^F!@&PA@OK!1 zg#h+CP=GK0T@8Q#7Bsx*Ww-;9)&G+MdPB6(2+C@jt%R`Xs#4q_OP~c6@&B(2+60+W zKylL$M3RC~CJ+>1dc3dUM1+kf$Oouo`hN)lI@HP;eQ3+GlOIM$$3IQM6&ikbmhic~ z(2XA&|AL?Y4j2o21G~CakU4PlQEm0DdhqY>=!Dopy)QpP)RxagKt9z3q9FV|5>O*D zx`l^b%3MLcCcYJ|>e1TR)n=<4y|zVX6koXWxM%Ry%l>B_&p$$V3QK=K8Pq#*o@5J{ zsXyeQTs%X**89s(jEKj9Q>Sw_3F0_$uuYQ_^|zxEL=gZ|ABNRJ8>9v-s(<+hC#0;h zc3}locRPljcgBiJd*TW$+lHa!iElj?B@vIfHI~_Ze7~-?mK#Wny z!Z!ML``mLx2nbVgXnLN1S-^gZ2xr#}Lbk-qZ)Ue6#@8A?Lh{JgC%rErf#KBWPou+K z59(`b8{7KcjHBTkiIabJcC@9eFf#7^eE@*Sm4Gcx5n5#b{TKj+A)Hw?FM+`{ju0*~ zEkA#61Umn5xVs$!sNTQV*!;NX4I1kQZbIxUm~?2M@Hw=Pz3oCnuM-gkccuuRJYnzg zFEM}uz?)wSH1Mfqgz(Z9z!C^K zpv3+Q0HjaVL)4~E4&02ksU60S4< zdm;dkbuKgkNB!K|J53nfZx?j@!5d=Gd?FNR<#RYj7oV5i59@D2Lcyyw4Ue7;ycvfq znVqnGgFZvX%%_e&7o2TsF$ z=xuuf3(U-L!^xyT2YngP$zYj;*ykDsF$|{c*YbtfAz4i5sRjs(gGK;-c6)3{@GpoE zgJ>7m_YzFn(Gq1|6|M(fBWY@48orhbARN~G!XGiBQf=Ve)u;R-?#K-c>kah zEW%fiGcfXK29iD0FCqII1fZ>ar89KH@hAQM1{oHSJ9B|9sta*|MV4Q9LKy5uN8tQ_(7tv9$_Rg5V70otk#aGXv9a}^W?NyeGzF

(ectQJ2`F(`m*U~HXa9Tcg9_+i-w)frIdA;IGc&!1 zIR1cv57~VR|3v`k4*eMa#}~9gnem+Pgt%dvCfwKvmeTK0`SUxdyWCF-9+9g5e)!Sx z-!^aj!67JnXu1u35H{w7bp{YV?9a;&>F(?6j73o8cjO02(T4f<{fRMa z{hq+SazJ#i2{bjo!1vFDhmhp;TeTQO?fTnRV)tR+1WC-mTKb0t67V&l5srUW7B!DD zLv+v2J->OlcD(y+;A{K;auwdv`e*AN+BB>$5Dl780E(vt{UhCZyA9no5b*>EcmxWx zKPwo-zaAa9KP+e;AFf&?n}aeX@y54VicSIh1+(K9pkNTGiu|$N)gAiD z&wxt4(h0PG^%qSp{z*P6B{l6&N@_yLYAIATxwrxcUy4B|5m62UwGU;vsHy!U_k z1&geCv#@z!8pITQ|CgT`GrTb)bIv#(Uk9|D;F>;IpiAJyJa23~yxYtKCV13~mNE?6M{>%IO~A(+cNt~{R4 zeo^TRJcPbI@_%~;`T+myU4Z|uC;(i15G4I`5p2%F{6`A_`p|c51-$YTYW^_^0QFB1 z@|hfeX-%4kk?)mX^M3sCu74waLfg zfaRcmK?h)l@GN$euzSJJ-#7cuo#^Jzpg3Gq&{qDLPT!3M`~;TA^$XWmd}0f60AL4R z*i9fPE&TPL<`!LG5Sv;e_gvHnH1P`n05q`4Y0Yl}gRHLy?G5@`Ln~w)T}YpcTAlxu z%=1Lmt#73kEq7X;zJi**@{>idp?t_!~_k{$Z zJ`Bpt-;96Of@bIs&&gq6jTBn|*gP1&yPV&Fc|T&1HNPW2z`x17_8~NH5m@s9|EOm0 zk7qwZWgp}pFuw!_1qKBL93Dey`4^)PitYsxCTKuU%{j*qJ}v#@?&FMGh-0?6A(V`M z(LDSJD}dbmZekFb%S7$<6afM}&qL)eEdEO<>-W+nO0jo z`g9_$hc8_|U68WHR+bjp26+?y&J~8>W9P3B%jMq|NCN@oT*=-w{2+aOt>H^W7{urS zbpJEqd$E(nH01c>cSMSw8M?d^&Lx89+E@2IEGriWv9SNPun`L*yu7&cC=A#=u=-9B zZo*lX?+U5Vs<_IQ=O5-^xErLUEj1S_=({KX=*Hr{!%L8{?FPE;feXYU#C)ldRAy62 zeK%-nKEo2xo4jqmIlP3D!s3~=vA~Jl z-`7HX0(6gTY1i(~&bFLs>d56>Sq+__Pfy4^ut zTvl)OIyVbGP)DPOnb7~|zq#ldrCig~m2HF%?OoG^!=(bpsrAmayx)73s^1Km2gNeh-o|-}jS|RJX7)(@~WZ=Vqd&pcl~GukV~!0sJPq;E_>*9WAu-e9bdp%bFm4`HH3*f8R0Ppib{%0N~`WZ zMZGW4;h2FWq@a+PMw1ewcL>vi&1bX2y;d8k%E?H}$gNnlIkC9%T75rEAn;mmoR4jgw;Zyb zKWS@y{OI8WD8%sEXclM4DmOO%aRM^>ejI-@0vcy%9sU6y?*ea!Kb^1N5CTfeI=y;$7e)v&A?_X5>kt{T?nO|H2)L23Lz2yzvZ$Hg-71{?0at@S# zx{mgCF<_{i36I{gfVlU6)A=t@p|9e3bv)uqt~Ng#0{6$ck(i^tX>bC6)zfn0?1d(x zUgHa9P)rcXbh2tC#18rQBfkJ6b36;rB(mJnEigPW0}`;6loaLXW+g`kt+UjSlhbxT z(EI_KL@_g0(9H)NJvgKdfk^(t)`_5ebv%SGSW-AMO+^J!kf31LRoACi522|4+A>Nb zC{4bq^cFxLM<4sI6r#}ittRf3+mGDr1#dR=&lmE8OJEAKvty5ny`(|$^A|A^}TY3e5zSSm(#0T~T*2amv= zd*V~l4rFDfCr54DxN^B5ghhn%=L_9WTKE^YA)FBjF%-#{cji&czo_NkJ___e^!J|k z-rT-q-i`lV{tpBH!@&PA@M{csxi3>ekk1hN1EKb|;^U*Cj71MsFmK!v;_vM*$A`ZC z<e^>m*@IGR752H!;_&3ABYd)?&ljgCu^W5BLpBJ!$vfs9TZ}y7vd+nCZfv& zaRG(u+zFP1m5AKjLvvN4*J$}t{oEHc77)ZW`T7@3TcF3$4cy?i#V>FMnzKe^JOwqeg(!K);R9o3fIk$en6!|UEGD^(qR z+&B?n*m7`&+}t&H$fnUirb;3ypFH`=yIoy-LKIVdghB@H1lMy;G^`sc!S}4Zf3ErM zz&lIlk1qvjyCa4ewzWArSbKkbb?NQpH?Oa4>Pc1@VepC*o=kIEaY1CMD08QDQ z!dSN8f}v}z0p&aTTsWj*>BCb5DJtT8tv8V6n2oXEiSGf+O^TNAGBz z3Rova-?qfCGr4}Fqpcs!po=N#7)erMn27L=K2fvy>*C8f$0&Am^kg~F*K93*dF~7* zi}mnK$1sye+eDFf+2ft^j?|p(R zkkBhB-Of^Okf3m|{(1c*^L68o#kSXTcjYf#f7`Io=n%`};^$GRENfrsZ|dNZxM^Hq zcuCCawTQu$lP@i~WMf-rmDk^QWqfqbn1;)Kf_rCRLWvFks55h#;J%2o2D-@N&iu%g z*K$OpEZ)W0iiqwA&1{l4<r_P#HZFJJ?yA3BU+58>(49>)S#+l-S=H!u=WwsliJ68&%x12gN!zZU6j-)l zx;`odyR9b9;nlldhevuFS2DQmm1DuzE1h(eGxm4?bm9Hl!0F1(6jHO@!nX!`*sq?! zMNcC=T4z0nybU*p>cpi5oU=AoIB}1AOG@g-E7uh-)ax9JIqhM>RJG=9*Ji=`IHs?V*Z>9380f-8V*AG=e3vf}$!C3=Et37;`(P((*}8>c6HF zP-5*S@!>n8;OV$?QbWS@b;gH|=Ph+ZF16XKwKrCGn&{Q6HPW|HukZA0$2=yBV|yt3 z`DoNR-zz5=TXow43j(Z9IrPTuuINE@g4gc%s*@h9+~AA5tB@qOOa6%OI=bxzRiCB9 zBr^S`2PXG~KCHYcxU+iLwq3zV-LE>WU2s8K0sVQdpT#wqnsg)^5?-S|m{zp#7yGQvq-6Xk9zvsk08__4PPigAyQQal7 zMI$1PlyjuCa_8i|iCPxbYPX_@^A5K7jUgsW_P#yC!{3C7G~OtApx`W3T~2$Uqu{`c zq`eQf_u5~xS3O3t?w-RIp>h#y-WjR&s+&{eK4^{IRlfM~%-+3GUB=}U#nf|lco;oDzs4-^(iZ*tKQTp~-i zm%B9h!{IwV)w!Ru_tKRs3mk1Z^tt@{ttOXSfwmW}J65jmJ0}^Hx}0EPtDBcBHNodI zyuIyMU~^vZnKRDKG%O{G)f;`qPt@Iba$B4KN}}tjAQP=;7yBCYnxwcTBFoLfce*q2 z6nwbznq+qS14l~A`_m(lqBq|^m=#&prA$*ScrHYw=ZwbN34d&#Hn~ht6o2GVzydvY(RQYZR8f zP%oYB!|06}BKNf_aSiuTP|A{&#*-Tf_t3T66cyx*G#&VK^Wc@f<(}3dS3b5Vy&M}U z+{wb)-ZQZyG3Eqy%6$T6F!QwyRYN+d&iep~9K50@2cJ-VbxoM~?72<;H#U}PT;=W3 z_#{b7MVWOHGp*?&=i?M@|C(gGp`}M{LSO{rE1u2O(V9$erb^ZqjOEfCKjUOwp;bCb z|L9idvri#|ar8bO%?HF-fge8B*0{@C@v%>km*apZ^-eO5HqG=bg3_nWdUfyOQnpnd z$nPVJXOX?SJ$s3B(Y+kOk3s#J ztZp?gcch$8j_uG62R@S*(dWA3Xm+YW^IM<3nro}g(s$z1p7V_0{odsqI4h^JG>Vf> zwBFNU)~8@xM{J^D^~d;z`?&Fot_7qk=Av}t>gO}58O3YF!<1Dl>)UN|HgN|IQfsBIY~#ucD9$@~_HyE76W?mn zj}aXkj+nfCSS;>!z|p5>!|iT;mRBgARvdb} znZ;UJE}q+SFr2pTd{jGzYAAx!-}GsOs)g6?Dv#b0az^i3ma>^H-R2_O*rx;aWRp8% zY|=URp6_hAtzs5Tr99gwc}hj4IEvbOTEk)cokY^%q{=NqLgBI+3^NZIm)kOxpMAdL zNcZ8bp~0_1S@{wYW=9OyZxBj(s(Vmh!M;E@Xf|gy>3~Sb+9a;b7@kI!BWu|e${1=d-xuf4>QFd>)4W;-{pOw_8|Sl=&trN z&0!mY98ceNP>IaA(QhIqWIuY*_quWO$xBXyYxl{ox7S&2++7s9>F#B$&S#yc7J35| z7SC3!61?nbwW^oyg!))#vy_Q*lW5E(OLvcLja_@TIImuJxZnQB_L33HQ+~@sN2&CJ zU&S;?YnX1=eY3>veEQx%uls9C$FG0XS$=ExaIb3QUNsf+6Qp$hj})Ke7do2@M6pjk zIlMnsp~_<=UrwjYrjx0sdTx4PaAD_L6S3(6vEY-L<5$uT2?5-7i|+=GiWFs%MAoGck6_`~>d3)XeP_3wtLx>dL?;l^D;m?Mv^ovf>S5icyEL(6PMqgX-f zz+#qlfpa6q=8V@2r!JXPo8McxUf-$V)+0sOQ-QqyUX;!1Q!2qlSZG zS4x!hpv^0t&i6-R6<9a-6((%k`(&#K?&R=Np%*=f?wamW#`BkC@L~Hi1f6nJ@ine>yR&KdUIQbF0Rf#x^EHmE4xHjB(mxPk zYS~Poe`5?sE^_0d6W_Z1ik}~GamKCa)Mbe{XI-$%iYNK<*NfeeUh5Gh2)r1sr8F3bv%py1ub_EXTcO z=4yI=xWlTliOy7s357h0(h5=vB|$@HOt>HEdol%;6;WB8+bsihRz2FEG`79efcJdD zLq)Mwq`U4nubP-{WS`u#gtz8(fKO=%#%C&uHMg7max?RA{GN!=HC+z9h@p8AGrn%G z3EmL1>|k%s()fK#I|fH`_eEcca6kX`R>U}iRQ^MT5czbxL zYj92>r?XecWS+sNr-`l&%5E0MN*Jf4=%-PBNw~%;EdsC10RaFMp$cDCKgKhUZY&GN9kJD3WH-J6Paf|`b5pHw>U#F zx{05mZ{}ij!x;9nu`R_KU9}q}AKeAmT5p{;cFh;6nTeXZV}Hq8WToZZ+S80=kzKd7 z?HCeFmm5{MbdGIh^HX=R?QcnFV<@=s*8J9m1CAp#maK<|t-H1>>{AP-O@i>Q(p~CKS z*NsKmV{Er!!mdX+DpyKh*|uuWBg+!Lhdb;kWLGt)WsI(H#{|}lG|TJepFH*=Ql3Dv z*)47B-bsyvw!4pT3wk=N;IEk})RC=sFKCx%Z;vX~IJW$uXWyHpV|LZb&(cbytqme8 zht99_IuVn3x{9iLd0PMLEs@QRXKwB2;_MmX@nv&7dwUIQWtz1vyTAW69vQjQURpwY zDh1=418kK$^{!O~PbwGND|pwP9`w_X8Mr5-#mMd!!jt~!!G~1Y@@|`G8ug>CF)EQ#}jHlPGiLHNc-q%R5*!V`?@M=D#Qm_Zjt5=-H9MVf8Uo#(e z++$t7s@;2r`9r1MY*F3R&5xOGr+I{F+a=7lJvv@HrbO`BWBakQh&FD*RoTeA^x8G? z`u!U>8&O)e3(c~V=_Qxi6IQPZG1=G6?HC%DB`4EyKiZ~%;pyi~_M%+4wVwh6xujla z*x9x2fi~+s8w`sbH0~NteMx4|;BhTJ?tl4X{BSm`i()%}= zX^_>F)z-e_4Y72C&lMDfbSOe)4hP&_Z(h?d^T6ya>qw03?E4F8WA>j0eU1y{MxRQ$ zep!_L;;kUx79}Zj?Tg!`_mA?((XZx)pKwxP^Cld$*$9TD%eO3k|KfCH;>dlL=`D zgsk-sIrqRQ>B8+N*_Y~B9BB%QUL~o}Qc>4eWfrfg&i8ozIVCgsIELUhAb+`H-R+im z!{Cg^Cst%zoa0#`D_nxvEK{bF+E*h`sG4y~lz-ZGq!!1#o`HKXAWUwts@-GFo3M8uM4eaYc^hy`1}Mb1)X{L2I+pU zp8fatq~Ek((X{R8t0Ly(2lyIyGbNq6kivNF)#*}}P80H-+e^cZPcWFf+p|{ZRx?Ls z@z-77ni_a<m$yqahvY_g}RyC75!DI z<0V^*j&2xYx)&7Jf9rvK*`o`7%&ak7j=OXZ+j0Bu&+BVda-&q$La20K`o_DlXSQ^d z4LYl?#SLv|YF#EOlgy}kV4LZhHdF2`&n9XU8+cV8Z=0d(>>o()G6 zV{hU=6Hh1L+waeEfKlvTx#S1OoV~A?&`Pf2sG&UOM7E)z`*G>jr*~QK-Y0uc#0%^m zK0)!(D4uqdHfxJPAa2t8$k|4mMM#`()X65AH)Wq&gDksPv&YyU`#zd_#BlH=Jwl8QuO}nw)LiN@PQ3WzJi->+{B3 zpkv8ymy!vlf0Ag~Y~A6ESEasN{H?5Zqt#&uq+ST`81O~7B?yZ2N2L*bP< zEx8-ty7rKY9WrBI+dS_HzJ#P~eHylP z)|a?(X3FF?k|h!SE*o^4Pt4r-#6K~e7GEp*uG&_Xj~3tPll5{1bHv2VWl5^q4aF`j zU1f(78Wn0TY2JWRHVUgnk^|lo!)MQjPzN0?y#C$^h5d+mJi%Zr*CahNvYnL?b zKd*JlFuMG1NjHsN=S*5fB-;Sxg=->ocFjp#?xN4Ri}W9{heuqYE?O6$VpFRhywoQ+ za^JM3#LUBMA7mN^%g-)bW=QLLlhK@AFAw+lVyJVQD7)Zm(s;H9dxhV5ttV5OoGCl? zq+aaaI^muAhj*XMRcEEsaWWLdF6c8U1|PRHTX|bdlfFOC<0e7V}itpuHn7Xj~;5>Y@As~!p#&PAS;NuLAPPg4#zM` z`c`8`@W}`A!M$80WA~%ghEj?bTz9$}Dqbn;lPKR8OP?4$(Y^HAU5uJi-)SGn5Qa0jv|TBG*#FUm zP0NjNWi(Qh?`JY!`0DF;z9;y*H{uMulNcq6N}NUg?>mv&hk2kRmkm5HH~aC#t8@(xxUG`?W(SGR5ddw z=1Fb8z)JJZPf?j6WQzamf`gue;&HwsS@W-4%7| zR(1B}G#C@j-h$_EI_fmyI3Aa0$L%Z7($dkSe73?>{iDOOC7Z%tDOzdX=_oz>uDx#e zW#sVbR>D?{WOCI0bG|qFcQ!li8WJ1Z@}z}MfOo|D;|7w`BRchWG9nul&&2s{RlcPh zWT?2Zn|t$qjo$kD$MTisxH`|X)f;l{CdDBI*QKJ>HB!M_@EiqebUcky^<*ddHjTck zK3Y0*8_*1CbP19&|I@4u}ea0!*2Z1&cM#8r=RbxZ!dWe>iOa6mWj*9(x3a27?kfj zv7?jarBYbdc>A;2PibBr`+R!og5Odc@#m^>{dh3z#wW*ZMn|%-&-0I%c;DROD}OET zlZi$OQ`;jG^|)8Xr;>HrRdFShfb2N z!A48$EQ#VR@y{KpgUbF(sm~BdRF2qfrSx3-j)_jWrgM|AQb4}d=q|FQuW-wZYu?v= zRIE^Aw!bP%_j0#-+tt+$1VOgz&;4bOYgVl-DCR0pj66WyL2)uVukOK%CQ{B>Gmpg7 z)ir6RYPsB39h$;T23wvJq9wh8%L*%=-N|bTVC{}=r?{;eeXXMLEb?*qhQ`s`v+Y-(DST*%hCx;-=KM%*=zJB_X6P&u+?KVrR(>^-zfvJ!p zbL~B{ZP7)0YdMGA2b0=AN8L19$rZlBlG4oO*tH_4yYdOhh_^SUE~ za_@G%3J)v4+M2}I{BhSKW^$icsky8*;rN6z zizcbPt3k$~Z1L3nUPm*GB$-1;EwUx?I)3P(pl(E{pVbRQ_&~LVy63I(m?V9&j|ZnN zWDi(I?@SIf|74h`P9E2mvSrs&522*+dTJG?*Y2@SyS(}F72)UlayFiC#jkT<4RXSFgEVCuH~I2Sbut*&^0B zFhtRht)$V=CsE#WB@i!&x2f7FUjDh=bwVJ>l#z4W_A8->{nUJd4%hPQtm0jFQ1oo< z!+jGu0qgT$3W=S}nWlNHyj`m@U)D9)VBg29cPh3y+zJdof9|&G!A!iL|D{{~JlYIv z1)p*(+o7y^c(sJ^xZEA5{Oy-WUmV^j9r1yptH1Hq#h2Od?(M`U41U@WdTG0we{Yg< zoM7RR;0@ikV-uF?(wDgibb1x}cL&Adj1HFUihUTcZhVQV*8IVm6&dS{%zChvnqsLQ16~JwO4-u9+$pG}Mpk+tpr(Y58)0r8ovTjkoCJ6%*5V|K<@6~@?;%45=SS(!Wu4Mm zswgnSqsceA<#({kydyg_TkFM8vz>NVeys1ceUCk~^|YF>Yx@X0pI1IJ)x6Dk?KDj= zV@Boa*bBGPB!u{Jt8`UH$2k;W!W>u}DLv!Fx4f05$r$V^kC58*atYl~9`<_dimZbBXUf8(dha}2 zb1L;{mvnMWNJn5SC!>?rXW5P7h;GPCHBnX_lAk)yB!niHoTgRIyiHKDR#j^|+@;fDSj+ z#F4S-%%>G*2b-y0aJSTGEW5w8-Yoo8KYft*2d;**(Pz@0M4Tz#sI`{)lA6`fO@@i! z6_?pr`|h%ghdl9EvB}qS$H4f-d%{hfh0ARZnQpHvZzVh4cTHGoWnZyf%Zkw`2Ug)7 zlkxi8A4>OK8Ky>f9&5hevoEquYRs1+Mdo@;>^SGjCtiYCoKq7vWm77aK1)l}o%jU> zN(a?87?RoDet0SQQzZSv9>?RXqZ$1h81kkR?K~1kl9%1B^Nn`D8F0Sw>K=9_g~P}6 zD=o$jNhxa`NP4f+k(TRCf8J^3@w88`KGAyauzeHwIiW+d_F4s#&p9=+^)r>ZmeRD? zuqgr4u`mylri`V|KF^e?t41m0kCzB%H;-(m(L(gx!td~>n7$GYx*&C(!r{nOcEN2d z*EJ<@(PpCtqp*yreY{$b+S^?*{7k>FjAun^pCPmEDg{DV#^vrB-n2?-?)OUyUiILF#bj`4hCeof}N$u^Nw5HPb<*H4^DVKdZx08?= zY`hs}BYi4CmA9v$HKWJi@_xyDhq1fISDSX=v=Wx>YI@Bweb8i5k9j@6nyG{Bg{7-{ zvYWcLU)gQ!sNb!4vg-xeXLqvE52iDx?Q||)t{m?aYt;NyA7N=+y_GMB#6>rRDnGfv zhQMDfs4{Rj)GuareG%RHnW9t~yC-dxr|tbVZ>cA(b5tB$Dc`ukd9ce$N5Eb%gxaaY zSU<>k;5|Dgg=Tf_dtU2G`C+LYDrJ{m7+FTG;&OD(*XLJ|2&knc^E0J7P14^_60m_! ztT3Z&*`_D^44SPTHH4Z)r<2z;eJH6~eOA5sW^99+m=3dR#iP`z6>fRSyTjP7U3sw0 zm32b1-rQSITs!-1VEU%wk6BCo7+#(2v_3+9ds+;)^8jZIrzBUc&n8a$i?{e$Gge|{ zly0=*oUWe`#An5>UcG#cwQHx{`!y#SY*se+VS4DbpJ_6QYIh|iRNNDNHkH3wYjP|n zMrY$F>&HTl8!pevcMqF-hCMgB^3qZ29h+Lxi}#Or)n9rVO^Ov}H`)_tV3e_H+2;NYusqxxah`D}JB72Z|?29$UYk_mzcHD9e0%WZaxxb~G<;}PeDV&Y-J;)lo88Vj-eg}$_90rb4tdU_YeW+R zP3u>YXL-)Gp1ziqCFN182uBvMsd6mHZ z0fI!bf*axNcx`|3O_kKZaQfL2fv@xq?mngu*+<`36UMX0# z9>8+ocaqA_3ZGz2VbPk8{FHE8*5O+6U!aQ~9$QGdch#KP!3-{;ipR0d6OOegfozNE z<$+T&eJ?l2c4~|pdB85srtM3K)0J`&8H8fHGv2ozdVjyMf`VqzGXcy==jnd7M=<+_ z^YoM}YFvW1#Vx%N?hGY}bZVF8p}awMzZl$x!py9F3UDS~KnuSczf%@MdUyg>PgJRt zZ~p{aDKSf&B55Rb1svu!KVy-fk~cqip^v-YWWpo;Nvp|$EMOkO9oufY$pi$W93&D< zF@3(e3gFZto|8~LY*jhDG)wTC>jS%6NAW1?W8nE+S|y}T%O+!7oK%RpAEU;}v#!AB z5=4@W!*Vf%pIya9R305v`HRH5dHr|NZmTu>-~8`Kv>k(TdN8n5EeUyQyZEEkD#4&z`E;IWDyyZK!VymQ` zO|!Z=T&^l;7DgLrsHfV*V4C0PviD8N@iG#MG|!5~6xnFTm_hKr%iSf6d29Bgy#UCQ zH*5;Ts|z2EMvN=OJkD3GH-chPNV8H-L0D}FHsl&lWD6(}s^;4b+p3qt?|3@GH)r}_ ztlAc~N*WT(t{8DG@?p>EN0Z;GcRHfqdQrPQ$$z;B+NBa=xQmQz(tWT`Mvh;UQy|&+ zBP(jV&-h!XL0~SVagqE$-LFHW$NXsCPyx_#mYP!hNIr6C%H00+-&86Q$XSs8i3iXk z>j^6+`7NycwSz5E<{*T7VyZfZTAoJ04E8qJoDyx$LelCRW$U18nQ!ke8mW|?Ya}S? z+IN$fkV8Eixe{#mx+*q81LjuiRtjoJ@58fiE{&?~kUv%*i&rLZN5fT&kO)(%6#&i7 zGT)oY53VPbG0jp<>DrPHy_(C?=SQfjNu}u~pKldW@ca_iQ1v}gc|86G?y;32b|Y=g zjh3YF73CILZE!GOpO&D1z|4Jl{!o`Aq5dLndk`?WCK0O(=r6eP>1LQoVr2g4GW` zI?No|XJ_qQDOdj)QC*EFe_~i?re^n0pO!p*Mv=0~gPf=e-f>7+F;qnkptmygj-R3U z9g2kln~_zp{3GMd#C4VivZwVPu720TM}lB$xLp~!x)=xSyQ~O7k)eb^SBJ$_g6*p) z2JW%wVFQ6u!qWES&63P(BFAjwKXw`{k7bO(9<`1aR1|vu5MiA4(HXhW+LIU&5$aeI zJ?w;cHSvsR%4vg6O^WKVPyMWisYq=*qa4zJYlnig8Ck7@2eHA?fk}U0g-0!f`45A8s z2Y|BKDs{Ig)POri>;1#r9Q}fUtMF5OvZR#+Z{9~fYxvww3S%KvbM$OU4ZPZuATgOc z2)dKKv4tvne~k{OD2A8Z12=C&^U(w#>%5?yA-f7#5EokYR|v$!38It}@S(GHu7&mQ zf?wM0@mM29L|~)51poj8+DMn-4UpI5!1t17oxWXbO37B_BE=Yi46_Nab08!MaRIeX zXOR^*_%dk36hN%hWHkm$9fBUbBDgTZaZV`1aSBcD4sp+H|4KW$84eJ+z25TH9VFYU ztfw(*F%T1LV5biZhM8(rwPI$-^@+TC2IY%$vn0a7!oGr!RA+&yvfvRd`cj*&KiA

@pbguz=vi81X-wH1Ma_<9;% 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 LtYG~N&6G1Va}4h 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 z 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%0Di1Ny%DKqNz)HMECD|l9 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/bitcoin.png b/src/qt/res/icons/bitcoin.png new file mode 100644 index 0000000000000000000000000000000000000000..5af8c300fc31943537a469bd5b4bc68cae94b0ae GIT binary patch literal 217956 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�(x!P2mvN1i_~ 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

cxYDSgHj6C${g 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 NnOR?`GxbXPe*pWS|9$`f literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/bitcoin_testnet.ico b/src/qt/res/icons/bitcoin_testnet.ico new file mode 100644 index 0000000000000000000000000000000000000000..182d7bf39d73953356e7cb4bdb44284e32a59414 GIT binary patch literal 135952 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 qg1NvDQ84(^_M7odR&2TGDvMCRLu*;NR^6R>= zyLR*LGFW|*cH_Sn_wPtf=-LoI;j-h7ILhOYjPCS*9{9o+*X0>MJvo%Jpm!fi*oP{E$sb>C~lN0PC@u+y&hoY{)Iw{50jjs|VLv%ifggxKBN3P3N{ixfc+ zhpT$eIRwSW%$j(D8v8&^To5rc@-$j}+?i~sfx8%qV5FF+hY#={I8Ow{;80FQF7k1L zsTwGP2!ib6PSkVfQPv>0%#6cKSMRc*Y$w}~>aMSAx_{lh0Dpt@pGN?DIlt@o7VP$q z_Gth*Ndzkp;U|DPR2#D&nfmD&;HBHm?dbVWiD+#CW|2Y9DuU@#jaAcW1T`r@aWgoVwJOiC}02Z&An^mC-(B?imqbl^hY zLplI?HWa{UmVXULtu_Q|=0oH-v%! z&+9mHJ+Gu=m$c~$aAK-H%8*-=gQk^vH})TpwQgS;Oj;dJr2l{r!0t4dv^tiUZ4;Bt zy=iS(b;h6g>H``kgdJIfN831p1)sdT*Y317MeFnO#(#h`-`E92R-S`cJAu=7-7~Se zoPsf+?+0dUiq!KQrdYEvAP^b>S_OC#R46A8Y1!fGXex(zCl=C>ea)}>(HSzi6hAG39&$P zpC^1-2&8bKy%-S4AcCkwr$=-mB0y7t9#&wq{=^Yn6x{zhQ9yhvJ>EKfIU{=2VGxw~ zd6}LVgthJ!AAuHc3ciMs#d^tknn~}VS1SVKw|{MkCFZY@c>~-8%dXYR$bWV8Hu0qO zQYg@FqrMQ;Kn81|f=czMb6;;1xs`SVlLF0fvtYqkwd{PByVdWZ4ai^i&jSh3LxOYF zWA;T;ZPUjS=wSG4eZOiYR4NCZZ;}WMYzGne*CX&7 YniBxtIhiGee*gdg07*qoM6N<$f>iQ&UH||9 diff --git a/src/qt/res/icons/overview_selected.png b/src/qt/res/icons/overview_selected.png index 8116e9926ed0e34a1cad684c4abfb196312e72df..8e380ab68d3496c83ff6300999c6e52eb5691c93 100755 GIT binary patch literal 4461 zcmV-z5t8nSP)zE-HU{N_31B(`A_V|M z004PM5?=@j#()cZF#$^?0D@o%ehdQclxFwNougn{w{Zr9NeB9fB;;ZXU~7^Zy2A65VxWc{k0{=KLq^mHsDxD|J|G1N+`u;0pXGnzM&8O z;~oCT75?rX{?Qlzu?haZ5w8IO{?{1(%oYE+4E^aJxD*usrUkPH1^(R{|CRv%o(=xD z6Xs?I{;Le^aRR#?9qDTW|NkTSi2(3;0ri3c|HBaDU<3Ys1=R%s;9?m6g9ZPU3)LAJ z|9J!cuM+=q1l~bH|MngHj{yCV5C5M7|E3S$Spxr?0m=db%L@$IDl7l}9{-36|BVRR zQ3L;G0@p|bw*vzI$_c>%0`h$T|K%3IEiJ(f2LICx;#*qvW(MAQdE6BQ<}w1-YHH+4 z1n)lq?@R>kS_9xC0^2kJ><9t&x3||&QsapS=Axp_DJkST1p8G2|A_(Xa&p>YG2?X$ z{df}i%F5!5jP!wlHq)$ope%8QvfVJHVWgR zQrT<%7JAa#9wlGONa_C1yt0Px>X8li{{Hv(hJFI;oV!@TQC0o`R1_v`uFhS ziuw2AzW)C7@$ll&!NIYxq+b5!%Cx3gLkSk$=j*ytD1~Pm%xt z4T4ETK~!ko?V4v;Q&$*(Z<0%PNFX6(K%jI(iEC{sGEYD#A0!y0MJ-b(bUwRA{6*UE?mA6no2Oi zjp7D#uAZJ=U?88*=W@B6l&aaYZ=`^)vBqo4+$diw^Kb%yY=UJm@%p<@9NQe=i04)! z?rb6AwwN3fZ2IIc1bjFhMt*={5*3BU5lmQX=WTxPgsUF6L3#s_4dPz7Qa2MSW?^LH zm-`_IQKC>Wi=eR>V7dVnQh|iQv5nWBJjr2jEBkL`1B5_*K$kfr8(Q-O6%|379F~L6 zC9pXm5njukO*M_b0h{F;#6W`1maB~fIt(}%L=2n4XzXbS51;J}kywTmK}?1~8tL`X zm#=>H)mKN49(`f&-aW6q_WIWg7e2}(5{|q9&k)GXDJdyHy&Td7oUxs-wab@Tu^gfr z+lj?^2G3mBb*rN@>xYD!H*cQb>}I>gjK^T$@nPX1U%tA0(M~EIjl&uWD-~j(7DPJh zVy3a|iCqKwOz{U0Y;4!qlfuR09bIh$b{#wR$+m4_VPTGZjz@NOe^pggzfd4-l1e>; zLZVoPMwJRLkw_E>bqbowviEE2(8ssFwGuM1=TtQhuK{iaft>8B;^v=!0{krJ_U+lT z`}?I*BA3&kh?oe}4GjxTb;(#`ySDb0wam6V%VC@$FJ-v*Ztwl(+r_t=hwuG@aPQtd zAO_On;;K=k(n^7F)Jzl-n;O>WlGJEJM#qCYyO}OmUyG#^C_JO)-+J%<@%!(8{CT$* zXn*>-8Bt0r8;q>X&CLMj=2n8HO0igKi9jU!cvvTa zSN27K&o*Hh+SxG})(qe?Asf(9R9HC|sTdp?YsfGowzgVY`uXtj#MVVRmesxZ!PZr0Geh@><4`C?Jh2UuR=Pr;*Gq<+{Up|+3`b>P%sk3pi+}zx1nJg~u z`t`J=q?^~S5hu@p5sTy12AFeQ1wz z#==;e5?9yG`r7(hol+UbS}#dXNX{D@Xa%w)H8C(lN|3E<0$c}cYiqkd(k&&il=-8) zIL5Pws@28ml4#|v)qcdywX?RithQda=L^Q5l%b(bD4$lVi2+Juil!V4)qhY{R{LP^ zLuitK*_1EhfA>xv3RHCGEVGUU5N{IzR0lhUro zU9YY_rM_~NChSwG3V3?Ei^?){vH+Q{Y462s71h-tX315}n}kA~kg!qp`O^!$keLs} z2%Xv=bP3jl+KZEu-*Zq+_4UkvLV3U!06E%+Ot-g{AXXqfe=ZSh5@3*J)w!coS67ej z$v1Ca%S(7~Bdj)JSVs{u!@vvpvE_jFsYArRdnf6CL+G5AS)W0 z4oLb#mk@DQ7836FfD3b>sRwuq-})7Zk&y;kIZL3ahpI0E-cd0k{Q)oyVx0S(w|*TH zUqrmqBPMJuy3_nvjCj-2r$dZm+1rZVQW2+%jzCimOs41;e*CL)#NS&$(*VwJtK{Ry zVt{BbG#vo5jpWIP>-&No(DdL$aUFUhkIN5F+tmP>a`4WjOhk;BQynl1py>f-SxX+R z)#a~{wrDFx?R)8+HvumpJg?xn#~{Cgf4uqTJAk>-3oO*9nc^nON5&e6OP#Ov3^$GFf$XuDmjr*Q!bKL&&+y=dVg6k|WM)b>>#d=(d>t zje+}KE#uvqn3{S%At50-IS~}br_Y>;j|cu!rxf+ELV7y!9I#%=$S5eeDk&;dEx--z z9~Q|^AQzVq^oJH`d*Vt?7?-$4Qdl=v_0GvwBp0WzTR&8&Orj%g}G-B||AW%&~gc->i<#yqZ5F3sqa+Rj>FuGjvCjk<5{7%x2HyH91Z zG|gh=SM4)dfSUr8#@cV10dU`z1(Q46GAU$0sf*$S6JNpq2yP9YEZ%XdE^9GvNL^ zPkocfeT=*=PXm7BS|H(k!LE%YNClc9xUH^NzsQ7P)TT`_iw>+*pL({v&74Qf8s#Zv z6n~sIXAY>^=dU9GttvR1L6`cDc38b;H({6=HHsUFYe1`ka;9PE=y8A=wW^P_OZ}h& zqy|i*la1}n1mX&Tpy~L+l{$Af+y8AXqMJ|{R^nDaziyY45u3c6Cr`}w z1~0rm*L2um8!|lF23%@eF05N0^wDHR?W701$00~#{|cGH@E+_89VuA44uAZJ>1256 z%*EZeTp+ZA=1;?bm&Kt)BO@7!+n63pq9^V}Gd%{{j>CkLr2qVeSWwiK^sPE`Xsu1( z>F5c^%W1o{296R^wJ13V#@4$suB;b6?RuNwSQ^>>>ArK9uUy`|Ti?};>l?Fw<<8M& z3)D`n^LGP2sLRvWcXb!=Y9lrvM0&wgaD%xSywb~%ga)|s0|Uc+L%h6#L!u&Z+LpHw z;bER#9zi~<{ZQI&{wA!3)hlRJaD2A04RCX>ZSVH?u`)Mfu*hh{3hz7+i{9_7ar|MY zD90enRv#a~)tXCZUz;Z?)BM_X>iW^dDY|MwByN5mmg9nKaOrlzCoe(a`*4g4Taag&fpY!z=G@2fj|UjO~yhO;@oVSJ92Q9~nW z|Lp1M>S`Nk@91o4xg)75Sp|6a-FG+d+BIj+wrv|XZd|cq#l{d{Uq?Ql(*U$WVN)v+ zr%UIYS@CbZz4vE(aP{Qi@p_H`{U>pB3=GtJ0v?wOtQDX`6?nzs5UMWspP=2vJp2CL zKau9K+1W-`94>cE5*P@YPdQdrMuLXM#>z1&$ztjc@}Y`%%Lh!kAVNMVdgt06IPGc;-e;{l(40!^1x*TJ#ilq)Sd(+0tA4P+v3>f9GJ=n8SD(xSeV`5Wf1&Ecq zfeuX#;4B;xPySL`g(JRCodHookFG$(7gheebQR?&_L;%uLVN+w*FR8CGl7!mL>qds(zRBnt_% z0wg3pBCQ1<`GkZmA@K!?4+z00#P=0K0tqb=Hf=4-vS#t($IR}IAM@yW^h{58bxl3) zz4_$#KbhxN*6ph49?!kEYVc%t)`=S#5t$kPI44e=I1w2HpB$gmz$Z2ENez5b181}b z!ZZ3@AL+50Ah_?nzW%kZ&ElSa@x@tKH@f`7?IXW$zj&D<4v&{!cwzSYpMLFYv#_Ti z^L=rC?X>BU7d!2T`Kb4&mXExTgX(}fkT1V=eU@%(dwUk{-+y~+YX;i&t1nyFfp@_B zU{lB}eZQR34j=n+r~ObL_WmCPY#&qybK|kSaI`zNcfY-V`Pe$RynfpN8=o6Bd$%?$ zEYSO4e;j~5_T@fo1)pa6KDd336|myeKBxc{jkYFXHlEsh@0{BV2a`5D{|?jPpxNBr zF<|r2pc!uu8yZF}u${XFwz&E%1O2fEcph9A#Q+cqSm)He>|7*J1?a}kUbMHq5vF+& zrlTS}$jdM(){fLenI1H2S<)2av?;Q*+1TG}_BJ~+D{E`MiRjScAN|&ap^P}L~HRul<#Lz8Bd~QFckMjlWZ6! zWjU*dGD!@KVLoZ#;<}tpnxq=m*?L|dRBQF1oYvy*Q8}qM^4Of2*GeSAMUl8xqIh$-6IFE_Pt!qE#N#Naqj(Uf&>$|OBKp&xi?3dLcKp>W zYyNiKG=s3M2?JN*hEP?6|LvQ*}ZFXh2X~TFMbGrPL)9+6Py~KY!(=NLsSMl}JwGGTs?& zCV4zbnrN7YMUw_;n9`>Xe)X>%{JkfCuK0Ix+1S>R>o4vHx363YzV)Rqga$w*llQJ2EgET!T zQaCp&nrisPzr6Pwn_KnQ03w||)f|AKfh&wdJ0+|w&V+W$UuhQn#lP@Z_y5hG{gwRJ z*B`GRfoDgEi6P>8(3F#`8HU-xq)zsRb;A7{1H z{E=x*0#e5u$Lgm?x1lzPhn>5VEcpD@PnDm)`ead{c>m#KKl&f{?#4I1^X;{l>S|Js zsyM3Sw2U%(?zj%CX zy|sTaxDiQP7FT$mJBf#>z@<0Lnv}CHvM+pb{A*XP*8h@cSwJIJHK`SNb$PgJ8Fl#X zvWt(z2In@?5~n>oJ#i z2wX4SMDrH??qfH@z3I6q-Y;W`#6j3{Zj=r(`rZLz^j98zy#5z(=JD_M0KDvujv+Tk zDeIWH1+>jhoIhC9Tp47+R|bRTD?h(=P(S|*``<0{=$m`{@i%|}+qb_x-n|?!9=Fua z$=$H7Yaw3H;_2)e7hm*8FVVs6i{|m2k@ahXbJHXqR7u`s*5~F4W7#MeoL`SNe)Y?{ z-{9`&{0Uls(1$u%tp3&GJk3X<-WVLNqYda@RR#Zb``z%Lf9v-y{TNAI$>e!+`l;H- z%Y7~;tC#YT9?3I*Y?Le?@5(|YBZkJg8VaGwBn*1!b0da6&EUBg#=k@roii|1RbE|A z_2wS#u6tV1<4&dbH2turwIaL5qp+3VgsfBafG zjo#Yb3%|SlZu$p5dL{eLbhp_Jqj(&b^(0K11bv{EI-jG~SC~uFoL&S2ShUr2cWTR( zZs8`)qj&n~zs@YcdbK0m+bLF>4MJ;<8w`bvhte{vK$w9^To0alrhFE}A6MRf4H{rX z^a1OKmA-#?UZ?X7Vs|(C(f|GS=s#}17rzxm;Xzc_`v~_i3Zt|t>#~WOGHN0yQFRk% zd0rK3!!Ql=5Q`T^5Y+uV54ZMlHn=*I1NOdsjk^C#KW+F-0xSme7jo{^n3pkSw08a= zrh=Hu3zM*E5-K<==zAlS=_^l6e%ZKk9uZixsXMl%U==Rr^_y67#dRD#yV(7n=WwnM zx9=oV_4!D4fDGW(u&AS^NJ1tvn9!iOxQeQ%sku#7Gh;8EU7mx+3DuM{iI2vuR3VogY~7^c#mgR~kwa-sS)(@;QUMhzXn?5MzN8$nAA+%C@Y zIH(;x?vXb(>PHhKMiVmT4w@8erSt$zG{y*bESph;nIlS|>PupJ5S62OXU#?T%Tzzy z|Gnt&nFE-5oxQNQSK6kuPR;9T5}`)IMe5(;hQCGD#9rYAaid$z? zoZH12vV`ph9aUIqox13DstPym@2J9nnO?e5U6lkeDFU~07oH8_46r&eY1wUM^awL$ah`dAkN!-V)AGgTxi4U~M zoBT9o9ml=F8l1x1uDG`fs+4{Y4z99a{M^Bp5t)~)?=;Z#N0_vn>|wudV5yn~8mBda zj<#Wm5rL{Sp3bQvf?#vAdYr}vun2!p4$-IVLieYRDoa?$QJbN6Q9fS1pR?ei6)Y8e zrU2%xt&%is(8HN`Mvr@?IU}TJ+)L$W>!W7#%9ZjfO8?UyE{UhulVHRoju1ANE^R0bTE?g)OF+N9npW zN;eBDj{n4^S-rWj(TuvB#NqfuCmc30z9Tr5BvqZ_4G`7LTqaR7N|Q$3A2M{v#Yf(m z%G-C=^RgC6&kVr4?Tiy#Jj-W!k`B$MO57{)?3#1aRN2-e&BaF^slNQ+3h|;vIjw3t zYGIv5IW>VM^#DX&Zw z(C>d;JnO0a2@mh|(}&K~IC!R9bu&isy(-#CHW_6WcwvkY&uIca@J5}6^uI6s{K4Oa zWkwR2R5F)ZU_30UL-8KhR+ZwFw!MDz*Ws16H0AKLN6X)QqYhm6XtU;Vv%|YC3XNcz)gPBjY?y`*IOmHw2JgZCRUU@=@d*$jX zr#ad+082DiDPj8FX#K*4`meOg(4nFv(c6zRaJ#sZ`dCX(?TT919*9R0@;Y@mCD`_~ zL2&+DeU-ZzxN2jeCV&B2AY*u`an<5)%D>WFZihwdYAf-49QWFN7X0T-aj+>@FSN>4 zHD#!~k0CNiFiSRZlqE?~6$!?J6l-q!>1+GXQ|ac0qq30m!q%gB@+T zTlw1v<5z1GZH{j2I~xzv3ecpQV6;{}9w$v$muRbkS$0Y5cd=igqSmdu9#Mcf+5_?*jM9T%zzk->J(R;=ba-BTmb?;&RtHe zlKOxuJa-B&#fkRAo~|F~X+#+qWsJWcmxva)Rty7kQGBwRI?fw8&};l#pgl{u(zR7_ zukLkb0M^5}c)m}$!nh#?i|IE&4%0Xave8=e8Lw;st*`?wU=((MjC)nJ7H4(bhILa8 z_-#fNwsM>*4~La!A*Ju)pqDS^pBB6t3wM{z?4fXm8>b8$8XoyI*Pi{iQ!>xec-$iB zsRPVgS;h3nzFHt=j_V9Kf_gkNZfIzPB4g)hP(AB-sozxC`%r<=#vycj;lt}~TF*zh7gk)NE1=)ofB#L`*To?c%n%)r*(8tD_qP3SoYW!4A^PC+=ZfnFnyQ7O6O@`ZHhn!tURs6lO2+=YCJ>M$msRBIzf_ix^ z($;cMt=(lD*>W&*gA&g=2ZLZVNb4soud@&pY^-FoA0}d!rWaOb#rxsmS=#P;SDt}y z*}MMUE+5TL*6`ZTO~3l|Q!ZZtyB9Jjh8zx^`lnE<%o|7zY> zo)7AOgRB*G#ubP^^}kO%K6wt677?flRvmdgIaPIe*ssq~!-hD~<4zS}X%x_Lw7hvG zOxN4EVDQ{$4*to-M}kWl(nXAs^bT02V|6(i8Mv5MseLi6-^)181i*SR?|HYg|Er;f zh8z-iRC0p-H(480PpQJKHdNW1B2L>d+-z~WNLZGtj#^khJL{E_%^#h(ZO6VntCgqo z#wFTH3>B|?k%DtFiC!E}>qzs~;$nd;gN=)6t!_9@oA&Y-Nly)6e~EtotMTt~{jYH` zORgFJK8l&hCinXl>R^lZ!(QS2xPI8L+p`Fq?yxk3Mf>5|^)9WXgibw+Q-ybT;_q7@ z+%`;;Kr-04Hm!!dDsB2q%qFQdYxZay46$0_8jF0(wA3T55pS5E1MGkFzgI4gpOc`q z3dMA2AR7o>TnC3;@6rhrnHfEgehVJ~*WqL{LnLac66ly+RN4<${>``3m%=(y-5Lku zx)arT8V!PJw9n{xFsVZm(>T6&+O*w`KW-4UM_9z4Q{`awzy1>5|7v?9wRYSiqNHS6 zK`yCGBOx#2&2!~5eehKA{mR$1hq_KpS~}IJPW^LAScl?f2iNQn?T5SQejGdVY`^{X z;5`{UWca8{jH>7mHT)WTH4` zepst8aPh!_mNAkX;Pb2s$3=PH>IRkN4PN0z9;XVhTXWQ!CAQSMZTw4XmtsY=7|6VE zeD#U(Gjve4TtFR_Rjw$f0n$;0Ti~1$!C@R{q5J>%wKks$=+Y}Ir|#uc;kE&^)Ea=L zw=~V`Z)LBr7!7A=twm!&8jDyo5@1^xTf(9)NX4m364lY~s@j;v{XKOhO9~dwb>Ts} z78S*mbtoBbI)&VyF;gPqY=S08wl0)5|9jl4_bXl3g^R@0H?JIs$z_tw;gd z%j1oVd4*f!{din6BVtYf^7-i6M~ug>sYc^TVR2d8`~@>TjlC`HRa4@AJQ!L)EH04E83T@xL-F*4nVXrrPovbJ~{Szm88a z-)9?$GGOrEP8Fi??3gRht`T=qdXv*Z@b0_us|?8uViiRnGb^=<%UM`E*v@W6U|Ea5 zb&pdM(boU6*VXOda=4K(4vyE*OyorwN4O9(7Ov=T>Au1+x%5bJMIIc+l{~c7Cw14= ztK^}DMNd3Du_X|IO4|Y17T6VhLJ9r+9(GDOI71h=-W|Om=SsXg82Rd9tQ7%xo3O$O zubOh>bR*FEq&UDGvpd}J-G48NuAGDW5B@7RoUPcjbjll4PBf?4)U3fYqV+R zOxi_gTEgNh4Cfv2{4U+y7eY=2;J(&4Z{R@3ip{{$n_y@S9K5e8^C8aG_DoWFMs_x5 zr^nUWeIi`9>1@!J-ov8(uop)3-FwOF;E$J`-KoOzhT6;=7@RC$=`u@dtaEyLJKTlV ze=m!!6ky(N*8iSl;LrpEQwy=2prvHd?&GzrdD=Kt)#Fv7;AX#tp1+WtD5mj>K$Gt5t^iFtasE@{uN; z9a?x0d}LH|35FmRMv6tmv44hozm1Fa1(aH+{S8w7)FP_-T$T@9#W-M)NW zrL;y0Y0B0t3=oe~`VRB%su}_@U71#%haJdX9?MU9e+K<7^KkFZc5;VcMWJl=W1Osg zr3G{ylE9GE+iw|Sqc&8;B)c?wZL*_ee zRKh;nHvb!#fkTu0L2_}kc*eo<>Tbam1`fK1J6xz~!>2<)>4b)-S2}gW8ahda2-z@afPui1%bQ5iU@XQZ}Rg`S`^>6#8vOGiehhAr_47omn9v0;^&^p>>KhgkNPF2#D%LTT= z)({}~Q@_>(<8k!fcpB|7F4D$lNM@D+v$z4;_Q&dzbJQ(yaJL9e3&6E~!?G1DHJX(x zSs%*4u{FKSqWMi9;;7E;09_l#7|H@evBY)Pt$!tKeJ@v()|4_I;>_ju{&<#Nd6lLs zuWb!>3*CsrnvBuy_p`SDts7Y_5YLF|2(WABO;DfN+DQYodKwMtbkfwr>YyH9p#Pl` z%dyPACm%YBD^uJT%3SIB&RT~nN>r*qoR zJG<`bpm**juVJ^czSsI-6fMM%z-I0rF2;CuTK%t{eWe_11`ZZ@>yUy~G8Nto*~5`8 z3)3DR9AQ+@@5-NvwLZ!DjS>$^xP^)|*(}Nd3`c02L}@G<0{8LnkRv+|J|Vvkxoo(k z@=51$ZHfBZ-qU_da*&1{?uxhH8@|DPcx*OTL^LyjWZ?1yjEMo4FSDrs#TJWEeOixq zZH;g8dWoTxaImW0``?oc9Q0fGA09PuY-IJ*$61aXI8h55wyN|N2jf1%haA_2 z{kqks(sqZXC;YJK1+I?Wz4-02j&kQ*9P^n61XxDC645*ygL{-K`d@uHO-o2u+5hSp zSIWV<;kQKDLS;X8QzxIIici&HM zvh^O*L~I;voXgf&a4{1ltncT896tV~{|(1Yvsp3zrT@Ktk&jw#U$*|2TliDXJ;Y*u zu7rdAQI9ilX!V`^mE^b7_uzQ!%KkF|X$B7EcP_KCIu0^UQdnw?Q-yUnRoJUgl+()U zsF&+h$sacT?K^{41up67W9Vl(aDxyNCESbCLLE%nucYZycs~BsEqwf|@G_5;bFh1G z?5uBwL4mP@H9PV+q%xR2I`rVUc)obnMX@TNAD(r##)e)!&Tjnf18P5kfq%~V#-KEa zSq{=$*z9%cQ z*lvQ>=^}HtTKLbEaqxo-9NK=DDmMo^>N#E?O2KLmpV<+$6L4l!oU7j*?S~boQ@}WF zLGtFJU!2P8w9Dh=Sh-wts&oqP>}79=WBFB}6c(mj(b;ghYGN#vP(I9M{jc`u==Z;R zt7Q+5bPpX%2bijxDOl|-S=uq@!9jfitb^Nna165QnkrJ~JU|^R7O$`lr){|XB^V7# zJ%mySM@|E)qZU>)_wmEa616awoGQP5StR$jMxoQmD7zImvRB8)D z`*|{XIliCZa!-fn#%enFU;UaCDEV8dcb8Szr((JiFc{J0zabsjeJ`J+G); znJaJZcI50DSyu-6nzwEbUTf{naIK6SY)=W$HZ+oXQoe&R`}>cENfYY>)4Am`rOoMc62XV#(iU3>)Bq4D{uU3Qg4RK^q>lAT z)Dw3%@cTGDIEd~{@_1L`neqyrv*dBL4#O;2gi)}VWWXzWpPgpa|6Wep=|OE@7_6xO z)w?cTMC&FW z|9g^w!#-TmGjM2$$|%zk6)N)trAqy&D!uJt;Va!pJZiwT+}g&q;Wk~HrcKx8b%X_^ z-4Cj;IMu0fZ5QX|zjrTvy>FgmR=+sTJgNS7)zgDLY%RF5KKMifhZHQdW~v-T3l9zq z90Lp-0s@HVpVxj1TpdnN3iq#DhVGA*O&JDuSB}S7SzWsR-MuUnsp8h%;Z4$?S@UG~ z_(qn>!G5C;W#G89ui+7krhC=vLD6GQ1B!Uje)zbwinFpis<84nJuZKri+A^vTW8%o z>GdwU5`cB1c@GY4FC-5RDjd$0fur@{*jg{1od>30!TqqOn+L29qQd<=7UpJ7^=#@2 zoc6;Osq5`!qj&eR*JYkG1xw~h%>&OYSn|m_-aW@RAl3Mndv_)J9hOIz4)BLHaGVfsXTm(G*Y#uR0P98%>%sBpg$ezyi_w<0 z9Na2FGXNb(r#%o_KpYr>qp+T$qZV#|D%K9mPe|16--f%Nvm|$SGsLs`Tw$U-G*9vv z*7wTx+&53Ud+e&sllH*fpQQr)um+CV9vo{ZSRCR*9UVVfrCXfW_&il&#rfeuQO-7R zzr4e^7W_7yXE&+AkG=$9!n(P2XY?v@<~=EjH#;&YEZLKoL_(B z_gEEO3c#vU?|&a;;E-%)dd>FWz`*g8UcBG$_WNT4gTf8Vj?QDk;!~(RR$u4w% z7})IWXRonXFlS_$s}E)oe^CcD(}ePcj!nUm2W8)T^8EVy&33S5g{*3Nu>aT!FNK5s zCLhMY@%Yvr3(WW?uxgpgcB*inixvK`r^-?uQTs;&no%=8bH9!rcR%5N`~AUBFryl{ zlCbpN5sH-H2Jhlf4={Pp`w zI4S|=Iok5~C5Cfz_c)N^*1fe?nDdh&}`M- zlgGWY;+Dq2AJ)LJp5?X%$)%)Id+@HJO^o)#-CH@(qVp$T2B>lSDjA_w1v48g2&4OK zy`VcjZo30`TEM#)cdA?LjnkXV{vB{p?&>-7zt#t{j8I?xZpXjo9$VT6DErJ3Y8c@5%Pf z@Bh0r5&f_p9DFh?zP!#7m7uxck0;!O!Vxa^i@F9p2I9W|+%|IQoR zYda*D^BXB~f(zMR0g%b7oGib`0|N)S344{PUzPGC@k>b)(u{eA1Fr8Q=k|D*F^=sl z@NLA!QyN4r-z(CTVV>HSXEwP%C!WoF^0$7AET?lU4Pd>_Ngf=ipteku+JTl_c_N%@-eIr7l%^>eqP3WOp%6DrYyQS;Io9)wC3Z+=Dne>i!wx9nfGK{ z1^545sFDR94`txcH-@N0eL}_70FN>@In$J#fYT}A>{MZ0b82CJIwd$Q;{5--cIo9m zd3*B}z}+KC=WcsOyMX*YYSj)U?NAb8ySc|TXt=|D^qXrTC*dY|f0h@~4Ckt>11jo( z$7X#(FvWv=%5Iu$sS+18bDrwIwKQdKbEEdjh0`7$@yvECg@aXc-@tKzq8VrF?GhD% zDi>Kem}GGlH-kY`J~`u3dn^H}qod+n0e%bz-`*Q;|KQE7AHz;#^eA?r3MFE7!o7qs zCla=`yXtRA1E(5Cs~_e!T&;Lsb^qR;l$_Nj6zw ze*=_NOq2lq_}2IuPlmIdgUT-j!PN1!fL%UJ1E*Gh^6utqufMnP7P0K?iP8fgi{YN?j7(h)#TOW-Gr=RVtRMtqQtf!gMp-kBW%fM}tV#-bg zQ+o3}WB4_$$0b{RS9=>9b#U9ttgl~d*B)_?Q$Lmhu->XuumbJD;Y(CvKGw)C?nt}V zMHYoK+S)+DI>gN?M9LN5^S8a=VNo6XMY8|BH!l9s`{P7n*o+S_H{ddqkuietDuxIQ z5`Zl0Q@egwoQ&4oDPH1S4V#FAV>N^_Zl)2?0BU`5yr5$yKaHefD;=(ZmjPb_o80e+N0AlPx4N)W8nasfkU5Y$FsD*2AHkS5suo$ov$vi z7MLes+oT{`Pv;aYF2Hg2fKG+8tW6TsH}9>#`A4@lf5gaDVptW<(!>VEM`P4_LMokz zRumxtBu+--C2I??hBXYdxQ630z#<6%ucfAp!Nu5@LA~TLP3c007t9&uNmdtm$>+>q zq= zLJy7dfKOqwO)z#1+h~*u#xFdGhH3G%tWSdUq?!=4ba>MjZ*9Hw&ikX=0uE-zTqy2s zIs=4;Gy*xCu+on{Q+;U5!J7Hej6oUi z0&1fnOr&uuapGRas}USbUny|Kl?IT8Nny>(1C|{CCm2# zW*h#JmV`5VRI*oU8D_(B%BCviFewGD)*Qu;mG#Z(r)p`=W|~~#$_1;S5BRfifL+1T zJ>{a~yU3#Dn3RpQ(KiSqTEj~l<8Fxx+^Z_>09DVZFo0CA-97( ziBouO3Ks(|<5e?4gku94U}-*xZ2DoQ_Rxj_S^cV(cuG8L)jj`6z`jOsErlwG_mHjd zWqgdFskQYHInf&UjfPDVsQ7*?=FGf07_Mmsy9IYpR+`km{z40`ELYz5>J>hq?pJbY z;Q;HY-GYUY&qfgl&JbD5pashA8*q*tn}gPa!x`79E>4R0-uK_$`rW$+!yQ@%mm2y+ zxJu$##s-Eg@Vs#@l3|SHN!&daxTHbhia8tfA(Ww*e8^jLc=NbmQ&{?3RwM(YEa4Q6 z6c=S(K6APi9}Z0>Wi979iDC8-u{|c!e8ftdu-YtkYKdiWuE3>H*W%n&E$VJ-@8SL~ z9AJ5HNWs$K8uW-EuRcmatM7QUeYmx(WRZ8<%$@4W-Tl!IzWe6Z?;}^ODKM0Qd&PzD z6rh<%hI1WMSRG(7LZD>9X=u>^j5(2Zk+X9^q3Jx(WcM4m5)KAQvXUUFnhZ58Ntj)L zJ%_X#5;pY!13A0XY3gqcbId`oRu4!oGo(av#=dpxb4@JwI9Jbpmbh2XvoL@=1uMiw zMdg|XJsu4$tgnqEtj_8mqZAj}sJhk)G2zGz0Q-vlk>aS79iWV~v)?SeguA zB7iwqWV^}bvmh3Zy&hNH*mZUD`s5JM*PTE@UJpDbnNSCAHYGDY(pX(&`- zbZWO#V8y*a46+SdyIT)r<^Ygbs=+^RvWjZ<1+;aXX$w2{g@ zxU-i%BY}l+@WZ|j3YJVq^&_L)HaVjot=`!k{^#$$bMXdBRmyKRQwBzO*UD4|8^dZW zs|oi;<6CjDIF}ipXd=-0yeCRF1_hQluUPEDvqnN?X$D|6K{d+UdL;!dG;}ScNnVTaDuK zGkjj?){pL7_}8y&ufG8k4+J(G`;dEnP6fC$_Km#2dT`=DO z$Z#%lJ+CpC(T|#qSZ2g1sVaF{Xr@OSp@=K{APNTU-8_RsU^3*HZC0j5+Z-Rnv1bif zf0v~KEa$TkIt>FPh9K|**NBROUFD=NRWUruO>Bx2}Ha5b$nXYkln8BMrTqfvdS%^PbUI1g=HxrvGI~3T?eD>KGug5CW)-{$Z8o z7$@>FC;>Jp%m`5&plzS8f;F}fgkxnw4cV>|`G=WM4gl?!R#2PvyQR|#kji3b zw#=e`hLHgnlOdVtVk4wFnlyGM*@bh4u^EG)f-mCj7ZqH)Zd~i*R2lv|uZr6H&Uq30 z{{w(t*C)}11MFi%K^I)+#D+A&#YtA7EI_&CBdaiDq)!54E@b3{Ntl%lr0451NM(9H z{l_Ihn*-XWV*J8mK+}9R1&AgEt^zg}yM{~7aKcx#n9*_TQlD$*hcQ13p!UIDD8Q=B zF9tWL!*yb^@aa$SvZ8d?L4rhHT7k}2k6%OK@ zg&hC=#*N@xU;0vbEqFD26AzrVH96{J;lbJ(1`ixK=sgk9;=Q22sDw2b!40G-eJw*L zTmUdeXbu(t`FJq)W0YbPD5mFlz#`3?JVitwpmYre{GJr$rwLuS3cj|zH;SIVWNPaMR0lT#Vc9j91H?B^uTyfYtmnuA4KBgL98~@ zTn@oJE->Wt?W+`9q(ru6W%*fyEO6FIR@K>rSsaWM`?!OkQCHe`N?e+#4;{G zXVn9r)sb;Sc8jcJ>@!5e;=n|up^^csJaKej<65oU>nl<=>|wn63AlX}m`pwT^P~Mz z<%)yE#VSc-PG()&sWqG^=xNO+TryUj)q)8MkIH0RTWOk(F>QUEBK5N>lIIaz3I}(}md2n#aI00g#BH0nBJZ5r zY&LfI4$XQJruhKlvxc@DsT2YxeE2dLONE1iO*{wXz^3SAu)vS4(fsSo;Qxt8p2zao z-wOj+90S|7U~wz&iw)%MK=Y?zwwr4{mF-tBI5Ia}B&lX~XLP)~ zxTL<;JSSwd_(UYDwjO*OsoV!A|KJpTfPH>gEh($07*qoM6N<$f;Hfm A_W%F@ diff --git a/src/qt/res/icons/raven.icns b/src/qt/res/icons/raven.icns deleted file mode 100644 index df821fbbdca141a1d3099510eab78806f06c57cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132277 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

omvC%*~TG|+00&Rt0 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ĢSUo(84Bp8EJNK;kNg!!lhcy5Yg@I3 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 HA8-C242+o7 diff --git a/src/qt/res/icons/raven.ico b/src/qt/res/icons/raven.ico deleted file mode 100644 index 8cf6ae3da43a7bdd8d47f01a1f77c2e6986f8bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31710 zcmd3P2RxST+y8ajqY^?=ghZ0ENA})ZNJgS0D^g;6CjQ$Er8wrruStVsX%kLjuLFuf?vf-Gcf#x{0@Qg;>-RDiqjgpl{4ao69mAj zrN*V6i*kHYf0Q4U34I5U2HvBmRNW>H8V)Z3f5<;cFwwd<3D4cn%OCvHHh?rNSb3RR zJ?(tpJxP!-fcyrN1Rd?-X{>^5$SD=~Kh1wn3?VzI=5u?c}WV z@t!xQblli&^@IL2{{cG!qG9sNMAiPy7ukU3F_EarS;5Qm1feT)NkZ|H7{RNvKWqNq zo~h{7Aj*0lx0!0ERM_jD9Xn}$WW8%0;SO9Sq$K}^#6KsUS1kO2n6J~ zn*TXd&C~%4t@s|jV^2E8LPlSJ44#me{?GEGC*Juo>`&W9#qm z`Cg6$&0agGz(48kiXA0ath#B39@X7e z8gXOFdUbW)N`||D*IzClO$cS6KyAd z>*d3E5?={Wkek!geKn5i*MkOwi=eBEVq}=N{4dH!`NV%Oe--Ei$iC{N;y8BDaA+RY z{eWdVwezhP<@TcE`R~e)mcKsFmf?B|?8l8&&1YhXr90N`(FO~JX?e^W=u6xP}x_% zw+(7r320wn6=Xg_`8)m><*&^%kbTix(O_I&zioP5_HXjz35xokCwvvuhM|0o?=t#L~V4|a1B zZI88b!S18BAH_j~p#=w3&*!1Cd-nYO@+FZl**#n~>f!GtjK&uw4∓&G6IU7fguR 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 diff --git a/src/qt/res/icons/raven.png b/src/qt/res/icons/raven.png deleted file mode 100644 index d109f8020b0fadf0a6471e4098edb04fe0b16709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63873 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∓&G6IU7fguR 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 diff --git a/src/qt/res/src/bitcoin.svg b/src/qt/res/src/bitcoin.svg new file mode 100644 index 0000000000..1b73eb8588 --- /dev/null +++ b/src/qt/res/src/bitcoin.svg @@ -0,0 +1,3876 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/qt/res/src/raven.svg b/src/qt/res/src/raven.svg deleted file mode 100644 index c6f187f56d..0000000000 --- a/src/qt/res/src/raven.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index a631e4b031..613636b47c 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "rpcconsole.h" diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h index c7d0b0909d..277ac17a89 100644 --- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_RPCCONSOLE_H -#define RAVEN_QT_RPCCONSOLE_H +#ifndef BITCOIN_QT_RPCCONSOLE_H +#define BITCOIN_QT_RPCCONSOLE_H #include "guiutil.h" #include "peertablemodel.h" @@ -28,7 +29,7 @@ class QMenu; class QItemSelection; QT_END_NAMESPACE -/** Local Raven RPC console. */ +/** Local Bitcoin RPC console. */ class RPCConsole: public QWidget { Q_OBJECT @@ -157,4 +158,4 @@ public Q_SLOTS: void updateNetworkState(); }; -#endif // RAVEN_QT_RPCCONSOLE_H +#endif // BITCOIN_QT_RPCCONSOLE_H diff --git a/src/qt/sendassetsentry.cpp b/src/qt/sendassetsentry.cpp index 68312cc4af..92e26fb16e 100644 --- a/src/qt/sendassetsentry.cpp +++ b/src/qt/sendassetsentry.cpp @@ -49,9 +49,9 @@ SendAssetsEntry::SendAssetsEntry(const PlatformStyle *_platformStyle, const QStr ui->addAsLabel->setPlaceholderText(tr("Enter a label for this address to add it to your address book")); #endif - // normal raven address field + // normal BLAST address field GUIUtil::setupAddressWidget(ui->payTo, this); - // just a label for displaying raven address(es) + // just a label for displaying BLAST address(es) ui->payTo_is->setFont(GUIUtil::fixedPitchFont()); // Connect signals diff --git a/src/qt/sendassetsentry.h b/src/qt/sendassetsentry.h index 5e13f72130..7406fc6926 100644 --- a/src/qt/sendassetsentry.h +++ b/src/qt/sendassetsentry.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_SENDASSETSENTRY_H -#define RAVEN_QT_SENDASSETSENTRY_H +#ifndef BITCOIN_QT_SENDASSETSENTRY_H +#define BITCOIN_QT_SENDASSETSENTRY_H #include "walletmodel.h" @@ -21,7 +22,7 @@ namespace Ui { } /** - * A single entry in the dialog for sending ravens. + * A single entry in the dialog for sending bitcoins. * Stacked widget, with different UIs for payment requests * with a strong payee identity. */ @@ -90,4 +91,4 @@ private Q_SLOTS: bool updateLabel(const QString &address); }; -#endif // RAVEN_QT_SENDASSETSENTRY_H +#endif // BITCOIN_QT_SENDASSETSENTRY_H diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 0c58ac9118..ca168d22d7 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -7,7 +7,7 @@ #include "ui_sendcoinsdialog.h" #include "addresstablemodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "clientmodel.h" #include "coincontroldialog.h" #include "guiutil.h" @@ -359,7 +359,7 @@ void SendCoinsDialog::on_sendButton_clicked() // process prepareStatus and on error generate message shown to user processSendCoinsReturn(prepareStatus, - RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), currentTransaction.getTransactionFee())); + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), currentTransaction.getTransactionFee())); if(prepareStatus.status != WalletModel::OK) { fNewRecipientAllowed = true; @@ -373,7 +373,7 @@ void SendCoinsDialog::on_sendButton_clicked() for (const SendCoinsRecipient &rcp : currentTransaction.getRecipients()) { // generate bold amount string - QString amount = "" + RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), rcp.amount); + QString amount = "" + BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), rcp.amount); amount.append(""); // generate monospace address string QString address = "" + rcp.address; @@ -412,7 +412,7 @@ void SendCoinsDialog::on_sendButton_clicked() { // append fee string if a fee is required questionString.append("


"); - questionString.append(RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), txFee)); + questionString.append(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), txFee)); questionString.append(" "); questionString.append(tr("added as transaction fee")); @@ -424,13 +424,13 @@ void SendCoinsDialog::on_sendButton_clicked() questionString.append("
"); CAmount totalAmount = currentTransaction.getTotalTransactionAmount() + txFee; QStringList alternativeUnits; - for (RavenUnits::Unit u : RavenUnits::availableUnits()) + for (BitcoinUnits::Unit u : BitcoinUnits::availableUnits()) { if(u != model->getOptionsModel()->getDisplayUnit()) - alternativeUnits.append(RavenUnits::formatHtmlWithUnit(u, totalAmount)); + alternativeUnits.append(BitcoinUnits::formatHtmlWithUnit(u, totalAmount)); } questionString.append(tr("Total Amount %1") - .arg(RavenUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount))); + .arg(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount))); questionString.append(QString("
(=%2)
") .arg(alternativeUnits.join(" " + tr("or") + "
"))); @@ -612,7 +612,7 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir if(model && model->getOptionsModel()) { - ui->labelBalance->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); + ui->labelBalance->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), balance)); } } @@ -659,7 +659,7 @@ void SendCoinsDialog::processSendCoinsReturn(const WalletModel::SendCoinsReturn msgParams.second = CClientUIInterface::MSG_ERROR; break; case WalletModel::AbsurdFee: - msgParams.first = tr("A fee higher than %1 is considered an absurdly high fee.").arg(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), maxTxFee)); + msgParams.first = tr("A fee higher than %1 is considered an absurdly high fee.").arg(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), maxTxFee)); break; case WalletModel::PaymentRequestExpired: msgParams.first = tr("Payment request expired."); @@ -721,7 +721,7 @@ void SendCoinsDialog::updateFeeMinimizedLabel() if (ui->radioSmartFee->isChecked()) ui->labelFeeMinimized->setText(ui->labelSmartFee->text()); else { - ui->labelFeeMinimized->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); + ui->labelFeeMinimized->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), ui->customFee->value()) + "/kB"); } } @@ -729,7 +729,7 @@ void SendCoinsDialog::updateMinFeeLabel() { if (model && model->getOptionsModel()) ui->checkBoxMinimumFee->setText(tr("Pay only the required fee of %1").arg( - RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), GetRequiredFee(1000)) + "/kB") ); } @@ -756,7 +756,7 @@ void SendCoinsDialog::updateSmartFeeLabel() FeeCalculation feeCalc; CFeeRate feeRate = CFeeRate(GetMinimumFee(1000, coin_control, ::mempool, ::feeEstimator, &feeCalc)); - ui->labelSmartFee->setText(RavenUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); + ui->labelSmartFee->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), feeRate.GetFeePerK()) + "/kB"); if (feeCalc.reason == FeeReason::FALLBACK) { ui->labelSmartFee2->show(); // (Smart fee not initialized yet. This usually takes a few blocks...) @@ -871,7 +871,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text) } else if (!IsValidDestination(dest)) // Invalid address { - ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid Raven address")); + ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid BLAST address")); } else // Valid address { diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h index f0006b4163..0c84aba549 100644 --- a/src/qt/sendcoinsdialog.h +++ b/src/qt/sendcoinsdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_SENDCOINSDIALOG_H -#define RAVEN_QT_SENDCOINSDIALOG_H +#ifndef BITCOIN_QT_SENDCOINSDIALOG_H +#define BITCOIN_QT_SENDCOINSDIALOG_H #include "walletmodel.h" @@ -26,7 +27,7 @@ QT_BEGIN_NAMESPACE class QUrl; QT_END_NAMESPACE -/** Dialog for sending ravens */ +/** Dialog for sending bitcoins */ class SendCoinsDialog : public QDialog { Q_OBJECT @@ -124,4 +125,4 @@ private Q_SLOTS: int secDelay; }; -#endif // RAVEN_QT_SENDCOINSDIALOG_H +#endif // BITCOIN_QT_SENDCOINSDIALOG_H diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp index 12f0d3ccd3..eb052fa1be 100644 --- a/src/qt/sendcoinsentry.cpp +++ b/src/qt/sendcoinsentry.cpp @@ -41,9 +41,9 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *_platformStyle, QWidget *par ui->addAsLabel->setPlaceholderText(tr("Enter a label for this address to add it to your address book")); #endif - // normal raven address field + // normal BLAST address field GUIUtil::setupAddressWidget(ui->payTo, this); - // just a label for displaying raven address(es) + // just a label for displaying BLAST address(es) ui->payTo_is->setFont(GUIUtil::getSubLabelFont()); // Connect signals @@ -134,7 +134,7 @@ void SendCoinsEntry::clear() ui->memoTextLabel_s->clear(); ui->payAmount_s->clear(); - // update the display unit, to not use the default ("RVN") + // update the display unit, to not use the default ("BLAST") updateDisplayUnit(); } diff --git a/src/qt/sendcoinsentry.h b/src/qt/sendcoinsentry.h index 8b993ccacf..1592be1d64 100644 --- a/src/qt/sendcoinsentry.h +++ b/src/qt/sendcoinsentry.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_SENDCOINSENTRY_H -#define RAVEN_QT_SENDCOINSENTRY_H +#ifndef BITCOIN_QT_SENDCOINSENTRY_H +#define BITCOIN_QT_SENDCOINSENTRY_H #include "walletmodel.h" @@ -18,7 +19,7 @@ namespace Ui { } /** - * A single entry in the dialog for sending ravens. + * A single entry in the dialog for sending bitcoins. * Stacked widget, with different UIs for payment requests * with a strong payee identity. */ @@ -71,4 +72,4 @@ private Q_SLOTS: bool updateLabel(const QString &address); }; -#endif // RAVEN_QT_SENDCOINSENTRY_H +#endif // BITCOIN_QT_SENDCOINSENTRY_H diff --git a/src/qt/signverifymessagedialog.h b/src/qt/signverifymessagedialog.h index 300e42de73..634c52abad 100644 --- a/src/qt/signverifymessagedialog.h +++ b/src/qt/signverifymessagedialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_SIGNVERIFYMESSAGEDIALOG_H -#define RAVEN_QT_SIGNVERIFYMESSAGEDIALOG_H +#ifndef BITCOIN_QT_SIGNVERIFYMESSAGEDIALOG_H +#define BITCOIN_QT_SIGNVERIFYMESSAGEDIALOG_H #include @@ -51,4 +52,4 @@ private Q_SLOTS: void on_clearButton_VM_clicked(); }; -#endif // RAVEN_QT_SIGNVERIFYMESSAGEDIALOG_H +#endif // BITCOIN_QT_SIGNVERIFYMESSAGEDIALOG_H diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index 4ee80cb310..c0c6497a0c 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "splashscreen.h" @@ -31,7 +31,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) QWidget(0, f), curAlignment(0) { // set reference point, paddings - int paddingRight = 50; + int paddingRight = 25; int paddingTop = 50; int titleVersionVSpace = 17; int titleCopyrightVSpace = 40; @@ -60,17 +60,17 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) #endif QPainter pixPaint(&pixmap); - pixPaint.setPen(QColor(100,100,100)); + pixPaint.setPen(QColor(200,200,200)); // draw a slightly radial gradient QRadialGradient gradient(QPoint(0,0), splashSize.width()/devicePixelRatio); - gradient.setColorAt(0, Qt::white); - gradient.setColorAt(1, QColor(247,247,247)); + gradient.setColorAt(0, QColor(43,62,80)); + gradient.setColorAt(1, QColor(57,56,74)); QRect rGradient(QPoint(0,0), splashSize); pixPaint.fillRect(rGradient, gradient); - // draw the raven icon, expected size of PNG: 1024x1024 - QRect rectIcon(QPoint(-40,0), QSize(310,310)); + // draw the BLAST icon, expected size of PNG: 1024x1024 + QRect rectIcon(QPoint(-60,-43), QSize(375,375)); const QSize requiredSize(1024,1024); QPixmap icon(networkStyle->getSplashIcon().pixmap(requiredSize)); @@ -168,7 +168,7 @@ static void InitMessage(SplashScreen *splash, const std::string &message) Qt::QueuedConnection, Q_ARG(QString, QString::fromStdString(message)), Q_ARG(int, Qt::AlignBottom|Qt::AlignHCenter), - Q_ARG(QColor, QColor(55,55,55))); + Q_ARG(QColor, QColor(200,200,200))); } static void ShowProgress(SplashScreen *splash, const std::string &title, int nProgress, bool resume_possible) diff --git a/src/qt/splashscreen.h b/src/qt/splashscreen.h index 57276c5b2b..19e8841982 100644 --- a/src/qt/splashscreen.h +++ b/src/qt/splashscreen.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_SPLASHSCREEN_H -#define RAVEN_QT_SPLASHSCREEN_H +#ifndef BITCOIN_QT_SPLASHSCREEN_H +#define BITCOIN_QT_SPLASHSCREEN_H #include #include @@ -14,7 +15,7 @@ class NetworkStyle; /** Class for the splashscreen with information of the running client. * - * @note this is intentionally not a QSplashScreen. Raven Core initialization + * @note this is intentionally not a QSplashScreen. Bitcoin Core initialization * can take a long time, and in that case a progress window that cannot be * moved around and minimized has turned out to be frustrating to the user. */ @@ -56,4 +57,4 @@ public Q_SLOTS: QList connectedWallets; }; -#endif // RAVEN_QT_SPLASHSCREEN_H +#endif // BITCOIN_QT_SPLASHSCREEN_H diff --git a/src/qt/test/compattests.cpp b/src/qt/test/compattests.cpp index fcf5dd8f7f..77f1e5bab3 100644 --- a/src/qt/test/compattests.cpp +++ b/src/qt/test/compattests.cpp @@ -11,7 +11,7 @@ void CompatTests::bswapTests() { - // Sibling in raven/src/test/bswap_tests.cpp + // Sibling in blast-core/src/test/bswap_tests.cpp uint16_t u1 = 0x1234; uint32_t u2 = 0x56789abc; uint64_t u3 = 0xdef0123456789abc; diff --git a/src/qt/test/compattests.h b/src/qt/test/compattests.h index f04c45f8cc..b514972f17 100644 --- a/src/qt/test/compattests.h +++ b/src/qt/test/compattests.h @@ -1,10 +1,11 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TEST_COMPATTESTS_H -#define RAVEN_QT_TEST_COMPATTESTS_H +#ifndef BITCOIN_QT_TEST_COMPATTESTS_H +#define BITCOIN_QT_TEST_COMPATTESTS_H #include #include @@ -17,4 +18,4 @@ private Q_SLOTS: void bswapTests(); }; -#endif // RAVEN_QT_TEST_COMPATTESTS_H +#endif // BITCOIN_QT_TEST_COMPATTESTS_H diff --git a/src/qt/test/paymentrequestdata.h b/src/qt/test/paymentrequestdata.h index e33bce907c..3257ce668a 100644 --- a/src/qt/test/paymentrequestdata.h +++ b/src/qt/test/paymentrequestdata.h @@ -436,7 +436,7 @@ d2hj739GDLz0b5KuJ2SG6VknMRQM976w/m2qlq0ccVGaaZ2zMIGfpzL3p6adwx/5\ "; // -// Payment request with amount overflow (amount is set to 21000001 RVN) +// Payment request with amount overflow (amount is set to 64000001 BLAST) // const char* paymentrequest5_cert2_BASE64 = "\ diff --git a/src/qt/test/paymentservertests.cpp b/src/qt/test/paymentservertests.cpp index 5befeaeac5..47e97ed3fa 100644 --- a/src/qt/test/paymentservertests.cpp +++ b/src/qt/test/paymentservertests.cpp @@ -189,7 +189,7 @@ void PaymentServerTests::paymentServerTests() // compares 50001 <= BIP70_MAX_PAYMENTREQUEST_SIZE == false QCOMPARE(PaymentServer::verifySize(tempFile.size()), false); - // Payment request with amount overflow (amount is set to 21000001 RVN): + // Payment request with amount overflow (amount is set to 64000001 BLAST): data = DecodeBase64(paymentrequest5_cert2_BASE64); byteArray = QByteArray((const char*)data.data(), data.size()); r.paymentRequest.parse(byteArray); diff --git a/src/qt/test/paymentservertests.h b/src/qt/test/paymentservertests.h index d0d0607af0..91dd3c0923 100644 --- a/src/qt/test/paymentservertests.h +++ b/src/qt/test/paymentservertests.h @@ -1,10 +1,11 @@ // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TEST_PAYMENTSERVERTESTS_H -#define RAVEN_QT_TEST_PAYMENTSERVERTESTS_H +#ifndef BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H +#define BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H #include "../paymentserver.h" @@ -33,4 +34,4 @@ public Q_SLOTS: SendCoinsRecipient recipient; }; -#endif // RAVEN_QT_TEST_PAYMENTSERVERTESTS_H +#endif // BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H diff --git a/src/qt/test/rpcnestedtests.cpp b/src/qt/test/rpcnestedtests.cpp index 7058b713ab..0f304e6f36 100644 --- a/src/qt/test/rpcnestedtests.cpp +++ b/src/qt/test/rpcnestedtests.cpp @@ -12,7 +12,7 @@ #include "rpc/register.h" #include "rpc/server.h" #include "rpcconsole.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "univalue.h" #include "util.h" diff --git a/src/qt/test/rpcnestedtests.h b/src/qt/test/rpcnestedtests.h index f49cf988de..f46c1bdf1f 100644 --- a/src/qt/test/rpcnestedtests.h +++ b/src/qt/test/rpcnestedtests.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TEST_RPC_NESTED_TESTS_H -#define RAVEN_QT_TEST_RPC_NESTED_TESTS_H +#ifndef BITCOIN_QT_TEST_RPC_NESTED_TESTS_H +#define BITCOIN_QT_TEST_RPC_NESTED_TESTS_H #include #include @@ -23,4 +24,4 @@ class RPCNestedTests : public QObject CCoinsViewDB *pcoinsdbview; }; -#endif // RAVEN_QT_TEST_RPC_NESTED_TESTS_H +#endif // BITCOIN_QT_TEST_RPC_NESTED_TESTS_H diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp index 9f56a72a56..6533804365 100644 --- a/src/qt/test/test_main.cpp +++ b/src/qt/test/test_main.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "chainparams.h" @@ -56,7 +56,7 @@ int main(int argc, char *argv[]) SelectParams(CBaseChainParams::MAIN); noui_connect(); ClearDatadirCache(); - fs::path pathTemp = fs::temp_directory_path() / strprintf("test_raven-qt_%lu_%i", (unsigned long) GetTime(), (int) GetRand(100000)); + fs::path pathTemp = fs::temp_directory_path() / strprintf("test_blast-qt_%lu_%i", (unsigned long) GetTime(), (int) GetRand(100000)); fs::create_directories(pathTemp); gArgs.ForceSetArg("-datadir", pathTemp.string()); @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) // Don't remove this, it's needed to access // QApplication:: and QCoreApplication:: in the tests QApplication app(argc, argv); - app.setApplicationName("Raven-Qt-test"); + app.setApplicationName("BLAST-Qt-test"); SSL_library_init(); diff --git a/src/qt/test/uritests.cpp b/src/qt/test/uritests.cpp index e3aec3b0b8..9a7df47451 100644 --- a/src/qt/test/uritests.cpp +++ b/src/qt/test/uritests.cpp @@ -14,54 +14,54 @@ void URITests::uriTests() { SendCoinsRecipient rv; QUrl uri; - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist=")); - QVERIFY(!GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist=")); + QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist=")); - QVERIFY(GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist=")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 0); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address")); - QVERIFY(GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); QVERIFY(rv.label == QString("Wikipedia Example Address")); QVERIFY(rv.amount == 0); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001")); - QVERIFY(GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 100000); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001")); - QVERIFY(GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 100100000); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example")); - QVERIFY(GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); QVERIFY(rv.amount == 10000000000LL); QVERIFY(rv.label == QString("Wikipedia Example")); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address")); - QVERIFY(GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); QVERIFY(rv.label == QString()); - QVERIFY(GUIUtil::parseRavenURI("raven://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv)); + QVERIFY(GUIUtil::parseBitcoinURI("blast://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv)); QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); QVERIFY(rv.label == QString()); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address")); - QVERIFY(GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example")); - QVERIFY(!GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example")); + QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("raven:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example")); - QVERIFY(!GUIUtil::parseRavenURI(uri, &rv)); + uri.setUrl(QString("blast:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example")); + QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); } diff --git a/src/qt/test/uritests.h b/src/qt/test/uritests.h index 063af68781..c44dc58561 100644 --- a/src/qt/test/uritests.h +++ b/src/qt/test/uritests.h @@ -1,10 +1,11 @@ // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TEST_URITESTS_H -#define RAVEN_QT_TEST_URITESTS_H +#ifndef BITCOIN_QT_TEST_URITESTS_H +#define BITCOIN_QT_TEST_URITESTS_H #include #include @@ -17,4 +18,4 @@ private Q_SLOTS: void uriTests(); }; -#endif // RAVEN_QT_TEST_URITESTS_H +#endif // BITCOIN_QT_TEST_URITESTS_H diff --git a/src/qt/test/wallettests.cpp b/src/qt/test/wallettests.cpp index 849bea2550..5f68c21b54 100644 --- a/src/qt/test/wallettests.cpp +++ b/src/qt/test/wallettests.cpp @@ -1,6 +1,6 @@ #include "wallettests.h" -#include "qt/ravenamountfield.h" +#include "qt/bitcoinamountfield.h" #include "qt/callback.h" #include "qt/optionsmodel.h" #include "qt/platformstyle.h" @@ -10,7 +10,7 @@ #include "qt/transactiontablemodel.h" #include "qt/transactionview.h" #include "qt/walletmodel.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "validation.h" #include "wallet/wallet.h" #include "qt/overviewpage.h" @@ -69,7 +69,7 @@ uint256 SendCoins(CWallet& wallet, SendCoinsDialog& sendCoinsDialog, const CTxDe QVBoxLayout* entries = sendCoinsDialog.findChild("entries"); SendCoinsEntry* entry = qobject_cast(entries->itemAt(0)->widget()); entry->findChild("payTo")->setText(QString::fromStdString(EncodeDestination(address))); - entry->findChild("payAmount")->setValue(amount); + entry->findChild("payAmount")->setValue(amount); sendCoinsDialog.findChild("frameFee") ->findChild("frameFeeSelection") ->findChild("optInRBF") @@ -144,9 +144,9 @@ void BumpFee(TransactionView& view, const uint256& txid, bool expectDisabled, st // // This also requires overriding the default minimal Qt platform: // -// src/qt/test/test_raven-qt -platform xcb # Linux -// src/qt/test/test_raven-qt -platform windows # Windows -// src/qt/test/test_raven-qt -platform cocoa # macOS +// src/qt/test/test_blast-qt -platform xcb # Linux +// src/qt/test/test_blast-qt -platform windows # Windows +// src/qt/test/test_blast-qt -platform cocoa # macOS void TestGUI() { // Set up wallet and chain with 105 blocks (5 mature blocks for spending). @@ -198,7 +198,7 @@ void TestGUI() QString balanceText = balanceLabel->text(); int unit = walletModel.getOptionsModel()->getDisplayUnit(); CAmount balance = walletModel.getBalance(); - QString balanceComparison = RavenUnits::formatWithUnit(unit, balance, false, RavenUnits::separatorAlways); + QString balanceComparison = BitcoinUnits::formatWithUnit(unit, balance, false, BitcoinUnits::separatorAlways); QCOMPARE(balanceText, balanceComparison); // Check Request Payment button @@ -211,7 +211,7 @@ void TestGUI() labelInput->setText("TEST_LABEL_1"); // Amount input - RavenAmountField* amountInput = receiveCoinsDialog.findChild("reqAmount"); + BitcoinAmountField* amountInput = receiveCoinsDialog.findChild("reqAmount"); amountInput->setValue(1); // Message input @@ -227,7 +227,7 @@ void TestGUI() QString paymentText = rlist->toPlainText(); QStringList paymentTextList = paymentText.split('\n'); QCOMPARE(paymentTextList.at(0), QString("Payment information")); - QVERIFY(paymentTextList.at(1).indexOf(QString("URI: raven:")) != -1); + QVERIFY(paymentTextList.at(1).indexOf(QString("URI: blast:")) != -1); QVERIFY(paymentTextList.at(2).indexOf(QString("Address:")) != -1); QCOMPARE(paymentTextList.at(3), QString("Amount: 0.00000001 ") + QString::fromStdString(CURRENCY_UNIT)); QCOMPARE(paymentTextList.at(4), QString("Label: TEST_LABEL_1")); diff --git a/src/qt/test/wallettests.h b/src/qt/test/wallettests.h index 673cf5075d..342f7916c3 100644 --- a/src/qt/test/wallettests.h +++ b/src/qt/test/wallettests.h @@ -1,5 +1,5 @@ -#ifndef RAVEN_QT_TEST_WALLETTESTS_H -#define RAVEN_QT_TEST_WALLETTESTS_H +#ifndef BITCOIN_QT_TEST_WALLETTESTS_H +#define BITCOIN_QT_TEST_WALLETTESTS_H #include #include @@ -12,4 +12,4 @@ private Q_SLOTS: void walletTests(); }; -#endif // RAVEN_QT_TEST_WALLETTESTS_H +#endif // BITCOIN_QT_TEST_WALLETTESTS_H diff --git a/src/qt/trafficgraphwidget.h b/src/qt/trafficgraphwidget.h index 2db54056d3..8a1d8667dd 100644 --- a/src/qt/trafficgraphwidget.h +++ b/src/qt/trafficgraphwidget.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TRAFFICGRAPHWIDGET_H -#define RAVEN_QT_TRAFFICGRAPHWIDGET_H +#ifndef BITCOIN_QT_TRAFFICGRAPHWIDGET_H +#define BITCOIN_QT_TRAFFICGRAPHWIDGET_H #include #include @@ -46,4 +47,4 @@ public Q_SLOTS: ClientModel *clientModel; }; -#endif // RAVEN_QT_TRAFFICGRAPHWIDGET_H +#endif // BITCOIN_QT_TRAFFICGRAPHWIDGET_H diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp index 3575ff7b3f..f7166dc289 100644 --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -5,7 +5,7 @@ #include "transactiondesc.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "guiutil.h" #include "paymentserver.h" #include "transactionrecord.h" @@ -52,7 +52,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco { QString strHTML; - if (rec->assetName != "RVN") { + if (rec->assetName != "BLAST") { return toAssetHTML(wallet, wtx, rec, unit); } @@ -141,7 +141,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco nUnmatured += wallet->GetCredit(txout, ISMINE_ALL); strHTML += "" + tr("Credit") + ": "; if (wtx.IsInMainChain()) - strHTML += RavenUnits::formatHtmlWithUnit(unit, nUnmatured)+ " (" + tr("matures in %n more block(s)", "", wtx.GetBlocksToMaturity()) + ")"; + strHTML += BitcoinUnits::formatHtmlWithUnit(unit, nUnmatured)+ " (" + tr("matures in %n more block(s)", "", wtx.GetBlocksToMaturity()) + ")"; else strHTML += "(" + tr("not accepted") + ")"; strHTML += "
"; @@ -151,7 +151,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco // // Credit // - strHTML += "" + tr("Credit") + ": " + RavenUnits::formatHtmlWithUnit(unit, nNet) + "
"; + strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, nNet) + "
"; } else { @@ -202,9 +202,9 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco } } - strHTML += "" + tr("Debit") + ": " + RavenUnits::formatHtmlWithUnit(unit, -txout.nValue) + "
"; + strHTML += "" + tr("Debit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, -txout.nValue) + "
"; if(toSelf) - strHTML += "" + tr("Credit") + ": " + RavenUnits::formatHtmlWithUnit(unit, txout.nValue) + "
"; + strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, txout.nValue) + "
"; } if (fAllToMe) @@ -212,13 +212,13 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco // Payment to self CAmount nChange = wtx.GetChange(); CAmount nValue = nCredit - nChange; - strHTML += "" + tr("Total debit") + ": " + RavenUnits::formatHtmlWithUnit(unit, -nValue) + "
"; - strHTML += "" + tr("Total credit") + ": " + RavenUnits::formatHtmlWithUnit(unit, nValue) + "
"; + strHTML += "" + tr("Total debit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, -nValue) + "
"; + strHTML += "" + tr("Total credit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, nValue) + "
"; } CAmount nTxFee = nDebit - wtx.tx->GetValueOut(); if (nTxFee > 0) - strHTML += "" + tr("Transaction fee") + ": " + RavenUnits::formatHtmlWithUnit(unit, -nTxFee) + "
"; + strHTML += "" + tr("Transaction fee") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, -nTxFee) + "
"; } else { @@ -227,14 +227,14 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco // for (const CTxIn& txin : wtx.tx->vin) if (wallet->IsMine(txin)) - strHTML += "" + tr("Debit") + ": " + RavenUnits::formatHtmlWithUnit(unit, -wallet->GetDebit(txin, ISMINE_ALL)) + "
"; + strHTML += "" + tr("Debit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, -wallet->GetDebit(txin, ISMINE_ALL)) + "
"; for (const CTxOut& txout : wtx.tx->vout) if (wallet->IsMine(txout)) - strHTML += "" + tr("Credit") + ": " + RavenUnits::formatHtmlWithUnit(unit, wallet->GetCredit(txout, ISMINE_ALL)) + "
"; + strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, wallet->GetCredit(txout, ISMINE_ALL)) + "
"; } } - strHTML += "" + tr("Net amount") + ": " + RavenUnits::formatHtmlWithUnit(unit, nNet, true) + "
"; + strHTML += "" + tr("Net amount") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, nNet, true) + "
"; // // Message @@ -248,7 +248,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco strHTML += "" + tr("Transaction total size") + ": " + QString::number(wtx.tx->GetTotalSize()) + " bytes
"; strHTML += "" + tr("Output index") + ": " + QString::number(rec->getOutputIndex()) + "
"; - // Message from normal raven:URI (raven:123...?message=example) + // Message from normal blast:URI (blast:123...?message=example) for (const std::pair& r : wtx.vOrderForm) if (r.first == "Message") strHTML += "
" + tr("Message") + ":
" + GUIUtil::HtmlEscape(r.second, true) + "
"; @@ -378,12 +378,12 @@ QString TransactionDesc::toAssetHTML(CWallet *wallet, CWalletTx &wtx, Transactio // // Credit // - strHTML += "" + tr("Credit") + ": " + RavenUnits::formatWithCustomName(QString::fromStdString(rec->assetName), nAssetsRec, rec->units) + "
"; + strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatWithCustomName(QString::fromStdString(rec->assetName), nAssetsRec, rec->units) + "
"; } else { - strHTML += "" + tr("Debit") + ": " + RavenUnits::formatWithCustomName(QString::fromStdString(rec->assetName), nAssetsRec, rec->units, true) + "
"; + strHTML += "" + tr("Debit") + ": " + BitcoinUnits::formatWithCustomName(QString::fromStdString(rec->assetName), nAssetsRec, rec->units, true) + "
"; } - strHTML += "" + tr("Net RVN amount") + ": " + RavenUnits::formatHtmlWithUnit(unit, nNet, true) + "
"; + strHTML += "" + tr("Net BLAST amount") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, nNet, true) + "
"; // // Message @@ -397,7 +397,7 @@ QString TransactionDesc::toAssetHTML(CWallet *wallet, CWalletTx &wtx, Transactio strHTML += "" + tr("Transaction total size") + ": " + QString::number(wtx.tx->GetTotalSize()) + " bytes
"; strHTML += "" + tr("Output index") + ": " + QString::number(rec->getOutputIndex()) + "
"; - // Message from normal raven:URI (raven:123...?message=example) + // Message from normal blast:URI (blast:123...?message=example) for (const std::pair& r : wtx.vOrderForm) if (r.first == "Message") strHTML += "
" + tr("Message") + ":
" + GUIUtil::HtmlEscape(r.second, true) + "
"; @@ -444,10 +444,10 @@ void TransactionDesc::CreateDebugString(QString& strHTML, CWallet *wallet, CWall CAmount debit = wallet->GetDebit(txin, ISMINE_ALL, assetData); if (assetData.nAmount > 0) { strHTML += "" + tr("Debit") + ": " + - RavenUnits::formatWithCustomName(QString::fromStdString(assetData.assetName), -assetData.nAmount) + "
"; + BitcoinUnits::formatWithCustomName(QString::fromStdString(assetData.assetName), -assetData.nAmount) + "
"; } strHTML += "" + tr("Debit") + ": " + - RavenUnits::formatHtmlWithUnit(unit, -debit) + "
"; + BitcoinUnits::formatHtmlWithUnit(unit, -debit) + "
"; } for (const CTxOut& txout : wtx.tx->vout) @@ -456,10 +456,10 @@ void TransactionDesc::CreateDebugString(QString& strHTML, CWallet *wallet, CWall CAssetOutputEntry assetData; GetAssetData(txout.scriptPubKey, assetData); strHTML += "" + tr("Credit") + ": " + - RavenUnits::formatWithCustomName(QString::fromStdString(assetData.assetName), assetData.nAmount) + "
"; + BitcoinUnits::formatWithCustomName(QString::fromStdString(assetData.assetName), assetData.nAmount) + "
"; } else strHTML += "" + tr("Credit") + ": " + - RavenUnits::formatHtmlWithUnit(unit, wallet->GetCredit(txout, ISMINE_ALL)) + "
"; + BitcoinUnits::formatHtmlWithUnit(unit, wallet->GetCredit(txout, ISMINE_ALL)) + "
"; } strHTML += "
" + tr("Transaction") + ":
"; @@ -485,7 +485,7 @@ void TransactionDesc::CreateDebugString(QString& strHTML, CWallet *wallet, CWall strHTML += GUIUtil::HtmlEscape(wallet->mapAddressBook[address].name) + " "; strHTML += QString::fromStdString(EncodeDestination(address)); } - strHTML = strHTML + " " + tr("Amount") + "=" + RavenUnits::formatHtmlWithUnit(unit, vout.nValue); + strHTML = strHTML + " " + tr("Amount") + "=" + BitcoinUnits::formatHtmlWithUnit(unit, vout.nValue); strHTML = strHTML + " IsMine=" + (wallet->IsMine(vout) & ISMINE_SPENDABLE ? tr("true") : tr("false")) + ""; strHTML = strHTML + " IsWatchOnly=" + (wallet->IsMine(vout) & ISMINE_WATCH_ONLY ? tr("true") : tr("false")) + ""; } diff --git a/src/qt/transactiondesc.h b/src/qt/transactiondesc.h index 23e893a740..8e18e27700 100644 --- a/src/qt/transactiondesc.h +++ b/src/qt/transactiondesc.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TRANSACTIONDESC_H -#define RAVEN_QT_TRANSACTIONDESC_H +#ifndef BITCOIN_QT_TRANSACTIONDESC_H +#define BITCOIN_QT_TRANSACTIONDESC_H #include #include @@ -31,4 +32,4 @@ class TransactionDesc: public QObject static QString FormatTxStatus(const CWalletTx& wtx); }; -#endif // RAVEN_QT_TRANSACTIONDESC_H +#endif // BITCOIN_QT_TRANSACTIONDESC_H diff --git a/src/qt/transactiondescdialog.h b/src/qt/transactiondescdialog.h index 0d165fe4f4..d8ad165e84 100644 --- a/src/qt/transactiondescdialog.h +++ b/src/qt/transactiondescdialog.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TRANSACTIONDESCDIALOG_H -#define RAVEN_QT_TRANSACTIONDESCDIALOG_H +#ifndef BITCOIN_QT_TRANSACTIONDESCDIALOG_H +#define BITCOIN_QT_TRANSACTIONDESCDIALOG_H #include @@ -29,4 +30,4 @@ class TransactionDescDialog : public QDialog Ui::TransactionDescDialog *ui; }; -#endif // RAVEN_QT_TRANSACTIONDESCDIALOG_H +#endif // BITCOIN_QT_TRANSACTIONDESCDIALOG_H diff --git a/src/qt/transactionfilterproxy.h b/src/qt/transactionfilterproxy.h index e5f46d00d8..87a9f42d69 100644 --- a/src/qt/transactionfilterproxy.h +++ b/src/qt/transactionfilterproxy.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TRANSACTIONFILTERPROXY_H -#define RAVEN_QT_TRANSACTIONFILTERPROXY_H +#ifndef BITCOIN_QT_TRANSACTIONFILTERPROXY_H +#define BITCOIN_QT_TRANSACTIONFILTERPROXY_H #include "amount.h" @@ -67,4 +68,4 @@ class TransactionFilterProxy : public QSortFilterProxyModel int limitRows; bool showInactive; }; -#endif // RAVEN_QT_TRANSACTIONFILTERPROXY_H +#endif // BITCOIN_QT_TRANSACTIONFILTERPROXY_H diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 210d1c2ba3..a546bc7052 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -48,10 +48,10 @@ QList TransactionRecord::decomposeTransaction(const CWallet * const CTxOut& txout = wtx.tx->vout[i]; isminetype mine = wallet->IsMine(txout); - /** RVN START */ + /** BLAST START */ if (txout.scriptPubKey.IsAssetScript()) continue; - /** RVN START */ + /** BLAST START */ if(mine) { @@ -96,10 +96,10 @@ QList TransactionRecord::decomposeTransaction(const CWallet * isminetype fAllToMe = ISMINE_SPENDABLE; for (const CTxOut& txout : wtx.tx->vout) { - /** RVN START */ + /** BLAST START */ if (txout.scriptPubKey.IsAssetScript()) continue; - /** RVN START */ + /** BLAST START */ isminetype mine = wallet->IsMine(txout); if(mine & ISMINE_WATCH_ONLY) involvesWatchAddress = true; @@ -126,10 +126,10 @@ QList TransactionRecord::decomposeTransaction(const CWallet * { const CTxOut& txout = wtx.tx->vout[nOut]; - /** RVN START */ + /** BLAST START */ if (txout.scriptPubKey.IsAssetScript()) continue; - /** RVN START */ + /** BLAST START */ TransactionRecord sub(hash, nTime); sub.idx = nOut; @@ -175,7 +175,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * // - /** RVN START */ + /** BLAST START */ // We will only show mixed debit transactions that are nNet < 0 or if they are nNet == 0 and // they do not contain assets. This is so the list of transaction doesn't add 0 amount transactions to the // list. @@ -195,12 +195,12 @@ QList TransactionRecord::decomposeTransaction(const CWallet * parts.append(TransactionRecord(hash, nTime, TransactionRecord::Other, "", nNet, 0)); parts.last().involvesWatchAddress = involvesWatchAddress; } - /** RVN START */ + /** BLAST START */ } } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { CAmount nFee; std::string strSentAccount; @@ -295,7 +295,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * } } } - /** RVN END */ + /** BLAST END */ return parts; } diff --git a/src/qt/transactionrecord.h b/src/qt/transactionrecord.h index bcf56030ec..02ad325a5f 100644 --- a/src/qt/transactionrecord.h +++ b/src/qt/transactionrecord.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TRANSACTIONRECORD_H -#define RAVEN_QT_TRANSACTIONRECORD_H +#ifndef BITCOIN_QT_TRANSACTIONRECORD_H +#define BITCOIN_QT_TRANSACTIONRECORD_H #include "amount.h" #include "uint256.h" @@ -91,13 +92,13 @@ class TransactionRecord static const int RecommendedNumConfirmations = 6; TransactionRecord(): - hash(), time(0), type(Other), address(""), debit(0), credit(0), assetName("RVN"), units(8), idx(0) + hash(), time(0), type(Other), address(""), debit(0), credit(0), assetName("BLAST"), units(8), idx(0) { } TransactionRecord(uint256 _hash, qint64 _time): hash(_hash), time(_time), type(Other), address(""), debit(0), - credit(0), assetName("RVN"), units(8), idx(0) + credit(0), assetName("BLAST"), units(8), idx(0) { } @@ -105,7 +106,7 @@ class TransactionRecord Type _type, const std::string &_address, const CAmount& _debit, const CAmount& _credit): hash(_hash), time(_time), type(_type), address(_address), debit(_debit), credit(_credit), - assetName("RVN"), units(8), idx(0) + assetName("BLAST"), units(8), idx(0) { } @@ -150,4 +151,4 @@ class TransactionRecord bool statusUpdateNeeded() const; }; -#endif // RAVEN_QT_TRANSACTIONRECORD_H +#endif // BITCOIN_QT_TRANSACTIONRECORD_H diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index c69cb351e9..333f85abec 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -265,7 +265,7 @@ TransactionTableModel::~TransactionTableModel() /** Updates the column title to "Amount (DisplayUnit)" and emits headerDataChanged() signal for table headers to react. */ void TransactionTableModel::updateAmountColumnTitle() { - columns[Amount] = RavenUnits::getAmountColumnTitle(walletModel->getOptionsModel()->getDisplayUnit()); + columns[Amount] = BitcoinUnits::getAmountColumnTitle(walletModel->getOptionsModel()->getDisplayUnit()); Q_EMIT headerDataChanged(Qt::Horizontal,Amount,Amount); } @@ -471,7 +471,7 @@ QVariant TransactionTableModel::addressColor(const TransactionRecord *wtx) const return QVariant(); } -QString TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed, RavenUnits::SeparatorStyle separators) const +QString TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed, BitcoinUnits::SeparatorStyle separators) const { QString str; switch(wtx->type) { @@ -484,7 +484,7 @@ QString TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool } break; default: { - str = RavenUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), wtx->credit + wtx->debit, + str = BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), wtx->credit + wtx->debit, false, separators); } break; } @@ -590,7 +590,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const case ToAddress: return formatTxToAddress(rec, false); case Amount: - return formatTxAmount(rec, true, RavenUnits::separatorAlways); + return formatTxAmount(rec, true, BitcoinUnits::separatorAlways); case AssetName: return QString::fromStdString(rec->assetName); } @@ -686,14 +686,14 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const details.append(QString::fromStdString(rec->address)); details.append(" "); } - details.append(formatTxAmount(rec, false, RavenUnits::separatorNever)); + details.append(formatTxAmount(rec, false, BitcoinUnits::separatorNever)); return details; } case ConfirmedRole: return rec->status.countsForBalance; case FormattedAmountRole: // Used for copy/export, so don't include separators - return formatTxAmount(rec, false, RavenUnits::separatorNever); + return formatTxAmount(rec, false, BitcoinUnits::separatorNever); case AssetNameRole: { QString assetName; @@ -734,7 +734,7 @@ QVariant TransactionTableModel::headerData(int section, Qt::Orientation orientat case Amount: return tr("Amount removed from or added to balance."); case AssetName: - return tr("The asset (or RVN) removed or added to balance."); + return tr("The asset (or BLAST) removed or added to balance."); } } } diff --git a/src/qt/transactiontablemodel.h b/src/qt/transactiontablemodel.h index 3c6fd02d97..f846c9714c 100644 --- a/src/qt/transactiontablemodel.h +++ b/src/qt/transactiontablemodel.h @@ -1,12 +1,13 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TRANSACTIONTABLEMODEL_H -#define RAVEN_QT_TRANSACTIONTABLEMODEL_H +#ifndef BITCOIN_QT_TRANSACTIONTABLEMODEL_H +#define BITCOIN_QT_TRANSACTIONTABLEMODEL_H -#include "ravenunits.h" +#include "bitcoinunits.h" #include #include @@ -74,7 +75,7 @@ class TransactionTableModel : public QAbstractTableModel StatusRole, /** Unprocessed icon */ RawDecorationRole, - /** RVN or name of an asset */ + /** BLAST or name of an asset */ AssetNameRole, }; @@ -102,7 +103,7 @@ class TransactionTableModel : public QAbstractTableModel QString formatTxDate(const TransactionRecord *wtx) const; QString formatTxType(const TransactionRecord *wtx) const; QString formatTxToAddress(const TransactionRecord *wtx, bool tooltip) const; - QString formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true, RavenUnits::SeparatorStyle separators=RavenUnits::separatorStandard) const; + QString formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true, BitcoinUnits::SeparatorStyle separators=BitcoinUnits::separatorStandard) const; QString formatTooltip(const TransactionRecord *rec) const; QVariant txStatusDecoration(const TransactionRecord *wtx) const; QVariant txWatchonlyDecoration(const TransactionRecord *wtx) const; @@ -121,4 +122,4 @@ public Q_SLOTS: friend class TransactionTablePriv; }; -#endif // RAVEN_QT_TRANSACTIONTABLEMODEL_H +#endif // BITCOIN_QT_TRANSACTIONTABLEMODEL_H diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 5f42762d02..2a017987dd 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -6,7 +6,7 @@ #include "transactionview.h" #include "addresstablemodel.h" -#include "ravenunits.h" +#include "bitcoinunits.h" #include "csvmodelwriter.h" #include "editaddressdialog.h" #include "guiutil.h" @@ -373,7 +373,7 @@ void TransactionView::changedAmount() if(!transactionProxyModel) return; CAmount amount_parsed = 0; - if (RavenUnits::parse(model->getOptionsModel()->getDisplayUnit(), amountWidget->text(), &amount_parsed)) { + if (BitcoinUnits::parse(model->getOptionsModel()->getDisplayUnit(), amountWidget->text(), &amount_parsed)) { transactionProxyModel->setMinAmount(amount_parsed); } else @@ -414,7 +414,7 @@ void TransactionView::exportClicked() writer.addColumn(tr("Type"), TransactionTableModel::Type, Qt::EditRole); writer.addColumn(tr("Label"), 0, TransactionTableModel::LabelRole); writer.addColumn(tr("Address"), 0, TransactionTableModel::AddressRole); - writer.addColumn(RavenUnits::getAmountColumnTitle(model->getOptionsModel()->getDisplayUnit()), 0, TransactionTableModel::FormattedAmountRole); + writer.addColumn(BitcoinUnits::getAmountColumnTitle(model->getOptionsModel()->getDisplayUnit()), 0, TransactionTableModel::FormattedAmountRole); if (AreAssetsDeployed()) { writer.addColumn(tr("Asset"), 0, TransactionTableModel::AssetNameRole); } diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index 40d91b4365..6c3cfe7542 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_TRANSACTIONVIEW_H -#define RAVEN_QT_TRANSACTIONVIEW_H +#ifndef BITCOIN_QT_TRANSACTIONVIEW_H +#define BITCOIN_QT_TRANSACTIONVIEW_H #include "guiutil.h" @@ -127,4 +128,4 @@ public Q_SLOTS: }; -#endif // RAVEN_QT_TRANSACTIONVIEW_H +#endif // BITCOIN_QT_TRANSACTIONVIEW_H diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp index 64cae18614..a710d064c6 100644 --- a/src/qt/utilitydialog.cpp +++ b/src/qt/utilitydialog.cpp @@ -1,17 +1,18 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "utilitydialog.h" #include "ui_helpmessagedialog.h" -#include "ravengui.h" +#include "bitcoingui.h" #include "clientmodel.h" #include "guiconstants.h" #include "intro.h" @@ -71,14 +72,14 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) : } else { setWindowTitle(tr("Command-line options")); QString header = tr("Usage:") + "\n" + - " raven-qt [" + tr("command-line options") + "] " + "\n"; + " blast-qt [" + tr("command-line options") + "] " + "\n"; QTextCursor cursor(ui->helpMessage->document()); cursor.insertText(version); cursor.insertBlock(); cursor.insertText(header); cursor.insertBlock(); - std::string strUsage = HelpMessage(HMM_RAVEN_QT); + std::string strUsage = HelpMessage(HMM_BITCOIN_QT); const bool showDebug = gArgs.GetBoolArg("-help-debug", false); strUsage += HelpMessageGroup(tr("UI Options:").toStdString()); if (showDebug) { @@ -91,7 +92,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) : strUsage += HelpMessageOpt("-splash", strprintf(tr("Show splash screen on startup (default: %u)").toStdString(), DEFAULT_SPLASHSCREEN)); strUsage += HelpMessageOpt("-resetguisettings", tr("Reset all settings changed in the GUI").toStdString()); if (showDebug) { - strUsage += HelpMessageOpt("-uiplatform", strprintf("Select platform to customize UI for (one of windows, macosx, other; default: %s)", RavenGUI::DEFAULT_UIPLATFORM)); + strUsage += HelpMessageOpt("-uiplatform", strprintf("Select platform to customize UI for (one of windows, macosx, other; default: %s)", BitcoinGUI::DEFAULT_UIPLATFORM)); } QString coreOptions = QString::fromStdString(strUsage); text = version + "\n" + header + "\n" + coreOptions; @@ -172,7 +173,7 @@ ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags f): setLayout(layout); } -QWidget *ShutdownWindow::showShutdownWindow(RavenGUI *window) +QWidget *ShutdownWindow::showShutdownWindow(BitcoinGUI *window) { if (!window) return nullptr; diff --git a/src/qt/utilitydialog.h b/src/qt/utilitydialog.h index 65a1d8233f..7a161c9711 100644 --- a/src/qt/utilitydialog.h +++ b/src/qt/utilitydialog.h @@ -1,15 +1,16 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_UTILITYDIALOG_H -#define RAVEN_QT_UTILITYDIALOG_H +#ifndef BITCOIN_QT_UTILITYDIALOG_H +#define BITCOIN_QT_UTILITYDIALOG_H #include #include -class RavenGUI; +class BitcoinGUI; namespace Ui { class HelpMessageDialog; @@ -43,10 +44,10 @@ class ShutdownWindow : public QWidget public: explicit ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0); - static QWidget *showShutdownWindow(RavenGUI *window); + static QWidget *showShutdownWindow(BitcoinGUI *window); protected: void closeEvent(QCloseEvent *event); }; -#endif // RAVEN_QT_UTILITYDIALOG_H +#endif // BITCOIN_QT_UTILITYDIALOG_H diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp index 88b87ae51c..46ba6df985 100644 --- a/src/qt/walletframe.cpp +++ b/src/qt/walletframe.cpp @@ -5,7 +5,7 @@ #include "walletframe.h" -#include "ravengui.h" +#include "bitcoingui.h" #include "walletview.h" #include @@ -14,7 +14,7 @@ #include #include -WalletFrame::WalletFrame(const PlatformStyle *_platformStyle, RavenGUI *_gui) : +WalletFrame::WalletFrame(const PlatformStyle *_platformStyle, BitcoinGUI *_gui) : QFrame(_gui), gui(_gui), platformStyle(_platformStyle) @@ -46,7 +46,7 @@ bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel) return false; WalletView *walletView = new WalletView(platformStyle, this); - walletView->setRavenGUI(gui); + walletView->setBitcoinGUI(gui); walletView->setClientModel(clientModel); walletView->setWalletModel(walletModel); walletView->showOutOfSyncWarning(bOutOfSync); @@ -205,7 +205,7 @@ void WalletFrame::outOfSyncWarningClicked() Q_EMIT requestedSyncWarningInfo(); } -/** RVN START */ +/** BLAST START */ void WalletFrame::gotoAssetsPage() { QMap::const_iterator i; diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h index 061269fee8..ae5e1369e3 100644 --- a/src/qt/walletframe.h +++ b/src/qt/walletframe.h @@ -1,15 +1,16 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_WALLETFRAME_H -#define RAVEN_QT_WALLETFRAME_H +#ifndef BITCOIN_QT_WALLETFRAME_H +#define BITCOIN_QT_WALLETFRAME_H #include #include -class RavenGUI; +class BitcoinGUI; class ClientModel; class PlatformStyle; class SendCoinsRecipient; @@ -22,9 +23,9 @@ QT_END_NAMESPACE /** * A container for embedding all wallet-related - * controls into RavenGUI. The purpose of this class is to allow future + * controls into BitcoinGUI. The purpose of this class is to allow future * refinements of the wallet controls with minimal need for further - * modifications to RavenGUI, thus greatly simplifying merges while + * modifications to BitcoinGUI, thus greatly simplifying merges while * reducing the risk of breaking top-level stuff. */ class WalletFrame : public QFrame @@ -32,7 +33,7 @@ class WalletFrame : public QFrame Q_OBJECT public: - explicit WalletFrame(const PlatformStyle *platformStyle, RavenGUI *_gui = 0); + explicit WalletFrame(const PlatformStyle *platformStyle, BitcoinGUI *_gui = 0); ~WalletFrame(); void setClientModel(ClientModel *clientModel); @@ -52,7 +53,7 @@ class WalletFrame : public QFrame private: QStackedWidget *walletStack; - RavenGUI *gui; + BitcoinGUI *gui; ClientModel *clientModel; QMap mapWalletViews; @@ -93,13 +94,13 @@ public Q_SLOTS: /** Pass on signal over requested out-of-sync-warning information */ void outOfSyncWarningClicked(); - /** RVN START */ + /** BLAST START */ /** Switch to assets page */ void gotoAssetsPage(); void gotoCreateAssetsPage(); void gotoManageAssetsPage(); - /** RVN END */ + /** BLAST END */ }; -#endif // RAVEN_QT_WALLETFRAME_H +#endif // BITCOIN_QT_WALLETFRAME_H diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 2d80939dfe..89921f94b2 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -240,7 +240,7 @@ WalletModel::SendCoinsReturn WalletModel::prepareTransaction(WalletModelTransact total += subtotal; } else - { // User-entered raven address / amount: + { // User-entered BLAST address / amount: if(!validateAddress(rcp.address)) { return InvalidAddress; @@ -331,7 +331,7 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(WalletModelTransaction &tran rcp.paymentRequest.SerializeToString(&value); newTx->vOrderForm.push_back(make_pair(key, value)); } - else if (!rcp.message.isEmpty()) // Message from normal raven:URI (raven:123...?message=example) + else if (!rcp.message.isEmpty()) // Message from normal blast:URI (blast:123...?message=example) newTx->vOrderForm.push_back(make_pair("Message", rcp.message.toStdString())); } @@ -663,7 +663,7 @@ void WalletModel::listCoins(std::map >& mapCoins) } } -/** RVN START */ +/** BLAST START */ // AvailableCoins + LockedCoins grouped by wallet address (put change in one group with wallet address) void WalletModel::listAssets(std::map > >& mapCoins) const { @@ -689,7 +689,7 @@ void WalletModel::listAssets(std::map"); // questionString.append(tr("Current fee:")); // questionString.append(""); -// questionString.append(RavenUnits::formatHtmlWithUnit(getOptionsModel()->getDisplayUnit(), oldFee)); +// questionString.append(BitcoinUnits::formatHtmlWithUnit(getOptionsModel()->getDisplayUnit(), oldFee)); // questionString.append(""); // questionString.append(tr("Increase:")); // questionString.append(""); -// questionString.append(RavenUnits::formatHtmlWithUnit(getOptionsModel()->getDisplayUnit(), newFee - oldFee)); +// questionString.append(BitcoinUnits::formatHtmlWithUnit(getOptionsModel()->getDisplayUnit(), newFee - oldFee)); // questionString.append(""); // questionString.append(tr("New fee:")); // questionString.append(""); -// questionString.append(RavenUnits::formatHtmlWithUnit(getOptionsModel()->getDisplayUnit(), newFee)); +// questionString.append(BitcoinUnits::formatHtmlWithUnit(getOptionsModel()->getDisplayUnit(), newFee)); // questionString.append(""); // SendConfirmationDialog confirmationDialog(tr("Confirm fee bump"), questionString); // confirmationDialog.exec(); diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 42e7e36a04..4188f2591a 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_WALLETMODEL_H -#define RAVEN_QT_WALLETMODEL_H +#ifndef BITCOIN_QT_WALLETMODEL_H +#define BITCOIN_QT_WALLETMODEL_H #include "paymentrequestplus.h" #include "walletmodeltransaction.h" @@ -161,7 +162,7 @@ class SendAssetsRecipient } }; -/** Interface to Raven wallet from Qt view code. */ +/** Interface to Bitcoin wallet from Qt view code. */ class WalletModel : public QObject { Q_OBJECT @@ -265,10 +266,10 @@ class WalletModel : public QObject void getOutputs(const std::vector& vOutpoints, std::vector& vOutputs); bool isSpent(const COutPoint& outpoint) const; void listCoins(std::map >& mapCoins) const; - /** RVN START */ + /** BLAST START */ // Map of asset name to map of address to CTxOut void listAssets(std::map > >& mapCoins) const; - /** RVN END */ + /** BLAST END */ bool isLockedCoin(uint256 hash, unsigned int n) const; void lockCoin(COutPoint& output); void unlockCoin(COutPoint& output); @@ -364,4 +365,4 @@ public Q_SLOTS: void pollBalanceChanged(); }; -#endif // RAVEN_QT_WALLETMODEL_H +#endif // BITCOIN_QT_WALLETMODEL_H diff --git a/src/qt/walletmodeltransaction.h b/src/qt/walletmodeltransaction.h index 06317ae301..28ddd9300b 100644 --- a/src/qt/walletmodeltransaction.h +++ b/src/qt/walletmodeltransaction.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_WALLETMODELTRANSACTION_H -#define RAVEN_QT_WALLETMODELTRANSACTION_H +#ifndef BITCOIN_QT_WALLETMODELTRANSACTION_H +#define BITCOIN_QT_WALLETMODELTRANSACTION_H #include "walletmodel.h" @@ -46,4 +47,4 @@ class WalletModelTransaction CAmount fee; }; -#endif // RAVEN_QT_WALLETMODELTRANSACTION_H +#endif // BITCOIN_QT_WALLETMODELTRANSACTION_H diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp index 85b36550c8..d9db7b71bd 100644 --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -7,7 +7,7 @@ #include "addressbookpage.h" #include "askpassphrasedialog.h" -#include "ravengui.h" +#include "bitcoingui.h" #include "clientmodel.h" #include "guiutil.h" #include "optionsmodel.h" @@ -74,11 +74,11 @@ WalletView::WalletView(const PlatformStyle *_platformStyle, QWidget *parent): addWidget(receiveCoinsPage); addWidget(sendCoinsPage); - /** RVN START */ + /** BLAST START */ addWidget(assetsPage); addWidget(createAssetsPage); addWidget(manageAssetsPage); - /** RVN END */ + /** BLAST END */ // Clicking on a transaction on the overview pre-selects the transaction on the transaction history page connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex))); @@ -95,7 +95,7 @@ WalletView::WalletView(const PlatformStyle *_platformStyle, QWidget *parent): // Pass through messages from transactionView connect(transactionView, SIGNAL(message(QString,QString,unsigned int)), this, SIGNAL(message(QString,QString,unsigned int))); - /** RVN START */ + /** BLAST START */ connect(assetsPage, SIGNAL(message(QString,QString,unsigned int)), this, SIGNAL(message(QString,QString,unsigned int))); connect(createAssetsPage, SIGNAL(message(QString,QString,unsigned int)), this, SIGNAL(message(QString,QString,unsigned int))); connect(manageAssetsPage, SIGNAL(message(QString,QString,unsigned int)), this, SIGNAL(message(QString,QString,unsigned int))); @@ -110,7 +110,7 @@ WalletView::~WalletView() { } -void WalletView::setRavenGUI(RavenGUI *gui) +void WalletView::setBitcoinGUI(BitcoinGUI *gui) { if (gui) { @@ -166,7 +166,7 @@ void WalletView::setWalletModel(WalletModel *_walletModel) usedReceivingAddressesPage->setModel(_walletModel ? _walletModel->getAddressTableModel() : nullptr); usedSendingAddressesPage->setModel(_walletModel ? _walletModel->getAddressTableModel() : nullptr); - /** RVN START */ + /** BLAST START */ assetsPage->setModel(_walletModel); createAssetsPage->setModel(_walletModel); manageAssetsPage->setModel(_walletModel); @@ -205,7 +205,7 @@ void WalletView::processNewTransaction(const QModelIndex& parent, int start, int if (!ttm || ttm->processingQueuedTransactions()) return; - /** RVN START */ + /** BLAST START */ // With the addition of asset transactions, there can be multiple transaction that need notifications // so we need to loop through all new transaction that were added to the transaction table and display // notifications for each individual transaction @@ -222,7 +222,7 @@ void WalletView::processNewTransaction(const QModelIndex& parent, int start, int Q_EMIT incomingTransaction(date, walletModel->getOptionsModel()->getDisplayUnit(), amount, type, address, label, assetName); } - /** RVN END */ + /** BLAST END */ /** Everytime we get an new transaction. We should check to see if assets are enabled or not */ overviewPage->showAssets(); @@ -397,7 +397,7 @@ void WalletView::requestedSyncWarningInfo() } bool fFirstVisit = true; -/** RVN START */ +/** BLAST START */ void WalletView::gotoAssetsPage() { if (fFirstVisit){ @@ -417,4 +417,4 @@ void WalletView::gotoManageAssetsPage() { setCurrentWidget(manageAssetsPage); } -/** RVN END */ \ No newline at end of file +/** BLAST END */ \ No newline at end of file diff --git a/src/qt/walletview.h b/src/qt/walletview.h index 69b171fbb9..010a9bc5a7 100644 --- a/src/qt/walletview.h +++ b/src/qt/walletview.h @@ -1,16 +1,17 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_WALLETVIEW_H -#define RAVEN_QT_WALLETVIEW_H +#ifndef BITCOIN_QT_WALLETVIEW_H +#define BITCOIN_QT_WALLETVIEW_H #include "amount.h" #include -class RavenGUI; +class BitcoinGUI; class ClientModel; class OverviewPage; class PlatformStyle; @@ -43,13 +44,13 @@ class WalletView : public QStackedWidget explicit WalletView(const PlatformStyle *platformStyle, QWidget *parent); ~WalletView(); - void setRavenGUI(RavenGUI *gui); + void setBitcoinGUI(BitcoinGUI *gui); /** Set the client model. The client model represents the part of the core that communicates with the P2P network, and is wallet-agnostic. */ void setClientModel(ClientModel *clientModel); /** Set the wallet model. - The wallet model represents a raven wallet, and offers access to the list of transactions, address book and sending + The wallet model represents a bitcoin wallet, and offers access to the list of transactions, address book and sending functionality. */ void setWalletModel(WalletModel *walletModel); @@ -75,11 +76,11 @@ class WalletView : public QStackedWidget const PlatformStyle *platformStyle; - /** RVN START */ + /** BLAST START */ AssetsDialog *assetsPage; CreateAssetDialog *createAssetsPage; ReissueAssetDialog *manageAssetsPage; - /** RVN END */ + /** BLAST END */ public Q_SLOTS: /** Switch to overview (home) page */ @@ -125,12 +126,12 @@ public Q_SLOTS: void requestedSyncWarningInfo(); - /** RVN START */ + /** BLAST START */ /** Switch to assets page */ void gotoAssetsPage(); void gotoCreateAssetsPage(); void gotoManageAssetsPage(); - /** RVN END */ + /** BLAST END */ Q_SIGNALS: /** Signal that we want to show the main window */ @@ -149,4 +150,4 @@ public Q_SLOTS: void checkAssets(); }; -#endif // RAVEN_QT_WALLETVIEW_H +#endif // BITCOIN_QT_WALLETVIEW_H diff --git a/src/qt/winshutdownmonitor.h b/src/qt/winshutdownmonitor.h index 3a9f2f829d..884a5c250f 100644 --- a/src/qt/winshutdownmonitor.h +++ b/src/qt/winshutdownmonitor.h @@ -1,10 +1,11 @@ // Copyright (c) 2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_QT_WINSHUTDOWNMONITOR_H -#define RAVEN_QT_WINSHUTDOWNMONITOR_H +#ifndef BITCOIN_QT_WINSHUTDOWNMONITOR_H +#define BITCOIN_QT_WINSHUTDOWNMONITOR_H #ifdef WIN32 #include @@ -27,4 +28,4 @@ class WinShutdownMonitor : public QAbstractNativeEventFilter #endif #endif -#endif // RAVEN_QT_WINSHUTDOWNMONITOR_H +#endif // BITCOIN_QT_WINSHUTDOWNMONITOR_H diff --git a/src/random.h b/src/random.h index 8d33a09039..190e103e5b 100644 --- a/src/random.h +++ b/src/random.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RANDOM_H -#define RAVEN_RANDOM_H +#ifndef BITCOIN_RANDOM_H +#define BITCOIN_RANDOM_H #include "crypto/chacha20.h" #include "crypto/common.h" @@ -144,4 +145,4 @@ bool Random_SanityCheck(); /** Initialize the RNG. */ void RandomInit(); -#endif // RAVEN_RANDOM_H +#endif // BITCOIN_RANDOM_H diff --git a/src/reverse_iterator.h b/src/reverse_iterator.h index d893c788c8..ab467f07c9 100644 --- a/src/reverse_iterator.h +++ b/src/reverse_iterator.h @@ -1,7 +1,7 @@ // Taken from https://gist.github.com/arvidsson/7231973 -#ifndef RAVEN_REVERSE_ITERATOR_H -#define RAVEN_REVERSE_ITERATOR_H +#ifndef BITCOIN_REVERSE_ITERATOR_H +#define BITCOIN_REVERSE_ITERATOR_H /** * Template used for reverse iteration in C++11 range-based for loops. @@ -36,4 +36,4 @@ reverse_range reverse_iterate(T &x) return reverse_range(x); } -#endif // RAVEN_REVERSE_ITERATOR_H +#endif // BITCOIN_REVERSE_ITERATOR_H diff --git a/src/reverselock.h b/src/reverselock.h index 9c3ddd9dd1..0cd81e3218 100644 --- a/src/reverselock.h +++ b/src/reverselock.h @@ -1,10 +1,11 @@ // Copyright (c) 2015-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_REVERSELOCK_H -#define RAVEN_REVERSELOCK_H +#ifndef BITCOIN_REVERSELOCK_H +#define BITCOIN_REVERSELOCK_H /** * An RAII-style reverse lock. Unlocks on construction and locks on destruction. @@ -32,4 +33,4 @@ class reverse_lock Lock templock; }; -#endif // RAVEN_REVERSELOCK_H +#endif // BITCOIN_REVERSELOCK_H diff --git a/src/rpc/assets.cpp b/src/rpc/assets.cpp index bc8a6fded2..6c5b3d6d29 100644 --- a/src/rpc/assets.cpp +++ b/src/rpc/assets.cpp @@ -93,7 +93,7 @@ UniValue issue(const JSONRPCRequest& request) "1. \"asset_name\" (string, required) a unique name\n" "2. \"qty\" (numeric, optional, default=1) the number of units to be issued\n" "3. \"to_address\" (string), optional, default=\"\"), address asset will be sent to, if it is empty, address will be generated for you\n" - "4. \"change_address\" (string), optional, default=\"\"), address the the rvn change will be sent to, if it is empty, change address will be generated for you\n" + "4. \"change_address\" (string), optional, default=\"\"), address the the BLAST change will be sent to, if it is empty, change address will be generated for you\n" "5. \"units\" (integer, optional, default=0, min=0, max=8), the number of decimals precision for the asset (0 for whole units (\"1\"), 8 for max precision (\"1.00000000\")\n" "6. \"reissuable\" (boolean, optional, default=true (false for unique assets)), whether future reissuance is allowed\n" "7. \"has_ipfs\" (boolean, optional, default=false), whether ifps hash is going to be added to the asset\n" @@ -239,14 +239,14 @@ UniValue issueunique(const JSONRPCRequest& request) "root_name must be an asset you own.\n" "An asset will be created for each element of asset_tags.\n" "If provided ipfs_hashes must be the same length as asset_tags.\n" - "Five (5) RVN will be burned for each asset created.\n" + "Five (5) BLAST will be burned for each asset created.\n" "\nArguments:\n" "1. \"root_name\" (string, required) name of the asset the unique asset(s) are being issued under\n" "2. \"asset_tags\" (array, required) the unique tag for each asset which is to be issued\n" "3. \"ipfs_hashes\" (array, optional) ipfs hashes corresponding to each supplied tag (should be same size as \"asset_tags\") (only sha2-256 hashes currently supported -- Qm...)\n" "4. \"to_address\" (string, optional, default=\"\"), address assets will be sent to, if it is empty, address will be generated for you\n" - "5. \"change_address\" (string, optional, default=\"\"), address the the rvn change will be sent to, if it is empty, change address will be generated for you\n" + "5. \"change_address\" (string, optional, default=\"\"), address the the BLAST change will be sent to, if it is empty, change address will be generated for you\n" "\nResult:\n" "\"txid\" (string) The transaction id\n" diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp index a58e242845..187c1ac952 100644 --- a/src/rpc/blockchain.cpp +++ b/src/rpc/blockchain.cpp @@ -151,9 +151,9 @@ UniValue blockToDeltasJSON(const CBlock& block, const CBlockIndex* blockindex) if (GetSpentIndex(spentKey, spentInfo)) { if (spentInfo.addressType == 1) { - delta.push_back(Pair("address", CRavenAddress(CKeyID(spentInfo.addressHash)).ToString())); + delta.push_back(Pair("address", CBitcoinAddress(CKeyID(spentInfo.addressHash)).ToString())); } else if (spentInfo.addressType == 2) { - delta.push_back(Pair("address", CRavenAddress(CScriptID(spentInfo.addressHash)).ToString())); + delta.push_back(Pair("address", CBitcoinAddress(CScriptID(spentInfo.addressHash)).ToString())); } else { continue; } @@ -181,11 +181,11 @@ UniValue blockToDeltasJSON(const CBlock& block, const CBlockIndex* blockindex) if (out.scriptPubKey.IsPayToScriptHash()) { std::vector hashBytes(out.scriptPubKey.begin()+2, out.scriptPubKey.begin()+22); - delta.push_back(Pair("address", CRavenAddress(CScriptID(uint160(hashBytes))).ToString())); + delta.push_back(Pair("address", CBitcoinAddress(CScriptID(uint160(hashBytes))).ToString())); } else if (out.scriptPubKey.IsPayToPublicKeyHash()) { std::vector hashBytes(out.scriptPubKey.begin()+3, out.scriptPubKey.begin()+23); - delta.push_back(Pair("address", CRavenAddress(CKeyID(uint160(hashBytes))).ToString())); + delta.push_back(Pair("address", CBitcoinAddress(CKeyID(uint160(hashBytes))).ToString())); } else { continue; } diff --git a/src/rpc/blockchain.h b/src/rpc/blockchain.h index 8e843af6f2..665c84f78d 100644 --- a/src/rpc/blockchain.h +++ b/src/rpc/blockchain.h @@ -1,10 +1,11 @@ // Copyright (c) 2017 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RPC_BLOCKCHAIN_H -#define RAVEN_RPC_BLOCKCHAIN_H +#ifndef BITCOIN_RPC_BLOCKCHAIN_H +#define BITCOIN_RPC_BLOCKCHAIN_H class CBlock; class CBlockIndex; diff --git a/src/rpc/client.h b/src/rpc/client.h index 611975ac3e..7c16f5ee85 100644 --- a/src/rpc/client.h +++ b/src/rpc/client.h @@ -1,11 +1,12 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RPCCLIENT_H -#define RAVEN_RPCCLIENT_H +#ifndef BITCOIN_RPCCLIENT_H +#define BITCOIN_RPCCLIENT_H #include @@ -20,4 +21,4 @@ UniValue RPCConvertNamedValues(const std::string& strMethod, const std::vectorGetNodeCount(CConnman::CONNECTIONS_ALL) == 0) - throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "Raven is not connected!"); + throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "BLAST is not connected!"); if (IsInitialBlockDownload()) - throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Raven is downloading blocks..."); + throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "BLAST is downloading blocks..."); static unsigned int nTransactionsUpdatedLast; @@ -713,7 +714,7 @@ UniValue submitblock(const JSONRPCRequest& request) throw std::runtime_error( "submitblock \"hexdata\" ( \"dummy\" )\n" "\nAttempts to submit new block to network.\n" - "See https://en.raven.it/wiki/BIP_0022 for full specification.\n" + "See https://en.bitcoin.it/wiki/BIP_0022 for full specification.\n" "\nArguments\n" "1. \"hexdata\" (string, required) the hex-encoded block data to submit\n" @@ -780,7 +781,7 @@ UniValue submitblock(const JSONRPCRequest& request) CKeyID GetAuxpowMiningKey() { CKeyID result; - CRavenAddress auxminingaddr(gArgs.GetArg("-auxminingaddr", "")); + CBitcoinAddress auxminingaddr(gArgs.GetArg("-auxminingaddr", "")); if (!auxminingaddr.GetKeyID(result)) { CReserveKey reservekey(vpwallets[0]); CPubKey pubkey; @@ -804,10 +805,10 @@ UniValue getauxblock(const JSONRPCRequest& request) ); if (g_connman->GetNodeCount(CConnman::CONNECTIONS_ALL) == 0) - throw JSONRPCError(-9, "Ravencoin is not connected!"); + throw JSONRPCError(-9, "BLAST is not connected!"); if (IsInitialBlockDownload()) - throw JSONRPCError(-10, "Ravencoin is downloading blocks..."); + throw JSONRPCError(-10, "BLAST is downloading blocks..."); static std::map mapNewBlock; static std::vector< std::unique_ptr > vNewBlockTemplate; @@ -949,7 +950,7 @@ UniValue estimatefee(const JSONRPCRequest& request) if (!IsDeprecatedRPCEnabled("estimatefee")) { throw JSONRPCError(RPC_METHOD_DEPRECATED, "estimatefee is deprecated and will be fully removed in v0.17. " - "To use estimatefee in v0.16, restart ravend with -deprecatedrpc=estimatefee.\n" + "To use estimatefee in v0.16, restart blastd with -deprecatedrpc=estimatefee.\n" "Projects should transition to using estimatesmartfee before upgrading to v0.17"); } @@ -1136,7 +1137,7 @@ UniValue getgenerate(const JSONRPCRequest& request) throw std::runtime_error( "getgenerate\n" "\nReturn if the server is set to generate coins or not. The default is false.\n" - "It is set with the command line argument -gen (or " + std::string(RAVEN_CONF_FILENAME) + " setting gen)\n" + "It is set with the command line argument -gen (or " + std::string(BITCOIN_CONF_FILENAME) + " setting gen)\n" "It can also be set with the setgenerate call.\n" "\nResult\n" "true|false (boolean) If the server is set to generate coins or not\n" @@ -1191,7 +1192,7 @@ UniValue setgenerate(const JSONRPCRequest& request) gArgs.SoftSetArg("-genproclimit", itostr(nGenProcLimit)); //mapArgs["-gen"] = (fGenerate ? "1" : "0"); //mapArgs ["-genproclimit"] = itostr(nGenProcLimit); - int numCores = GenerateRavens(fGenerate, nGenProcLimit, Params()); + int numCores = GenerateBitcoins(fGenerate, nGenProcLimit, Params()); nGenProcLimit = nGenProcLimit >= 0 ? nGenProcLimit : numCores; std::string msg = std::to_string(nGenProcLimit) + " of " + std::to_string(numCores); diff --git a/src/rpc/mining.h b/src/rpc/mining.h index 6aa54b45bb..067fa36360 100644 --- a/src/rpc/mining.h +++ b/src/rpc/mining.h @@ -1,10 +1,11 @@ // Copyright (c) 2017 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RPC_MINING_H -#define RAVEN_RPC_MINING_H +#ifndef BITCOIN_RPC_MINING_H +#define BITCOIN_RPC_MINING_H #include "script/script.h" diff --git a/src/rpc/misc.cpp b/src/rpc/misc.cpp index 30d390779c..c0e3ab2140 100644 --- a/src/rpc/misc.cpp +++ b/src/rpc/misc.cpp @@ -1,6 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -58,7 +59,7 @@ UniValue getinfo(const JSONRPCRequest& request) " \"version\": xxxxx, (numeric) the server version\n" " \"protocolversion\": xxxxx, (numeric) the protocol version\n" " \"walletversion\": xxxxx, (numeric) the wallet version\n" - " \"balance\": xxxxxxx, (numeric) the total Ravencoin balance of the wallet\n" + " \"balance\": xxxxxxx, (numeric) the total BLAST balance of the wallet\n" " \"blocks\": xxxxxx, (numeric) the current number of blocks processed in the server\n" " \"timeoffset\": xxxxx, (numeric) the time offset\n" " \"connections\": xxxxx, (numeric) the number of connections\n" @@ -172,13 +173,13 @@ UniValue validateaddress(const JSONRPCRequest& request) if (request.fHelp || request.params.size() != 1) throw std::runtime_error( "validateaddress \"address\"\n" - "\nReturn information about the given raven address.\n" + "\nReturn information about the given BLAST address.\n" "\nArguments:\n" - "1. \"address\" (string, required) The raven address to validate\n" + "1. \"address\" (string, required) The BLAST address to validate\n" "\nResult:\n" "{\n" " \"isvalid\" : true|false, (boolean) If the address is valid or not. If not, this is the only property returned.\n" - " \"address\" : \"address\", (string) The raven address validated\n" + " \"address\" : \"address\", (string) The BLAST address validated\n" " \"scriptPubKey\" : \"hex\", (string) The hex encoded scriptPubKey generated by the address\n" " \"ismine\" : true|false, (boolean) If the address is yours or not\n" " \"iswatchonly\" : true|false, (boolean) If the address is watchonly\n" @@ -279,7 +280,7 @@ CScript _createmultisig_redeemScript(CWallet * const pwallet, const UniValue& pa { const std::string& ks = keys[i].get_str(); #ifdef ENABLE_WALLET - // Case 1: Raven address and we have full public key: + // Case 1: BLAST address and we have full public key: CTxDestination dest = DecodeDestination(ks); if (pwallet && IsValidDestination(dest)) { const CKeyID *keyID = boost::get(&dest); @@ -335,9 +336,9 @@ UniValue createmultisig(const JSONRPCRequest& request) "\nArguments:\n" "1. nrequired (numeric, required) The number of required signatures out of the n keys or addresses.\n" - "2. \"keys\" (string, required) A json array of keys which are raven addresses or hex-encoded public keys\n" + "2. \"keys\" (string, required) A json array of keys which are BLAST addresses or hex-encoded public keys\n" " [\n" - " \"key\" (string) raven address or hex-encoded public key\n" + " \"key\" (string) BLAST address or hex-encoded public key\n" " ,...\n" " ]\n" @@ -374,7 +375,7 @@ UniValue verifymessage(const JSONRPCRequest& request) "verifymessage \"address\" \"signature\" \"message\"\n" "\nVerify a signed message\n" "\nArguments:\n" - "1. \"address\" (string, required) The raven address to use for the signature.\n" + "1. \"address\" (string, required) The BLAST address to use for the signature.\n" "2. \"signature\" (string, required) The signature provided by the signer in base 64 encoding (see signmessage).\n" "3. \"message\" (string, required) The message that was signed.\n" "\nResult:\n" @@ -446,7 +447,7 @@ UniValue signmessagewithprivkey(const JSONRPCRequest& request) std::string strPrivkey = request.params[0].get_str(); std::string strMessage = request.params[1].get_str(); - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(strPrivkey); if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key"); @@ -645,7 +646,7 @@ UniValue echo(const JSONRPCRequest& request) "echo|echojson \"message\" ...\n" "\nSimply echo back the input arguments. This command is for testing.\n" "\nThe difference between echo and echojson is that echojson has argument conversion enabled in the client-side table in" - "raven-cli and the GUI. There is no server-side difference." + "blast-cli and the GUI. There is no server-side difference." ); return request.params; @@ -654,9 +655,9 @@ UniValue echo(const JSONRPCRequest& request) bool getAddressFromIndex(const int &type, const uint160 &hash, std::string &address) { if (type == 2) { - address = CRavenAddress(CScriptID(hash)).ToString(); + address = CBitcoinAddress(CScriptID(hash)).ToString(); } else if (type == 1) { - address = CRavenAddress(CKeyID(hash)).ToString(); + address = CBitcoinAddress(CKeyID(hash)).ToString(); } else { return false; } @@ -666,7 +667,7 @@ bool getAddressFromIndex(const int &type, const uint160 &hash, std::string &addr bool getAddressesFromParams(const UniValue& params, std::vector > &addresses) { if (params[0].isStr()) { - CRavenAddress address(params[0].get_str()); + CBitcoinAddress address(params[0].get_str()); uint160 hashBytes; int type = 0; if (!address.GetIndexKey(hashBytes, type)) { @@ -684,7 +685,7 @@ bool getAddressesFromParams(const UniValue& params, std::vector::iterator it = values.begin(); it != values.end(); ++it) { - CRavenAddress address(it->get_str()); + CBitcoinAddress address(it->get_str()); uint160 hashBytes; int type = 0; if (!address.GetIndexKey(hashBytes, type)) { @@ -728,7 +729,7 @@ UniValue getaddressmempool(const JSONRPCRequest& request) "[\n" " {\n" " \"address\" (string) The base58check encoded address\n" - " \"assetName\" (string) The name of the associated asset (RVN for Ravencoin)\n" + " \"assetName\" (string) The name of the associated asset (BLAST or asset name)\n" " \"txid\" (string) The related txid\n" " \"index\" (number) The related input or output index\n" " \"satoshis\" (number) The difference of satoshis\n" @@ -766,7 +767,7 @@ UniValue getaddressmempool(const JSONRPCRequest& request) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available for address"); } } else { - if (!mempool.getAddressIndex(addresses, RVN, indexes)) { + if (!mempool.getAddressIndex(addresses, BLAST, indexes)) { throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available for address"); } } @@ -814,13 +815,13 @@ UniValue getaddressutxos(const JSONRPCRequest& request) " ,...\n" " ],\n" " \"chainInfo\", (boolean, optional, default false) Include chain info with results\n" - " \"assetName\" (string, optional) Get UTXOs for a particular asset instead of RVN ('*' for all assets).\n" + " \"assetName\" (string, optional) Get UTXOs for a particular asset instead of BLAST ('*' for all assets).\n" "}\n" "\nResult\n" "[\n" " {\n" " \"address\" (string) The address base58check encoded\n" - " \"assetName\" (string) The asset associated with the UTXOs (RVN for Ravencoin)\n" + " \"assetName\" (string) The asset associated with the UTXOs (BLAST or asset name)\n" " \"txid\" (string) The output txid\n" " \"height\" (number) The block height\n" " \"outputIndex\" (number) The output index\n" @@ -836,7 +837,7 @@ UniValue getaddressutxos(const JSONRPCRequest& request) ); bool includeChainInfo = false; - std::string assetName = RVN; + std::string assetName = BLAST; if (request.params[0].isObject()) { UniValue chainInfo = find_value(request.params[0].get_obj(), "chainInfo"); if (chainInfo.isBool()) { @@ -881,8 +882,8 @@ UniValue getaddressutxos(const JSONRPCRequest& request) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Unknown address type"); } - std::string assetNameOut = "RVN"; - if (assetName != "RVN") { + std::string assetNameOut = "BLAST"; + if (assetName != "BLAST") { CAmount _amount; if (!GetAssetInfoFromScript(it->second.script, assetNameOut, _amount)) { throw JSONRPCError(RPC_INTERNAL_ERROR, "Couldn't decode asset script"); @@ -928,12 +929,12 @@ UniValue getaddressdeltas(const JSONRPCRequest& request) " \"start\" (number) The start block height\n" " \"end\" (number) The end block height\n" " \"chainInfo\" (boolean) Include chain info in results, only applies if start and end specified\n" - " \"assetName\" (string, optional) Get deltas for a particular asset instead of RVN.\n" + " \"assetName\" (string, optional) Get deltas for a particular asset instead of BLAST.\n" "}\n" "\nResult:\n" "[\n" " {\n" - " \"assetName\" (string) The asset associated with the deltas (RVN for Ravencoin)\n" + " \"assetName\" (string) The asset associated with the deltas (BLAST or asset name)\n" " \"satoshis\" (number) The difference of satoshis\n" " \"txid\" (string) The related txid\n" " \"index\" (number) The related input or output index\n" @@ -958,7 +959,7 @@ UniValue getaddressdeltas(const JSONRPCRequest& request) includeChainInfo = chainInfo.get_bool(); } - std::string assetName = RVN; + std::string assetName = BLAST; UniValue assetNameParam = find_value(request.params[0].get_obj(), "assetName"); if (assetNameParam.isStr()) { if (!AreAssetsDeployed()) @@ -1074,7 +1075,7 @@ UniValue getaddressbalance(const JSONRPCRequest& request) "OR\n" "[\n" " {\n" - " \"assetName\" (string) The asset associated with the balance (RVN for Ravencoin)\n" + " \"assetName\" (string) The asset associated with the balance (BLAST or asset name)\n" " \"balance\" (string) The current balance in satoshis\n" " \"received\" (string) The total number of satoshis received (including change)\n" " },...\n" @@ -1141,7 +1142,7 @@ UniValue getaddressbalance(const JSONRPCRequest& request) std::vector > addressIndex; for (std::vector >::iterator it = addresses.begin(); it != addresses.end(); it++) { - if (!GetAddressIndex((*it).first, (*it).second, RVN, addressIndex)) { + if (!GetAddressIndex((*it).first, (*it).second, BLAST, addressIndex)) { throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available for address"); } } @@ -1236,11 +1237,11 @@ UniValue getaddresstxids(const JSONRPCRequest& request) } } else { if (start > 0 && end > 0) { - if (!GetAddressIndex((*it).first, (*it).second, RVN, addressIndex, start, end)) { + if (!GetAddressIndex((*it).first, (*it).second, BLAST, addressIndex, start, end)) { throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available for address"); } } else { - if (!GetAddressIndex((*it).first, (*it).second, RVN, addressIndex)) { + if (!GetAddressIndex((*it).first, (*it).second, BLAST, addressIndex)) { throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available for address"); } } diff --git a/src/rpc/protocol.h b/src/rpc/protocol.h index 6c590ba1c1..383a0bdfb2 100644 --- a/src/rpc/protocol.h +++ b/src/rpc/protocol.h @@ -1,11 +1,12 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RPCPROTOCOL_H -#define RAVEN_RPCPROTOCOL_H +#ifndef BITCOIN_RPCPROTOCOL_H +#define BITCOIN_RPCPROTOCOL_H #include "fs.h" @@ -29,7 +30,7 @@ enum HTTPStatusCode HTTP_SERVICE_UNAVAILABLE = 503, }; -//! Raven RPC error codes +//! Bitcoin RPC error codes enum RPCErrorCode { //! Standard JSON-RPC 2.0 errors @@ -40,7 +41,7 @@ enum RPCErrorCode // It should not be used for application-layer errors. RPC_METHOD_NOT_FOUND = -32601, RPC_INVALID_PARAMS = -32602, - // RPC_INTERNAL_ERROR should only be used for genuine errors in ravend + // RPC_INTERNAL_ERROR should only be used for genuine errors in blastd // (for example datadir corruption). RPC_INTERNAL_ERROR = -32603, RPC_PARSE_ERROR = -32700, @@ -66,7 +67,7 @@ enum RPCErrorCode RPC_TRANSACTION_ALREADY_IN_CHAIN= RPC_VERIFY_ALREADY_IN_CHAIN, //! P2P client errors - RPC_CLIENT_NOT_CONNECTED = -9, //!< Raven is not connected + RPC_CLIENT_NOT_CONNECTED = -9, //!< Blast is not connected RPC_CLIENT_IN_INITIAL_DOWNLOAD = -10, //!< Still downloading initial blocks RPC_CLIENT_NODE_ALREADY_ADDED = -23, //!< Node is already added RPC_CLIENT_NODE_NOT_ADDED = -24, //!< Node has not been added before @@ -102,4 +103,4 @@ void DeleteAuthCookie(); /** Parse JSON-RPC batch reply into a vector */ std::vector JSONRPCProcessBatchReply(const UniValue &in, size_t num); -#endif // RAVEN_RPCPROTOCOL_H +#endif // BITCOIN_RPCPROTOCOL_H diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp index bbd0c06110..b7294283af 100644 --- a/src/rpc/rawtransaction.cpp +++ b/src/rpc/rawtransaction.cpp @@ -63,9 +63,9 @@ void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue& entry) in.pushKV("value", ValueFromAmount(spentInfo.satoshis)); in.pushKV("valueSat", spentInfo.satoshis); if (spentInfo.addressType == 1) { - in.pushKV("address", CRavenAddress(CKeyID(spentInfo.addressHash)).ToString()); + in.pushKV("address", CBitcoinAddress(CKeyID(spentInfo.addressHash)).ToString()); } else if (spentInfo.addressType == 2) { - in.pushKV("address", CRavenAddress(CScriptID(spentInfo.addressHash)).ToString()); + in.pushKV("address", CBitcoinAddress(CScriptID(spentInfo.addressHash)).ToString()); } } newVin.push_back(in); @@ -349,13 +349,13 @@ UniValue createrawtransaction(const JSONRPCRequest& request) throw std::runtime_error( "createrawtransaction [{\"txid\":\"id\",\"vout\":n},...] {\"address\":(amount or object),\"data\":\"hex\",...} ( locktime ) ( replaceable )\n" "\nCreate a transaction spending the given inputs and creating new outputs.\n" - "Outputs are addresses (paired with a RVN amount, data or object specifying an asset operation) or data.\n" + "Outputs are addresses (paired with a BLAST amount, data or object specifying an asset operation) or data.\n" "Returns hex-encoded raw transaction.\n" "Note that the transaction's inputs are not signed, and\n" "it is not stored in the wallet or transmitted to the network.\n" "\nPaying for Asset Operations:\n" - " Some operations require an amount of RVN to be sent to a burn address:\n" + " Some operations require an amount of BLAST to be sent to a burn address:\n" " transfer: 0\n" " issue: 500 to Issue Burn Address\n" " issue_unique 5 to Issue Unique Burn Address\n" @@ -386,7 +386,7 @@ UniValue createrawtransaction(const JSONRPCRequest& request) "2. \"outputs\" (object, required) a json object with outputs\n" " {\n" " \"address\": (string, required) The destination raven address. Each output must have a different address.\n" - " x.xxx (numeric or string, required) The RVN amount\n" + " x.xxx (numeric or string, required) The BLAST amount\n" " or\n" " { (object) A json object of assets to send\n" " \"transfer\":\n" @@ -540,7 +540,7 @@ UniValue createrawtransaction(const JSONRPCRequest& request) CTxOut out(nAmount, scriptPubKey); rawTx.vout.push_back(out); } - /** RVN COIN START **/ + /** BLAST COIN START **/ else if (sendTo[name_].type() == UniValue::VOBJ) { auto asset_ = sendTo[name_].get_obj(); auto assetKey_ = asset_.getKeys()[0]; @@ -788,7 +788,7 @@ UniValue createrawtransaction(const JSONRPCRequest& request) } else { throw JSONRPCError(RPC_INVALID_PARAMETER, std::string("Invalid parameter, Output must be of the type object")); } - /** RVN COIN STOP **/ + /** BLAST COIN STOP **/ } } @@ -922,7 +922,7 @@ UniValue decodescript(const JSONRPCRequest& request) r.push_back(Pair("p2sh", EncodeDestination(CScriptID(script)))); } - /** RVN START */ + /** BLAST START */ if (type.isStr() && type.get_str() == ASSET_TRANSFER_STRING) { if (!AreAssetsDeployed()) throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Assets are not active"); @@ -990,7 +990,7 @@ UniValue decodescript(const JSONRPCRequest& request) } else { } - /** RVN END */ + /** BLAST END */ return r; } @@ -1199,7 +1199,7 @@ UniValue signrawtransaction(const JSONRPCRequest& request) UniValue keys = request.params[2].get_array(); for (unsigned int idx = 0; idx < keys.size(); idx++) { UniValue k = keys[idx]; - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(k.get_str()); if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key"); diff --git a/src/rpc/register.h b/src/rpc/register.h index d9b943537e..b461a21a06 100644 --- a/src/rpc/register.h +++ b/src/rpc/register.h @@ -1,10 +1,11 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RPCREGISTER_H -#define RAVEN_RPCREGISTER_H +#ifndef BITCOIN_RPCREGISTER_H +#define BITCOIN_RPCREGISTER_H /** These are in one header file to avoid creating tons of single-function * headers for everything under src/rpc/ */ diff --git a/src/rpc/safemode.h b/src/rpc/safemode.h index fc0c9e8d05..877ae25b07 100644 --- a/src/rpc/safemode.h +++ b/src/rpc/safemode.h @@ -1,13 +1,14 @@ // Copyright (c) 2017 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RPC_SAFEMODE_H -#define RAVEN_RPC_SAFEMODE_H +#ifndef BITCOIN_RPC_SAFEMODE_H +#define BITCOIN_RPC_SAFEMODE_H static const bool DEFAULT_DISABLE_SAFEMODE = true; void ObserveSafeMode(); -#endif // RAVEN_RPC_SAFEMODE_H +#endif // BITCOIN_RPC_SAFEMODE_H diff --git a/src/rpc/server.h b/src/rpc/server.h index 0a4e66ffef..ceecb1b9d7 100644 --- a/src/rpc/server.h +++ b/src/rpc/server.h @@ -1,11 +1,12 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_RPCSERVER_H -#define RAVEN_RPCSERVER_H +#ifndef BITCOIN_RPCSERVER_H +#define BITCOIN_RPCSERVER_H #include "amount.h" #include "rpc/protocol.h" @@ -138,7 +139,7 @@ class CRPCCommand }; /** - * Raven RPC command dispatcher. + * Bitcoin RPC command dispatcher. */ class CRPCTable { @@ -197,4 +198,4 @@ std::string JSONRPCExecBatch(const JSONRPCRequest& jreq, const UniValue& vReq); // Retrieves any serialization flags requested in command line argument int RPCSerializationFlags(); -#endif // RAVEN_RPCSERVER_H +#endif // BITCOIN_RPCSERVER_H diff --git a/src/scheduler.h b/src/scheduler.h index 7ca0158996..500c73dbf3 100644 --- a/src/scheduler.h +++ b/src/scheduler.h @@ -1,10 +1,11 @@ // Copyright (c) 2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCHEDULER_H -#define RAVEN_SCHEDULER_H +#ifndef BITCOIN_SCHEDULER_H +#define BITCOIN_SCHEDULER_H // // NOTE: diff --git a/src/script/ravenconsensus.cpp b/src/script/bitcoinconsensus.cpp similarity index 75% rename from src/script/ravenconsensus.cpp rename to src/script/bitcoinconsensus.cpp index 5a2035a56a..d9e8f3e77e 100644 --- a/src/script/ravenconsensus.cpp +++ b/src/script/bitcoinconsensus.cpp @@ -4,7 +4,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "ravenconsensus.h" +#include "bitcoinconsensus.h" #include "primitives/transaction.h" #include "pubkey.h" @@ -56,7 +56,7 @@ class TxInputStream size_t m_remaining; }; -inline int set_error(ravenconsensus_error* ret, ravenconsensus_error serror) +inline int set_error(bitcoinconsensus_error* ret, bitcoinconsensus_error serror) { if (ret) *ret = serror; @@ -74,57 +74,57 @@ ECCryptoClosure instance_of_eccryptoclosure; /** Check that all specified flags are part of the libconsensus interface. */ static bool verify_flags(unsigned int flags) { - return (flags & ~(ravenconsensus_SCRIPT_FLAGS_VERIFY_ALL)) == 0; + return (flags & ~(bitcoinconsensus_SCRIPT_FLAGS_VERIFY_ALL)) == 0; } static int verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, CAmount amount, const unsigned char *txTo , unsigned int txToLen, - unsigned int nIn, unsigned int flags, ravenconsensus_error* err) + unsigned int nIn, unsigned int flags, bitcoinconsensus_error* err) { if (!verify_flags(flags)) { - return ravenconsensus_ERR_INVALID_FLAGS; + return bitcoinconsensus_ERR_INVALID_FLAGS; } try { TxInputStream stream(SER_NETWORK, PROTOCOL_VERSION, txTo, txToLen); CTransaction tx(deserialize, stream); if (nIn >= tx.vin.size()) - return set_error(err, ravenconsensus_ERR_TX_INDEX); + return set_error(err, bitcoinconsensus_ERR_TX_INDEX); if (GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION) != txToLen) - return set_error(err, ravenconsensus_ERR_TX_SIZE_MISMATCH); + return set_error(err, bitcoinconsensus_ERR_TX_SIZE_MISMATCH); // Regardless of the verification result, the tx did not error. - set_error(err, ravenconsensus_ERR_OK); + set_error(err, bitcoinconsensus_ERR_OK); PrecomputedTransactionData txdata(tx); return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), &tx.vin[nIn].scriptWitness, flags, TransactionSignatureChecker(&tx, nIn, amount, txdata), nullptr); } catch (const std::exception&) { - return set_error(err, ravenconsensus_ERR_TX_DESERIALIZE); // Error deserializing + return set_error(err, bitcoinconsensus_ERR_TX_DESERIALIZE); // Error deserializing } } -int ravenconsensus_verify_script_with_amount(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, int64_t amount, +int bitcoinconsensus_verify_script_with_amount(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, int64_t amount, const unsigned char *txTo , unsigned int txToLen, - unsigned int nIn, unsigned int flags, ravenconsensus_error* err) + unsigned int nIn, unsigned int flags, bitcoinconsensus_error* err) { CAmount am(amount); return ::verify_script(scriptPubKey, scriptPubKeyLen, am, txTo, txToLen, nIn, flags, err); } -int ravenconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, +int bitcoinconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, const unsigned char *txTo , unsigned int txToLen, - unsigned int nIn, unsigned int flags, ravenconsensus_error* err) + unsigned int nIn, unsigned int flags, bitcoinconsensus_error* err) { - if (flags & ravenconsensus_SCRIPT_FLAGS_VERIFY_WITNESS) { - return set_error(err, ravenconsensus_ERR_AMOUNT_REQUIRED); + if (flags & bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS) { + return set_error(err, bitcoinconsensus_ERR_AMOUNT_REQUIRED); } CAmount am(0); return ::verify_script(scriptPubKey, scriptPubKeyLen, am, txTo, txToLen, nIn, flags, err); } -unsigned int ravenconsensus_version() +unsigned int bitcoinconsensus_version() { // Just use the API version for now - return RAVENCONSENSUS_API_VER; + return BITCOINCONSENSUS_API_VER; } diff --git a/src/script/bitcoinconsensus.h b/src/script/bitcoinconsensus.h new file mode 100644 index 0000000000..61cbc92d1c --- /dev/null +++ b/src/script/bitcoinconsensus.h @@ -0,0 +1,85 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2009-2016 The Bitcoin Core developers +// Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_BITCOINCONSENSUS_H +#define BITCOIN_BITCOINCONSENSUS_H + +#include + +#if defined(BUILD_BITCOIN_INTERNAL) && defined(HAVE_CONFIG_H) +#include "config/bitcoin-config.h" + #if defined(_WIN32) + #if defined(DLL_EXPORT) + #if defined(HAVE_FUNC_ATTRIBUTE_DLLEXPORT) + #define EXPORT_SYMBOL __declspec(dllexport) + #else + #define EXPORT_SYMBOL + #endif + #endif + #elif defined(HAVE_FUNC_ATTRIBUTE_VISIBILITY) + #define EXPORT_SYMBOL __attribute__ ((visibility ("default"))) + #endif +#elif defined(MSC_VER) && !defined(STATIC_LIBBITCOINCONSENSUS) + #define EXPORT_SYMBOL __declspec(dllimport) +#endif + +#ifndef EXPORT_SYMBOL + #define EXPORT_SYMBOL +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define BITCOINCONSENSUS_API_VER 1 + +typedef enum bitcoinconsensus_error_t +{ + bitcoinconsensus_ERR_OK = 0, + bitcoinconsensus_ERR_TX_INDEX, + bitcoinconsensus_ERR_TX_SIZE_MISMATCH, + bitcoinconsensus_ERR_TX_DESERIALIZE, + bitcoinconsensus_ERR_AMOUNT_REQUIRED, + bitcoinconsensus_ERR_INVALID_FLAGS, +} bitcoinconsensus_error; + +/** Script verification flags */ +enum +{ + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE = 0, + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH = (1U << 0), // evaluate P2SH (BIP16) subscripts + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG = (1U << 2), // enforce strict DER (BIP66) compliance + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY = (1U << 4), // enforce NULLDUMMY (BIP147) + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), // enable CHECKLOCKTIMEVERIFY (BIP65) + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY = (1U << 10), // enable CHECKSEQUENCEVERIFY (BIP112) + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS = (1U << 11), // enable WITNESS (BIP141) + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_ALL = bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH | bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG | + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY | bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY | + bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY | bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS +}; + +/// Returns 1 if the input nIn of the serialized transaction pointed to by +/// txTo correctly spends the scriptPubKey pointed to by scriptPubKey under +/// the additional constraints specified by flags. +/// If not nullptr, err will contain an error/success code for the operation +EXPORT_SYMBOL int bitcoinconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, + const unsigned char *txTo , unsigned int txToLen, + unsigned int nIn, unsigned int flags, bitcoinconsensus_error* err); + +EXPORT_SYMBOL int bitcoinconsensus_verify_script_with_amount(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, int64_t amount, + const unsigned char *txTo , unsigned int txToLen, + unsigned int nIn, unsigned int flags, bitcoinconsensus_error* err); + +EXPORT_SYMBOL unsigned int bitcoinconsensus_version(); + +#ifdef __cplusplus +} // extern "C" +#endif + +#undef EXPORT_SYMBOL + +#endif // BITCOIN_BITCOINCONSENSUS_H diff --git a/src/script/interpreter.cpp b/src/script/interpreter.cpp index fabcfcbf60..590fe5aa07 100644 --- a/src/script/interpreter.cpp +++ b/src/script/interpreter.cpp @@ -1114,10 +1114,10 @@ bool EvalScript(std::vector > &stack, const CScript & } break; - /** RVN START */ - case OP_RVN_ASSET: + /** BLAST START */ + case OP_BLAST_ASSET: break; - /** RVN END */ + /** BLAST END */ default: diff --git a/src/script/interpreter.h b/src/script/interpreter.h index 0722cbfa2b..208af31869 100644 --- a/src/script/interpreter.h +++ b/src/script/interpreter.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCRIPT_INTERPRETER_H -#define RAVEN_SCRIPT_INTERPRETER_H +#ifndef BITCOIN_SCRIPT_INTERPRETER_H +#define BITCOIN_SCRIPT_INTERPRETER_H #include "script_error.h" #include "primitives/transaction.h" @@ -189,4 +190,4 @@ bool VerifyScript(const CScript &scriptSig, const CScript &scriptPubKey, const C size_t CountWitnessSigOps(const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags); -#endif // RAVEN_SCRIPT_INTERPRETER_H +#endif // BITCOIN_SCRIPT_INTERPRETER_H diff --git a/src/script/ismine.cpp b/src/script/ismine.cpp index 64f95353a3..add943c1da 100644 --- a/src/script/ismine.cpp +++ b/src/script/ismine.cpp @@ -142,7 +142,7 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey, bool& return ISMINE_SPENDABLE; break; } - /** RVN START */ + /** BLAST START */ case TX_NEW_ASSET: { if (!AreAssetsDeployed()) return ISMINE_NO; @@ -191,7 +191,7 @@ isminetype IsMine(const CKeyStore &keystore, const CScript& scriptPubKey, bool& return ISMINE_SPENDABLE; break; } - /** RVN END*/ + /** BLAST END*/ } if (keystore.HaveWatchOnly(scriptPubKey)) { diff --git a/src/script/ismine.h b/src/script/ismine.h index 2d5fc1b3da..f09c55a38b 100644 --- a/src/script/ismine.h +++ b/src/script/ismine.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCRIPT_ISMINE_H -#define RAVEN_SCRIPT_ISMINE_H +#ifndef BITCOIN_SCRIPT_ISMINE_H +#define BITCOIN_SCRIPT_ISMINE_H #include "script/standard.h" @@ -39,4 +40,4 @@ isminetype IsMine(const CKeyStore& keystore, const CScript& scriptPubKey, SigVer isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest, bool& isInvalid, SigVersion = SIGVERSION_BASE); isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest, SigVersion = SIGVERSION_BASE); -#endif // RAVEN_SCRIPT_ISMINE_H +#endif // BITCOIN_SCRIPT_ISMINE_H diff --git a/src/script/ravenconsensus.h b/src/script/ravenconsensus.h deleted file mode 100644 index 5d2f4343ab..0000000000 --- a/src/script/ravenconsensus.h +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2016 The Bitcoin Core developers -// Copyright (c) 2017 The Raven Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef RAVEN_RAVENCONSENSUS_H -#define RAVEN_RAVENCONSENSUS_H - -#include - -#if defined(BUILD_RAVEN_INTERNAL) && defined(HAVE_CONFIG_H) -#include "config/raven-config.h" - #if defined(_WIN32) - #if defined(DLL_EXPORT) - #if defined(HAVE_FUNC_ATTRIBUTE_DLLEXPORT) - #define EXPORT_SYMBOL __declspec(dllexport) - #else - #define EXPORT_SYMBOL - #endif - #endif - #elif defined(HAVE_FUNC_ATTRIBUTE_VISIBILITY) - #define EXPORT_SYMBOL __attribute__ ((visibility ("default"))) - #endif -#elif defined(MSC_VER) && !defined(STATIC_LIBRAVENCONSENSUS) - #define EXPORT_SYMBOL __declspec(dllimport) -#endif - -#ifndef EXPORT_SYMBOL - #define EXPORT_SYMBOL -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define RAVENCONSENSUS_API_VER 1 - -typedef enum ravenconsensus_error_t -{ - ravenconsensus_ERR_OK = 0, - ravenconsensus_ERR_TX_INDEX, - ravenconsensus_ERR_TX_SIZE_MISMATCH, - ravenconsensus_ERR_TX_DESERIALIZE, - ravenconsensus_ERR_AMOUNT_REQUIRED, - ravenconsensus_ERR_INVALID_FLAGS, -} ravenconsensus_error; - -/** Script verification flags */ -enum -{ - ravenconsensus_SCRIPT_FLAGS_VERIFY_NONE = 0, - ravenconsensus_SCRIPT_FLAGS_VERIFY_P2SH = (1U << 0), // evaluate P2SH (BIP16) subscripts - ravenconsensus_SCRIPT_FLAGS_VERIFY_DERSIG = (1U << 2), // enforce strict DER (BIP66) compliance - ravenconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY = (1U << 4), // enforce NULLDUMMY (BIP147) - ravenconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), // enable CHECKLOCKTIMEVERIFY (BIP65) - ravenconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY = (1U << 10), // enable CHECKSEQUENCEVERIFY (BIP112) - ravenconsensus_SCRIPT_FLAGS_VERIFY_WITNESS = (1U << 11), // enable WITNESS (BIP141) - ravenconsensus_SCRIPT_FLAGS_VERIFY_ALL = ravenconsensus_SCRIPT_FLAGS_VERIFY_P2SH | ravenconsensus_SCRIPT_FLAGS_VERIFY_DERSIG | - ravenconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY | ravenconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY | - ravenconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY | ravenconsensus_SCRIPT_FLAGS_VERIFY_WITNESS -}; - -/// Returns 1 if the input nIn of the serialized transaction pointed to by -/// txTo correctly spends the scriptPubKey pointed to by scriptPubKey under -/// the additional constraints specified by flags. -/// If not nullptr, err will contain an error/success code for the operation -EXPORT_SYMBOL int ravenconsensus_verify_script(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, - const unsigned char *txTo , unsigned int txToLen, - unsigned int nIn, unsigned int flags, ravenconsensus_error* err); - -EXPORT_SYMBOL int ravenconsensus_verify_script_with_amount(const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, int64_t amount, - const unsigned char *txTo , unsigned int txToLen, - unsigned int nIn, unsigned int flags, ravenconsensus_error* err); - -EXPORT_SYMBOL unsigned int ravenconsensus_version(); - -#ifdef __cplusplus -} // extern "C" -#endif - -#undef EXPORT_SYMBOL - -#endif // RAVEN_RAVENCONSENSUS_H diff --git a/src/script/script.cpp b/src/script/script.cpp index 46a6f7e112..cb37200529 100644 --- a/src/script/script.cpp +++ b/src/script/script.cpp @@ -143,9 +143,9 @@ const char* GetOpName(opcodetype opcode) case OP_NOP9 : return "OP_NOP9"; case OP_NOP10 : return "OP_NOP10"; - /** RVN START */ - case OP_RVN_ASSET : return "OP_RVN_ASSET"; - /** RVN END */ + /** BLAST START */ + case OP_BLAST_ASSET : return "OP_BLAST_ASSET"; + /** BLAST END */ case OP_INVALIDOPCODE : return "OP_INVALIDOPCODE"; @@ -227,7 +227,7 @@ bool CScript::IsPayToScriptHash() const (*this)[22] == OP_EQUAL); } -/** RVN START */ +/** BLAST START */ bool CScript::IsAssetScript() const { int nType = 0; @@ -245,33 +245,33 @@ bool CScript::IsAssetScript(int& nType, bool& isOwner) const bool CScript::IsAssetScript(int& nType, bool& fIsOwner, int& nStartingIndex) const { if (this->size() > 30) { - if ((*this)[25] == OP_RVN_ASSET) { // OP_RVN_ASSET is always in the 25 index of the script if it exists + if ((*this)[25] == OP_BLAST_ASSET) { // OP_BLAST_ASSET is always in the 25 index of the script if it exists int index = -1; - if ((*this)[27] == RVN_R) { // Check to see if RVN starts at 27 ( this->size() < 105) - if ((*this)[28] == RVN_V) - if ((*this)[29] == RVN_N) + if ((*this)[27] == BLAST_R) { // Check to see if BLAST starts at 27 ( this->size() < 105) + if ((*this)[28] == BLAST_V) + if ((*this)[29] == BLAST_N) index = 30; } else { - if ((*this)[28] == RVN_R) // Check to see if RVN starts at 28 ( this->size() >= 105) - if ((*this)[29] == RVN_V) - if ((*this)[30] == RVN_N) + if ((*this)[28] == BLAST_R) // Check to see if BLAST starts at 28 ( this->size() >= 105) + if ((*this)[29] == BLAST_V) + if ((*this)[30] == BLAST_N) index = 31; } if (index > 0) { nStartingIndex = index + 1; // Set the index where the asset data begins. Use to serialize the asset data into asset objects - if ((*this)[index] == RVN_T) { // Transfer first anticipating more transfers than other assets operations + if ((*this)[index] == BLAST_T) { // Transfer first anticipating more transfers than other assets operations nType = TX_TRANSFER_ASSET; return true; - } else if ((*this)[index] == RVN_Q && this->size() > 39) { + } else if ((*this)[index] == BLAST_Q && this->size() > 39) { nType = TX_NEW_ASSET; fIsOwner = false; return true; - } else if ((*this)[index] == RVN_O) { + } else if ((*this)[index] == BLAST_O) { nType = TX_NEW_ASSET; fIsOwner = true; return true; - } else if ((*this)[index] == RVN_R) { + } else if ((*this)[index] == BLAST_R) { nType = TX_REISSUE_ASSET; return true; } @@ -322,7 +322,7 @@ bool CScript::IsTransferAsset() const return false; } -/** RVN END */ +/** BLAST END */ bool CScript::IsPayToWitnessScriptHash() const { diff --git a/src/script/script.h b/src/script/script.h index b0e6ee171a..32c4ece34d 100644 --- a/src/script/script.h +++ b/src/script/script.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCRIPT_SCRIPT_H -#define RAVEN_SCRIPT_SCRIPT_H +#ifndef BITCOIN_SCRIPT_SCRIPT_H +#define BITCOIN_SCRIPT_SCRIPT_H #include "crypto/common.h" #include "prevector.h" @@ -184,9 +185,9 @@ enum opcodetype OP_NOP9 = 0xb8, OP_NOP10 = 0xb9, - /** RVN START */ - OP_RVN_ASSET = 0xc0, - /** RVN END */ + /** BLAST START */ + OP_BLAST_ASSET = 0xc0, + /** BLAST END */ // template matching params @@ -633,7 +634,7 @@ class CScript : public CScriptBase } /** - * Pre-version-0.6, Raven always counted CHECKMULTISIGs + * Pre-version-0.6, Bitcoin always counted CHECKMULTISIGs * as 20 sigops. With pay-to-script-hash, that changed: * CHECKMULTISIGs serialized in scriptSigs are * counted more accurately, assuming they are of the form @@ -653,7 +654,7 @@ class CScript : public CScriptBase bool IsPayToWitnessScriptHash() const; bool IsWitnessProgram(int& version, std::vector& program) const; - /** RVN START */ + /** BLAST START */ enum class txnouttype; bool IsAssetScript(int& nType, bool& fIsOwner, int& nStartingIndex) const; bool IsAssetScript(int& nType, bool& fIsOwner) const; @@ -663,7 +664,7 @@ class CScript : public CScriptBase bool IsReissueAsset() const; bool IsTransferAsset() const; bool IsAsset() const; - /** RVN END */ + /** BLAST END */ /** Used for obsolete pay-to-pubkey addresses indexing. */ bool IsPayToPublicKey() const; @@ -726,4 +727,4 @@ bool ScriptNewAsset(const CScript& scriptPubKey, int& nStartingIndex); bool ScriptTransferAsset(const CScript& scriptPubKey, int& nStartingIndex); bool ScriptReissueAsset(const CScript& scriptPubKey, int& nStartingIndex); -#endif // RAVEN_SCRIPT_SCRIPT_H +#endif // BITCOIN_SCRIPT_SCRIPT_H diff --git a/src/script/script_error.h b/src/script/script_error.h index 6400ec28dc..d46dc63405 100644 --- a/src/script/script_error.h +++ b/src/script/script_error.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCRIPT_SCRIPT_ERROR_H -#define RAVEN_SCRIPT_SCRIPT_ERROR_H +#ifndef BITCOIN_SCRIPT_SCRIPT_ERROR_H +#define BITCOIN_SCRIPT_SCRIPT_ERROR_H typedef enum ScriptError_t { @@ -72,4 +73,4 @@ typedef enum ScriptError_t const char* ScriptErrorString(const ScriptError error); -#endif // RAVEN_SCRIPT_SCRIPT_ERROR_H +#endif // BITCOIN_SCRIPT_SCRIPT_ERROR_H diff --git a/src/script/sigcache.h b/src/script/sigcache.h index c0582f694d..fed0a246ce 100644 --- a/src/script/sigcache.h +++ b/src/script/sigcache.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCRIPT_SIGCACHE_H -#define RAVEN_SCRIPT_SIGCACHE_H +#ifndef BITCOIN_SCRIPT_SIGCACHE_H +#define BITCOIN_SCRIPT_SIGCACHE_H #include "script/interpreter.h" @@ -54,4 +55,4 @@ class CachingTransactionSignatureChecker : public TransactionSignatureChecker void InitSignatureCache(); -#endif // RAVEN_SCRIPT_SIGCACHE_H +#endif // BITCOIN_SCRIPT_SIGCACHE_H diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 3c681654ae..dc197211c5 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -81,7 +81,7 @@ static bool SignStep(const BaseSignatureCreator& creator, const CScript& scriptP case TX_NONSTANDARD: case TX_NULL_DATA: return false; - /** RVN START */ + /** BLAST START */ case TX_NEW_ASSET: keyID = CKeyID(uint160(vSolutions[0])); if (!Sign1(keyID, creator, scriptPubKey, ret, sigversion)) @@ -116,7 +116,7 @@ static bool SignStep(const BaseSignatureCreator& creator, const CScript& scriptP ret.push_back(ToByteVector(vch)); } return true; - /** RVN END */ + /** BLAST END */ case TX_PUBKEY: keyID = CPubKey(vSolutions[0]).GetID(); return Sign1(keyID, creator, scriptPubKey, ret, sigversion); diff --git a/src/script/sign.h b/src/script/sign.h index b2fdd48855..e644d7db1f 100644 --- a/src/script/sign.h +++ b/src/script/sign.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCRIPT_SIGN_H -#define RAVEN_SCRIPT_SIGN_H +#ifndef BITCOIN_SCRIPT_SIGN_H +#define BITCOIN_SCRIPT_SIGN_H #include "script/interpreter.h" @@ -82,4 +83,4 @@ SignatureData CombineSignatures(const CScript& scriptPubKey, const BaseSignature SignatureData DataFromTransaction(const CMutableTransaction& tx, unsigned int nIn); void UpdateTransaction(CMutableTransaction& tx, unsigned int nIn, const SignatureData& data); -#endif // RAVEN_SCRIPT_SIGN_H +#endif // BITCOIN_SCRIPT_SIGN_H diff --git a/src/script/standard.cpp b/src/script/standard.cpp index 2e7cccc0ee..562a5980d7 100644 --- a/src/script/standard.cpp +++ b/src/script/standard.cpp @@ -34,11 +34,11 @@ const char* GetTxnOutputType(txnouttype t) case TX_WITNESS_V0_KEYHASH: return "witness_v0_keyhash"; case TX_WITNESS_V0_SCRIPTHASH: return "witness_v0_scripthash"; - /** RVN START */ + /** BLAST START */ case TX_NEW_ASSET: return ASSET_NEW_STRING; case TX_TRANSFER_ASSET: return ASSET_TRANSFER_STRING; case TX_REISSUE_ASSET: return ASSET_REISSUE_STRING; - /** RVN END */ + /** BLAST END */ } return nullptr; } @@ -70,7 +70,7 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, std::vector witnessprogram; @@ -218,12 +218,12 @@ bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet) { addressRet = CScriptID(uint160(vSolutions[0])); return true; - /** RVN START */ + /** BLAST START */ } else if (whichType == TX_NEW_ASSET || whichType == TX_REISSUE_ASSET || whichType == TX_TRANSFER_ASSET) { addressRet = CKeyID(uint160(vSolutions[0])); return true; } - /** RVN END */ + /** BLAST END */ // Multisig txns have more than one address... return false; } diff --git a/src/script/standard.h b/src/script/standard.h index 794b62f634..2b3eb57a05 100644 --- a/src/script/standard.h +++ b/src/script/standard.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SCRIPT_STANDARD_H -#define RAVEN_SCRIPT_STANDARD_H +#ifndef BITCOIN_SCRIPT_STANDARD_H +#define BITCOIN_SCRIPT_STANDARD_H #include "script/interpreter.h" #include "uint256.h" @@ -65,11 +66,11 @@ enum txnouttype TX_NULL_DATA = 5, //!< unspendable OP_RETURN script that carries data TX_WITNESS_V0_SCRIPTHASH = 6, TX_WITNESS_V0_KEYHASH = 7, - /** RVN START */ + /** BLAST START */ TX_NEW_ASSET = 8, TX_REISSUE_ASSET = 9, TX_TRANSFER_ASSET = 10 - /** RVN END */ + /** BLAST END */ }; class CNoDestination { @@ -83,7 +84,7 @@ class CNoDestination { * * CNoDestination: no destination set * * CKeyID: TX_PUBKEYHASH destination * * CScriptID: TX_SCRIPTHASH destination - * A CTxDestination is the internal data type encoded in a ravencoin address + * A CTxDestination is the internal data type encoded in a bitcoin address */ typedef boost::variant CTxDestination; @@ -125,7 +126,7 @@ bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet) bool ExtractDestinations(const CScript& scriptPubKey, txnouttype& typeRet, std::vector& addressRet, int& nRequiredRet); /** - * Generate a Raven scriptPubKey for the given CTxDestination. Returns a P2PKH + * Generate a Bitcoin scriptPubKey for the given CTxDestination. Returns a P2PKH * script for a CKeyID destination, a P2SH script for a CScriptID, and an empty * script for CNoDestination. */ @@ -144,4 +145,4 @@ CScript GetScriptForMultisig(int nRequired, const std::vector& keys); */ CScript GetScriptForWitness(const CScript& redeemscript); -#endif // RAVEN_SCRIPT_STANDARD_H +#endif // BITCOIN_SCRIPT_STANDARD_H diff --git a/src/secp256k1/Makefile.am b/src/secp256k1/Makefile.am index 1751f8a7cc..c071fbe275 100644 --- a/src/secp256k1/Makefile.am +++ b/src/secp256k1/Makefile.am @@ -39,8 +39,8 @@ noinst_HEADERS += src/field_5x52.h noinst_HEADERS += src/field_5x52_impl.h noinst_HEADERS += src/field_5x52_int128_impl.h noinst_HEADERS += src/field_5x52_asm_impl.h -noinst_HEADERS += src/java/org_raven_NativeSecp256k1.h -noinst_HEADERS += src/java/org_raven_Secp256k1Context.h +noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h +noinst_HEADERS += src/java/org_bitcoin_Secp256k1Context.h noinst_HEADERS += src/util.h noinst_HEADERS += src/testrand.h noinst_HEADERS += src/testrand_impl.h @@ -74,7 +74,7 @@ libsecp256k1_la_SOURCES = src/secp256k1.c libsecp256k1_la_CPPFLAGS = -DSECP256K1_BUILD -I$(top_srcdir)/include -I$(top_srcdir)/src $(SECP_INCLUDES) libsecp256k1_la_LIBADD = $(JNI_LIB) $(SECP_LIBS) $(COMMON_LIB) -libsecp256k1_jni_la_SOURCES = src/java/org_raven_NativeSecp256k1.c src/java/org_raven_Secp256k1Context.c +libsecp256k1_jni_la_SOURCES = src/java/org_bitcoin_NativeSecp256k1.c src/java/org_bitcoin_Secp256k1Context.c libsecp256k1_jni_la_CPPFLAGS = -DSECP256K1_BUILD $(JNI_INCLUDES) noinst_PROGRAMS = @@ -115,7 +115,7 @@ TESTS += exhaustive_tests endif JAVAROOT=src/java -JAVAORG=org/raven +JAVAORG=org/bitcoin JAVA_GUAVA=$(srcdir)/$(JAVAROOT)/guava/guava-18.0.jar CLASSPATH_ENV=CLASSPATH=$(JAVA_GUAVA) JAVA_FILES= \ diff --git a/src/secp256k1/build-aux/m4/raven_secp.m4 b/src/secp256k1/build-aux/m4/bitcoin_secp.m4 similarity index 100% rename from src/secp256k1/build-aux/m4/raven_secp.m4 rename to src/secp256k1/build-aux/m4/bitcoin_secp.m4 diff --git a/src/secp256k1/src/java/org/raven/NativeSecp256k1.java b/src/secp256k1/src/java/org/blast/NativeSecp256k1.java similarity index 100% rename from src/secp256k1/src/java/org/raven/NativeSecp256k1.java rename to src/secp256k1/src/java/org/blast/NativeSecp256k1.java diff --git a/src/secp256k1/src/java/org/raven/NativeSecp256k1Test.java b/src/secp256k1/src/java/org/blast/NativeSecp256k1Test.java similarity index 100% rename from src/secp256k1/src/java/org/raven/NativeSecp256k1Test.java rename to src/secp256k1/src/java/org/blast/NativeSecp256k1Test.java diff --git a/src/secp256k1/src/java/org/raven/NativeSecp256k1Util.java b/src/secp256k1/src/java/org/blast/NativeSecp256k1Util.java similarity index 100% rename from src/secp256k1/src/java/org/raven/NativeSecp256k1Util.java rename to src/secp256k1/src/java/org/blast/NativeSecp256k1Util.java diff --git a/src/secp256k1/src/java/org/raven/Secp256k1Context.java b/src/secp256k1/src/java/org/blast/Secp256k1Context.java similarity index 100% rename from src/secp256k1/src/java/org/raven/Secp256k1Context.java rename to src/secp256k1/src/java/org/blast/Secp256k1Context.java diff --git a/src/secp256k1/src/java/org_raven_NativeSecp256k1.c b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c similarity index 89% rename from src/secp256k1/src/java/org_raven_NativeSecp256k1.c rename to src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c index 60d1633e17..bcef7b32ce 100644 --- a/src/secp256k1/src/java/org_raven_NativeSecp256k1.c +++ b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c @@ -1,13 +1,13 @@ #include #include #include -#include "org_raven_NativeSecp256k1.h" +#include "org_bitcoin_NativeSecp256k1.h" #include "include/secp256k1.h" #include "include/secp256k1_ecdh.h" #include "include/secp256k1_recovery.h" -SECP256K1_API jlong JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ctx_1clone +SECP256K1_API jlong JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ctx_1clone (JNIEnv* env, jclass classObject, jlong ctx_l) { const secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -20,7 +20,7 @@ SECP256K1_API jlong JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ctx_1clone } -SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1context_1randomize +SECP256K1_API jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1context_1randomize (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -33,7 +33,7 @@ SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1context_1ra } -SECP256K1_API void JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1destroy_1context +SECP256K1_API void JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1destroy_1context (JNIEnv* env, jclass classObject, jlong ctx_l) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -43,7 +43,7 @@ SECP256K1_API void JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1destroy_1co (void)classObject;(void)env; } -SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdsa_1verify +SECP256K1_API jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l, jint siglen, jint publen) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -70,7 +70,7 @@ SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdsa_1veri return ret; } -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdsa_1sign +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1sign (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -112,7 +112,7 @@ SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecd return retArray; } -SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ec_1seckey_1verify +SECP256K1_API jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ec_1seckey_1verify (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -123,7 +123,7 @@ SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ec_1seckey_ return secp256k1_ec_seckey_verify(ctx, secKey); } -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ec_1pubkey_1create +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ec_1pubkey_1create (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -165,7 +165,7 @@ SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ec_ } -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1privkey_1tweak_1add +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1privkey_1tweak_1add (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -200,7 +200,7 @@ SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pri return retArray; } -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1privkey_1tweak_1mul +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1privkey_1tweak_1mul (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -235,7 +235,7 @@ SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pri return retArray; } -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pubkey_1tweak_1add +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1pubkey_1tweak_1add (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l, jint publen) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -280,7 +280,7 @@ SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pub return retArray; } -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pubkey_1tweak_1mul +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1pubkey_1tweak_1mul (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l, jint publen) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; @@ -324,7 +324,7 @@ SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pub return retArray; } -SECP256K1_API jlong JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdsa_1pubkey_1combine +SECP256K1_API jlong JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1pubkey_1combine (JNIEnv * env, jclass classObject, jobject byteBufferObject, jlong ctx_l, jint numkeys) { (void)classObject;(void)env;(void)byteBufferObject;(void)ctx_l;(void)numkeys; @@ -332,7 +332,7 @@ SECP256K1_API jlong JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdsa_1pub return 0; } -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdh +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdh (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l, jint publen) { secp256k1_context *ctx = (secp256k1_context*)(uintptr_t)ctx_l; diff --git a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h new file mode 100644 index 0000000000..fe613c9e9e --- /dev/null +++ b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h @@ -0,0 +1,119 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +#include "include/secp256k1.h" +/* Header for class org_bitcoin_NativeSecp256k1 */ + +#ifndef _Included_org_bitcoin_NativeSecp256k1 +#define _Included_org_bitcoin_NativeSecp256k1 +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ctx_clone + * Signature: (J)J + */ +SECP256K1_API jlong JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ctx_1clone + (JNIEnv *, jclass, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_context_randomize + * Signature: (Ljava/nio/ByteBuffer;J)I + */ +SECP256K1_API jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1context_1randomize + (JNIEnv *, jclass, jobject, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_privkey_tweak_add + * Signature: (Ljava/nio/ByteBuffer;J)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1privkey_1tweak_1add + (JNIEnv *, jclass, jobject, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_privkey_tweak_mul + * Signature: (Ljava/nio/ByteBuffer;J)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1privkey_1tweak_1mul + (JNIEnv *, jclass, jobject, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_pubkey_tweak_add + * Signature: (Ljava/nio/ByteBuffer;JI)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1pubkey_1tweak_1add + (JNIEnv *, jclass, jobject, jlong, jint); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_pubkey_tweak_mul + * Signature: (Ljava/nio/ByteBuffer;JI)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1pubkey_1tweak_1mul + (JNIEnv *, jclass, jobject, jlong, jint); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_destroy_context + * Signature: (J)V + */ +SECP256K1_API void JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1destroy_1context + (JNIEnv *, jclass, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ecdsa_verify + * Signature: (Ljava/nio/ByteBuffer;JII)I + */ +SECP256K1_API jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify + (JNIEnv *, jclass, jobject, jlong, jint, jint); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ecdsa_sign + * Signature: (Ljava/nio/ByteBuffer;J)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1sign + (JNIEnv *, jclass, jobject, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ec_seckey_verify + * Signature: (Ljava/nio/ByteBuffer;J)I + */ +SECP256K1_API jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ec_1seckey_1verify + (JNIEnv *, jclass, jobject, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ec_pubkey_create + * Signature: (Ljava/nio/ByteBuffer;J)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ec_1pubkey_1create + (JNIEnv *, jclass, jobject, jlong); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ec_pubkey_parse + * Signature: (Ljava/nio/ByteBuffer;JI)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ec_1pubkey_1parse + (JNIEnv *, jclass, jobject, jlong, jint); + +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ecdh + * Signature: (Ljava/nio/ByteBuffer;JI)[[B + */ +SECP256K1_API jobjectArray JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdh + (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l, jint publen); + + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/secp256k1/src/java/org_raven_Secp256k1Context.c b/src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c similarity index 68% rename from src/secp256k1/src/java/org_raven_Secp256k1Context.c rename to src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c index a735e47791..a52939e7e7 100644 --- a/src/secp256k1/src/java/org_raven_Secp256k1Context.c +++ b/src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c @@ -1,9 +1,9 @@ #include #include -#include "org_raven_Secp256k1Context.h" +#include "org_bitcoin_Secp256k1Context.h" #include "include/secp256k1.h" -SECP256K1_API jlong JNICALL Java_org_raven_Secp256k1Context_secp256k1_1init_1context +SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context (JNIEnv* env, jclass classObject) { secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY); diff --git a/src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h b/src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h new file mode 100644 index 0000000000..0d2bc84b7f --- /dev/null +++ b/src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h @@ -0,0 +1,22 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +#include "include/secp256k1.h" +/* Header for class org_bitcoin_Secp256k1Context */ + +#ifndef _Included_org_bitcoin_Secp256k1Context +#define _Included_org_bitcoin_Secp256k1Context +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: org_bitcoin_Secp256k1Context + * Method: secp256k1_init_context + * Signature: ()J + */ +SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context + (JNIEnv *, jclass); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/secp256k1/src/java/org_raven_NativeSecp256k1.h b/src/secp256k1/src/java/org_raven_NativeSecp256k1.h deleted file mode 100644 index 5b2ff3da87..0000000000 --- a/src/secp256k1/src/java/org_raven_NativeSecp256k1.h +++ /dev/null @@ -1,119 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -#include "include/secp256k1.h" -/* Header for class org_raven_NativeSecp256k1 */ - -#ifndef _Included_org_raven_NativeSecp256k1 -#define _Included_org_raven_NativeSecp256k1 -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_ctx_clone - * Signature: (J)J - */ -SECP256K1_API jlong JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ctx_1clone - (JNIEnv *, jclass, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_context_randomize - * Signature: (Ljava/nio/ByteBuffer;J)I - */ -SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1context_1randomize - (JNIEnv *, jclass, jobject, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_privkey_tweak_add - * Signature: (Ljava/nio/ByteBuffer;J)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1privkey_1tweak_1add - (JNIEnv *, jclass, jobject, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_privkey_tweak_mul - * Signature: (Ljava/nio/ByteBuffer;J)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1privkey_1tweak_1mul - (JNIEnv *, jclass, jobject, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_pubkey_tweak_add - * Signature: (Ljava/nio/ByteBuffer;JI)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pubkey_1tweak_1add - (JNIEnv *, jclass, jobject, jlong, jint); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_pubkey_tweak_mul - * Signature: (Ljava/nio/ByteBuffer;JI)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1pubkey_1tweak_1mul - (JNIEnv *, jclass, jobject, jlong, jint); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_destroy_context - * Signature: (J)V - */ -SECP256K1_API void JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1destroy_1context - (JNIEnv *, jclass, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_ecdsa_verify - * Signature: (Ljava/nio/ByteBuffer;JII)I - */ -SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdsa_1verify - (JNIEnv *, jclass, jobject, jlong, jint, jint); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_ecdsa_sign - * Signature: (Ljava/nio/ByteBuffer;J)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdsa_1sign - (JNIEnv *, jclass, jobject, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_ec_seckey_verify - * Signature: (Ljava/nio/ByteBuffer;J)I - */ -SECP256K1_API jint JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ec_1seckey_1verify - (JNIEnv *, jclass, jobject, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_ec_pubkey_create - * Signature: (Ljava/nio/ByteBuffer;J)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ec_1pubkey_1create - (JNIEnv *, jclass, jobject, jlong); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_ec_pubkey_parse - * Signature: (Ljava/nio/ByteBuffer;JI)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ec_1pubkey_1parse - (JNIEnv *, jclass, jobject, jlong, jint); - -/* - * Class: org_raven_NativeSecp256k1 - * Method: secp256k1_ecdh - * Signature: (Ljava/nio/ByteBuffer;JI)[[B - */ -SECP256K1_API jobjectArray JNICALL Java_org_raven_NativeSecp256k1_secp256k1_1ecdh - (JNIEnv* env, jclass classObject, jobject byteBufferObject, jlong ctx_l, jint publen); - - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/secp256k1/src/java/org_raven_Secp256k1Context.h b/src/secp256k1/src/java/org_raven_Secp256k1Context.h deleted file mode 100644 index d032a4ad5b..0000000000 --- a/src/secp256k1/src/java/org_raven_Secp256k1Context.h +++ /dev/null @@ -1,22 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -#include "include/secp256k1.h" -/* Header for class org_raven_Secp256k1Context */ - -#ifndef _Included_org_raven_Secp256k1Context -#define _Included_org_raven_Secp256k1Context -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_raven_Secp256k1Context - * Method: secp256k1_init_context - * Signature: ()J - */ -SECP256K1_API jlong JNICALL Java_org_raven_Secp256k1Context_secp256k1_1init_1context - (JNIEnv *, jclass); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/serialize.h b/src/serialize.h index 309cfdac0e..7904786461 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SERIALIZE_H -#define RAVEN_SERIALIZE_H +#ifndef BITCOIN_SERIALIZE_H +#define BITCOIN_SERIALIZE_H #include "compat/endian.h" @@ -975,4 +976,4 @@ size_t GetSerializeSize(const S& s, const T& t) return (CSizeComputer(s.GetType(), s.GetVersion()) << t).size(); } -#endif // RAVEN_SERIALIZE_H +#endif // BITCOIN_SERIALIZE_H diff --git a/src/spentindex.h b/src/spentindex.h index 70f076953a..7b9da423bc 100644 --- a/src/spentindex.h +++ b/src/spentindex.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SPENTINDEX_H -#define RAVEN_SPENTINDEX_H +#ifndef BITCOIN_SPENTINDEX_H +#define BITCOIN_SPENTINDEX_H #include "uint256.h" #include "amount.h" @@ -95,4 +95,4 @@ struct CSpentIndexKeyCompare } }; -#endif // RAVEN_SPENTINDEX_H +#endif // BITCOIN_SPENTINDEX_H diff --git a/src/streams.h b/src/streams.h index 9af3f32fc9..1e3fc224a1 100644 --- a/src/streams.h +++ b/src/streams.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_STREAMS_H -#define RAVEN_STREAMS_H +#ifndef BITCOIN_STREAMS_H +#define BITCOIN_STREAMS_H #include "support/allocators/zeroafterfree.h" #include "serialize.h" @@ -707,4 +708,4 @@ class CBufferedFile } }; -#endif // RAVEN_STREAMS_H +#endif // BITCOIN_STREAMS_H diff --git a/src/support/allocators/secure.h b/src/support/allocators/secure.h index 5252d42dc3..f748feb212 100644 --- a/src/support/allocators/secure.h +++ b/src/support/allocators/secure.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SUPPORT_ALLOCATORS_SECURE_H -#define RAVEN_SUPPORT_ALLOCATORS_SECURE_H +#ifndef BITCOIN_SUPPORT_ALLOCATORS_SECURE_H +#define BITCOIN_SUPPORT_ALLOCATORS_SECURE_H #include "support/lockedpool.h" #include "support/cleanse.h" @@ -56,4 +57,4 @@ struct secure_allocator : public std::allocator { // This is exactly like std::string, but with a custom allocator. typedef std::basic_string, secure_allocator > SecureString; -#endif // RAVEN_SUPPORT_ALLOCATORS_SECURE_H +#endif // BITCOIN_SUPPORT_ALLOCATORS_SECURE_H diff --git a/src/support/allocators/zeroafterfree.h b/src/support/allocators/zeroafterfree.h index 90e961e50d..7308ac3749 100644 --- a/src/support/allocators/zeroafterfree.h +++ b/src/support/allocators/zeroafterfree.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H -#define RAVEN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H +#ifndef BITCOIN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H +#define BITCOIN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H #include "support/cleanse.h" @@ -46,4 +47,4 @@ struct zero_after_free_allocator : public std::allocator { // Byte-vector that clears its contents before deletion. typedef std::vector > CSerializeData; -#endif // RAVEN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H +#endif // BITCOIN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H diff --git a/src/support/cleanse.h b/src/support/cleanse.h index 766cb7d30b..7e515b97c6 100644 --- a/src/support/cleanse.h +++ b/src/support/cleanse.h @@ -1,15 +1,16 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SUPPORT_CLEANSE_H -#define RAVEN_SUPPORT_CLEANSE_H +#ifndef BITCOIN_SUPPORT_CLEANSE_H +#define BITCOIN_SUPPORT_CLEANSE_H #include // Attempt to overwrite data in the specified memory span. void memory_cleanse(void *ptr, size_t len); -#endif // RAVEN_SUPPORT_CLEANSE_H +#endif // BITCOIN_SUPPORT_CLEANSE_H diff --git a/src/support/events.h b/src/support/events.h index 6aa2b604c6..2436188e98 100644 --- a/src/support/events.h +++ b/src/support/events.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SUPPORT_EVENTS_H -#define RAVEN_SUPPORT_EVENTS_H +#ifndef BITCOIN_SUPPORT_EVENTS_H +#define BITCOIN_SUPPORT_EVENTS_H #include #include @@ -54,4 +55,4 @@ inline raii_evhttp_connection obtain_evhttp_connection_base(struct event_base* b return result; } -#endif // RAVEN_SUPPORT_EVENTS_H +#endif // BITCOIN_SUPPORT_EVENTS_H diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp index fc0c6fc486..373e8bf4d7 100644 --- a/src/support/lockedpool.cpp +++ b/src/support/lockedpool.cpp @@ -7,7 +7,7 @@ #include "support/cleanse.h" #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #ifdef WIN32 diff --git a/src/support/lockedpool.h b/src/support/lockedpool.h index 8d63cccc29..5d5023a691 100644 --- a/src/support/lockedpool.h +++ b/src/support/lockedpool.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SUPPORT_LOCKEDPOOL_H -#define RAVEN_SUPPORT_LOCKEDPOOL_H +#ifndef BITCOIN_SUPPORT_LOCKEDPOOL_H +#define BITCOIN_SUPPORT_LOCKEDPOOL_H #include #include @@ -229,4 +230,4 @@ class LockedPoolManager : public LockedPool static std::once_flag init_flag; }; -#endif // RAVEN_SUPPORT_LOCKEDPOOL_H +#endif // BITCOIN_SUPPORT_LOCKEDPOOL_H diff --git a/src/sync.h b/src/sync.h index e2410a0028..db997c407f 100644 --- a/src/sync.h +++ b/src/sync.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_SYNC_H -#define RAVEN_SYNC_H +#ifndef BITCOIN_SYNC_H +#define BITCOIN_SYNC_H #include "threadsafety.h" @@ -287,4 +288,4 @@ class CSemaphoreGrant } }; -#endif // RAVEN_SYNC_H +#endif // BITCOIN_SYNC_H diff --git a/src/test/DoS_tests.cpp b/src/test/DoS_tests.cpp index ec7da6910c..cc5926583d 100644 --- a/src/test/DoS_tests.cpp +++ b/src/test/DoS_tests.cpp @@ -15,7 +15,7 @@ #include "util.h" #include "validation.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/README.md b/src/test/README.md index 57e1e28856..8fcad7e096 100644 --- a/src/test/README.md +++ b/src/test/README.md @@ -5,7 +5,7 @@ and tests weren't explicitly disabled. After configuring, they can be run with `make check`. -To run the ravend tests manually, launch `src/test/test_raven`. To recompile +To run the ravend tests manually, launch `src/test/test_blast`. To recompile after a test file was modified, run `make` and then run the test again. If you modify a non-test file, use `make -C src/test` to recompile only what's needed to run the ravend tests. @@ -14,7 +14,7 @@ To add more ravend tests, add `BOOST_AUTO_TEST_CASE` functions to the existing .cpp files in the `test/` directory or add new .cpp files that implement new BOOST_AUTO_TEST_SUITE sections. -To run the raven-qt tests manually, launch `src/qt/test/test_raven-qt` +To run the raven-qt tests manually, launch `src/qt/test/test_blast-qt` To add more raven-qt tests, add them to the `src/qt/test/` directory and the `src/qt/test/test_main.cpp` file. @@ -34,10 +34,10 @@ To display what individual tests are running (as they are running) use the By default the log messages from the Raven Core application are not echoed when running the unit tests. If it is desired to print this log data change -the following from 'false' to 'true' in the `test_raven.cpp` file and uncomment +the following from 'false' to 'true' in the `test_bitcoin.cpp` file and uncomment three lines in the `script\interpreter.cpp\ VerifyScript` method and recompile: - src\test\test_raven.cpp: + src\test\test_bitcoin.cpp: fPrintToConsole = false; <-to-> fPrintToConsole = true; script\interpreter.cpp\ VerifyScript method, uncomment: @@ -51,15 +51,15 @@ it appear that the tests were failing. ### Running individual tests -Run `test_raven --list_content` to get a full list of available unit tests. +Run `test_blast --list_content` to get a full list of available unit tests. To run just the 'getarg_tests' (verbosely): - test_raven --run_test=getarg_tests + test_blast --run_test=getarg_tests ... or to run just the doubledash test: - test_raven --run_test=getarg_tests/doubledash_test + test_blast --run_test=getarg_tests/doubledash_test ### Note on adding test cases @@ -69,9 +69,9 @@ sense to simply use this framework rather than require developers to configure some other framework (we want as few impediments to creating unit tests as possible). -The build system is setup to compile an executable called `test_raven` +The build system is setup to compile an executable called `test_blast` that runs all of the unit tests. The main source file is called -test_raven.cpp. To add a new unit test file to our test suite you need +test_bitcoin.cpp. To add a new unit test file to our test suite you need to add the file to `src/Makefile.test.include`. The pattern is to create one test file for each class or source file for which you want to create unit tests. The file naming convention is `_tests.cpp` diff --git a/src/test/addrman_tests.cpp b/src/test/addrman_tests.cpp index 754a3e924a..21cb8095a5 100644 --- a/src/test/addrman_tests.cpp +++ b/src/test/addrman_tests.cpp @@ -3,7 +3,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "addrman.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/allocator_tests.cpp b/src/test/allocator_tests.cpp index 1b99204655..caa073101b 100644 --- a/src/test/allocator_tests.cpp +++ b/src/test/allocator_tests.cpp @@ -6,7 +6,7 @@ #include "util.h" #include "support/allocators/secure.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/amount_tests.cpp b/src/test/amount_tests.cpp index fd940a9ac2..bbd54d8af9 100644 --- a/src/test/amount_tests.cpp +++ b/src/test/amount_tests.cpp @@ -5,7 +5,7 @@ #include "amount.h" #include "policy/feerate.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include @@ -100,7 +100,7 @@ BOOST_FIXTURE_TEST_SUITE(amount_tests, BasicTestingSetup) BOOST_CHECK(a <= a); BOOST_CHECK(b >= a); BOOST_CHECK(b >= b); - // a should be 0.00000002 RVN/kB now + // a should be 0.00000002 BLAST/kB now a += a; BOOST_CHECK(a == b); } @@ -111,7 +111,7 @@ BOOST_FIXTURE_TEST_SUITE(amount_tests, BasicTestingSetup) CFeeRate feeRate; feeRate = CFeeRate(1); - BOOST_CHECK_EQUAL(feeRate.ToString(), "0.00000001 RVN/kB"); + BOOST_CHECK_EQUAL(feeRate.ToString(), "0.00000001 BLAST/kB"); } BOOST_AUTO_TEST_SUITE_END() diff --git a/src/test/arith_uint256_tests.cpp b/src/test/arith_uint256_tests.cpp index 40ac5e3f9b..d2db4c9fd8 100644 --- a/src/test/arith_uint256_tests.cpp +++ b/src/test/arith_uint256_tests.cpp @@ -13,7 +13,7 @@ #include "arith_uint256.h" #include #include "version.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" BOOST_FIXTURE_TEST_SUITE(arith_uint256_tests, BasicTestingSetup) diff --git a/src/test/assets/asset_reissue_tests.cpp b/src/test/assets/asset_reissue_tests.cpp index fb79346729..36befc7881 100644 --- a/src/test/assets/asset_reissue_tests.cpp +++ b/src/test/assets/asset_reissue_tests.cpp @@ -5,7 +5,7 @@ #include -#include +#include #include @@ -29,53 +29,53 @@ BOOST_FIXTURE_TEST_SUITE(asset_reissue_tests, BasicTestingSetup) // Create assets cache CAssetsCache cache; - CNewAsset asset1("RVNASSET", CAmount(100 * COIN), 8, 1, 0, ""); + CNewAsset asset1("BLASTASSET", CAmount(100 * COIN), 8, 1, 0, ""); - // Add an asset to a valid rvn address + // Add an asset to a valid BLAST address uint256 hash = uint256(); BOOST_CHECK_MESSAGE(cache.AddNewAsset(asset1, Params().GlobalBurnAddress(), 0, hash), "Failed to add new asset"); // Create a reissuance of the asset - CReissueAsset reissue1("RVNASSET", CAmount(1 * COIN), 8, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); + CReissueAsset reissue1("BLASTASSET", CAmount(1 * COIN), 8, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); COutPoint out(uint256S("BF50CB9A63BE0019171456252989A459A7D0A5F494735278290079D22AB704A4"), 1); // Add an reissuance of the asset to the cache BOOST_CHECK_MESSAGE(cache.AddReissueAsset(reissue1, Params().GlobalBurnAddress(), out), "Failed to add reissue"); // Check to see if the reissue changed the cache data correctly - BOOST_CHECK_MESSAGE(cache.mapReissuedAssetData.count("RVNASSET"), "Map Reissued Asset should contain the asset \"RVNASSET\""); - BOOST_CHECK_MESSAGE(cache.mapAssetsAddressAmount.at(make_pair("RVNASSET", Params().GlobalBurnAddress())) == CAmount(101 * COIN), "Reissued amount wasn't added to the previous total"); + BOOST_CHECK_MESSAGE(cache.mapReissuedAssetData.count("BLASTASSET"), "Map Reissued Asset should contain the asset \"BLASTASSET\""); + BOOST_CHECK_MESSAGE(cache.mapAssetsAddressAmount.at(make_pair("BLASTASSET", Params().GlobalBurnAddress())) == CAmount(101 * COIN), "Reissued amount wasn't added to the previous total"); // Get the new asset data from the cache CNewAsset asset2; - BOOST_CHECK_MESSAGE(cache.GetAssetMetaDataIfExists("RVNASSET", asset2), "Failed to get the asset2"); + BOOST_CHECK_MESSAGE(cache.GetAssetMetaDataIfExists("BLASTASSET", asset2), "Failed to get the asset2"); // Chech the asset metadata BOOST_CHECK_MESSAGE(asset2.nReissuable == 1, "Asset2: Reissuable isn't 1"); BOOST_CHECK_MESSAGE(asset2.nAmount == CAmount(101 * COIN), "Asset2: Amount isn't 101"); - BOOST_CHECK_MESSAGE(asset2.strName == "RVNASSET", "Asset2: Asset name is wrong"); + BOOST_CHECK_MESSAGE(asset2.strName == "BLASTASSET", "Asset2: Asset name is wrong"); BOOST_CHECK_MESSAGE(asset2.units == 8, "Asset2: Units is wrong"); BOOST_CHECK_MESSAGE(EncodeIPFS(asset2.strIPFSHash) == "QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo", "Asset2: IPFS hash is wrong"); // Remove the reissue from the cache std::vector > undoBlockData; - undoBlockData.emplace_back(std::make_pair("RVNASSET", CBlockAssetUndo{true, false, "", 0})); + undoBlockData.emplace_back(std::make_pair("BLASTASSET", CBlockAssetUndo{true, false, "", 0})); BOOST_CHECK_MESSAGE(cache.RemoveReissueAsset(reissue1, Params().GlobalBurnAddress(), out, undoBlockData), "Failed to remove reissue"); // Get the asset data from the cache now that the reissuance was removed CNewAsset asset3; - BOOST_CHECK_MESSAGE(cache.GetAssetMetaDataIfExists("RVNASSET", asset3), "Failed to get the asset3"); + BOOST_CHECK_MESSAGE(cache.GetAssetMetaDataIfExists("BLASTASSET", asset3), "Failed to get the asset3"); // Chech the asset3 metadata and make sure all the changed from the reissue were removed BOOST_CHECK_MESSAGE(asset3.nReissuable == 1, "Asset3: Reissuable isn't 1"); BOOST_CHECK_MESSAGE(asset3.nAmount == CAmount(100 * COIN), "Asset3: Amount isn't 100"); - BOOST_CHECK_MESSAGE(asset3.strName == "RVNASSET", "Asset3: Asset name is wrong"); + BOOST_CHECK_MESSAGE(asset3.strName == "BLASTASSET", "Asset3: Asset name is wrong"); BOOST_CHECK_MESSAGE(asset3.units == 8, "Asset3: Units is wrong"); BOOST_CHECK_MESSAGE(asset3.strIPFSHash == "", "Asset3: IPFS hash is wrong"); // Check to see if the reissue removal updated the cache correctly - BOOST_CHECK_MESSAGE(cache.mapReissuedAssetData.count("RVNASSET"), "Map of reissued data was removed, even though changes were made and not databased yet"); - BOOST_CHECK_MESSAGE(cache.mapAssetsAddressAmount.at(make_pair("RVNASSET", Params().GlobalBurnAddress())) == CAmount(100 * COIN), "Assets total wasn't undone when reissuance was"); + BOOST_CHECK_MESSAGE(cache.mapReissuedAssetData.count("BLASTASSET"), "Map of reissued data was removed, even though changes were made and not databased yet"); + BOOST_CHECK_MESSAGE(cache.mapAssetsAddressAmount.at(make_pair("BLASTASSET", Params().GlobalBurnAddress())) == CAmount(100 * COIN), "Assets total wasn't undone when reissuance was"); } @@ -88,13 +88,13 @@ BOOST_FIXTURE_TEST_SUITE(asset_reissue_tests, BasicTestingSetup) // Create assets cache CAssetsCache cache; - CNewAsset asset1("RVNASSET", CAmount(100 * COIN), 8, 1, 0, ""); + CNewAsset asset1("BLASTASSET", CAmount(100 * COIN), 8, 1, 0, ""); - // Add an asset to a valid rvn address + // Add an asset to a valid BLAST address BOOST_CHECK_MESSAGE(cache.AddNewAsset(asset1, Params().GlobalBurnAddress(), 0, uint256()), "Failed to add new asset"); // Create a reissuance of the asset that is valid - CReissueAsset reissue1("RVNASSET", CAmount(1 * COIN), 8, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); + CReissueAsset reissue1("BLASTASSET", CAmount(1 * COIN), 8, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); std::string error; BOOST_CHECK_MESSAGE(reissue1.IsValid(error, cache), "Reissue should of been valid"); @@ -105,28 +105,28 @@ BOOST_FIXTURE_TEST_SUITE(asset_reissue_tests, BasicTestingSetup) BOOST_CHECK_MESSAGE(!reissue2.IsValid(error, cache), "Reissue shouldn't of been valid"); // Create a reissuance of the asset that is not valid (unit is smaller than current asset) - CReissueAsset reissue3("RVNASSET", CAmount(1 * COIN), 7, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); + CReissueAsset reissue3("BLASTASSET", CAmount(1 * COIN), 7, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); BOOST_CHECK_MESSAGE(!reissue3.IsValid(error, cache), "Reissue shouldn't of been valid because of units"); // Create a reissuance of the asset that is not valid (unit is not changed) - CReissueAsset reissue4("RVNASSET", CAmount(1 * COIN), -1, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); + CReissueAsset reissue4("BLASTASSET", CAmount(1 * COIN), -1, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); BOOST_CHECK_MESSAGE(reissue4.IsValid(error, cache), "Reissue4 wasn't valid"); // Create a new asset object with units of 0 - CNewAsset asset2("RVNASSET2", CAmount(100 * COIN), 0, 1, 0, ""); + CNewAsset asset2("BLASTASSET2", CAmount(100 * COIN), 0, 1, 0, ""); - // Add new asset to a valid rvn address + // Add new asset to a valid BLAST address BOOST_CHECK_MESSAGE(cache.AddNewAsset(asset2, Params().GlobalBurnAddress(), 0, uint256()), "Failed to add new asset"); // Create a reissuance of the asset that is valid unit go from 0 -> 1 and change the ipfs hash - CReissueAsset reissue5("RVNASSET2", CAmount(1 * COIN), 1, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); + CReissueAsset reissue5("BLASTASSET2", CAmount(1 * COIN), 1, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); BOOST_CHECK_MESSAGE(reissue5.IsValid(error, cache), "Reissue5 wasn't valid"); // Create a reissuance of the asset that is valid unit go from 1 -> 1 and change the ipfs hash - CReissueAsset reissue6("RVNASSET2", CAmount(1 * COIN), 1, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); + CReissueAsset reissue6("BLASTASSET2", CAmount(1 * COIN), 1, 1, DecodeIPFS("QmacSRmrkVmvJfbCpmU6pK72furJ8E8fbKHindrLxmYMQo")); BOOST_CHECK_MESSAGE(reissue6.IsValid(error, cache), "Reissue6 wasn't valid"); } diff --git a/src/test/assets/asset_tests.cpp b/src/test/assets/asset_tests.cpp index c7a85a084a..5729aa286a 100644 --- a/src/test/assets/asset_tests.cpp +++ b/src/test/assets/asset_tests.cpp @@ -1,10 +1,11 @@ // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include -#include +#include #include #include "core_write.cpp" @@ -53,20 +54,18 @@ BOOST_FIXTURE_TEST_SUITE(asset_tests, BasicTestingSetup) BOOST_CHECK(!IsAssetNameValid("A._BC", type)); BOOST_CHECK(!IsAssetNameValid("AB_.C", type)); - //- Versions of RAVENCOIN NOT allowed - BOOST_CHECK(!IsAssetNameValid("RVN", type)); - BOOST_CHECK(!IsAssetNameValid("RAVEN", type)); - BOOST_CHECK(!IsAssetNameValid("RAVENCOIN", type)); - - //- Versions of RAVENCOIN ALLOWED - BOOST_CHECK(IsAssetNameValid("RAVEN.COIN", type)); - BOOST_CHECK(IsAssetNameValid("RAVEN_COIN", type)); - BOOST_CHECK(IsAssetNameValid("RVNSPYDER", type)); - BOOST_CHECK(IsAssetNameValid("SPYDERRVN", type)); - BOOST_CHECK(IsAssetNameValid("RAVENSPYDER", type)); - BOOST_CHECK(IsAssetNameValid("SPYDERAVEN", type)); - BOOST_CHECK(IsAssetNameValid("BLACK_RAVENS", type)); - BOOST_CHECK(IsAssetNameValid("SERVNOT", type)); + //- Versions of BLAST NOT allowed + BOOST_CHECK(!IsAssetNameValid("BLAST", type)); + BOOST_CHECK(!IsAssetNameValid("BLASTCOIN", type)); + + //- Versions of BLAST ALLOWED + BOOST_CHECK(IsAssetNameValid("BLAST.COIN", type)); + BOOST_CHECK(IsAssetNameValid("BLAST_COIN", type)); + BOOST_CHECK(IsAssetNameValid("SPYDERBLAST", type)); + BOOST_CHECK(IsAssetNameValid("BLASTSPYDER", type)); + BOOST_CHECK(IsAssetNameValid("SPYDEBLAST", type)); + BOOST_CHECK(IsAssetNameValid("BLACK_BLASTS", type)); + BOOST_CHECK(IsAssetNameValid("SEBLASTOT", type)); // subs BOOST_CHECK(IsAssetNameValid("ABC/A", type)); @@ -183,7 +182,7 @@ BOOST_FIXTURE_TEST_SUITE(asset_tests, BasicTestingSetup) SelectParams(CBaseChainParams::MAIN); // Create the asset scriptPubKey - CAssetTransfer asset("RAVEN", 1000); + CAssetTransfer asset("BLAST", 1000); CScript scriptPubKey = GetScriptForDestination(DecodeDestination(Params().GlobalBurnAddress())); asset.ConstructTransaction(scriptPubKey); @@ -204,7 +203,7 @@ BOOST_FIXTURE_TEST_SUITE(asset_tests, BasicTestingSetup) SelectParams(CBaseChainParams::MAIN); // Create the asset scriptPubKey - CNewAsset asset("RAVEN", 1000, 8, 1, 0, ""); + CNewAsset asset("BLAST", 1000, 8, 1, 0, ""); CScript scriptPubKey = GetScriptForDestination(DecodeDestination(Params().GlobalBurnAddress())); asset.ConstructTransaction(scriptPubKey); diff --git a/src/test/assets/asset_tx_tests.cpp b/src/test/assets/asset_tx_tests.cpp index cfcee2cb05..0106d26524 100644 --- a/src/test/assets/asset_tx_tests.cpp +++ b/src/test/assets/asset_tx_tests.cpp @@ -4,7 +4,7 @@ #include -#include +#include #include diff --git a/src/test/assets/cache_tests.cpp b/src/test/assets/cache_tests.cpp index 86efb620dd..4743cc3521 100644 --- a/src/test/assets/cache_tests.cpp +++ b/src/test/assets/cache_tests.cpp @@ -1,7 +1,7 @@ #include "assets/assets.h" #include -#include +#include BOOST_FIXTURE_TEST_SUITE(cache_tests, BasicTestingSetup) diff --git a/src/test/assets/serialization_tests.cpp b/src/test/assets/serialization_tests.cpp index d7d0b1c7f1..0cbd4a9c97 100644 --- a/src/test/assets/serialization_tests.cpp +++ b/src/test/assets/serialization_tests.cpp @@ -4,7 +4,7 @@ #include -#include +#include #include diff --git a/src/test/base32_tests.cpp b/src/test/base32_tests.cpp index 2f6be05236..7bfc613185 100644 --- a/src/test/base32_tests.cpp +++ b/src/test/base32_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/base58_tests.cpp b/src/test/base58_tests.cpp index 718b1306da..3b61c9bc19 100644 --- a/src/test/base58_tests.cpp +++ b/src/test/base58_tests.cpp @@ -11,7 +11,7 @@ #include "key.h" #include "script/script.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "uint256.h" #include "util.h" #include "utilstrencodings.h" @@ -138,7 +138,7 @@ BOOST_FIXTURE_TEST_SUITE(base58_tests, BasicTestingSetup) BOOST_TEST_MESSAGE("Running Base58 Keys Valid Parse Test"); UniValue tests = read_json(std::string(json_tests::base58_keys_valid, json_tests::base58_keys_valid + sizeof(json_tests::base58_keys_valid))); - CRavenSecret secret; + CBitcoinSecret secret; CTxDestination destination; SelectParams(CBaseChainParams::MAIN); @@ -220,7 +220,7 @@ BOOST_FIXTURE_TEST_SUITE(base58_tests, BasicTestingSetup) CKey key; key.Set(exp_payload.begin(), exp_payload.end(), isCompressed); assert(key.IsValid()); - CRavenSecret secret; + CBitcoinSecret secret; secret.SetKey(key); BOOST_CHECK_MESSAGE(secret.ToString() == exp_base58string, "result mismatch: " + strTest); } else @@ -255,7 +255,7 @@ BOOST_FIXTURE_TEST_SUITE(base58_tests, BasicTestingSetup) BOOST_TEST_MESSAGE("Running Base58 Keys Invalid Test"); UniValue tests = read_json(std::string(json_tests::base58_keys_invalid, json_tests::base58_keys_invalid + sizeof(json_tests::base58_keys_invalid))); // Negative testcases - CRavenSecret secret; + CBitcoinSecret secret; CTxDestination destination; for (unsigned int idx = 0; idx < tests.size(); idx++) diff --git a/src/test/base64_tests.cpp b/src/test/base64_tests.cpp index 0eaf139cfd..c428175998 100644 --- a/src/test/base64_tests.cpp +++ b/src/test/base64_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/bech32_tests.cpp b/src/test/bech32_tests.cpp index ed0916b809..b40f45f6d8 100644 --- a/src/test/bech32_tests.cpp +++ b/src/test/bech32_tests.cpp @@ -2,7 +2,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/bip32_tests.cpp b/src/test/bip32_tests.cpp index 47892abdd7..9fbf8beed6 100644 --- a/src/test/bip32_tests.cpp +++ b/src/test/bip32_tests.cpp @@ -10,7 +10,7 @@ #include "uint256.h" #include "util.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include @@ -106,20 +106,20 @@ void RunTest(const TestVector &test) pubkey.Encode(data); // Test private key - CRavenExtKey b58key; + CBitcoinExtKey b58key; b58key.SetKey(key); BOOST_CHECK(b58key.ToString() == derive.prv); - CRavenExtKey b58keyDecodeCheck(derive.prv); + CBitcoinExtKey b58keyDecodeCheck(derive.prv); CExtKey checkKey = b58keyDecodeCheck.GetKey(); assert(checkKey == key); //ensure a base58 decoded key also matches // Test public key - CRavenExtPubKey b58pubkey; + CBitcoinExtPubKey b58pubkey; b58pubkey.SetKey(pubkey); BOOST_CHECK(b58pubkey.ToString() == derive.pub); - CRavenExtPubKey b58PubkeyDecodeCheck(derive.pub); + CBitcoinExtPubKey b58PubkeyDecodeCheck(derive.pub); CExtPubKey checkPubKey = b58PubkeyDecodeCheck.GetKey(); assert(checkPubKey == pubkey); //ensure a base58 decoded pubkey also matches diff --git a/src/test/blockencodings_tests.cpp b/src/test/blockencodings_tests.cpp index bf62ece6fa..02a71eded7 100644 --- a/src/test/blockencodings_tests.cpp +++ b/src/test/blockencodings_tests.cpp @@ -8,7 +8,7 @@ #include "chainparams.h" #include "random.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/bloom_tests.cpp b/src/test/bloom_tests.cpp index 2967b3b42b..87cf539ec2 100644 --- a/src/test/bloom_tests.cpp +++ b/src/test/bloom_tests.cpp @@ -16,7 +16,7 @@ #include "uint256.h" #include "util.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include @@ -92,7 +92,7 @@ BOOST_FIXTURE_TEST_SUITE(bloom_tests, BasicTestingSetup) BOOST_TEST_MESSAGE("Running Bloom Create Insert Key Test"); std::string strSecret = std::string("5Kg1gnAjaLfKiwhhPpGS3QfRg2m6awQvaj98JCZBZQ5SuS2F15C"); - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; BOOST_CHECK(vchSecret.SetString(strSecret)); CKey key = vchSecret.GetKey(); @@ -517,7 +517,7 @@ BOOST_FIXTURE_TEST_SUITE(bloom_tests, BasicTestingSetup) ++nHits; } - // Run test_raven with --log_level=message to see BOOST_TEST_MESSAGEs: + // Run test_blast with --log_level=message to see BOOST_TEST_MESSAGEs: BOOST_TEST_MESSAGE("RollingBloomFilter got " << nHits << " false positives (~100 expected)"); // Insanely unlikely to get a fp count outside this range: diff --git a/src/test/bswap_tests.cpp b/src/test/bswap_tests.cpp index 4ff454780b..0fb844932e 100644 --- a/src/test/bswap_tests.cpp +++ b/src/test/bswap_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "compat/byteswap.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/checkqueue_tests.cpp b/src/test/checkqueue_tests.cpp index 7b4f55d2fc..f1d2334071 100644 --- a/src/test/checkqueue_tests.cpp +++ b/src/test/checkqueue_tests.cpp @@ -7,7 +7,7 @@ #include "utiltime.h" #include "validation.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "checkqueue.h" #include #include diff --git a/src/test/coins_tests.cpp b/src/test/coins_tests.cpp index 2bace5891f..43c9d732bd 100644 --- a/src/test/coins_tests.cpp +++ b/src/test/coins_tests.cpp @@ -8,7 +8,7 @@ #include "uint256.h" #include "undo.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "validation.h" #include "consensus/validation.h" diff --git a/src/test/compress_tests.cpp b/src/test/compress_tests.cpp index 192a85826e..05876d110f 100644 --- a/src/test/compress_tests.cpp +++ b/src/test/compress_tests.cpp @@ -5,7 +5,7 @@ #include "compressor.h" #include "util.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include @@ -18,10 +18,10 @@ #define NUM_MULTIPLES_CENT 10000 // amounts 1 .. 10000 -#define NUM_MULTIPLES_1RVN 10000 +#define NUM_MULTIPLES_1BLAST 10000 // amounts 50 .. 21000000 -#define NUM_MULTIPLES_50RVN 420000 +#define NUM_MULTIPLES_50BLAST 420000 BOOST_FIXTURE_TEST_SUITE(compress_tests, BasicTestingSetup) @@ -58,10 +58,10 @@ BOOST_FIXTURE_TEST_SUITE(compress_tests, BasicTestingSetup) for (uint64_t i = 1; i <= NUM_MULTIPLES_CENT; i++) BOOST_CHECK(TestEncode(i * CENT)); - for (uint64_t i = 1; i <= NUM_MULTIPLES_1RVN; i++) + for (uint64_t i = 1; i <= NUM_MULTIPLES_1BLAST; i++) BOOST_CHECK(TestEncode(i * COIN)); - for (uint64_t i = 1; i <= NUM_MULTIPLES_50RVN; i++) + for (uint64_t i = 1; i <= NUM_MULTIPLES_50BLAST; i++) BOOST_CHECK(TestEncode(i * 5000 * COIN)); for (uint64_t i = 0; i < 100000; i++) diff --git a/src/test/crypto_tests.cpp b/src/test/crypto_tests.cpp index 793f10ccc7..2f8d88de39 100644 --- a/src/test/crypto_tests.cpp +++ b/src/test/crypto_tests.cpp @@ -13,7 +13,7 @@ #include "crypto/hmac_sha512.h" #include "random.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/cuckoocache_tests.cpp b/src/test/cuckoocache_tests.cpp index 59ab04ebac..cd158602f8 100644 --- a/src/test/cuckoocache_tests.cpp +++ b/src/test/cuckoocache_tests.cpp @@ -5,7 +5,7 @@ #include #include "cuckoocache.h" #include "script/sigcache.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "random.h" #include diff --git a/src/test/dbwrapper_tests.cpp b/src/test/dbwrapper_tests.cpp index 4fdb011685..b3bc0b0815 100644 --- a/src/test/dbwrapper_tests.cpp +++ b/src/test/dbwrapper_tests.cpp @@ -6,7 +6,7 @@ #include "dbwrapper.h" #include "uint256.h" #include "random.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/getarg_tests.cpp b/src/test/getarg_tests.cpp index 9300326b9e..04ddad1b18 100644 --- a/src/test/getarg_tests.cpp +++ b/src/test/getarg_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "util.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/hash_tests.cpp b/src/test/hash_tests.cpp index 4966793803..a60661dcb1 100644 --- a/src/test/hash_tests.cpp +++ b/src/test/hash_tests.cpp @@ -5,7 +5,7 @@ #include "hash.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "consensus/merkle.h" #include diff --git a/src/test/key_tests.cpp b/src/test/key_tests.cpp index c7c1e64382..dd3271d965 100644 --- a/src/test/key_tests.cpp +++ b/src/test/key_tests.cpp @@ -10,7 +10,7 @@ #include "uint256.h" #include "util.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include @@ -35,7 +35,7 @@ BOOST_FIXTURE_TEST_SUITE(key_tests, BasicTestingSetup) { BOOST_TEST_MESSAGE("Running Key Test"); - CRavenSecret bsecret1, bsecret2, bsecret1C, bsecret2C, baddress1; + CBitcoinSecret bsecret1, bsecret2, bsecret1C, bsecret2C, baddress1; BOOST_CHECK(bsecret1.SetString(strSecret1)); BOOST_CHECK(bsecret2.SetString(strSecret2)); BOOST_CHECK(bsecret1C.SetString(strSecret1C)); diff --git a/src/test/limitedmap_tests.cpp b/src/test/limitedmap_tests.cpp index 2f199ef8c1..d7db4a2eb0 100644 --- a/src/test/limitedmap_tests.cpp +++ b/src/test/limitedmap_tests.cpp @@ -5,7 +5,7 @@ #include "limitedmap.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/main_tests.cpp b/src/test/main_tests.cpp index 7260c1c376..5ecd106797 100644 --- a/src/test/main_tests.cpp +++ b/src/test/main_tests.cpp @@ -7,7 +7,7 @@ #include "validation.h" #include "net.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/mempool_tests.cpp b/src/test/mempool_tests.cpp index 4ddd7ded59..fe46e211b5 100644 --- a/src/test/mempool_tests.cpp +++ b/src/test/mempool_tests.cpp @@ -7,7 +7,7 @@ #include "txmempool.h" #include "util.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/merkle_tests.cpp b/src/test/merkle_tests.cpp index 267c6b1c4a..09a475010e 100644 --- a/src/test/merkle_tests.cpp +++ b/src/test/merkle_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "consensus/merkle.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/merkleblock_tests.cpp b/src/test/merkleblock_tests.cpp index 115b18bf13..8b7dec2a91 100644 --- a/src/test/merkleblock_tests.cpp +++ b/src/test/merkleblock_tests.cpp @@ -5,7 +5,7 @@ #include "merkleblock.h" #include "uint256.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/miner_tests.cpp b/src/test/miner_tests.cpp index ab9ec4bdc8..4974e97fcc 100644 --- a/src/test/miner_tests.cpp +++ b/src/test/miner_tests.cpp @@ -19,7 +19,7 @@ #include "util.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include @@ -252,7 +252,7 @@ BOOST_FIXTURE_TEST_SUITE(miner_tests, TestingSetup) tx.vin[0].prevout.hash = txFirst[2]->GetHash(); tx.vout.resize(2); tx.vout[0].nValue = 5000000000LL - 100000000; - tx.vout[1].nValue = 100000000; // 1RVN output + tx.vout[1].nValue = 100000000; // 1BLAST output uint256 hashFreeTx2 = tx.GetHash(); mempool.addUnchecked(hashFreeTx2, entry.Fee(0).SpendsCoinbase(true).FromTx(tx)); diff --git a/src/test/multisig_tests.cpp b/src/test/multisig_tests.cpp index 7df7128f6d..a018707c78 100644 --- a/src/test/multisig_tests.cpp +++ b/src/test/multisig_tests.cpp @@ -12,7 +12,7 @@ #include "script/sign.h" #include "script/ismine.h" #include "uint256.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/net_tests.cpp b/src/test/net_tests.cpp index 0341a5d858..dd2629d5e3 100644 --- a/src/test/net_tests.cpp +++ b/src/test/net_tests.cpp @@ -3,7 +3,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "addrman.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include #include "hash.h" diff --git a/src/test/netbase_tests.cpp b/src/test/netbase_tests.cpp index 30f4380eea..8c3229b7f9 100644 --- a/src/test/netbase_tests.cpp +++ b/src/test/netbase_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "netbase.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "utilstrencodings.h" #include diff --git a/src/test/pmt_tests.cpp b/src/test/pmt_tests.cpp index d11d4fb38c..a66e0f09bd 100644 --- a/src/test/pmt_tests.cpp +++ b/src/test/pmt_tests.cpp @@ -10,7 +10,7 @@ #include "uint256.h" #include "arith_uint256.h" #include "version.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/policyestimator_tests.cpp b/src/test/policyestimator_tests.cpp index 205814661a..5c3134dbcc 100644 --- a/src/test/policyestimator_tests.cpp +++ b/src/test/policyestimator_tests.cpp @@ -9,7 +9,7 @@ #include "uint256.h" #include "util.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/pow_tests.cpp b/src/test/pow_tests.cpp index 4fbcad6bb5..7685c289b9 100644 --- a/src/test/pow_tests.cpp +++ b/src/test/pow_tests.cpp @@ -8,7 +8,7 @@ #include "pow.h" #include "random.h" #include "util.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/prevector_tests.cpp b/src/test/prevector_tests.cpp index 9c69bb662c..552f76976e 100644 --- a/src/test/prevector_tests.cpp +++ b/src/test/prevector_tests.cpp @@ -10,7 +10,7 @@ #include "serialize.h" #include "streams.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/raii_event_tests.cpp b/src/test/raii_event_tests.cpp index c032f5a670..9a0abda805 100644 --- a/src/test/raii_event_tests.cpp +++ b/src/test/raii_event_tests.cpp @@ -13,7 +13,7 @@ #include "support/events.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/random_tests.cpp b/src/test/random_tests.cpp index e8492aa18a..6f6a4f4f6f 100644 --- a/src/test/random_tests.cpp +++ b/src/test/random_tests.cpp @@ -5,7 +5,7 @@ #include "random.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/reverselock_tests.cpp b/src/test/reverselock_tests.cpp index 4060af0219..b102019a8e 100644 --- a/src/test/reverselock_tests.cpp +++ b/src/test/reverselock_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "reverselock.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/rpc_tests.cpp b/src/test/rpc_tests.cpp index 2306a74ea2..b4fedb3421 100644 --- a/src/test/rpc_tests.cpp +++ b/src/test/rpc_tests.cpp @@ -1,5 +1,6 @@ // Copyright (c) 2012-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -10,7 +11,7 @@ #include "core_io.h" #include "netbase.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include @@ -156,20 +157,20 @@ BOOST_FIXTURE_TEST_SUITE(rpc_tests, TestingSetup) BOOST_TEST_MESSAGE("Running RPC CreateRaw Assets Test"); BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":20000}")); - BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"transfer\":{\"RAVEN_ASSET\":20000}}}")); - BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"issue\":{\"name_length\":1,\"asset_name\":\"RAVEN_ASSET\",\"asset_quantity\":20000,\"units\":0,\"reissuable\":1,\"has_ipfs\":0}}}")); + BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"transfer\":{\"BLAST_ASSET\":20000}}}")); + BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"issue\":{\"name_length\":1,\"asset_name\":\"BLAST_ASSET\",\"asset_quantity\":20000,\"units\":0,\"reissuable\":1,\"has_ipfs\":0}}}")); // one address multiple asset outs - BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"transfer\":{\"RAVEN_ASSET\":20000,\"RAVEN_ASSET_2\":20000}}}")); + BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"transfer\":{\"BLAST_ASSET\":20000,\"BLAST_ASSET_2\":20000}}}")); // multiple coin outs BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":20000,\"RUrmBNPvWemcczvE9uWMmkaVxHik753vKm\":20000}")); // coin and asset out - BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":20000,\"RUrmBNPvWemcczvE9uWMmkaVxHik753vKm\":{\"transfer\":{\"RAVEN_ASSET\":20000}}}")); + BOOST_CHECK_NO_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":20000,\"RUrmBNPvWemcczvE9uWMmkaVxHik753vKm\":{\"transfer\":{\"BLAST_ASSET\":20000}}}")); // bad command - BOOST_CHECK_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"badcommand\":{\"RAVEN_ASSET\":20000}}}"), std::runtime_error); + BOOST_CHECK_THROW(CallRPC("createrawtransaction [{\"txid\":\"a3b807410df0b60fcb9736768df5823938b2f838694939ba45f3c0a1bff150ed\",\"vout\":0}] {\"rNNjqrDbSHxJZNfC54WsF8dxqbcue9SoiB\":{\"badcommand\":{\"BLAST_ASSET\":20000}}}"), std::runtime_error); } BOOST_AUTO_TEST_CASE(rpc_format_monetary_values_test) @@ -269,7 +270,7 @@ BOOST_FIXTURE_TEST_SUITE(rpc_tests, TestingSetup) // Invalid, trailing garbage BOOST_CHECK_THROW(ParseNonRFCJSONValue("1.0sds"), std::runtime_error); BOOST_CHECK_THROW(ParseNonRFCJSONValue("1.0]"), std::runtime_error); - // RVN addresses should fail parsing + // BLAST addresses should fail parsing BOOST_CHECK_THROW(ParseNonRFCJSONValue("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"), std::runtime_error); BOOST_CHECK_THROW(ParseNonRFCJSONValue("3J98t1WpEZ73CNmQviecrnyiWrnqRhWNL"), std::runtime_error); } diff --git a/src/test/sanity_tests.cpp b/src/test/sanity_tests.cpp index 5d752de955..cbe5f73439 100644 --- a/src/test/sanity_tests.cpp +++ b/src/test/sanity_tests.cpp @@ -5,7 +5,7 @@ #include "compat/sanity.h" #include "key.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/scheduler_tests.cpp b/src/test/scheduler_tests.cpp index db11cd7cc8..9a517722c5 100644 --- a/src/test/scheduler_tests.cpp +++ b/src/test/scheduler_tests.cpp @@ -6,7 +6,7 @@ #include "random.h" #include "scheduler.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/script_P2PKH_tests.cpp b/src/test/script_P2PKH_tests.cpp index b9d9cd3e3b..9540178032 100644 --- a/src/test/script_P2PKH_tests.cpp +++ b/src/test/script_P2PKH_tests.cpp @@ -3,7 +3,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "script/script.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/script_P2PK_tests.cpp b/src/test/script_P2PK_tests.cpp index 2829ebbd60..5878957c91 100644 --- a/src/test/script_P2PK_tests.cpp +++ b/src/test/script_P2PK_tests.cpp @@ -3,7 +3,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "script/script.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/script_P2SH_tests.cpp b/src/test/script_P2SH_tests.cpp index 2a14e3a48b..324b015b36 100644 --- a/src/test/script_P2SH_tests.cpp +++ b/src/test/script_P2SH_tests.cpp @@ -13,7 +13,7 @@ #include "script/script_error.h" #include "script/sign.h" #include "script/ismine.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/script_standard_tests.cpp b/src/test/script_standard_tests.cpp index 2c393e52a8..f57fae391c 100644 --- a/src/test/script_standard_tests.cpp +++ b/src/test/script_standard_tests.cpp @@ -9,7 +9,7 @@ #include "script/script.h" #include "script/script_error.h" #include "script/standard.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp index 87f4eb1a1d..8ba332bf7d 100644 --- a/src/test/script_tests.cpp +++ b/src/test/script_tests.cpp @@ -13,11 +13,11 @@ #include "script/sign.h" #include "util.h" #include "utilstrencodings.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "rpc/server.h" #if defined(HAVE_CONSENSUS_LIB) -#include "script/ravenconsensus.h" +#include "script/bitcoinconsensus.h" #endif #include @@ -172,13 +172,13 @@ BOOST_FIXTURE_TEST_SUITE(script_tests, BasicTestingSetup) #if defined(HAVE_CONSENSUS_LIB) CDataStream stream(SER_NETWORK, PROTOCOL_VERSION); stream << tx2; - int libconsensus_flags = flags & ravenconsensus_SCRIPT_FLAGS_VERIFY_ALL; + int libconsensus_flags = flags & bitcoinconsensus_SCRIPT_FLAGS_VERIFY_ALL; if (libconsensus_flags == flags) { - if (flags & ravenconsensus_SCRIPT_FLAGS_VERIFY_WITNESS) { - BOOST_CHECK_MESSAGE(ravenconsensus_verify_script_with_amount(scriptPubKey.data(), scriptPubKey.size(), txCredit.vout[0].nValue, (const unsigned char*)&stream[0], stream.size(), 0, libconsensus_flags, nullptr) == expect, message); + if (flags & bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS) { + BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script_with_amount(scriptPubKey.data(), scriptPubKey.size(), txCredit.vout[0].nValue, (const unsigned char*)&stream[0], stream.size(), 0, libconsensus_flags, nullptr) == expect, message); } else { - BOOST_CHECK_MESSAGE(ravenconsensus_verify_script_with_amount(scriptPubKey.data(), scriptPubKey.size(), 0, (const unsigned char*)&stream[0], stream.size(), 0, libconsensus_flags, nullptr) == expect, message); - BOOST_CHECK_MESSAGE(ravenconsensus_verify_script(scriptPubKey.data(), scriptPubKey.size(), (const unsigned char*)&stream[0], stream.size(), 0, libconsensus_flags, nullptr) == expect,message); + BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script_with_amount(scriptPubKey.data(), scriptPubKey.size(), 0, (const unsigned char*)&stream[0], stream.size(), 0, libconsensus_flags, nullptr) == expect, message); + BOOST_CHECK_MESSAGE(bitcoinconsensus_verify_script(scriptPubKey.data(), scriptPubKey.size(), (const unsigned char*)&stream[0], stream.size(), 0, libconsensus_flags, nullptr) == expect,message); } } #endif diff --git a/src/test/scriptnum10.h b/src/test/scriptnum10.h index c9d6b2befc..10ef90770b 100644 --- a/src/test/scriptnum10.h +++ b/src/test/scriptnum10.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_TEST_SCRIPTNUM10_H -#define RAVEN_TEST_SCRIPTNUM10_H +#ifndef BITCOIN_TEST_SCRIPTNUM10_H +#define BITCOIN_TEST_SCRIPTNUM10_H #include #include @@ -25,7 +26,7 @@ class scriptnum10_error : public std::runtime_error class CScriptNum10 { /** - * The ScriptNum implementation from Raven Core 0.10.0, for cross-comparison. + * The ScriptNum implementation from Bitcoin Core 0.10.0, for cross-comparison. */ public: @@ -218,4 +219,4 @@ class CScriptNum10 }; -#endif // RAVEN_TEST_BIGNUM_H +#endif // BITCOIN_TEST_BIGNUM_H diff --git a/src/test/scriptnum_tests.cpp b/src/test/scriptnum_tests.cpp index d88bdc261d..f52e29daae 100644 --- a/src/test/scriptnum_tests.cpp +++ b/src/test/scriptnum_tests.cpp @@ -5,7 +5,7 @@ #include "scriptnum10.h" #include "script/script.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/serialize_tests.cpp b/src/test/serialize_tests.cpp index 16f85795f0..0e83c95fd3 100644 --- a/src/test/serialize_tests.cpp +++ b/src/test/serialize_tests.cpp @@ -6,7 +6,7 @@ #include "serialize.h" #include "streams.h" #include "hash.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/sighash_tests.cpp b/src/test/sighash_tests.cpp index bfaae6ca2c..2a94369acf 100644 --- a/src/test/sighash_tests.cpp +++ b/src/test/sighash_tests.cpp @@ -11,7 +11,7 @@ #include "script/script.h" #include "serialize.h" #include "streams.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "util.h" #include "utilstrencodings.h" #include "version.h" diff --git a/src/test/sigopcount_tests.cpp b/src/test/sigopcount_tests.cpp index 6a2cd25cf0..c1db8f36e9 100644 --- a/src/test/sigopcount_tests.cpp +++ b/src/test/sigopcount_tests.cpp @@ -10,7 +10,7 @@ #include "script/script.h" #include "script/standard.h" #include "uint256.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/skiplist_tests.cpp b/src/test/skiplist_tests.cpp index ef8ac7cc2e..17fa28b107 100644 --- a/src/test/skiplist_tests.cpp +++ b/src/test/skiplist_tests.cpp @@ -5,7 +5,7 @@ #include "chain.h" #include "util.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/streams_tests.cpp b/src/test/streams_tests.cpp index dd76a8878f..8afcad3a00 100644 --- a/src/test/streams_tests.cpp +++ b/src/test/streams_tests.cpp @@ -5,7 +5,7 @@ #include "streams.h" #include "support/allocators/zeroafterfree.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include // for 'operator+=()' #include diff --git a/src/test/test_raven.cpp b/src/test/test_bitcoin.cpp similarity index 98% rename from src/test/test_raven.cpp rename to src/test/test_bitcoin.cpp index c911b08572..b9a82ce88d 100644 --- a/src/test/test_raven.cpp +++ b/src/test/test_bitcoin.cpp @@ -1,9 +1,10 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017-2018 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "test_raven.h" +#include "test_bitcoin.h" #include "chainparams.h" #include "consensus/consensus.h" #include "consensus/validation.h" @@ -60,7 +61,7 @@ TestingSetup::TestingSetup(const std::string &chainName) : BasicTestingSetup(cha // instead of unit tests, but for now we need these here. RegisterAllCoreRPCCommands(tableRPC); ClearDatadirCache(); - pathTemp = fs::temp_directory_path() / strprintf("test_raven_%lu_%i", (unsigned long) GetTime(), (int) (InsecureRandRange(100000))); + pathTemp = fs::temp_directory_path() / strprintf("test_blast_%lu_%i", (unsigned long) GetTime(), (int) (InsecureRandRange(100000))); fs::create_directories(pathTemp); gArgs.ForceSetArg("-datadir", pathTemp.string()); diff --git a/src/test/test_raven.h b/src/test/test_bitcoin.h similarity index 96% rename from src/test/test_raven.h rename to src/test/test_bitcoin.h index 054afe3afc..ac30e5196d 100644 --- a/src/test/test_raven.h +++ b/src/test/test_bitcoin.h @@ -1,10 +1,11 @@ // Copyright (c) 2015-2016 The Bitcoin Core developers // Copyright (c) 2017-2018 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_TEST_TEST_RAVEN_H -#define RAVEN_TEST_TEST_RAVEN_H +#ifndef BITCOIN_TEST_TEST_BITCOIN_H +#define BITCOIN_TEST_TEST_BITCOIN_H #include "chainparamsbase.h" #include "fs.h" diff --git a/src/test/test_raven_fuzzy.cpp b/src/test/test_bitcoin_fuzzy.cpp similarity index 99% rename from src/test/test_raven_fuzzy.cpp rename to src/test/test_bitcoin_fuzzy.cpp index 670ad4fefe..a92a50b22a 100644 --- a/src/test/test_raven_fuzzy.cpp +++ b/src/test/test_bitcoin_fuzzy.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "consensus/merkle.h" diff --git a/src/test/test_raven_hash.cpp b/src/test/test_bitcoin_hash.cpp similarity index 87% rename from src/test/test_raven_hash.cpp rename to src/test/test_bitcoin_hash.cpp index 017a779cc3..afca99b829 100644 --- a/src/test/test_raven_hash.cpp +++ b/src/test/test_bitcoin_hash.cpp @@ -1,5 +1,6 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -21,7 +22,7 @@ int main(int argc, char **argv) std::cout << HashX16R(rawHeader.data(), rawHeader.data() + 80, hashPrevBlock).GetHex(); } else { - std::cerr << "Usage: test_raven_hash blockHex" << std::endl; + std::cerr << "Usage: test_blast_hash blockHex" << std::endl; return 1; } diff --git a/src/test/test_raven_main.cpp b/src/test/test_bitcoin_main.cpp similarity index 100% rename from src/test/test_raven_main.cpp rename to src/test/test_bitcoin_main.cpp diff --git a/src/test/timedata_tests.cpp b/src/test/timedata_tests.cpp index d409f0a405..62428e75cc 100644 --- a/src/test/timedata_tests.cpp +++ b/src/test/timedata_tests.cpp @@ -4,7 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. // #include "timedata.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/torcontrol_tests.cpp b/src/test/torcontrol_tests.cpp index 77baf171cd..fb9ed333b9 100644 --- a/src/test/torcontrol_tests.cpp +++ b/src/test/torcontrol_tests.cpp @@ -2,7 +2,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. // -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "torcontrol.cpp" #include diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp index 0fa54a284c..0cd1b2d1e0 100644 --- a/src/test/transaction_tests.cpp +++ b/src/test/transaction_tests.cpp @@ -5,7 +5,7 @@ #include "data/tx_invalid.json.h" #include "data/tx_valid.json.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "clientversion.h" #include "checkqueue.h" diff --git a/src/test/txvalidationcache_tests.cpp b/src/test/txvalidationcache_tests.cpp index f50bc61b66..edb2202955 100644 --- a/src/test/txvalidationcache_tests.cpp +++ b/src/test/txvalidationcache_tests.cpp @@ -13,7 +13,7 @@ #include "random.h" #include "script/standard.h" #include "script/sign.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "utiltime.h" #include "core_io.h" #include "keystore.h" diff --git a/src/test/uint256_tests.cpp b/src/test/uint256_tests.cpp index b41bec673b..6308f8c5e6 100644 --- a/src/test/uint256_tests.cpp +++ b/src/test/uint256_tests.cpp @@ -5,7 +5,7 @@ #include "arith_uint256.h" #include "uint256.h" #include "version.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/univalue_tests.cpp b/src/test/univalue_tests.cpp index 4330c0f44a..bc4bd7b96f 100644 --- a/src/test/univalue_tests.cpp +++ b/src/test/univalue_tests.cpp @@ -9,7 +9,7 @@ #include #include #include -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp index e78c521f0a..b75ea9061a 100644 --- a/src/test/util_tests.cpp +++ b/src/test/util_tests.cpp @@ -10,7 +10,7 @@ #include "sync.h" #include "utilstrencodings.h" #include "utilmoneystr.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include #include diff --git a/src/test/versionbits_tests.cpp b/src/test/versionbits_tests.cpp index ad26717f33..073b2ab5ec 100644 --- a/src/test/versionbits_tests.cpp +++ b/src/test/versionbits_tests.cpp @@ -5,7 +5,7 @@ #include "chain.h" #include "versionbits.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "chainparams.h" #include "validation.h" #include "consensus/params.h" diff --git a/src/threadinterrupt.h b/src/threadinterrupt.h index eaee3243c4..8b3c5635a6 100644 --- a/src/threadinterrupt.h +++ b/src/threadinterrupt.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_THREADINTERRUPT_H -#define RAVEN_THREADINTERRUPT_H +#ifndef BLAST_THREADINTERRUPT_H +#define BLAST_THREADINTERRUPT_H #include #include @@ -32,4 +33,4 @@ class CThreadInterrupt std::atomic flag; }; -#endif //RAVEN_THREADINTERRUPT_H +#endif //BLAST_THREADINTERRUPT_H diff --git a/src/threadsafety.h b/src/threadsafety.h index a3f20dcb8e..3223b064a4 100644 --- a/src/threadsafety.h +++ b/src/threadsafety.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_THREADSAFETY_H -#define RAVEN_THREADSAFETY_H +#ifndef BLAST_THREADSAFETY_H +#define BLAST_THREADSAFETY_H #ifdef __clang__ // TL;DR Add GUARDED_BY(mutex) to member variables. The others are @@ -53,4 +54,4 @@ #define NO_THREAD_SAFETY_ANALYSIS #endif // __GNUC__ -#endif // RAVEN_THREADSAFETY_H +#endif // BLAST_THREADSAFETY_H diff --git a/src/timedata.cpp b/src/timedata.cpp index 5857f9b5a2..eee92e51f6 100644 --- a/src/timedata.cpp +++ b/src/timedata.cpp @@ -1,10 +1,11 @@ // Copyright (c) 2014-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "timedata.h" @@ -43,20 +44,20 @@ static int64_t abs64(int64_t n) return (n >= 0 ? n : -n); } -#define RAVEN_TIMEDATA_MAX_SAMPLES 200 +#define BITCOIN_TIMEDATA_MAX_SAMPLES 200 void AddTimeData(const CNetAddr& ip, int64_t nOffsetSample) { LOCK(cs_nTimeOffset); // Ignore duplicates static std::set setKnown; - if (setKnown.size() == RAVEN_TIMEDATA_MAX_SAMPLES) + if (setKnown.size() == BITCOIN_TIMEDATA_MAX_SAMPLES) return; if (!setKnown.insert(ip).second) return; // Add data - static CMedianFilter vTimeOffsets(RAVEN_TIMEDATA_MAX_SAMPLES, 0); + static CMedianFilter vTimeOffsets(BITCOIN_TIMEDATA_MAX_SAMPLES, 0); vTimeOffsets.input(nOffsetSample); LogPrint(BCLog::NET,"added time data, samples %d, offset %+d (%+d minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60); diff --git a/src/timedata.h b/src/timedata.h index 17f1c60e97..4758f533b5 100644 --- a/src/timedata.h +++ b/src/timedata.h @@ -1,10 +1,11 @@ // Copyright (c) 2014-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_TIMEDATA_H -#define RAVEN_TIMEDATA_H +#ifndef BITCOIN_TIMEDATA_H +#define BITCOIN_TIMEDATA_H #include #include @@ -76,4 +77,4 @@ int64_t GetTimeOffset(); int64_t GetAdjustedTime(); void AddTimeData(const CNetAddr& ip, int64_t nTime); -#endif // RAVEN_TIMEDATA_H +#endif // BITCOIN_TIMEDATA_H diff --git a/src/timestampindex.h b/src/timestampindex.h index 695772be4c..cb182a7135 100644 --- a/src/timestampindex.h +++ b/src/timestampindex.h @@ -3,8 +3,8 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_TIMESTAMPINDEX_H -#define RAVEN_TIMESTAMPINDEX_H +#ifndef BITCOIN_TIMESTAMPINDEX_H +#define BITCOIN_TIMESTAMPINDEX_H #include "uint256.h" @@ -128,4 +128,4 @@ struct CTimestampBlockIndexValue { } }; -#endif // RAVEN_TIMESTAMPINDEX_H +#endif // BITCOIN_TIMESTAMPINDEX_H diff --git a/src/torcontrol.h b/src/torcontrol.h index e12a890a42..818e2bba95 100644 --- a/src/torcontrol.h +++ b/src/torcontrol.h @@ -1,13 +1,14 @@ // Copyright (c) 2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. /** * Functionality for communicating with Tor. */ -#ifndef RAVEN_TORCONTROL_H -#define RAVEN_TORCONTROL_H +#ifndef BITCOIN_TORCONTROL_H +#define BITCOIN_TORCONTROL_H #include "scheduler.h" @@ -18,4 +19,4 @@ void StartTorControl(boost::thread_group& threadGroup, CScheduler& scheduler); void InterruptTorControl(); void StopTorControl(); -#endif /* RAVEN_TORCONTROL_H */ +#endif /* BITCOIN_TORCONTROL_H */ diff --git a/src/txdb.cpp b/src/txdb.cpp index dee087c0c0..a76528eb65 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -332,7 +332,7 @@ bool CBlockTreeDB::ReadAddressUnspentIndex(uint160 addressHash, int type, if (pcursor->GetKey(key) && key.first == DB_ADDRESSUNSPENTINDEX && key.second.hashBytes == addressHash) { CAddressUnspentValue nValue; if (pcursor->GetValue(nValue)) { - if (key.second.asset != "RVN") { + if (key.second.asset != "BLAST") { unspentOutputs.push_back(std::make_pair(key.second, nValue)); } pcursor->Next(); @@ -479,10 +479,15 @@ bool CBlockTreeDB::LoadBlockIndexGuts(const Consensus::Params& consensusParams, boost::this_thread::interruption_point(); std::pair, char> key; if (pcursor->GetKey(key) && key.first.first == DB_BLOCK_INDEX) { + + assert(key.second == DB_BLOCK_INDEX_AUXPOW); + CDiskBlockIndex diskindex; if (pcursor->GetValue(diskindex)) { // Construct block index object - CBlockIndex* pindexNew = insertBlockIndex(key.first.second); + uint256 hash = key.first.second; + CBlockIndex* pindexNew = insertBlockIndex(hash); + // CBlockIndex* pindexNew = insertBlockIndex(key.first.second); pindexNew->pprev = insertBlockIndex(diskindex.hashPrev); pindexNew->nHeight = diskindex.nHeight; pindexNew->nFile = diskindex.nFile; diff --git a/src/txdb.h b/src/txdb.h index fbbff7f3f1..d19a863b4c 100644 --- a/src/txdb.h +++ b/src/txdb.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_TXDB_H -#define RAVEN_TXDB_H +#ifndef BITCOIN_TXDB_H +#define BITCOIN_TXDB_H #include "coins.h" #include "dbwrapper.h" @@ -37,7 +38,7 @@ static const int64_t nMinDbCache = 4; static const int64_t nMaxBlockDBCache = 2; //! Max memory allocated to block tree DB specific cache, if -txindex (MiB) // Unlike for the UTXO database, for the txindex scenario the leveldb cache make -// a meaningful difference: https://github.com/RavenProject/Ravencoin/pull/8273#issuecomment-229601991 +// a meaningful difference: https://github.com/bitcoin/bitcoin/pull/8273#issuecomment-229601991 static const int64_t nMaxBlockDBAndTxIndexCache = 1024; //! Max memory allocated to coin DB specific cache (MiB) static const int64_t nMaxCoinsDBCache = 8; @@ -150,4 +151,4 @@ class CBlockTreeDB : public CDBWrapper bool LoadBlockIndexGuts(const Consensus::Params& consensusParams, std::function insertBlockIndex); }; -#endif // RAVEN_TXDB_H +#endif // BITCOIN_TXDB_H diff --git a/src/txmempool.cpp b/src/txmempool.cpp index 3c0fc0a677..e486714e4e 100644 --- a/src/txmempool.cpp +++ b/src/txmempool.cpp @@ -430,24 +430,24 @@ void CTxMemPool::addAddressIndex(const CTxMemPoolEntry &entry, const CCoinsViewC const CTxOut &prevout = view.AccessCoin(input.prevout).out; if (prevout.scriptPubKey.IsPayToScriptHash()) { std::vector hashBytes(prevout.scriptPubKey.begin()+2, prevout.scriptPubKey.begin()+22); - CMempoolAddressDeltaKey key(2, uint160(hashBytes), RVN, txhash, j, 1); + CMempoolAddressDeltaKey key(2, uint160(hashBytes), BLAST, txhash, j, 1); CMempoolAddressDelta delta(entry.GetTime(), prevout.nValue * -1, input.prevout.hash, input.prevout.n); mapAddress.insert(std::make_pair(key, delta)); inserted.push_back(key); } else if (prevout.scriptPubKey.IsPayToPublicKeyHash()) { std::vector hashBytes(prevout.scriptPubKey.begin()+3, prevout.scriptPubKey.begin()+23); - CMempoolAddressDeltaKey key(1, uint160(hashBytes), RVN, txhash, j, 1); + CMempoolAddressDeltaKey key(1, uint160(hashBytes), BLAST, txhash, j, 1); CMempoolAddressDelta delta(entry.GetTime(), prevout.nValue * -1, input.prevout.hash, input.prevout.n); mapAddress.insert(std::make_pair(key, delta)); inserted.push_back(key); } else if (prevout.scriptPubKey.IsPayToPublicKey()) { uint160 hashBytes(Hash160(prevout.scriptPubKey.begin()+1, prevout.scriptPubKey.end()-1)); - CMempoolAddressDeltaKey key(1, hashBytes, RVN, txhash, j, 1); + CMempoolAddressDeltaKey key(1, hashBytes, BLAST, txhash, j, 1); CMempoolAddressDelta delta(entry.GetTime(), prevout.nValue * -1, input.prevout.hash, input.prevout.n); mapAddress.insert(std::make_pair(key, delta)); inserted.push_back(key); } else { - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { uint160 hashBytes; std::string assetName; @@ -459,7 +459,7 @@ void CTxMemPool::addAddressIndex(const CTxMemPoolEntry &entry, const CCoinsViewC inserted.push_back(key); } } - /** RVN END */ + /** BLAST END */ } } @@ -467,23 +467,23 @@ void CTxMemPool::addAddressIndex(const CTxMemPoolEntry &entry, const CCoinsViewC const CTxOut &out = tx.vout[k]; if (out.scriptPubKey.IsPayToScriptHash()) { std::vector hashBytes(out.scriptPubKey.begin()+2, out.scriptPubKey.begin()+22); - CMempoolAddressDeltaKey key(2, uint160(hashBytes), RVN, txhash, k, 0); + CMempoolAddressDeltaKey key(2, uint160(hashBytes), BLAST, txhash, k, 0); mapAddress.insert(std::make_pair(key, CMempoolAddressDelta(entry.GetTime(), out.nValue))); inserted.push_back(key); } else if (out.scriptPubKey.IsPayToPublicKeyHash()) { std::vector hashBytes(out.scriptPubKey.begin()+3, out.scriptPubKey.begin()+23); std::pair ret; - CMempoolAddressDeltaKey key(1, uint160(hashBytes), RVN, txhash, k, 0); + CMempoolAddressDeltaKey key(1, uint160(hashBytes), BLAST, txhash, k, 0); mapAddress.insert(std::make_pair(key, CMempoolAddressDelta(entry.GetTime(), out.nValue))); inserted.push_back(key); } else if (out.scriptPubKey.IsPayToPublicKey()) { uint160 hashBytes(Hash160(out.scriptPubKey.begin()+1, out.scriptPubKey.end()-1)); std::pair ret; - CMempoolAddressDeltaKey key(1, hashBytes, RVN, txhash, k, 0); + CMempoolAddressDeltaKey key(1, hashBytes, BLAST, txhash, k, 0); mapAddress.insert(std::make_pair(key, CMempoolAddressDelta(entry.GetTime(), out.nValue))); inserted.push_back(key); } else { - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { uint160 hashBytes; std::string assetName; @@ -495,7 +495,7 @@ void CTxMemPool::addAddressIndex(const CTxMemPoolEntry &entry, const CCoinsViewC inserted.push_back(key); } } - /** RVN END */ + /** BLAST END */ } } @@ -642,7 +642,7 @@ void CTxMemPool::removeUnchecked(txiter it, MemPoolRemovalReason reason) removeAddressIndex(hash); removeSpentIndex(hash); - /** RVN START */ + /** BLAST START */ // If the transaction being removed from the mempool is locking other reissues. Free them if (mapReissuedTx.count(hash)) { if (mapReissuedAssets.count(mapReissuedTx.at(hash))) { @@ -656,7 +656,7 @@ void CTxMemPool::removeUnchecked(txiter it, MemPoolRemovalReason reason) mapAssetToHash.erase(mapHashToAsset.at(hash)); mapHashToAsset.erase(hash); } - /** RVN END */ + /** BLAST END */ } // Calculates descendants of entry that are not already in setDescendants, and adds to @@ -800,7 +800,7 @@ void CTxMemPool::removeForBlock(const std::vector& vtx, unsigne entries.push_back(&*i); } - /** RVN START */ + /** BLAST START */ // Get the newly added assets, and make sure they are in the entries std::vector trans; for (auto it : setNewAssets) { @@ -812,7 +812,7 @@ void CTxMemPool::removeForBlock(const std::vector& vtx, unsigne } } } - /** RVN END */ + /** BLAST END */ // Before the txs in the new block have been removed from the mempool, update policy estimates if (minerPolicyEstimator) {minerPolicyEstimator->processBlock(nBlockHeight, entries);} @@ -828,7 +828,7 @@ void CTxMemPool::removeForBlock(const std::vector& vtx, unsigne ClearPrioritisation(tx->GetHash()); } - /** RVN START */ + /** BLAST START */ // Remove newly added asset issue transactions from the mempool if they haven't been removed already for (auto tx : trans) { @@ -841,7 +841,7 @@ void CTxMemPool::removeForBlock(const std::vector& vtx, unsigne removeConflicts(tx); ClearPrioritisation(tx.GetHash()); } - /** RVN END */ + /** BLAST END */ lastRollingFeeUpdate = GetTime(); blockSinceLastRollingFeeBump = true; @@ -872,14 +872,14 @@ static void CheckInputsAndUpdateCoins(const CTransaction& tx, CCoinsViewCache& m CValidationState state; CAmount txfee = 0; bool fCheckResult = tx.IsCoinBase() || Consensus::CheckTxInputs(tx, state, mempoolDuplicate, spendheight, txfee); - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { std::vector> vReissueAssets; bool fCheckAssets = Consensus::CheckTxAssets(tx, state, mempoolDuplicate, vReissueAssets); assert(fCheckResult && fCheckAssets); } else assert(fCheckResult); - /** RVN END */ + /** BLAST END */ UpdateCoins(tx, mempoolDuplicate, 1000000); } diff --git a/src/txmempool.h b/src/txmempool.h index fba8c18814..37b7865151 100644 --- a/src/txmempool.h +++ b/src/txmempool.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_TXMEMPOOL_H -#define RAVEN_TXMEMPOOL_H +#ifndef BITCOIN_TXMEMPOOL_H +#define BITCOIN_TXMEMPOOL_H #include #include @@ -805,4 +806,4 @@ struct DisconnectedBlockTransactions { } }; -#endif // RAVEN_TXMEMPOOL_H +#endif // BITCOIN_TXMEMPOOL_H diff --git a/src/ui_interface.h b/src/ui_interface.h index d1704f32d4..6dfa8a40af 100644 --- a/src/ui_interface.h +++ b/src/ui_interface.h @@ -1,11 +1,12 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2012-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_UI_INTERFACE_H -#define RAVEN_UI_INTERFACE_H +#ifndef BITCOIN_UI_INTERFACE_H +#define BITCOIN_UI_INTERFACE_H #include #include @@ -123,4 +124,4 @@ std::string AmountErrMsg(const char* const optname, const std::string& strValue) extern CClientUIInterface uiInterface; -#endif // RAVEN_UI_INTERFACE_H +#endif // BITCOIN_UI_INTERFACE_H diff --git a/src/uint256.h b/src/uint256.h index 31352d3a9a..e5ada00c4f 100644 --- a/src/uint256.h +++ b/src/uint256.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_UINT256_H -#define RAVEN_UINT256_H +#ifndef BITCOIN_UINT256_H +#define BITCOIN_UINT256_H #include #include @@ -176,4 +177,4 @@ class uint512 : public base_blob<512> { return result; } }; -#endif // RAVEN_UINT256_H +#endif // BITCOIN_UINT256_H diff --git a/src/undo.h b/src/undo.h index a1be1d24c0..03921e9d65 100644 --- a/src/undo.h +++ b/src/undo.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_UNDO_H -#define RAVEN_UNDO_H +#ifndef BITCOIN_UNDO_H +#define BITCOIN_UNDO_H #include "compressor.h" #include "consensus/consensus.h" @@ -62,11 +63,11 @@ class TxInUndoDeserializer }; static const size_t MIN_TRANSACTION_INPUT_WEIGHT = WITNESS_SCALE_FACTOR * ::GetSerializeSize(CTxIn(), SER_NETWORK, PROTOCOL_VERSION); -/** RVN START */ +/** BLAST START */ // Deprecated for RIP2 implementation //static const size_t MAX_INPUTS_PER_BLOCK = /*fAssetsIsActive ? MAX_BLOCK_WEIGHT_RIP2 / MIN_TRANSACTION_INPUT_WEIGHT :*/ MAX_BLOCK_WEIGHT / MIN_TRANSACTION_INPUT_WEIGHT; -/** RVN END */ +/** BLAST END */ /** Undo information for a CTransaction */ class CTxUndo @@ -120,4 +121,4 @@ class CBlockUndo } }; -#endif // RAVEN_UNDO_H +#endif // BITCOIN_UNDO_H diff --git a/src/univalue/gen/gen.cpp b/src/univalue/gen/gen.cpp index 45c2b2ea51..1b387a66a5 100644 --- a/src/univalue/gen/gen.cpp +++ b/src/univalue/gen/gen.cpp @@ -1,5 +1,6 @@ // Copyright 2014 BitPay Inc. // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -42,8 +43,8 @@ static void initJsonEscape() static void outputEscape() { printf( "// Automatically generated file. Do not modify.\n" - "#ifndef RAVEN_UNIVALUE_UNIVALUE_ESCAPES_H\n" - "#define RAVEN_UNIVALUE_UNIVALUE_ESCAPES_H\n" + "#ifndef BITCOIN_UNIVALUE_UNIVALUE_ESCAPES_H\n" + "#define BITCOIN_UNIVALUE_UNIVALUE_ESCAPES_H\n" "static const char *escapes[256] = {\n"); for (unsigned int i = 0; i < 256; i++) { @@ -73,7 +74,7 @@ static void outputEscape() } printf( "};\n" - "#endif // RAVEN_UNIVALUE_UNIVALUE_ESCAPES_H\n"); + "#endif // BITCOIN_UNIVALUE_UNIVALUE_ESCAPES_H\n"); } int main (int argc, char *argv[]) diff --git a/src/univalue/lib/univalue_escapes.h b/src/univalue/lib/univalue_escapes.h index 5b88dfd1fa..74596aab6d 100644 --- a/src/univalue/lib/univalue_escapes.h +++ b/src/univalue/lib/univalue_escapes.h @@ -1,6 +1,6 @@ // Automatically generated file. Do not modify. -#ifndef RAVEN_UNIVALUE_UNIVALUE_ESCAPES_H -#define RAVEN_UNIVALUE_UNIVALUE_ESCAPES_H +#ifndef BITCOIN_UNIVALUE_UNIVALUE_ESCAPES_H +#define BITCOIN_UNIVALUE_UNIVALUE_ESCAPES_H static const char *escapes[256] = { "\\u0000", "\\u0001", @@ -259,4 +259,4 @@ static const char *escapes[256] = { NULL, NULL, }; -#endif // RAVEN_UNIVALUE_UNIVALUE_ESCAPES_H +#endif // BITCOIN_UNIVALUE_UNIVALUE_ESCAPES_H diff --git a/src/util.cpp b/src/util.cpp index 7ce340420f..82b99cd99f 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "util.h" @@ -88,8 +89,8 @@ // Application startup time (used for uptime calculation) const int64_t nStartupTime = GetTime(); -const char *const RAVEN_CONF_FILENAME = "raven.conf"; -const char *const RAVEN_PID_FILENAME = "ravend.pid"; +const char *const BITCOIN_CONF_FILENAME = "blast.conf"; +const char *const BITCOIN_PID_FILENAME = "blastd.pid"; ArgsManager gArgs; bool fPrintToConsole = false; @@ -522,7 +523,7 @@ static std::string FormatException(const std::exception *pex, const char *pszThr char pszModule[MAX_PATH] = ""; GetModuleFileNameA(nullptr, pszModule, sizeof(pszModule)); #else - const char *pszModule = "raven"; + const char *pszModule = "blast"; #endif if (pex) return strprintf( @@ -541,13 +542,13 @@ void PrintExceptionContinue(const std::exception *pex, const char *pszThread) fs::path GetDefaultDataDir() { - // Windows < Vista: C:\Documents and Settings\Username\Application Data\Raven - // Windows >= Vista: C:\Users\Username\AppData\Roaming\Raven - // Mac: ~/Library/Application Support/Raven - // Unix: ~/.raven + // Windows < Vista: C:\Documents and Settings\Username\Application Data\BLAST + // Windows >= Vista: C:\Users\Username\AppData\Roaming\BLAST + // Mac: ~/Library/Application Support/BLAST + // Unix: ~/.blast #ifdef WIN32 // Windows - return GetSpecialFolderPath(CSIDL_APPDATA) / "Raven"; + return GetSpecialFolderPath(CSIDL_APPDATA) / "BLAST"; #else fs::path pathRet; char *pszHome = getenv("HOME"); @@ -557,10 +558,10 @@ fs::path GetDefaultDataDir() pathRet = fs::path(pszHome); #ifdef MAC_OSX // Mac - return pathRet / "Library/Application Support/Raven"; + return pathRet / "Library/Application Support/BLAST"; #else // Unix - return pathRet / ".raven"; + return pathRet / ".blast"; #endif #endif } @@ -622,7 +623,7 @@ void ArgsManager::ReadConfigFile(const std::string &confPath) { fs::ifstream streamConfig(GetConfigFile(confPath)); if (!streamConfig.good()) - return; // No raven.conf file is OK + return; // No blast.conf file is OK { LOCK(cs_args); @@ -631,7 +632,7 @@ void ArgsManager::ReadConfigFile(const std::string &confPath) for (boost::program_options::detail::config_file_iterator it(streamConfig, setOptions), end; it != end; ++it) { - // Don't overwrite existing settings so command line settings override raven.conf + // Don't overwrite existing settings so command line settings override blast.conf std::string strKey = std::string("-") + it->string_key; std::string strValue = it->value[0]; InterpretNegativeSetting(strKey, strValue); @@ -648,7 +649,7 @@ void ArgsManager::ReadConfigFile(const std::string &confPath) fs::path GetPidFile() { - fs::path pathPidFile(gArgs.GetArg("-pid", RAVEN_PID_FILENAME)); + fs::path pathPidFile(gArgs.GetArg("-pid", BITCOIN_PID_FILENAME)); if (!pathPidFile.is_complete()) pathPidFile = GetDataDir() / pathPidFile; return pathPidFile; } @@ -918,10 +919,10 @@ std::string CopyrightHolders(const std::string &strPrefix) { std::string strCopyrightHolders = strPrefix + strprintf(_(COPYRIGHT_HOLDERS), _(COPYRIGHT_HOLDERS_SUBSTITUTION)); - // Check for untranslated substitution to make sure Raven Core copyright is not removed by accident - if (strprintf(COPYRIGHT_HOLDERS, COPYRIGHT_HOLDERS_SUBSTITUTION).find("Raven Core") == std::string::npos) + // Check for untranslated substitution to make sure BLAST Core copyright is not removed by accident + if (strprintf(COPYRIGHT_HOLDERS, COPYRIGHT_HOLDERS_SUBSTITUTION).find("BLAST Core") == std::string::npos) { - strCopyrightHolders += "\n" + strPrefix + "The Raven Core developers"; + strCopyrightHolders += "\n" + strPrefix + "The BLAST Core developers"; } return strCopyrightHolders; } diff --git a/src/util.h b/src/util.h index 7fa4c43db0..9099d2ca02 100644 --- a/src/util.h +++ b/src/util.h @@ -1,6 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -8,11 +9,11 @@ * Server/client environment: argument handling, config file parsing, * logging, thread wrappers, startup time */ -#ifndef RAVEN_UTIL_H -#define RAVEN_UTIL_H +#ifndef BITCOIN_UTIL_H +#define BITCOIN_UTIL_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "compat.h" @@ -54,8 +55,8 @@ extern bool fLogIPs; extern std::atomic fReopenDebugLog; extern CTranslationInterface translationInterface; -extern const char *const RAVEN_CONF_FILENAME; -extern const char *const RAVEN_PID_FILENAME; +extern const char *const BITCOIN_CONF_FILENAME; +extern const char *const BITCOIN_PID_FILENAME; extern std::atomic logCategories; @@ -330,7 +331,7 @@ void RenameThread(const char *name); template void TraceThread(const char *name, Callable func) { - std::string s = strprintf("raven-%s", name); + std::string s = strprintf("blast-%s", name); RenameThread(s.c_str()); try { @@ -359,4 +360,4 @@ std::string CopyrightHolders(const std::string &strPrefix); void SetThreadPriority(int nPriority); -#endif // RAVEN_UTIL_H +#endif // BITCOIN_UTIL_H diff --git a/src/utilmoneystr.h b/src/utilmoneystr.h index 9090702c65..4b3d6f5fb9 100644 --- a/src/utilmoneystr.h +++ b/src/utilmoneystr.h @@ -1,14 +1,15 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. /** * Money parsing/formatting utilities. */ -#ifndef RAVEN_UTILMONEYSTR_H -#define RAVEN_UTILMONEYSTR_H +#ifndef BITCOIN_UTILMONEYSTR_H +#define BITCOIN_UTILMONEYSTR_H #include #include @@ -22,4 +23,4 @@ std::string FormatMoney(const CAmount& n); bool ParseMoney(const std::string& str, CAmount& nRet); bool ParseMoney(const char* pszIn, CAmount& nRet); -#endif // RAVEN_UTILMONEYSTR_H +#endif // BITCOIN_UTILMONEYSTR_H diff --git a/src/utilstrencodings.h b/src/utilstrencodings.h index 90650fcb89..ce500b4a0f 100644 --- a/src/utilstrencodings.h +++ b/src/utilstrencodings.h @@ -1,14 +1,15 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. /** * Utilities for converting data from/to strings. */ -#ifndef RAVEN_UTILSTRENCODINGS_H -#define RAVEN_UTILSTRENCODINGS_H +#ifndef BITCOIN_UTILSTRENCODINGS_H +#define BITCOIN_UTILSTRENCODINGS_H #include #include @@ -150,4 +151,4 @@ bool TimingResistantEqual(const T& a, const T& b) */ bool ParseFixedPoint(const std::string &val, int decimals, int64_t *amount_out); -#endif // RAVEN_UTILSTRENCODINGS_H +#endif // BITCOIN_UTILSTRENCODINGS_H diff --git a/src/utiltime.cpp b/src/utiltime.cpp index e2784d342a..bd191c838b 100644 --- a/src/utiltime.cpp +++ b/src/utiltime.cpp @@ -5,7 +5,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "utiltime.h" diff --git a/src/utiltime.h b/src/utiltime.h index 9f3820e5e4..e04cfd463e 100644 --- a/src/utiltime.h +++ b/src/utiltime.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_UTILTIME_H -#define RAVEN_UTILTIME_H +#ifndef BITCOIN_UTILTIME_H +#define BITCOIN_UTILTIME_H #include #include @@ -30,4 +31,4 @@ void MilliSleep(int64_t n); std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime); -#endif // RAVEN_UTILTIME_H +#endif // BITCOIN_UTILTIME_H diff --git a/src/validation.cpp b/src/validation.cpp index 2992cd911b..9912baf77d 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -475,7 +475,7 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool const CTransaction& tx = *ptx; const uint256 hash = tx.GetHash(); - /** RVN START */ + /** BLAST START */ std::vector> vReissueAssets; AssertLockHeld(cs_main); if (pfMissingInputs) @@ -608,7 +608,7 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool return error("%s: Consensus::CheckTxInputs: %s, %s", __func__, tx.GetHash().ToString(), FormatStateMessage(state)); } - /** RVN START */ + /** BLAST START */ if (!AreAssetsDeployed()) { for (auto out : tx.vout) { if (out.scriptPubKey.IsAssetScript()) @@ -621,7 +621,7 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool return error("%s: Consensus::CheckTxAssets: %s, %s", __func__, tx.GetHash().ToString(), FormatStateMessage(state)); } - /** RVN END */ + /** BLAST END */ // Check for non-standard pay-to-script-hash in inputs if (fRequireStandard && !AreInputsStandard(tx, view)) @@ -889,7 +889,7 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool // Remove conflicting transactions from the mempool for (const CTxMemPool::txiter it : allConflicting) { - LogPrint(BCLog::MEMPOOL, "replacing tx %s with %s for %s RVN additional fees, %d delta bytes\n", + LogPrint(BCLog::MEMPOOL, "replacing tx %s with %s for %s BLAST additional fees, %d delta bytes\n", it->GetTx().GetHash().ToString(), hash.ToString(), FormatMoney(nModifiedFees - nConflictingFees), @@ -1408,12 +1408,12 @@ void UpdateCoins(const CTransaction& tx, CCoinsViewCache& inputs, CTxUndo &txund txundo.vprevout.reserve(tx.vin.size()); for (const CTxIn &txin : tx.vin) { txundo.vprevout.emplace_back(); - bool is_spent = inputs.SpendCoin(txin.prevout, &txundo.vprevout.back(), assetCache); /** RVN START */ /* Pass assetCache into function */ /** RVN END */ + bool is_spent = inputs.SpendCoin(txin.prevout, &txundo.vprevout.back(), assetCache); /** BLAST START */ /* Pass assetCache into function */ /** BLAST END */ assert(is_spent); } } // add outputs - AddCoins(inputs, tx, nHeight, blockHash, false, assetCache, undoAssetData); /** RVN START */ /* Pass assetCache into function */ /** RVN END */ + AddCoins(inputs, tx, nHeight, blockHash, false, assetCache, undoAssetData); /** BLAST START */ /* Pass assetCache into function */ /** BLAST END */ } void UpdateCoins(const CTransaction& tx, CCoinsViewCache& inputs, int nHeight) @@ -1640,7 +1640,7 @@ int ApplyTxInUndo(Coin&& undo, CCoinsViewCache& view, const COutPoint& out, CAss { bool fClean = true; - /** RVN START */ + /** BLAST START */ // This is needed because undo, is going to be cleared and moved when AddCoin is called. We need this for undo assets Coin tempCoin; bool fIsAsset = false; @@ -1648,7 +1648,7 @@ int ApplyTxInUndo(Coin&& undo, CCoinsViewCache& view, const COutPoint& out, CAss fIsAsset = true; tempCoin = undo; } - /** RVN END */ + /** BLAST END */ if (view.HaveCoin(out)) fClean = false; // overwriting transaction output @@ -1670,14 +1670,14 @@ int ApplyTxInUndo(Coin&& undo, CCoinsViewCache& view, const COutPoint& out, CAss // it is an overwrite. view.AddCoin(out, std::move(undo), !fClean); - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (assetCache && fIsAsset) { if (!assetCache->UndoAssetCoin(tempCoin, out)) fClean = false; } } - /** RVN END */ + /** BLAST END */ return fClean ? DISCONNECT_OK : DISCONNECT_UNCLEAN; } @@ -1750,7 +1750,7 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* addressIndex.push_back(std::make_pair(CAddressIndexKey(1, hashBytes, pindex->nHeight, i, hash, k, false), out.nValue)); addressUnspentIndex.push_back(std::make_pair(CAddressUnspentKey(1, hashBytes, hash, k), CAddressUnspentValue())); } else { - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { std::string assetName; CAmount assetAmount; @@ -1773,7 +1773,7 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* continue; } } - /** RVN END */ + /** BLAST END */ } } } @@ -1784,23 +1784,23 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* if (!tx.vout[o].scriptPubKey.IsUnspendable()) { COutPoint out(hash, o); Coin coin; - bool is_spent = view.SpendCoin(out, &coin, &tempCache); /** RVN START */ /* Pass assetsCache into the SpendCoin function */ /** RVN END */ + bool is_spent = view.SpendCoin(out, &coin, &tempCache); /** BLAST START */ /* Pass assetsCache into the SpendCoin function */ /** BLAST END */ if (!is_spent || tx.vout[o] != coin.out || pindex->nHeight != coin.nHeight || is_coinbase != coin.fCoinBase) { fClean = false; // transaction output mismatch } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (assetsCache) { if (IsScriptTransferAsset(tx.vout[o].scriptPubKey)) vAssetTxIndex.emplace_back(o); } } - /** RVN START */ + /** BLAST START */ } } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (assetsCache) { if (tx.IsNewAsset()) { @@ -1890,7 +1890,7 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* } } } - /** RVN END */ + /** BLAST END */ // restore inputs if (i > 0) { // not coinbases @@ -1902,7 +1902,7 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* for (unsigned int j = tx.vin.size(); j-- > 0;) { const COutPoint &out = tx.vin[j].prevout; Coin &undo = txundo.vprevout[j]; - int res = ApplyTxInUndo(std::move(undo), view, out, assetsCache); /** RVN START */ /* Pass assetsCache into ApplyTxInUndo function */ /** RVN END */ + int res = ApplyTxInUndo(std::move(undo), view, out, assetsCache); /** BLAST START */ /* Pass assetsCache into ApplyTxInUndo function */ /** BLAST END */ if (res == DISCONNECT_FAILED) return DISCONNECT_FAILED; fClean = fClean && res != DISCONNECT_UNCLEAN; @@ -1939,7 +1939,7 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* addressIndex.push_back(std::make_pair(CAddressIndexKey(1, hashBytes, pindex->nHeight, i, hash, j, false), prevout.nValue)); addressUnspentIndex.push_back(std::make_pair(CAddressUnspentKey(1, hashBytes, hash, j), CAddressUnspentValue())); } else { - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { std::string assetName; CAmount assetAmount; @@ -1963,7 +1963,7 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* continue; } } - /** RVN END */ + /** BLAST END */ } } } @@ -2271,7 +2271,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd REJECT_INVALID, "bad-txns-accumulated-fee-outofrange"); } - /** RVN START */ + /** BLAST START */ if (!AreAssetsDeployed()) { for (auto out : tx.vout) if (out.scriptPubKey.IsAssetScript()) @@ -2285,7 +2285,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd FormatStateMessage(state)); } } - /** RVN END */ + /** BLAST END */ // Check that transaction is BIP68 final // BIP68 lock checks (as opposed to nLockTime checks) must @@ -2322,7 +2322,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd hashBytes = Hash160(prevout.scriptPubKey.begin() + 1, prevout.scriptPubKey.end() - 1); addressType = 1; } else { - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { hashBytes.SetNull(); addressType = 0; @@ -2332,11 +2332,11 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd isAsset = true; } } - /** RVN END */ + /** BLAST END */ } if (fAddressIndex && addressType > 0) { - /** RVN START */ + /** BLAST START */ if (isAsset) { // std::cout << "ConnectBlock(): pushing assets onto addressIndex: " << "1" << ", " << hashBytes.GetHex() << ", " << assetName << ", " << pindex->nHeight // << ", " << i << ", " << txhash.GetHex() << ", " << j << ", " << "true" << ", " << assetAmount * -1 << std::endl; @@ -2346,7 +2346,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd // remove address from unspent index addressUnspentIndex.push_back(std::make_pair(CAddressUnspentKey(addressType, hashBytes, assetName, input.prevout.hash, input.prevout.n), CAddressUnspentValue())); - /** RVN END */ + /** BLAST END */ } else { // record spending activity addressIndex.push_back(std::make_pair(CAddressIndexKey(addressType, hashBytes, pindex->nHeight, i, txhash, j, true), prevout.nValue * -1)); @@ -2355,7 +2355,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd addressUnspentIndex.push_back(std::make_pair(CAddressUnspentKey(addressType, hashBytes, input.prevout.hash, input.prevout.n), CAddressUnspentValue())); } } - /** RVN END */ + /** BLAST END */ if (fSpentIndex) { // add the spent index to determine the txid and input that spent an output @@ -2387,7 +2387,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd control.Add(vChecks); } - /** RVN START */ + /** BLAST START */ if (assetsCache) { if (tx.IsNewAsset()) { @@ -2453,7 +2453,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd } } } - /** RVN END */ + /** BLAST END */ if (fAddressIndex) { for (unsigned int k = 0; k < tx.vout.size(); k++) { const CTxOut &out = tx.vout[k]; @@ -2485,7 +2485,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd CAddressUnspentValue(out.nValue, out.scriptPubKey, pindex->nHeight))); } else { - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { std::string assetName; CAmount assetAmount; @@ -2509,7 +2509,7 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd } else { continue; } - /** RVN END */ + /** BLAST END */ } } } @@ -2518,19 +2518,19 @@ static bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockInd if (i > 0) { blockundo.vtxundo.push_back(CTxUndo()); } - /** RVN START */ + /** BLAST START */ // Create the basic empty string pair for the undoblock std::pair undoPair = std::make_pair("", CBlockAssetUndo()); std::pair* undoAssetData = &undoPair; - /** RVN END */ + /** BLAST END */ UpdateCoins(tx, view, i == 0 ? undoDummy : blockundo.vtxundo.back(), pindex->nHeight, block.GetHash(), assetsCache, undoAssetData); - /** RVN START */ + /** BLAST START */ if (!undoAssetData->first.empty()) { vUndoAssetData.emplace_back(*undoAssetData); } - /** RVN END */ + /** BLAST END */ vPos.push_back(std::make_pair(tx.GetHash(), pos)); pos.nTxOffset += ::GetSerializeSize(tx, SER_DISK, CLIENT_VERSION); @@ -2751,14 +2751,14 @@ bool static FlushStateToDisk(const CChainParams& chainparams, CValidationState & // twice (once in the log, and once in the tables). This is already // an overestimation, as most will delete an existing entry or // overwrite one. Still, use a conservative safety factor of 2. - if (!CheckDiskSpace((48 * 2 * 2 * pcoinsTip->GetCacheSize()) + assetDirtyCacheSize * 2)) /** RVN START */ /** RVN END */ + if (!CheckDiskSpace((48 * 2 * 2 * pcoinsTip->GetCacheSize()) + assetDirtyCacheSize * 2)) /** BLAST START */ /** BLAST END */ return state.Error("out of disk space"); // Flush the chainstate (which may refer to block index entries). if (!pcoinsTip->Flush()) return AbortNode(state, "Failed to write to coin database"); - /** RVN START */ + /** BLAST START */ // Flush the assetstate if (AreAssetsDeployed()) { // Flush the assetstate @@ -2772,7 +2772,7 @@ bool static FlushStateToDisk(const CChainParams& chainparams, CValidationState & // Write the reissue mempool data to database if (passetsdb) passetsdb->WriteReissuedMempoolState(); - /** RVN END */ + /** BLAST END */ nLastFlush = nNow; } @@ -3028,19 +3028,19 @@ bool static ConnectTip(CValidationState& state, const CChainParams& chainparams, int64_t nTimeAssetsFlush; LogPrint(BCLog::BENCH, " - Load block from disk: %.2fms [%.2fs]\n", (nTime2 - nTime1) * MILLI, nTimeReadFromDisk * MICRO); - /** RVN START */ + /** BLAST START */ // Initialize sets used from removing asset entries from the mempool std::set setNewAssetsAddedInBlock; - /** RVN END */ + /** BLAST END */ { CCoinsViewCache view(pcoinsTip); - /** RVN START */ + /** BLAST START */ // Create the empty asset cache, that will be sent into the connect block // All new data will be added to the cache, and will be flushed back into passets after a successful // Connect Block cycle CAssetsCache assetCache; - /** RVN END */ + /** BLAST END */ int64_t nTimeConnectStart = GetTimeMicros(); @@ -3056,7 +3056,7 @@ bool static ConnectTip(CValidationState& state, const CChainParams& chainparams, int64_t nTimeAssetsStart = GetTimeMicros(); - /** RVN START */ + /** BLAST START */ // Get the newly created assets, from the connectblock assetCache so we can remove the correct assets from the mempool setNewAssetsAddedInBlock = assetCache.setNewAssetsToAdd; for (auto it : passets->setNewAssetsToAdd) { @@ -3075,22 +3075,22 @@ bool static ConnectTip(CValidationState& state, const CChainParams& chainparams, } int64_t nTimeAssetsEnd = GetTimeMicros(); nTimeAssetTasks += nTimeAssetsEnd - nTimeAssetsStart; LogPrint(BCLog::BENCH, " - Compute Asset Tasks total: %.2fms [%.2fs (%.2fms/blk)]\n", (nTimeAssetsEnd - nTimeAssetsStart) * MILLI, nTimeAssetsEnd * MICRO, nTimeAssetsEnd * MILLI / nBlocksTotal); - /** RVN END */ + /** BLAST END */ nTime3 = GetTimeMicros(); nTimeConnectTotal += nTime3 - nTime2; LogPrint(BCLog::BENCH, " - Connect total: %.2fms [%.2fs (%.2fms/blk)]\n", (nTime3 - nTime2) * MILLI, nTimeConnectTotal * MICRO, nTimeConnectTotal * MILLI / nBlocksTotal); bool flushed = view.Flush(); assert(flushed); nTime4 = GetTimeMicros(); nTimeFlush += nTime4 - nTime3; - LogPrint(BCLog::BENCH, " - Flush RVN: %.2fms [%.2fs (%.2fms/blk)]\n", (nTime4 - nTime3) * MILLI, nTimeFlush * MICRO, nTimeFlush * MILLI / nBlocksTotal); + LogPrint(BCLog::BENCH, " - Flush BLAST: %.2fms [%.2fs (%.2fms/blk)]\n", (nTime4 - nTime3) * MILLI, nTimeFlush * MICRO, nTimeFlush * MILLI / nBlocksTotal); - /** RVN START */ + /** BLAST START */ nTimeAssetsFlush = GetTimeMicros(); bool assetFlushed = assetCache.Flush(); assert(assetFlushed); int64_t nTimeAssetFlushFinished = GetTimeMicros(); nTimeAssetFlush += nTimeAssetFlushFinished - nTimeAssetsFlush; LogPrint(BCLog::BENCH, " - Flush Assets: %.2fms [%.2fs (%.2fms/blk)]\n", (nTimeAssetFlushFinished - nTimeAssetsFlush) * MILLI, nTimeAssetFlush * MICRO, nTimeAssetFlush * MILLI / nBlocksTotal); - /** RVN END */ + /** BLAST END */ } // Write the chain state to disk, if necessary. @@ -4180,9 +4180,9 @@ bool TestBlockValidity(CValidationState& state, const CChainParams& chainparams, indexDummy.pprev = pindexPrev; indexDummy.nHeight = pindexPrev->nHeight + 1; - /** RVN START */ + /** BLAST START */ CAssetsCache assetCache = *GetCurrentAssetCache(); - /** RVN END */ + /** BLAST END */ // NOTE: CheckBlockHeader is called by CheckBlock if (!ContextualCheckBlockHeader(block, state, chainparams, pindexPrev, GetAdjustedTime())) @@ -4191,7 +4191,7 @@ bool TestBlockValidity(CValidationState& state, const CChainParams& chainparams, return error("%s: Consensus::CheckBlock: %s", __func__, FormatStateMessage(state)); if (!ContextualCheckBlock(block, state, chainparams.GetConsensus(), pindexPrev, &assetCache)) return error("%s: Consensus::ContextualCheckBlock: %s", __func__, FormatStateMessage(state)); - if (!ConnectBlock(block, state, &indexDummy, viewNew, chainparams, &assetCache, true)) /** RVN START */ /*Add asset to function */ /** RVN END*/ + if (!ConnectBlock(block, state, &indexDummy, viewNew, chainparams, &assetCache, true)) /** BLAST START */ /*Add asset to function */ /** BLAST END*/ return error("%s: Consensus::ConnectBlock: %s", __func__, FormatStateMessage(state)); assert(state.IsValid()); @@ -5432,7 +5432,7 @@ double GuessVerificationProgress(const ChainTxData& data, CBlockIndex *pindex) { return pindex->nChainTx / fTxTotal; } -/** RVN START */ +/** BLAST START */ bool AreAssetsDeployed() { if (fAssetsIsActive) @@ -5453,7 +5453,7 @@ CAssetsCache* GetCurrentAssetCache() { return passets; } -/** RVN END */ +/** BLAST END */ class CMainCleanup { diff --git a/src/validation.h b/src/validation.h index 486db3e8b4..fe79dc5365 100644 --- a/src/validation.h +++ b/src/validation.h @@ -1,14 +1,15 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_VALIDATION_H -#define RAVEN_VALIDATION_H +#ifndef BITCOIN_VALIDATION_H +#define BITCOIN_VALIDATION_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include "amount.h" @@ -130,7 +131,7 @@ static const unsigned int INVENTORY_BROADCAST_MAX = 7 * INVENTORY_BROADCAST_INTE static const unsigned int AVG_FEEFILTER_BROADCAST_INTERVAL = 10 * 60; /** Maximum feefilter broadcast delay after significant change. */ static const unsigned int MAX_FEEFILTER_CHANGE_DELAY = 5 * 60; -/** Block download timeout base, expressed in millionths of the block interval (i.e. 10 min) */ // TODO Should we change this for raven, with 1 minutes block intervals? +/** Block download timeout base, expressed in millionths of the block interval (i.e. 10 min) */ // TODO Should we change this for BLAST, with 1 minutes block intervals? static const int64_t BLOCK_DOWNLOAD_TIMEOUT_BASE = 1000000; /** Additional block download timeout per parallel downloading peer (i.e. 5 min) */ static const int64_t BLOCK_DOWNLOAD_TIMEOUT_PER_PEER = 500000; @@ -491,14 +492,14 @@ extern CCoinsViewCache *pcoinsTip; /** Global variable that points to the active block tree (protected by cs_main) */ extern CBlockTreeDB *pblocktree; -/** RVN START */ +/** BLAST START */ /** Global variable that point to the active assets database (protexted by cs_main) */ extern CAssetsDB *passetsdb; /** Global variable that point to the active assets (protexted by cs_main) */ extern CAssetsCache *passets; /** Global variable that point to the assets LRU Cache (protexted by cs_main) */ extern CLRUCache *passetsCache; -/** RVN END */ +/** BLAST END */ /** * Return the spend height, which is one more than the inputs.GetBestBlock(). @@ -531,12 +532,12 @@ bool DumpMempool(); /** Load the mempool from disk. */ bool LoadMempool(); -/** RVN START */ +/** BLAST START */ bool AreAssetsDeployed(); bool IsDGWActive(unsigned int nBlockNumber); CAssetsCache* GetCurrentAssetCache(); -/** RVN END */ +/** BLAST END */ -#endif // RAVEN_VALIDATION_H +#endif // BITCOIN_VALIDATION_H diff --git a/src/validationinterface.h b/src/validationinterface.h index 1c4f096590..cfa3146dcf 100644 --- a/src/validationinterface.h +++ b/src/validationinterface.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_VALIDATIONINTERFACE_H -#define RAVEN_VALIDATIONINTERFACE_H +#ifndef BITCOIN_VALIDATIONINTERFACE_H +#define BITCOIN_VALIDATIONINTERFACE_H #include @@ -105,4 +106,4 @@ class CMainSignals { CMainSignals& GetMainSignals(); -#endif // RAVEN_VALIDATIONINTERFACE_H +#endif // BITCOIN_VALIDATIONINTERFACE_H diff --git a/src/version.h b/src/version.h index 0692a01c83..0e90d19b1c 100644 --- a/src/version.h +++ b/src/version.h @@ -1,10 +1,11 @@ // Copyright (c) 2012-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_VERSION_H -#define RAVEN_VERSION_H +#ifndef BITCOIN_VERSION_H +#define BITCOIN_VERSION_H /** * network protocol versioning @@ -49,4 +50,4 @@ static const int ASSETDATA_VERSION = 70017; //! getassetdata reutrn asstnotfound, and assetdata doesn't have blockhash in the data static const int ASSETDATA_VERSION_UPDATED = 70020; -#endif // RAVEN_VERSION_H +#endif // BITCOIN_VERSION_H diff --git a/src/versionbits.h b/src/versionbits.h index 37a5aaac3c..2ebcf2ad57 100644 --- a/src/versionbits.h +++ b/src/versionbits.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_CONSENSUS_VERSIONBITS -#define RAVEN_CONSENSUS_VERSIONBITS +#ifndef BITCOIN_CONSENSUS_VERSIONBITS +#define BITCOIN_CONSENSUS_VERSIONBITS #include "consensus/params.h" #include diff --git a/src/wallet/coincontrol.h b/src/wallet/coincontrol.h index 78e989bbef..a76bd28e4b 100644 --- a/src/wallet/coincontrol.h +++ b/src/wallet/coincontrol.h @@ -1,10 +1,11 @@ // Copyright (c) 2011-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_COINCONTROL_H -#define RAVEN_WALLET_COINCONTROL_H +#ifndef BITCOIN_WALLET_COINCONTROL_H +#define BITCOIN_WALLET_COINCONTROL_H #include "policy/feerate.h" #include "policy/fees.h" @@ -33,10 +34,10 @@ class CCoinControl //! Fee estimation mode to control arguments to estimateSmartFee FeeEstimateMode m_fee_mode; - /** RVN START */ + /** BLAST START */ //! Name of the asset that is selected, used when sending assets with coincontrol std::string strAssetSelected; - /** RVN END */ + /** BLAST END */ CCoinControl() { @@ -125,4 +126,4 @@ class CCoinControl std::set setAssetsSelected; }; -#endif // RAVEN_WALLET_COINCONTROL_H +#endif // BITCOIN_WALLET_COINCONTROL_H diff --git a/src/wallet/crypter.h b/src/wallet/crypter.h index a66715f711..c17105de81 100644 --- a/src/wallet/crypter.h +++ b/src/wallet/crypter.h @@ -1,10 +1,11 @@ // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_CRYPTER_H -#define RAVEN_WALLET_CRYPTER_H +#ifndef BITCOIN_WALLET_CRYPTER_H +#define BITCOIN_WALLET_CRYPTER_H #include "keystore.h" #include "serialize.h" @@ -194,4 +195,4 @@ class CCryptoKeyStore : public CBasicKeyStore boost::signals2::signal NotifyStatusChanged; }; -#endif // RAVEN_WALLET_CRYPTER_H +#endif // BITCOIN_WALLET_CRYPTER_H diff --git a/src/wallet/db.h b/src/wallet/db.h index 62b784d8ee..941c8c1930 100644 --- a/src/wallet/db.h +++ b/src/wallet/db.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_DB_H -#define RAVEN_WALLET_DB_H +#ifndef BITCOIN_WALLET_DB_H +#define BITCOIN_WALLET_DB_H #include "clientversion.h" #include "fs.h" @@ -369,4 +370,4 @@ class CDB bool static Rewrite(CWalletDBWrapper& dbw, const char* pszSkip = nullptr); }; -#endif // RAVEN_WALLET_DB_H +#endif // BITCOIN_WALLET_DB_H diff --git a/src/wallet/feebumper.h b/src/wallet/feebumper.h index 4e49a7df3b..522c55b29d 100644 --- a/src/wallet/feebumper.h +++ b/src/wallet/feebumper.h @@ -1,10 +1,11 @@ // Copyright (c) 2017 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_FEEBUMPER_H -#define RAVEN_WALLET_FEEBUMPER_H +#ifndef BITCOIN_WALLET_FEEBUMPER_H +#define BITCOIN_WALLET_FEEBUMPER_H #include @@ -59,4 +60,4 @@ class CFeeBumper CAmount nNewFee; }; -#endif // RAVEN_WALLET_FEEBUMPER_H +#endif // BITCOIN_WALLET_FEEBUMPER_H diff --git a/src/wallet/fees.h b/src/wallet/fees.h index 2872f09a13..2ef33fa668 100644 --- a/src/wallet/fees.h +++ b/src/wallet/fees.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2017 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_FEES_H -#define RAVEN_WALLET_FEES_H +#ifndef BITCOIN_WALLET_FEES_H +#define BITCOIN_WALLET_FEES_H #include "amount.h" @@ -32,4 +33,4 @@ CAmount GetMinimumFee(unsigned int nTxBytes, const CCoinControl& coin_control, c */ CFeeRate GetDiscardRate(const CBlockPolicyEstimator& estimator); -#endif // RAVEN_WALLET_FEES_H +#endif // BITCOIN_WALLET_FEES_H diff --git a/src/wallet/init.h b/src/wallet/init.h index 665f43542d..7de00b0db6 100644 --- a/src/wallet/init.h +++ b/src/wallet/init.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2017 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_INIT_H -#define RAVEN_WALLET_INIT_H +#ifndef BITCOIN_WALLET_INIT_H +#define BITCOIN_WALLET_INIT_H #include @@ -41,4 +42,4 @@ void StopWallets(); //! Close all wallets. void CloseWallets(); -#endif // RAVEN_WALLET_INIT_H +#endif // BITCOIN_WALLET_INIT_H diff --git a/src/wallet/rpcdump.cpp b/src/wallet/rpcdump.cpp index 498dcab3e3..cab700a50c 100644 --- a/src/wallet/rpcdump.cpp +++ b/src/wallet/rpcdump.cpp @@ -119,7 +119,7 @@ UniValue importprivkey(const JSONRPCRequest& request) if (fRescan && fPruneMode) throw JSONRPCError(RPC_WALLET_ERROR, "Rescan is disabled in pruned mode"); - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(strSecret); if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key encoding"); @@ -500,7 +500,7 @@ UniValue importwallet(const JSONRPCRequest& request) boost::split(vstr, line, boost::is_any_of(" ")); if (vstr.size() < 2) continue; - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; if (!vchSecret.SetString(vstr[0])) continue; CKey key = vchSecret.GetKey(); @@ -587,7 +587,7 @@ UniValue dumpprivkey(const JSONRPCRequest& request) if (!pwallet->GetKey(*keyID, vchSecret)) { throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known"); } - return CRavenSecret(vchSecret).ToString(); + return CBitcoinSecret(vchSecret).ToString(); } @@ -664,7 +664,7 @@ UniValue dumpwallet(const JSONRPCRequest& request) CExtKey masterKey; masterKey.SetSeed(seed.begin(), seed.size()); - CRavenExtKey b58extkey; + CBitcoinExtKey b58extkey; b58extkey.SetKey(masterKey); file << "# extended private masterkey: " << b58extkey.ToString() << "\n\n"; @@ -676,7 +676,7 @@ UniValue dumpwallet(const JSONRPCRequest& request) std::string strAddr = EncodeDestination(keyid); CKey key; if (pwallet->GetKey(keyid, key)) { - file << strprintf("%s %s ", CRavenSecret(key).ToString(), strTime); + file << strprintf("%s %s ", CBitcoinSecret(key).ToString(), strTime); if (pwallet->mapAddressBook.count(keyid)) { file << strprintf("label=%s", EncodeDumpString(pwallet->mapAddressBook[keyid].name)); } else if (keyid == seed_id) { @@ -817,7 +817,7 @@ UniValue ProcessImport(CWallet * const pwallet, const UniValue& data, const int6 for (size_t i = 0; i < keys.size(); i++) { const std::string& privkey = keys[i].get_str(); - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(privkey); if (!fGood) { @@ -924,7 +924,7 @@ UniValue ProcessImport(CWallet * const pwallet, const UniValue& data, const int6 const std::string& strPrivkey = keys[0].get_str(); // Checks. - CRavenSecret vchSecret; + CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(strPrivkey); if (!fGood) { diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index ad633fadf8..116e2d410a 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -1570,7 +1570,7 @@ void ListTransactions(CWallet* const pwallet, const CWalletTx& wtx, const std::s } } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (listAssetsReceived.size() > 0 && wtx.GetDepthInMainChain() >= nMinDepth) { for (const CAssetOutputEntry &data : listAssetsReceived) { @@ -1601,7 +1601,7 @@ void ListTransactions(CWallet* const pwallet, const CWalletTx& wtx, const std::s } } - /** RVN END */ + /** BLAST END */ } void ListTransactions(CWallet* const pwallet, const CWalletTx& wtx, const std::string& strAccount, int nMinDepth, bool fLong, UniValue& ret, const isminefilter& filter) @@ -3058,7 +3058,7 @@ UniValue fundrawtransaction(const JSONRPCRequest& request) UniValue bumpfee(const JSONRPCRequest& request) { - throw std::runtime_error("bumpfee has been deprecated on the RVN Wallet."); + throw std::runtime_error("bumpfee has been deprecated on the BLAST Wallet."); // CWallet * const pwallet = GetWalletForJSONRPCRequest(request); // diff --git a/src/wallet/rpcwallet.h b/src/wallet/rpcwallet.h index eef77a6ecf..7d3483beb1 100644 --- a/src/wallet/rpcwallet.h +++ b/src/wallet/rpcwallet.h @@ -1,10 +1,11 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_RPCWALLET_H -#define RAVEN_WALLET_RPCWALLET_H +#ifndef BITCOIN_WALLET_RPCWALLET_H +#define BITCOIN_WALLET_RPCWALLET_H #include @@ -26,4 +27,4 @@ std::string HelpRequiringPassphrase(CWallet *); void EnsureWalletIsUnlocked(CWallet *); bool EnsureWalletIsAvailable(CWallet *, bool avoidException); -#endif //RAVEN_WALLET_RPCWALLET_H +#endif //BITCOIN_WALLET_RPCWALLET_H diff --git a/src/wallet/test/crypto_tests.cpp b/src/wallet/test/crypto_tests.cpp index 797651f8bc..8d66126c93 100644 --- a/src/wallet/test/crypto_tests.cpp +++ b/src/wallet/test/crypto_tests.cpp @@ -3,7 +3,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "utilstrencodings.h" #include "wallet/crypter.h" diff --git a/src/wallet/test/wallet_test_fixture.h b/src/wallet/test/wallet_test_fixture.h index efa9e31b93..5e0fe57a2b 100644 --- a/src/wallet/test/wallet_test_fixture.h +++ b/src/wallet/test/wallet_test_fixture.h @@ -1,12 +1,13 @@ // Copyright (c) 2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_TEST_FIXTURE_H -#define RAVEN_WALLET_TEST_FIXTURE_H +#ifndef BITCOIN_WALLET_TEST_FIXTURE_H +#define BITCOIN_WALLET_TEST_FIXTURE_H -#include "test/test_raven.h" +#include "test/test_bitcoin.h" /** Testing setup and teardown for wallet. */ diff --git a/src/wallet/test/wallet_tests.cpp b/src/wallet/test/wallet_tests.cpp index 26d3746be4..d588705df6 100644 --- a/src/wallet/test/wallet_tests.cpp +++ b/src/wallet/test/wallet_tests.cpp @@ -13,7 +13,7 @@ #include "consensus/validation.h" #include "rpc/server.h" -#include "test/test_raven.h" +#include "test/test_bitcoin.h" #include "validation.h" #include "wallet/coincontrol.h" #include "wallet/test/wallet_test_fixture.h" @@ -197,11 +197,11 @@ BOOST_FIXTURE_TEST_SUITE(wallet_tests, WalletTestingSetup) add_coin(3 * COIN); add_coin(4 * COIN); // now we have 5+6+7+8+18+20+30+100+200+300+400 = 1094 cents BOOST_CHECK(testWallet.SelectCoinsMinConf(95 * CENT, 1, 1, 0, vCoins, setCoinsRet, nValueRet)); - BOOST_CHECK_EQUAL(nValueRet, 1 * COIN); // we should get 1 RVN in 1 coin + BOOST_CHECK_EQUAL(nValueRet, 1 * COIN); // we should get 1 BLAST in 1 coin BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); BOOST_CHECK(testWallet.SelectCoinsMinConf(195 * CENT, 1, 1, 0, vCoins, setCoinsRet, nValueRet)); - BOOST_CHECK_EQUAL(nValueRet, 2 * COIN); // we should get 2 RVN in 1 coin + BOOST_CHECK_EQUAL(nValueRet, 2 * COIN); // we should get 2 BLAST in 1 coin BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); // empty the wallet and start again, now with fractions of a cent, to test small change avoidance diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 4214be028c..da2e650ff0 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1564,7 +1564,7 @@ void CWalletTx::GetAmounts(std::list& listReceived, listReceived.push_back(output); } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (txout.scriptPubKey.IsAssetScript()) { CAssetOutputEntry assetoutput; @@ -1579,7 +1579,7 @@ void CWalletTx::GetAmounts(std::list& listReceived, assetsReceived.emplace_back(assetoutput); } } - /** RVN END */ + /** BLAST END */ } } @@ -2183,7 +2183,7 @@ void CWallet::AvailableCoinsWithAssets(std::vector &vCoins, std::map& vCoins, std::map >& mapAssetCoins, bool fGetRVN, bool fGetAssets, bool fOnlySafe, const CCoinControl *coinControl, const CAmount& nMinimumAmount, const CAmount& nMaximumAmount, const CAmount& nMinimumSumAmount, const uint64_t& nMaximumCount, const int& nMinDepth, const int& nMaxDepth) const { +void CWallet::AvailableCoinsAll(std::vector& vCoins, std::map >& mapAssetCoins, bool fGetBLAST, bool fGetAssets, bool fOnlySafe, const CCoinControl *coinControl, const CAmount& nMinimumAmount, const CAmount& nMaximumAmount, const CAmount& nMinimumSumAmount, const uint64_t& nMaximumCount, const int& nMinDepth, const int& nMaxDepth) const { vCoins.clear(); { @@ -2191,8 +2191,8 @@ void CWallet::AvailableCoinsAll(std::vector& vCoins, std::map usedMempoolHashes; @@ -2368,11 +2368,11 @@ void CWallet::AvailableCoinsAll(std::vector& vCoins, std::map& vCoins, std::maptx->vout[i].nValue; if (nTotal >= nMinimumSumAmount) { - fRVNLimitHit = true; + fBLASTLimitHit = true; } } // Checks the maximum number of UTXO's. if (nMaximumCount > 0 && vCoins.size() >= nMaximumCount) { - fRVNLimitHit = true; + fBLASTLimitHit = true; } continue; } } } - /** RVN END */ + /** BLAST END */ } } -/** RVN START */ +/** BLAST START */ std::map> CWallet::ListAssets() const { @@ -2451,7 +2451,7 @@ std::map> CWallet::ListAssets() const return result; } -/** RVN END */ +/** BLAST END */ std::map> CWallet::ListCoins() const { @@ -2783,7 +2783,7 @@ bool CWallet::SelectCoins(const std::vector& vAvailableCoins, const CAm return res; } -/** RVN START */ +/** BLAST START */ bool CWallet::CreateNewChangeAddress(CReserveKey& reservekey, CKeyID& keyID, std::string& strFailReason) { // Called with coin control doesn't have a change_address @@ -3013,7 +3013,7 @@ bool CWallet::SelectAssets(const std::map >& m return true; } -/** RVN END */ +/** BLAST END */ bool CWallet::SignTransaction(CMutableTransaction &tx) { @@ -3149,7 +3149,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall const AssetType& assetType, bool sign) { - /** RVN START */ + /** BLAST START */ if (!AreAssetsDeployed() && (fTransferAsset || fNewAsset || fReissueAsset)) return false; @@ -3161,7 +3161,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall if (fReissueAsset && (reissueAsset.IsNull() || !IsValidDestination(destination))) return error("%s : Tried reissuing an asset and the reissue data was null or the destination was invalid", __func__); - /** RVN END */ + /** BLAST END */ CAmount nValue = 0; std::map mapAssetValue; @@ -3169,7 +3169,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall unsigned int nSubtractFeeFromAmount = 0; for (const auto& recipient : vecSend) { - /** RVN START */ + /** BLAST START */ if (fTransferAsset || fReissueAsset || assetType == AssetType::SUB || assetType == AssetType::UNIQUE) { CAssetTransfer assetTransfer; std::string address; @@ -3185,7 +3185,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall mapAssetValue[assetTransfer.strName] += assetTransfer.nAmount; } } - /** RVN END */ + /** BLAST END */ if (nValue < 0 || recipient.nAmount < 0) { @@ -3247,14 +3247,14 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall std::set setAssets; LOCK2(cs_main, cs_wallet); { - /** RVN START */ + /** BLAST START */ std::vector vAvailableCoins; std::map > mapAssetCoins; if (fTransferAsset || fReissueAsset || assetType == AssetType::SUB || assetType == AssetType::UNIQUE) AvailableCoinsWithAssets(vAvailableCoins, mapAssetCoins, true, &coin_control); else AvailableCoins(vAvailableCoins, true, &coin_control); - /** RVN END */ + /** BLAST END */ // Create change script that will be used if we need change // TODO: pass in scriptChange instead of reservekey so // change transaction isn't always pay-to-raven-address @@ -3313,7 +3313,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall } } - if (IsDust(txout, ::dustRelayFee) && !IsScriptTransferAsset(recipient.scriptPubKey)) /** RVN START */ /** RVN END */ + if (IsDust(txout, ::dustRelayFee) && !IsScriptTransferAsset(recipient.scriptPubKey)) /** BLAST START */ /** BLAST END */ { if (recipient.fSubtractFeeFromAmount && nFeeRet > 0) { @@ -3340,7 +3340,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall return false; } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { setAssets.clear(); mapAssetsIn.clear(); @@ -3349,12 +3349,12 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall return false; } } - /** RVN END */ + /** BLAST END */ } const CAmount nChange = nValueIn - nValueToSelect; - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { // Add the change for the assets std::map mapAssetChange; @@ -3376,7 +3376,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall } } } - /** RVN END */ + /** BLAST END */ if (nChange > 0) { @@ -3410,7 +3410,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall nChangePosInOut = -1; } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { if (fNewAsset) { for (auto asset : assets) { @@ -3439,7 +3439,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall txNew.vout.push_back(reissueTxOut); } } - /** RVN END */ + /** BLAST END */ // Fill vin // @@ -3457,13 +3457,13 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall txNew.vin.push_back(CTxIn(coin.outpoint,CScript(), nSequence)); - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { for (const auto &asset : setAssets) txNew.vin.push_back(CTxIn(asset.outpoint, CScript(), nSequence)); } - /** RVN END */ + /** BLAST END */ // Add the new asset inputs into the tempSet so the dummysigntx will add the correct amount of sigsß std::set tempSet = setCoins; @@ -3578,7 +3578,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall nIn++; } - /** RVN START */ + /** BLAST START */ if (AreAssetsDeployed()) { for (const auto &asset : setAssets) { const CScript &scriptPubKey = asset.txout.scriptPubKey; @@ -3596,7 +3596,7 @@ bool CWallet::CreateTransactionAll(const std::vector& vecSend, CWall nIn++; } } - /** RVN END */ + /** BLAST END */ } // Embed the constructed transaction data in wtxNew. diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 0826ef8ac4..c74fcaf268 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_WALLET_H -#define RAVEN_WALLET_WALLET_H +#ifndef BITCOIN_WALLET_WALLET_H +#define BITCOIN_WALLET_WALLET_H #include "amount.h" #include "policy/feerate.h" @@ -187,7 +188,7 @@ struct COutputEntry int vout; }; -/** RVN START */ +/** BLAST START */ struct CAssetOutputEntry { txnouttype type; @@ -196,7 +197,7 @@ struct CAssetOutputEntry CAmount nAmount; int vout; }; -/** RVN END */ +/** BLAST END */ /** A transaction with a merkle branch linking it to the block chain. */ class CMerkleTx @@ -209,9 +210,9 @@ class CMerkleTx CTransactionRef tx; uint256 hashBlock; - // Ravencoin: SegWit removed the coinbase merkle tree and only included it for - // Ravencoin: backwards compatibility with older bitcoin clients. - // Ravencoin: Ravencoin still needs it here + // BLAST: SegWit removed the coinbase merkle tree and only included it for + // BLAST: backwards compatibility with older bitcoin clients. + // BLAST: BLAST still needs it here std::vector vMerkleBranch; /* An nIndex == -1 means that hashBlock (in nonzero) refers to the earliest @@ -332,7 +333,7 @@ class CWalletTx : public CMerkleTx unsigned int nTimeSmart; /** * From me flag is set to 1 for transactions that were created by the wallet - * on this raven node, and set to 0 for transactions that were created + * on this BLAST node, and set to 0 for transactions that were created * externally and came in through the network or sendrawtransaction RPC. */ char fFromMe; @@ -842,7 +843,7 @@ class CWallet final : public CCryptoKeyStore, public CValidationInterface * populate vCoins with vector of available COutputs, and populates vAssetCoins in fWithAssets is set to true. */ void AvailableCoinsAll(std::vector& vCoins, std::map >& mapAssetCoins, - bool fGetRVN = true, bool fOnlyAssets = false, + bool fGetBLAST = true, bool fOnlyAssets = false, bool fOnlySafe = true, const CCoinControl *coinControl = nullptr, const CAmount& nMinimumAmount = 1, const CAmount& nMaximumAmount = MAX_MONEY, const CAmount& nMinimumSumAmount = MAX_MONEY, const uint64_t& nMaximumCount = 0, @@ -857,7 +858,7 @@ class CWallet final : public CCryptoKeyStore, public CValidationInterface const uint64_t &nMaximumCount = 0, const int &nMinDepth = 0, const int &nMaxDepth = 9999999) const; /** - * Helper function that calls AvailableCoinsAll, used to receive all coins, Assets and RVN + * Helper function that calls AvailableCoinsAll, used to receive all coins, Assets and BLAST */ void AvailableCoinsWithAssets(std::vector &vCoins, std::map > &mapAssetCoins, bool fOnlySafe = true, const CCoinControl *coinControl = nullptr, const CAmount &nMinimumAmount = 1, @@ -999,7 +1000,7 @@ class CWallet final : public CCryptoKeyStore, public CValidationInterface bool FundTransaction(CMutableTransaction& tx, CAmount& nFeeRet, int& nChangePosInOut, std::string& strFailReason, bool lockUnspents, const std::set& setSubtractFeeFromOutputs, CCoinControl); bool SignTransaction(CMutableTransaction& tx); - /** RVN START */ + /** BLAST START */ bool CreateTransactionWithAssets(const std::vector& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, CAmount& nFeeRet, int& nChangePosInOut, std::string& strFailReason, const CCoinControl& coin_control, const std::vector assets, const CTxDestination dest, const AssetType& assetType, bool sign = true); @@ -1025,7 +1026,7 @@ class CWallet final : public CCryptoKeyStore, public CValidationInterface bool CreateNewChangeAddress(CReserveKey& reservekey, CKeyID& keyID, std::string& strFailReason); - /** RVN END */ + /** BLAST END */ bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey, CConnman* connman, CValidationState& state); @@ -1279,4 +1280,4 @@ bool CWallet::DummySignTx(CMutableTransaction &txNew, const ContainerType &coins return true; } -#endif // RAVEN_WALLET_WALLET_H +#endif // BITCOIN_WALLET_WALLET_H diff --git a/src/wallet/walletdb.h b/src/wallet/walletdb.h index 56276647e9..34344defb6 100644 --- a/src/wallet/walletdb.h +++ b/src/wallet/walletdb.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WALLET_WALLETDB_H -#define RAVEN_WALLET_WALLETDB_H +#ifndef BITCOIN_WALLET_WALLETDB_H +#define BITCOIN_WALLET_WALLETDB_H #include "amount.h" #include "primitives/transaction.h" @@ -252,4 +253,4 @@ class CWalletDB //! Compacts BDB state so that wallet.dat is self-contained (if there are changes) void MaybeCompactWalletDB(); -#endif // RAVEN_WALLET_WALLETDB_H +#endif // BITCOIN_WALLET_WALLETDB_H diff --git a/src/warnings.h b/src/warnings.h index dca836f3ec..48a81af938 100644 --- a/src/warnings.h +++ b/src/warnings.h @@ -1,11 +1,12 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_WARNINGS_H -#define RAVEN_WARNINGS_H +#ifndef BITCOIN_WARNINGS_H +#define BITCOIN_WARNINGS_H #include #include @@ -25,4 +26,4 @@ std::string GetWarnings(const std::string& strFor); static const bool DEFAULT_TESTSAFEMODE = false; -#endif // RAVEN_WARNINGS_H +#endif // BITCOIN_WARNINGS_H diff --git a/src/zmq/zmqabstractnotifier.h b/src/zmq/zmqabstractnotifier.h index 1472794b0a..e9b6712ac2 100644 --- a/src/zmq/zmqabstractnotifier.h +++ b/src/zmq/zmqabstractnotifier.h @@ -1,10 +1,11 @@ // Copyright (c) 2015 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ZMQ_ZMQABSTRACTNOTIFIER_H -#define RAVEN_ZMQ_ZMQABSTRACTNOTIFIER_H +#ifndef BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H +#define BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H #include "zmqconfig.h" @@ -42,4 +43,4 @@ class CZMQAbstractNotifier std::string address; }; -#endif // RAVEN_ZMQ_ZMQABSTRACTNOTIFIER_H +#endif // BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H diff --git a/src/zmq/zmqconfig.h b/src/zmq/zmqconfig.h index bb89527c54..bef09ef251 100644 --- a/src/zmq/zmqconfig.h +++ b/src/zmq/zmqconfig.h @@ -1,13 +1,14 @@ // Copyright (c) 2014 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ZMQ_ZMQCONFIG_H -#define RAVEN_ZMQ_ZMQCONFIG_H +#ifndef BITCOIN_ZMQ_ZMQCONFIG_H +#define BITCOIN_ZMQ_ZMQCONFIG_H #if defined(HAVE_CONFIG_H) -#include "config/raven-config.h" +#include "config/bitcoin-config.h" #endif #include @@ -22,4 +23,4 @@ void zmqError(const char *str); -#endif // RAVEN_ZMQ_ZMQCONFIG_H +#endif // BITCOIN_ZMQ_ZMQCONFIG_H diff --git a/src/zmq/zmqnotificationinterface.h b/src/zmq/zmqnotificationinterface.h index ef998d3673..13af8a4983 100644 --- a/src/zmq/zmqnotificationinterface.h +++ b/src/zmq/zmqnotificationinterface.h @@ -1,10 +1,11 @@ // Copyright (c) 2015-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ZMQ_ZMQNOTIFICATIONINTERFACE_H -#define RAVEN_ZMQ_ZMQNOTIFICATIONINTERFACE_H +#ifndef BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H +#define BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H #include "validationinterface.h" #include @@ -38,4 +39,4 @@ class CZMQNotificationInterface final : public CValidationInterface std::list notifiers; }; -#endif // RAVEN_ZMQ_ZMQNOTIFICATIONINTERFACE_H +#endif // BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H diff --git a/src/zmq/zmqpublishnotifier.h b/src/zmq/zmqpublishnotifier.h index d453cd6730..170f239e2b 100644 --- a/src/zmq/zmqpublishnotifier.h +++ b/src/zmq/zmqpublishnotifier.h @@ -1,10 +1,11 @@ // Copyright (c) 2015-2016 The Bitcoin Core developers // Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef RAVEN_ZMQ_ZMQPUBLISHNOTIFIER_H -#define RAVEN_ZMQ_ZMQPUBLISHNOTIFIER_H +#ifndef BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H +#define BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H #include "zmqabstractnotifier.h" @@ -53,4 +54,4 @@ class CZMQPublishRawTransactionNotifier : public CZMQAbstractPublishNotifier bool NotifyTransaction(const CTransaction &transaction) override; }; -#endif // RAVEN_ZMQ_ZMQPUBLISHNOTIFIER_H +#endif // BITCOIN_ZMQ_ZMQPUBLISHNOTIFIER_H diff --git a/test/config.ini.in b/test/config.ini.in index 19835553fe..3454a300ec 100644 --- a/test/config.ini.in +++ b/test/config.ini.in @@ -1,10 +1,11 @@ # Copyright (c) 2013-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +// Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # These environment variables are set by the build process and read by -# test/functional/test_runner.py and test/util/raven-util-test.py +# test/functional/test_runner.py and test/util/bitcoin-util-test.py [environment] SRCDIR=@abs_top_srcdir@ @@ -14,6 +15,6 @@ EXEEXT=@EXEEXT@ [components] # Which components are enabled. These are commented out by `configure` if they were disabled when running config. @ENABLE_WALLET_TRUE@ENABLE_WALLET=true -@BUILD_RAVEN_CLI_TRUE@ENABLE_UTILS=true -@BUILD_RAVEND_TRUE@ENABLE_RAVEND=true +@BUILD_BITCOIN_CLI_TRUE@ENABLE_UTILS=true +@BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=true @ENABLE_ZMQ_TRUE@ENABLE_ZMQ=true diff --git a/test/functional/README.md b/test/functional/README.md index 52cb391d68..69a4be644d 100644 --- a/test/functional/README.md +++ b/test/functional/README.md @@ -39,7 +39,7 @@ don't have test cases for. - Set the `self.setup_clean_chain` variable in `set_test_params()` to control whether or not to use the cached data directories. The cached data directories contain a 200-block pre-mined blockchain and wallets for four nodes. Each node - has 25 mature blocks (25x5000=125000 RVN) in its wallet. + has 25 mature blocks (25x5000=125000 BLAST) in its wallet. - When calling RPCs with lots of arguments, consider using named keyword arguments instead of positional arguments to make the intent of the call clear to readers. diff --git a/test/functional/feature_assets.py b/test/functional/feature_assets.py index 801f78e7e6..87d74b8d8e 100755 --- a/test/functional/feature_assets.py +++ b/test/functional/feature_assets.py @@ -1,25 +1,26 @@ #!/usr/bin/env python3 # Copyright (c) 2017 The Bitcoin Core developers # Copyright (c) 2017-2018 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Testing asset use cases """ -from test_framework.test_framework import RavenTestFramework +from test_framework.test_framework import BitcoinTestFramework from test_framework.util import * import string -class AssetTest(RavenTestFramework): +class AssetTest(BitcoinTestFramework): def set_test_params(self): self.setup_clean_chain = True self.num_nodes = 3 self.extra_args = [['-assetindex'], ['-assetindex'], ['-assetindex']] def activate_assets(self): - self.log.info("Generating RVN for node[0] and activating assets...") + self.log.info("Generating BLAST for node[0] and activating assets...") n0, n1, n2 = self.nodes[0], self.nodes[1], self.nodes[2] n0.generate(1) @@ -138,13 +139,13 @@ def big_test(self): assert_equal(n0.listassetbalancesbyaddress(address0)["MY_ASSET"], 2000) self.log.info("Checking listassets()...") - n0.issue("RAVEN1", 1000) - n0.issue("RAVEN2", 1000) - n0.issue("RAVEN3", 1000) + n0.issue("BLAST1", 1000) + n0.issue("BLAST2", 1000) + n0.issue("BLAST3", 1000) n0.generate(1) self.sync_all() - n0.listassets(asset="RAVEN*", verbose=False, count=2, start=-2) + n0.listassets(asset="BLAST*", verbose=False, count=2, start=-2) self.log.info("Creating some sub-assets...") n0.issue(asset_name="MY_ASSET/SUB1", qty=1000, to_address=address0, change_address=address0,\ @@ -164,10 +165,10 @@ def big_test(self): assert_equal(assetdata["has_ipfs"], 1) assert_equal(assetdata["ipfs_hash"], ipfs_hash) - raven_assets = n0.listassets(asset="RAVEN*", verbose=False, count=2, start=-2) - assert_equal(len(raven_assets), 2) - assert_equal(raven_assets[0], "RAVEN2") - assert_equal(raven_assets[1], "RAVEN3") + blast_assets = n0.listassets(asset="BLAST*", verbose=False, count=2, start=-2) + assert_equal(len(blast_assets), 2) + assert_equal(blast_assets[0], "BLAST2") + assert_equal(blast_assets[1], "BLAST3") self.sync_all() def issue_param_checks(self): diff --git a/test/functional/feature_assets_reorg.py b/test/functional/feature_assets_reorg.py index 890dafe830..3c6af688d7 100755 --- a/test/functional/feature_assets_reorg.py +++ b/test/functional/feature_assets_reorg.py @@ -19,7 +19,7 @@ def set_test_params(self): def activate_assets(self): - self.log.info("Generating RVN and activating assets...") + self.log.info("Generating BLAST and activating assets...") n0, n1 = self.nodes[0], self.nodes[1] n0.generate(1) diff --git a/test/functional/feature_bip68_sequence.py b/test/functional/feature_bip68_sequence.py index 77d4245d95..1970a320f6 100755 --- a/test/functional/feature_bip68_sequence.py +++ b/test/functional/feature_bip68_sequence.py @@ -39,7 +39,7 @@ def run_test(self): def test_disable_flag(self): # Create some unconfirmed inputs new_addr = self.nodes[0].getnewaddress() - self.nodes[0].sendtoaddress(new_addr, 2) # send 2 RVN + self.nodes[0].sendtoaddress(new_addr, 2) # send 2 BLAST utxos = self.nodes[0].listunspent(0, 0) assert(len(utxos) > 0) diff --git a/test/functional/feature_rawassettransactions.py b/test/functional/feature_rawassettransactions.py index 087a95d1b8..53c8832b46 100755 --- a/test/functional/feature_rawassettransactions.py +++ b/test/functional/feature_rawassettransactions.py @@ -48,7 +48,7 @@ def set_test_params(self): self.num_nodes = 3 def activate_assets(self): - self.log.info("Generating RVN for node[0] and activating assets...") + self.log.info("Generating BLAST for node[0] and activating assets...") n0, n1, n2 = self.nodes[0], self.nodes[1], self.nodes[2] n0.generate(1) @@ -122,19 +122,19 @@ def reissue_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_hex)) tx.deserialize(f) - rvnr = '72766e72' #rvnr + blastr = '72766e72' #blastr op_drop = '75' for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvnr in bytes_to_hex_str(out.scriptPubKey): + if blastr in bytes_to_hex_str(out.scriptPubKey): script_hex = bytes_to_hex_str(out.scriptPubKey) - reissue_script_hex = script_hex[script_hex.index(rvnr) + len(rvnr):-len(op_drop)] + reissue_script_hex = script_hex[script_hex.index(blastr) + len(blastr):-len(op_drop)] f = BytesIO(hex_str_to_bytes(reissue_script_hex)) reissue = CScriptReissue() reissue.deserialize(f) reissue.name = alternate_asset_name.encode() tampered_reissue = bytes_to_hex_str(reissue.serialize()) - tampered_script = script_hex[:script_hex.index(rvnr)] + rvnr + tampered_reissue + op_drop + tampered_script = script_hex[:script_hex.index(blastr)] + blastr + tampered_reissue + op_drop tx.vout[n].scriptPubKey = hex_str_to_bytes(tampered_script) tx_hex_bad = bytes_to_hex_str(tx.serialize()) tx_signed = n0.signrawtransaction(tx_hex_bad)['hex'] @@ -145,9 +145,9 @@ def reissue_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt # remove the owner output from vout - bad_vout = list(filter(lambda out : rvnt not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) + bad_vout = list(filter(lambda out : blastt not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) tx.vout = bad_vout tx_hex_bad = bytes_to_hex_str(tx.serialize()) tx_signed = n0.signrawtransaction(tx_hex_bad)['hex'] @@ -181,9 +181,9 @@ def issue_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_issue_hex)) tx.deserialize(f) - rvno = '72766e6f' #rvno + blasto = '72766e6f' #blasto # remove the owner output from vout - bad_vout = list(filter(lambda out : rvno not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) + bad_vout = list(filter(lambda out : blasto not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) tx.vout = bad_vout tx_bad_issue = bytes_to_hex_str(tx.serialize()) tx_bad_issue_signed = n0.signrawtransaction(tx_bad_issue)['hex'] @@ -195,9 +195,9 @@ def issue_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_issue_hex)) tx.deserialize(f) - rvno = '72766e6f' #rvno + blasto = '72766e6f' #blasto # find the owner output from vout and insert a duplicate back in - owner_vout = list(filter(lambda out : rvno in bytes_to_hex_str(out.scriptPubKey), tx.vout))[0] + owner_vout = list(filter(lambda out : blasto in bytes_to_hex_str(out.scriptPubKey), tx.vout))[0] tx.vout.insert(-1, owner_vout) tx_bad_issue = bytes_to_hex_str(tx.serialize()) tx_bad_issue_signed = n0.signrawtransaction(tx_bad_issue)['hex'] @@ -209,9 +209,9 @@ def issue_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_issue_hex)) tx.deserialize(f) - rvnq = '72766e71' #rvnq + blastq = '72766e71' #blastq # remove the owner output from vout - bad_vout = list(filter(lambda out : rvnq not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) + bad_vout = list(filter(lambda out : blastq not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) tx.vout = bad_vout tx_bad_issue = bytes_to_hex_str(tx.serialize()) tx_bad_issue_signed = n0.signrawtransaction(tx_bad_issue)['hex'] @@ -223,21 +223,21 @@ def issue_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_issue_hex)) tx.deserialize(f) - rvno = '72766e6f' #rvno + blasto = '72766e6f' #blasto op_drop = '75' # change the owner name for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvno in bytes_to_hex_str(out.scriptPubKey): + if blasto in bytes_to_hex_str(out.scriptPubKey): owner_out = out owner_script_hex = bytes_to_hex_str(owner_out.scriptPubKey) - asset_script_hex = owner_script_hex[owner_script_hex.index(rvno) + len(rvno):-len(op_drop)] + asset_script_hex = owner_script_hex[owner_script_hex.index(blasto) + len(blasto):-len(op_drop)] f = BytesIO(hex_str_to_bytes(asset_script_hex)) owner = CScriptOwner() owner.deserialize(f) owner.name = b"NOT_MY_ASSET!" tampered_owner = bytes_to_hex_str(owner.serialize()) - tampered_script = owner_script_hex[:owner_script_hex.index(rvno)] + rvno + tampered_owner + op_drop + tampered_script = owner_script_hex[:owner_script_hex.index(blasto)] + blasto + tampered_owner + op_drop tx.vout[n].scriptPubKey = hex_str_to_bytes(tampered_script) tx_bad_issue = bytes_to_hex_str(tx.serialize()) tx_bad_issue_signed = n0.signrawtransaction(tx_bad_issue)['hex'] @@ -249,14 +249,14 @@ def issue_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_issue_hex)) tx.deserialize(f) - rvno = '72766e6f' #rvno - RVNO = '52564e4f' #RVNO + blasto = '72766e6f' #blasto + BLASTO = '52564e4f' #BLASTO # change the owner output script type to be invalid for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvno in bytes_to_hex_str(out.scriptPubKey): + if blasto in bytes_to_hex_str(out.scriptPubKey): owner_script_hex = bytes_to_hex_str(out.scriptPubKey) - tampered_script = owner_script_hex.replace(rvno, RVNO) + tampered_script = owner_script_hex.replace(blasto, BLASTO) tx.vout[n].scriptPubKey = hex_str_to_bytes(tampered_script) tx_bad_issue = bytes_to_hex_str(tx.serialize()) tx_bad_issue_signed = n0.signrawtransaction(tx_bad_issue)['hex'] @@ -385,17 +385,17 @@ def issue_reissue_transfer_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt op_drop = '75' # change asset outputs from 400,600 to 500,500 for i in range(1, 3): script_hex = bytes_to_hex_str(tx.vout[i].scriptPubKey) - f = BytesIO(hex_str_to_bytes(script_hex[script_hex.index(rvnt) + len(rvnt):-len(op_drop)])) + f = BytesIO(hex_str_to_bytes(script_hex[script_hex.index(blastt) + len(blastt):-len(op_drop)])) transfer = CScriptTransfer() transfer.deserialize(f) transfer.amount = 50000000000 tampered_transfer = bytes_to_hex_str(transfer.serialize()) - tampered_script = script_hex[:script_hex.index(rvnt)] + rvnt + tampered_transfer + op_drop + tampered_script = script_hex[:script_hex.index(blastt)] + blastt + tampered_transfer + op_drop tx.vout[i].scriptPubKey = hex_str_to_bytes(tampered_script) tampered_hex = bytes_to_hex_str(tx.serialize()) assert_raises_rpc_error(-26, "mandatory-script-verify-flag-failed (Signature must be zero for failed CHECK(MULTI)SIG operation)", @@ -450,19 +450,19 @@ def issue_reissue_transfer_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt op_drop = '75' # change asset name for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvnt in bytes_to_hex_str(out.scriptPubKey): + if blastt in bytes_to_hex_str(out.scriptPubKey): script_hex = bytes_to_hex_str(out.scriptPubKey) - f = BytesIO(hex_str_to_bytes(script_hex[script_hex.index(rvnt) + len(rvnt):-len(op_drop)])) + f = BytesIO(hex_str_to_bytes(script_hex[script_hex.index(blastt) + len(blastt):-len(op_drop)])) transfer = CScriptTransfer() transfer.deserialize(f) transfer.name = b"ASSET_DOES_NOT_EXIST" tampered_transfer = bytes_to_hex_str(transfer.serialize()) - tampered_script = script_hex[:script_hex.index(rvnt)] + rvnt + tampered_transfer + op_drop + tampered_script = script_hex[:script_hex.index(blastt)] + blastt + tampered_transfer + op_drop tx.vout[n].scriptPubKey = hex_str_to_bytes(tampered_script) tampered_hex = bytes_to_hex_str(tx.serialize()) assert_raises_rpc_error(-26, "bad-txns-transfer-asset-not-exist", @@ -476,19 +476,19 @@ def issue_reissue_transfer_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt op_drop = '75' # change asset name for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvnt in bytes_to_hex_str(out.scriptPubKey): + if blastt in bytes_to_hex_str(out.scriptPubKey): script_hex = bytes_to_hex_str(out.scriptPubKey) - f = BytesIO(hex_str_to_bytes(script_hex[script_hex.index(rvnt) + len(rvnt):-len(op_drop)])) + f = BytesIO(hex_str_to_bytes(script_hex[script_hex.index(blastt) + len(blastt):-len(op_drop)])) transfer = CScriptTransfer() transfer.deserialize(f) transfer.name = alternate_asset_name.encode() tampered_transfer = bytes_to_hex_str(transfer.serialize()) - tampered_script = script_hex[:script_hex.index(rvnt)] + rvnt + tampered_transfer + op_drop + tampered_script = script_hex[:script_hex.index(blastt)] + blastt + tampered_transfer + op_drop tx.vout[n].scriptPubKey = hex_str_to_bytes(tampered_script) tampered_hex = bytes_to_hex_str(tx.serialize()) assert_raises_rpc_error(-26, "bad-tx-inputs-outputs-mismatch Bad Transaction - " + @@ -500,9 +500,9 @@ def issue_reissue_transfer_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt # remove the transfer output from vout - bad_vout = list(filter(lambda out : rvnt not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) + bad_vout = list(filter(lambda out : blastt not in bytes_to_hex_str(out.scriptPubKey), tx.vout)) tx.vout = bad_vout tampered_hex = bytes_to_hex_str(tx.serialize()) assert_raises_rpc_error(-26, "bad-tx-asset-inputs-size-does-not-match-outputs-size", @@ -1313,21 +1313,21 @@ def issue_sub_multiple_outputs_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_issue_sub_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt op_drop = '75' # change the transfer amount for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvnt in bytes_to_hex_str(out.scriptPubKey): + if blastt in bytes_to_hex_str(out.scriptPubKey): transfer_out = out transfer_script_hex = bytes_to_hex_str(transfer_out.scriptPubKey) - asset_script_hex = transfer_script_hex[transfer_script_hex.index(rvnt) + len(rvnt):-len(op_drop)] + asset_script_hex = transfer_script_hex[transfer_script_hex.index(blastt) + len(blastt):-len(op_drop)] f = BytesIO(hex_str_to_bytes(asset_script_hex)) transfer = CScriptTransfer() transfer.deserialize(f) transfer.amount = 0 tampered_transfer = bytes_to_hex_str(transfer.serialize()) - tampered_script = transfer_script_hex[:transfer_script_hex.index(rvnt)] + rvnt + tampered_transfer + op_drop + tampered_script = transfer_script_hex[:transfer_script_hex.index(blastt)] + blastt + tampered_transfer + op_drop tx.vout[n].scriptPubKey = hex_str_to_bytes(tampered_script) tx_bad_transfer = bytes_to_hex_str(tx.serialize()) tx_bad_transfer_signed = n0.signrawtransaction(tx_bad_transfer)['hex'] @@ -1390,21 +1390,21 @@ def transfer_asset_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_transfer_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt op_drop = '75' # change the transfer amounts = 0 for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvnt in bytes_to_hex_str(out.scriptPubKey): + if blastt in bytes_to_hex_str(out.scriptPubKey): transfer_out = out transfer_script_hex = bytes_to_hex_str(transfer_out.scriptPubKey) - asset_script_hex = transfer_script_hex[transfer_script_hex.index(rvnt) + len(rvnt):-len(op_drop)] + asset_script_hex = transfer_script_hex[transfer_script_hex.index(blastt) + len(blastt):-len(op_drop)] f = BytesIO(hex_str_to_bytes(asset_script_hex)) transfer = CScriptTransfer() transfer.deserialize(f) transfer.amount = 0 tampered_transfer = bytes_to_hex_str(transfer.serialize()) - tampered_script = transfer_script_hex[:transfer_script_hex.index(rvnt)] + rvnt + tampered_transfer + op_drop + tampered_script = transfer_script_hex[:transfer_script_hex.index(blastt)] + blastt + tampered_transfer + op_drop tx.vout[n].scriptPubKey = hex_str_to_bytes(tampered_script) tx_bad_transfer = bytes_to_hex_str(tx.serialize()) tx_bad_transfer_signed = n0.signrawtransaction(tx_bad_transfer)['hex'] @@ -1457,7 +1457,7 @@ def transfer_asset_inserting_tampering_test(self): tx = CTransaction() f = BytesIO(hex_str_to_bytes(tx_transfer_hex)) tx.deserialize(f) - rvnt = '72766e74' #rvnt + blastt = '72766e74' #blastt op_drop = '75' # create a new issue CTxOut @@ -1469,16 +1469,16 @@ def transfer_asset_inserting_tampering_test(self): issue_script.name = b'BYTE_ISSUE' issue_script.amount = 1 issue_serialized = bytes_to_hex_str(issue_script.serialize()) - rvnq = '72766e71' #rvnq + blastq = '72766e71' #blastq for n in range(0, len(tx.vout)): out = tx.vout[n] - if rvnt in bytes_to_hex_str(out.scriptPubKey): + if blastt in bytes_to_hex_str(out.scriptPubKey): transfer_out = out transfer_script_hex = bytes_to_hex_str(transfer_out.scriptPubKey) - # Generate a script that has a valid destination address but switch it with rvnq and the issue_serialized data - issue_out.scriptPubKey = hex_str_to_bytes(transfer_script_hex[:transfer_script_hex.index(rvnt)] + rvnq + issue_serialized + op_drop) + # Generate a script that has a valid destination address but switch it with blastq and the issue_serialized data + issue_out.scriptPubKey = hex_str_to_bytes(transfer_script_hex[:transfer_script_hex.index(blastt)] + blastq + issue_serialized + op_drop) tx.vout.insert(0, issue_out) # Insert the issue transaction at the begin on the vouts @@ -1516,9 +1516,9 @@ def atomic_swaps_test(self): balance2 = float(n2.getwalletinfo()['balance']) ######################################## - # rvn for assets + # BLAST for assets - # n1 buys 400 ANDUIN from n2 for 4000 RVN + # n1 buys 400 ANDUIN from n2 for 4000 BLAST price = 4000 amount = 400 fee = 0.0001 @@ -1567,9 +1567,9 @@ def atomic_swaps_test(self): ######################################## - # rvn for owner + # BLAST for owner - # n2 buys JAINA! from n1 for 20000 RVN + # n2 buys JAINA! from n1 for 20000 BLAST price = 20000 amount = 1 balance1 = newbalance1 @@ -1765,9 +1765,9 @@ def fundrawtransaction_transfer_outs(self): self.log.info("Testing fundrawtransaction with transfer outputs...") n0 = self.nodes[0] n2 = self.nodes[2] - asset_name = "DONT_FUND_RVN" + asset_name = "DONT_FUND_BLAST" asset_amount = 100 - rvn_amount = 100 + blast_amount = 100 n2_address = n2.getnewaddress() @@ -1790,7 +1790,7 @@ def fundrawtransaction_transfer_outs(self): self.sync_all() for n in range(0, 5): - n0.sendtoaddress(n2_address, rvn_amount / 5) + n0.sendtoaddress(n2_address, blast_amount / 5) n0.generate(1) self.sync_all() diff --git a/test/functional/feature_rbf.py b/test/functional/feature_rbf.py index ae5649a1fb..293a51eb16 100755 --- a/test/functional/feature_rbf.py +++ b/test/functional/feature_rbf.py @@ -141,7 +141,7 @@ def test_simple_doublespend(self): # This will raise an exception due to transaction replacement being disabled assert_raises_rpc_error(-26, "txn-mempool-conflict", self.nodes[1].sendrawtransaction, tx1b_hex, True) - # Extra 0.1 RVN fee + # Extra 0.1 BLAST fee tx1b = CTransaction() tx1b.vin = [CTxIn(tx0_outpoint, nSequence=0)] tx1b.vout = [CTxOut(int(0.9*COIN), CScript([b'b']))] @@ -183,7 +183,7 @@ def test_doublespend_chain(self): prevout = COutPoint(int(txid, 16), 0) # Whether the double-spend is allowed is evaluated by including all - # child fees - 40 RVN - so this attempt is rejected. + # child fees - 40 BLAST - so this attempt is rejected. dbl_tx = CTransaction() dbl_tx.vin = [CTxIn(tx0_outpoint, nSequence=0)] dbl_tx.vout = [CTxOut(initial_nValue - 30*COIN, CScript([1]))] @@ -253,7 +253,7 @@ def branch(prevout, initial_value, max_txs, tree_width=5, fee=0.0001*COIN, _tota # This will raise an exception due to insufficient fee assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, dbl_tx_hex, True) - # 1 RVN fee is enough + # 1 BLAST fee is enough dbl_tx = CTransaction() dbl_tx.vin = [CTxIn(tx0_outpoint, nSequence=0)] dbl_tx.vout = [CTxOut(initial_nValue - fee*n - 1*COIN, CScript([1]))] diff --git a/test/functional/feature_unique_assets.py b/test/functional/feature_unique_assets.py index 39b2ef14a5..ad7dc6b3d5 100755 --- a/test/functional/feature_unique_assets.py +++ b/test/functional/feature_unique_assets.py @@ -41,7 +41,7 @@ def set_test_params(self): self.extra_args = [['-assetindex'], ['-assetindex'], ['-assetindex']] def activate_assets(self): - self.log.info("Generating RVN for node[0] and activating assets...") + self.log.info("Generating BLAST for node[0] and activating assets...") n0 = self.nodes[0] n0.generate(432) self.sync_all() diff --git a/test/functional/interface_raven_cli.py b/test/functional/interface_bitcoin_cli.py similarity index 100% rename from test/functional/interface_raven_cli.py rename to test/functional/interface_bitcoin_cli.py diff --git a/test/functional/rpc_decodescript.py b/test/functional/rpc_decodescript.py index 28297bc000..b607676230 100755 --- a/test/functional/rpc_decodescript.py +++ b/test/functional/rpc_decodescript.py @@ -172,7 +172,7 @@ def decoderawtransaction_asm_sighashtype(self): assert_equal('OP_RETURN 3011020701010101010101020601010101010101', rpc_result['vin'][0]['scriptSig']['asm']) def decodescript_assets(self): - """Test decoding RVN_ASSETS scripts (regtest scripts).""" + """Test decoding BLAST_ASSETS scripts (regtest scripts).""" # make sure assets are activated self.nodes[0].generate(500) @@ -180,7 +180,7 @@ def decodescript_assets(self): # issue (main output) script = "76a91435a8d9b395f1594e2cf3e06e6ec357d1da89736888acc01a72766e710954455354415353455400e40b54020000000800000075" result = self.nodes[0].decodescript(script) - assert_equal('OP_DUP OP_HASH160 35a8d9b395f1594e2cf3e06e6ec357d1da897368 OP_EQUALVERIFY OP_CHECKSIG OP_RVN_ASSET 72766e710954455354415353455400e40b540200000008000000 OP_DROP', result['asm']) + assert_equal('OP_DUP OP_HASH160 35a8d9b395f1594e2cf3e06e6ec357d1da897368 OP_EQUALVERIFY OP_CHECKSIG OP_BLAST_ASSET 72766e710954455354415353455400e40b540200000008000000 OP_DROP', result['asm']) assert_equal(1, result['reqSigs']) assert_equal('new_asset', result['type']) assert_equal(1, len(result['addresses'])) diff --git a/test/functional/rpc_fundrawtransaction.py b/test/functional/rpc_fundrawtransaction.py index 23edf27870..0165f91414 100755 --- a/test/functional/rpc_fundrawtransaction.py +++ b/test/functional/rpc_fundrawtransaction.py @@ -414,7 +414,7 @@ def run_test(self): mSigObj = self.nodes[2].addmultisigaddress(2, [addr1Obj['pubkey'], addr2Obj['pubkey']]) - # send 1.2 RVN to msig addr + # send 1.2 BLAST to msig addr txId = self.nodes[0].sendtoaddress(mSigObj, 1.2) self.sync_all() self.nodes[1].generate(1) diff --git a/test/functional/rpc_rawtransaction.py b/test/functional/rpc_rawtransaction.py index c77befa5d8..3bd4e6d50b 100755 --- a/test/functional/rpc_rawtransaction.py +++ b/test/functional/rpc_rawtransaction.py @@ -66,7 +66,7 @@ def run_test(self): #use balance deltas instead of absolute values bal = self.nodes[2].getbalance() - # send 1.2 RVN to msig adr + # send 1.2 BLAST to msig adr txId = self.nodes[0].sendtoaddress(mSigObj, 1.2) self.sync_all() self.nodes[0].generate(1) diff --git a/test/functional/test_framework/mininode.py b/test/functional/test_framework/mininode.py index 5f025e4994..d8198091e6 100755 --- a/test/functional/test_framework/mininode.py +++ b/test/functional/test_framework/mininode.py @@ -3,19 +3,20 @@ # Copyright (c) 2012 Jeff Garzik # Copyright (c) 2010-2016 The Bitcoin Core developers # Copyright (c) 2017 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -"""Raven P2P network half-a-node. +"""BLAST P2P network half-a-node. This python code was modified from ArtForz' public domain half-a-node, as found in the mini-node branch of http://github.com/jgarzik/pynode. -NodeConn: an object which manages p2p connectivity to a raven node +NodeConn: an object which manages p2p connectivity to a BLAST node NodeConnCB: a base class that describes the interface for receiving callbacks with network messages from a NodeConn CBlock, CTransaction, CBlockHeader, CTxIn, CTxOut, etc....: data structures that should map to corresponding structures in - raven/primitives + blast/primitives msg_block, msg_tx, msg_headers, etc.: data structures that represent network messages ser_*, deser_*: functions that handle serialization/deserialization @@ -48,7 +49,7 @@ MAX_INV_SZ = 50000 MAX_BLOCK_BASE_SIZE = 1000000 -COIN = 100000000 # 1 rvn in corbies +COIN = 100000000 # 1 blast in satoshis NODE_NETWORK = (1 << 0) # NODE_GETUTXO = (1 << 1) @@ -82,7 +83,7 @@ def ripemd160(s): def hash256(s): return sha256(sha256(s)) -x16r_hash_cmd = os.path.dirname(os.path.realpath(__file__)) + "/../../../src/test/test_raven_hash" +x16r_hash_cmd = os.path.dirname(os.path.realpath(__file__)) + "/../../../src/test/test_blast_hash" def hash_x16r(s): cmd = [x16r_hash_cmd, s] hash = subprocess.run(cmd, stdout=subprocess.PIPE, check=True).stdout.decode('ascii') @@ -226,7 +227,7 @@ def FromHex(obj, hex_string): def ToHex(obj): return bytes_to_hex_str(obj.serialize()) -# Objects that map to ravend objects, which can be serialized/deserialized +# Objects that map to blastd objects, which can be serialized/deserialized class CAddress(): def __init__(self): @@ -535,7 +536,7 @@ def deserialize(self, f): if len(self.vin) == 0: flags = struct.unpack(" (tx_size + 2) * fee_per_kB / 1000: - raise AssertionError("Fee of %s RVN too high! (Should be %s RVN)" % (str(fee), str(target_fee))) + raise AssertionError("Fee of %s BLAST too high! (Should be %s BLAST)" % (str(fee), str(target_fee))) def assert_equal(thing1, thing2, *args): if thing1 != thing2 or any(thing1 != arg for arg in args): @@ -194,7 +195,7 @@ def assert_array_result(object_array, to_match, expected, should_not_find=False) ################### def check_json_precision(): - """Make sure json library being used does not lose precision converting RVN values""" + """Make sure json library being used does not lose precision converting BLAST values""" n = Decimal("20000000.00000003") satoshis = int(json.loads(json.dumps(float(n))) * 1.0e8) if satoshis != 2000000000000003: @@ -213,7 +214,7 @@ def hash256(byte_str): sha256d.update(sha256.digest()) return sha256d.digest()[::-1] -x16r_hash_cmd = os.path.dirname(os.path.realpath(__file__)) + "/../../../src/test/test_raven_hash" +x16r_hash_cmd = os.path.dirname(os.path.realpath(__file__)) + "/../../../src/test/test_blast_hash" def hash_block(hex_str): cmd = [x16r_hash_cmd, hex_str] hash = subprocess.run(cmd, stdout=subprocess.PIPE, check=True).stdout.decode('ascii') @@ -315,7 +316,7 @@ def initialize_datadir(dirname, n): datadir = os.path.join(dirname, "node" + str(n)) if not os.path.isdir(datadir): os.makedirs(datadir) - with open(os.path.join(datadir, "raven.conf"), 'w', encoding='utf8') as f: + with open(os.path.join(datadir, "blast.conf"), 'w', encoding='utf8') as f: f.write("regtest=1\n") f.write("port=" + str(p2p_port(n)) + "\n") f.write("rpcport=" + str(rpc_port(n)) + "\n") @@ -328,8 +329,8 @@ def get_datadir_path(dirname, n): def get_auth_cookie(datadir): user = None password = None - if os.path.isfile(os.path.join(datadir, "raven.conf")): - with open(os.path.join(datadir, "raven.conf"), 'r', encoding='utf8') as f: + if os.path.isfile(os.path.join(datadir, "blast.conf")): + with open(os.path.join(datadir, "blast.conf"), 'r', encoding='utf8') as f: for line in f: if line.startswith("rpcuser="): assert user is None # Ensure that there is only one rpcuser line diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py index 3ee0255347..c8663f025f 100755 --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 # Copyright (c) 2014-2016 The Bitcoin Core developers # Copyright (c) 2017-2018 The Raven Core developers +# Copyright (c) 2017-2019 The BLAST Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Run regression test suite. @@ -11,7 +12,7 @@ Functional tests are disabled on Windows by default. Use --force to run them anyway. For a description of arguments recognized by test scripts, see -`test/functional/test_framework/test_framework.py:RavenTestFramework.main`. +`test/functional/test_framework/test_framework.py:BitcoinTestFramework.main`. """ from collections import deque @@ -138,7 +139,7 @@ 'rpc_preciousblock.py', 'feature_notifications.py', 'rpc_net.py', - 'interface_raven_cli.py', + 'interface_blast_cli.py', 'mempool_resurrect.py', 'rpc_signrawtransaction.py', 'wallet_resendtransactions.py', @@ -220,14 +221,14 @@ def main(): logging.basicConfig(format='%(message)s', level=logging_level) # Create base test directory - tmpdir = "%s/raven_test_runner_%s" % (args.tmpdirprefix, datetime.datetime.now().strftime("%Y%m%d_%H%M%S")) + tmpdir = "%s/blast_test_runner_%s" % (args.tmpdirprefix, datetime.datetime.now().strftime("%Y%m%d_%H%M%S")) os.makedirs(tmpdir) logging.debug("Temporary test directory at %s" % tmpdir) enable_wallet = config["components"].getboolean("ENABLE_WALLET") enable_cli = config["components"].getboolean("ENABLE_UTILS") - enable_ravend = config["components"].getboolean("ENABLE_RAVEND") + enable_blastd = config["components"].getboolean("ENABLE_BLASTD") if config["environment"]["EXEEXT"] == ".exe" and not args.force: # https://github.com/RavenProject/Ravencoin/commit/d52802551752140cf41f0d9a225a43e84404d3e9 @@ -235,8 +236,8 @@ def main(): print("Tests currently disabled on Windows by default. Use --force option to enable") sys.exit(0) - if not (enable_wallet and enable_cli and enable_ravend): - print("No functional tests to run. Wallet, utils, and ravend must all be enabled") + if not (enable_wallet and enable_cli and enable_blastd): + print("No functional tests to run. Wallet, utils, and blastd must all be enabled") print("Rerun `configure` with --enable-wallet, --with-cli and --with-daemon and rerun make") sys.exit(0) @@ -292,10 +293,10 @@ def main(): def run_tests(test_list, src_dir, build_dir, exeext, tmpdir, jobs=1, enable_coverage=False, args=[], combined_logs_len=0): - # Warn if ravend is already running (unix only) + # Warn if blastd is already running (unix only) try: - if subprocess.check_output(["pidof", "ravend"]) is not None: - print("%sWARNING!%s There is already a ravend process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0])) + if subprocess.check_output(["pidof", "blastd"]) is not None: + print("%sWARNING!%s There is already a blastd process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0])) except (OSError, subprocess.SubprocessError): pass @@ -305,9 +306,9 @@ def run_tests(test_list, src_dir, build_dir, exeext, tmpdir, jobs=1, enable_cove print("%sWARNING!%s There is a cache directory here: %s. If tests fail unexpectedly, try deleting the cache directory." % (BOLD[1], BOLD[0], cache_dir)) #Set env vars - if "RAVEND" not in os.environ: - os.environ["RAVEND"] = build_dir + '/src/ravend' + exeext - os.environ["RAVENCLI"] = build_dir + '/src/raven-cli' + exeext + if "BLASTD" not in os.environ: + os.environ["BLASTD"] = build_dir + '/src/blastd' + exeext + os.environ["BLASTCLI"] = build_dir + '/src/blast-cli' + exeext tests_dir = src_dir + '/test/functional/' @@ -534,7 +535,7 @@ class RPCCoverage(): Coverage calculation works by having each test script subprocess write coverage files into a particular directory. These files contain the RPC commands invoked during testing, as well as a complete listing of RPC - commands per `raven-cli help` (`rpc_interface.txt`). + commands per `blast-cli help` (`rpc_interface.txt`). After all tests complete, the commands run are combined and diff'd against the complete list to calculate uncovered RPC commands. diff --git a/test/functional/wallet_abandonconflict.py b/test/functional/wallet_abandonconflict.py index 0bff5eb540..6468ab3950 100755 --- a/test/functional/wallet_abandonconflict.py +++ b/test/functional/wallet_abandonconflict.py @@ -140,13 +140,13 @@ def run_test(self): connect_nodes(self.nodes[0], 1) sync_blocks(self.nodes) - # Verify that B and C's 10 RVN outputs are available for spending again because AB1 is now conflicted + # Verify that B and C's 10 BLAST outputs are available for spending again because AB1 is now conflicted newbalance = self.nodes[0].getbalance() assert_equal(newbalance, balance + Decimal("20")) balance = newbalance # There is currently a minor bug around this and so this test doesn't work. See Issue #7315 - # Invalidate the block with the double spend and B's 10 RVN output should no longer be available + # Invalidate the block with the double spend and B's 10 BLAST output should no longer be available # Don't think C's should either self.nodes[0].invalidateblock(self.nodes[0].getbestblockhash()) newbalance = self.nodes[0].getbalance() diff --git a/test/functional/wallet_basic.py b/test/functional/wallet_basic.py index 127a474759..a75570096a 100755 --- a/test/functional/wallet_basic.py +++ b/test/functional/wallet_basic.py @@ -65,7 +65,7 @@ def run_test(self): txout = self.nodes[0].gettxout(txid=confirmed_txid, n=confirmed_index, include_mempool=True) assert_equal(txout['value'], 5000) - # Send 21 RVN from 0 to 2 using sendtoaddress call. + # Send 21 BLAST from 0 to 2 using sendtoaddress call. # Locked memory should use at least 32 bytes to sign each transaction self.log.info("test getmemoryinfo") memory_before = self.nodes[0].getmemoryinfo() @@ -144,7 +144,7 @@ def run_test(self): assert_equal(self.nodes[2].getbalance(), 9994) assert_equal(self.nodes[2].getbalance("from1"), 9994-21) - # Send 10 RVN normal + # Send 10 BLAST normal address = self.nodes[0].getnewaddress("test") fee_per_byte = Decimal('0.001') / 1000 self.nodes[2].settxfee(fee_per_byte * 1000) @@ -154,7 +154,7 @@ def run_test(self): node_2_bal = self.check_fee_amount(self.nodes[2].getbalance(), Decimal('9984'), fee_per_byte, count_bytes(self.nodes[2].getrawtransaction(txid))) assert_equal(self.nodes[0].getbalance(), Decimal('10')) - # Send 10 RVN with subtract fee from amount + # Send 10 BLAST with subtract fee from amount txid = self.nodes[2].sendtoaddress(address, 10, "", "", True) self.nodes[2].generate(1) self.sync_all([self.nodes[0:3]]) @@ -162,7 +162,7 @@ def run_test(self): assert_equal(self.nodes[2].getbalance(), node_2_bal) node_0_bal = self.check_fee_amount(self.nodes[0].getbalance(), Decimal('20'), fee_per_byte, count_bytes(self.nodes[2].getrawtransaction(txid))) - # Sendmany 10 RVN + # Sendmany 10 BLAST txid = self.nodes[2].sendmany('from1', {address: 10}, 0, "", []) self.nodes[2].generate(1) self.sync_all([self.nodes[0:3]]) @@ -170,7 +170,7 @@ def run_test(self): node_2_bal = self.check_fee_amount(self.nodes[2].getbalance(), node_2_bal - Decimal('10'), fee_per_byte, count_bytes(self.nodes[2].getrawtransaction(txid))) assert_equal(self.nodes[0].getbalance(), node_0_bal) - # Sendmany 10 RVN with subtract fee from amount + # Sendmany 10 BLAST with subtract fee from amount txid = self.nodes[2].sendmany('from1', {address: 10}, 0, "", [address]) self.nodes[2].generate(1) self.sync_all([self.nodes[0:3]]) diff --git a/test/functional/wallet_import_rescan.py b/test/functional/wallet_import_rescan.py index 7c55367617..078376d8c1 100755 --- a/test/functional/wallet_import_rescan.py +++ b/test/functional/wallet_import_rescan.py @@ -9,12 +9,12 @@ importmulti RPCs with different types of keys and rescan options. In the first part of the test, node 0 creates an address for each type of -import RPC call and sends RVN to it. Then other nodes import the addresses, +import RPC call and sends BLAST to it. Then other nodes import the addresses, and the test makes listtransactions and getbalance calls to confirm that the importing node either did or did not execute rescans picking up the send transactions. -In the second part of the test, node 0 sends more RVN to each address, and the +In the second part of the test, node 0 sends more BLAST to each address, and the test makes more listtransactions and getbalance calls to confirm that the importing nodes pick up the new transactions regardless of whether rescans happened previously. diff --git a/test/functional/wallet_listsinceblock.py b/test/functional/wallet_listsinceblock.py index 6cf821724b..411c946406 100755 --- a/test/functional/wallet_listsinceblock.py +++ b/test/functional/wallet_listsinceblock.py @@ -92,8 +92,8 @@ def test_double_spend(self): Problematic case: - 1. User 1 receives RVN in tx1 from utxo1 in block aa1. - 2. User 2 receives RVN in tx2 from utxo1 (same) in block bb1 + 1. User 1 receives BLAST in tx1 from utxo1 in block aa1. + 2. User 2 receives BLAST in tx2 from utxo1 (same) in block bb1 3. User 1 sees 2 confirmations at block aa3. 4. Reorg into bb chain. 5. User 1 asks `listsinceblock aa3` and does not see that tx1 is now diff --git a/test/functional/wallet_txn_clone.py b/test/functional/wallet_txn_clone.py index 55c43f7a1c..bc5b713642 100755 --- a/test/functional/wallet_txn_clone.py +++ b/test/functional/wallet_txn_clone.py @@ -25,7 +25,7 @@ def setup_network(self): disconnect_nodes(self.nodes[2], 1) def run_test(self): - # All nodes should start with 1,250 RVN: + # All nodes should start with 1,250 BLAST: starting_balance = 125000 for i in range(4): assert_equal(self.nodes[i].getbalance(), starting_balance) @@ -62,7 +62,7 @@ def run_test(self): # createrawtransaction randomizes the order of its outputs, so swap them if necessary. # output 0 is at version+#inputs+input+sigstub+sequence+#outputs - # 40 RVN serialized is 00286bee00000000 + # 40 BLAST serialized is 00286bee00000000 pos0 = 2*(4+1+36+1+4+1) hex40 = "00286bee00000000" output_len = 16 + 2 + 2 * int("0x" + clone_raw[pos0 + 16 : pos0 + 16 + 2], 0) @@ -85,7 +85,7 @@ def run_test(self): tx1 = self.nodes[0].gettransaction(txid1) tx2 = self.nodes[0].gettransaction(txid2) - # Node0's balance should be starting balance, plus 50RVN for another + # Node0's balance should be starting balance, plus 50BLAST for another # matured block, minus tx1 and tx2 amounts, and minus transaction fees: expected = starting_balance + fund_foo_tx["fee"] + fund_bar_tx["fee"] if self.options.mine_block: expected += 5000 @@ -129,7 +129,7 @@ def run_test(self): assert_equal(tx1_clone["confirmations"], 2) assert_equal(tx2["confirmations"], 1) - # Check node0's total balance; should be same as before the clone, + 100 RVN for 2 matured, + # Check node0's total balance; should be same as before the clone, + 100 BLAST for 2 matured, # less possible orphaned matured subsidy expected += 10000 if (self.options.mine_block): diff --git a/test/functional/wallet_txn_doublespend.py b/test/functional/wallet_txn_doublespend.py index 9cb2e69ce1..6e80eb6ab2 100755 --- a/test/functional/wallet_txn_doublespend.py +++ b/test/functional/wallet_txn_doublespend.py @@ -24,7 +24,7 @@ def setup_network(self): disconnect_nodes(self.nodes[2], 1) def run_test(self): - # All nodes should start with 125,000 RVN: + # All nodes should start with 125,000 BLAST: starting_balance = 125000 for i in range(4): assert_equal(self.nodes[i].getbalance(), starting_balance) @@ -45,7 +45,7 @@ def run_test(self): # Coins are sent to node1_address node1_address = self.nodes[1].getnewaddress("from0") - # First: use raw transaction API to send 1240 RVN to node1_address, + # First: use raw transaction API to send 1240 BLAST to node1_address, # but don't broadcast: doublespend_fee = Decimal('-.02') rawtx_input_0 = {} @@ -63,7 +63,7 @@ def run_test(self): doublespend = self.nodes[0].signrawtransaction(rawtx) assert_equal(doublespend["complete"], True) - # Create two spends using 1 50 RVN coin each + # Create two spends using 1 50 BLAST coin each txid1 = self.nodes[0].sendfrom("foo", node1_address, 4000, 0) txid2 = self.nodes[0].sendfrom("bar", node1_address, 2000, 0) @@ -75,7 +75,7 @@ def run_test(self): tx1 = self.nodes[0].gettransaction(txid1) tx2 = self.nodes[0].gettransaction(txid2) - # Node0's balance should be starting balance, plus 50RVN for another + # Node0's balance should be starting balance, plus 50BLAST for another # matured block, minus 40, minus 20, and minus transaction fees: expected = starting_balance + fund_foo_tx["fee"] + fund_bar_tx["fee"] if self.options.mine_block: expected += 5000 @@ -117,7 +117,7 @@ def run_test(self): assert_equal(tx1["confirmations"], -2) assert_equal(tx2["confirmations"], -2) - # Node0's total balance should be starting balance, plus 100RVN for + # Node0's total balance should be starting balance, plus 100BLAST for # two more matured blocks, minus 1240 for the double-spend, plus fees (which are # negative): expected = starting_balance + 10000 - 124000 + fund_foo_tx["fee"] + fund_bar_tx["fee"] + doublespend_fee diff --git a/test/util/raven-util-test.py b/test/util/blast-util-test.py similarity index 100% rename from test/util/raven-util-test.py rename to test/util/blast-util-test.py