diff --git a/.tx/config b/.tx/config deleted file mode 100644 index 8585b65f1b431..0000000000000 --- a/.tx/config +++ /dev/null @@ -1,7 +0,0 @@ -[main] -host = https://www.transifex.com - -[darknet.qt-translation-010x] -file_filter = src/qt/locale/darknet_.ts -source_file = src/qt/locale/darknet_en.ts -source_lang = en diff --git a/COPYING b/COPYING index e2b78210c4ce4..e21420c599142 100644 --- a/COPYING +++ b/COPYING @@ -1,6 +1,6 @@ Copyright (c) 2009-2015 Bitcoin Developers Copyright (c) 2014-2015 Dash Developers -Copyright (c) 2015-2016 DarkNet Developers +Copyright (c) 2015-2017 PIVX Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/INSTALL b/INSTALL index df239ef6da484..1c09050de74b0 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ -Building DarkNet +Building PIVX Use the autogen script to prepare the build environment. @@ -8,6 +8,6 @@ Use the autogen script to prepare the build environment. Always verify the signatures and checksums. -See doc/build-*.md for instructions on building darknetd, +See doc/build-*.md for instructions on building pivxd, the intended-for-services, no-graphical-interface, reference -implementation of DarkNet. +implementation of PIVX. diff --git a/Makefile.am b/Makefile.am index ce3b142790db9..28a767a780017 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,12 +4,12 @@ SUBDIRS = src GZIP_ENV="-9n" -BITCOIND_BIN=$(top_builddir)/src/darknetd$(EXEEXT) -BITCOIN_QT_BIN=$(top_builddir)/src/qt/darknet-qt$(EXEEXT) -BITCOIN_CLI_BIN=$(top_builddir)/src/darknet-cli$(EXEEXT) +BITCOIND_BIN=$(top_builddir)/src/pivxd$(EXEEXT) +BITCOIN_QT_BIN=$(top_builddir)/src/qt/pivx-qt$(EXEEXT) +BITCOIN_CLI_BIN=$(top_builddir)/src/pivx-cli$(EXEEXT) BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) -OSX_APP=DarkNet-Qt.app +OSX_APP=PIVX-Qt.app OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME)) OSX_DMG = $(OSX_VOLNAME).dmg OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus @@ -32,9 +32,9 @@ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ - leveldb_baseline.info test_darknet_filtered.info total_coverage.info \ + leveldb_baseline.info test_pivx_filtered.info total_coverage.info \ baseline_filtered.info block_test_filtered.info \ - leveldb_baseline_filtered.info test_darknet_coverage.info test_darknet.info + leveldb_baseline_filtered.info test_pivx_coverage.info test_pivx.info dist-hook: -$(MAKE) -C $(top_distdir)/src/leveldb clean @@ -76,13 +76,13 @@ $(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) $(MKDIR_P) $(@D) $(INSTALL_DATA) $< $@ -$(OSX_APP)/Contents/MacOS/DarkNet-Qt: $(BITCOIN_QT_BIN) +$(OSX_APP)/Contents/MacOS/PIVX-Qt: $(BITCOIN_QT_BIN) $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ - $(OSX_APP)/Contents/MacOS/DarkNet-Qt + $(OSX_APP)/Contents/MacOS/PIVX-Qt osx_volname: echo $(OSX_VOLNAME) >$@ @@ -100,10 +100,10 @@ $(APP_DIST_DIR)/Applications: @rm -f $@ @cd $(@D); $(LN_S) /Applications $(@F) -$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/DarkNet-Qt +$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/PIVX-Qt $(OSX_DMG): $(APP_DIST_EXTRAS) - $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Darknet-Qt" -no-pad -r -dir-mode 0755 -apple -o $@ dist + $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Pivx-Qt" -no-pad -r -dir-mode 0755 -apple -o $@ dist $(APP_DIST_DIR)/.background/background.png: $(MKDIR_P) $(@D) @@ -111,7 +111,7 @@ $(APP_DIST_DIR)/.background/background.png: $(APP_DIST_DIR)/.DS_Store: $(INSTALL) $(top_srcdir)/contrib/macdeploy/DS_Store $@ -$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/DarkNet-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) +$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/PIVX-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 deploydir: $(APP_DIST_EXTRAS) @@ -151,16 +151,16 @@ leveldb_baseline_filtered.info: leveldb_baseline.info baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info $(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@ -test_darknet.info: baseline_filtered_combined.info +test_pivx.info: baseline_filtered_combined.info $(MAKE) -C src/ check - $(LCOV) -c -d $(abs_builddir)/src -t test_darknet -o $@ + $(LCOV) -c -d $(abs_builddir)/src -t test_pivx -o $@ $(LCOV) -z -d $(abs_builddir)/src $(LCOV) -z -d $(abs_builddir)/src/leveldb -test_darknet_filtered.info: test_darknet.info +test_pivx_filtered.info: test_pivx.info $(LCOV) -r $< "/usr/include/*" -o $@ -block_test.info: test_darknet_filtered.info +block_test.info: test_pivx_filtered.info $(MKDIR_P) qa/tmp -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ @@ -170,13 +170,13 @@ block_test.info: test_darknet_filtered.info block_test_filtered.info: block_test.info $(LCOV) -r $< "/usr/include/*" -o $@ -test_darknet_coverage.info: baseline_filtered_combined.info test_darknet_filtered.info - $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_darknet_filtered.info -o $@ +test_pivx_coverage.info: baseline_filtered_combined.info test_pivx_filtered.info + $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_pivx_filtered.info -o $@ -total_coverage.info: baseline_filtered_combined.info test_darknet_filtered.info block_test_filtered.info - $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_darknet_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt +total_coverage.info: baseline_filtered_combined.info test_pivx_filtered.info block_test_filtered.info + $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_pivx_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt -test_darknet.coverage/.dirstamp: test_darknet_coverage.info +test_pivx.coverage/.dirstamp: test_pivx_coverage.info $(GENHTML) -s $< -o $(@D) @touch $@ @@ -184,7 +184,7 @@ total.coverage/.dirstamp: total_coverage.info $(GENHTML) -s $< -o $(@D) @touch $@ -cov: test_darknet.coverage/.dirstamp total.coverage/.dirstamp +cov: test_pivx.coverage/.dirstamp total.coverage/.dirstamp endif @@ -201,4 +201,4 @@ CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) .INTERMEDIATE: $(COVERAGE_INFO) clean-local: - rm -rf test_darknet.coverage/ total.coverage/ $(OSX_APP) + rm -rf test_pivx.coverage/ total.coverage/ $(OSX_APP) diff --git a/README.md b/README.md index 7d4c42f867f62..9a9e170b32da1 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -DarkNet Repository (Version 2.1.3.4) -More information at darknet-crypto.com +PIVX Repository (Version 2.1.3.4) +More information at pivx.org Visit our ANN thread at bitcointalk.org/index.php?topic=1262920 Coin specs: Algo: Quark -PoW Block Reward: (block# 2 - 151200) 250 PIVX (block# 151201 - 259200) 50 PIVX +PoW Block Reward: (block# 2 - 151200) 250 PIV (block# 151201 - 259200) 50 PIV Block Time: 60 Second with Retargeting at every Block Coin Supply During PoW Phase: 43,199,500 @@ -13,62 +13,62 @@ Coin Supply During PoW Phase: 43,199,500 PoW Phase: (block# 1) 60k Premine for the Creation of 6 Masternodes for the Functioning of the Network - (60k PIVX will be Burned at approx. Block 259201) + (60k PIV will be Burned at approx. Block 259201) PoW Phase: (block#’s 2-259200) Approx. 180 DAYS -PoW Rewards Breakdown: (block#’s 2-43200) 20% MNODE (50 PIVX) / 80% MINER (200 PIVX) - (block#’s 43201-172800) 20% MNODE (50 PIVX) / 70% MINER (175 PIVX) / 10% available to the PROPOSALS (25 PIVX) - (block#’s 172800-259200) 45% MNODE (22.5 PIVX) / 45% MINER (22.5 PIVX) / 10% available to the PROPOSALS (10 PIVX) +PoW Rewards Breakdown: (block#’s 2-43200) 20% MNODE (50 PIV) / 80% MINER (200 PIV) + (block#’s 43201-172800) 20% MNODE (50 PIV) / 70% MINER (175 PIV) / 10% available to the PROPOSALS (25 PIV) + (block#’s 172800-259200) 45% MNODE (22.5 PIV) / 45% MINER (22.5 PIV) / 10% available to the PROPOSALS (10 PIV) PoS Phase 1: PoS [259201-302399] 30 DAYS -PoS Rewards Breakdown: 50 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 50 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 2: PoS [302400-345599] 30 DAYS -PoS Rewards Breakdown: 45 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 45 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 3: PoS [345600-388799] 30 DAYS -PoS Rewards Breakdown: 40 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 40 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 4: PoS [388800-431999] 30 DAYS -PoS Rewards Breakdown: 35 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 35 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 5: PoS [432000-475199] 30 DAYS -PoS Rewards Breakdown: 30 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 30 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 6: PoS [475200-518399] 30 DAYS -PoS Rewards Breakdown: 25 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 25 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 7: PoS [518400-561599] 30 DAYS -PoS Rewards Breakdown: 20 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 20 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 8: PoS [561600-604799] 30 DAYS -PoS Rewards Breakdown: 15 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 15 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase 9: PoS [604800-647999] 30 DAYS -PoS Rewards Breakdown: 10 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 10 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) PoS Phase X: PoS [648000-forever] -PoS Rewards Breakdown: 5 PIVX (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) +PoS Rewards Breakdown: 5 PIV (90% distributed between the MN/Staker based upon the amount of coins held in the masternodes to how many coins are being staked / up to 10% of the block is available to the proposal system) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -DarkNet is a cutting edge crytpocurrency, with many features not available in most other cryptocurrencies. +PIVX is a cutting edge cryptocurrency, with many features not available in most other cryptocurrencies. Anonymized transactions using coin mixing technology, we call it Obfuscation. Fast transactions featuring guaranteed zero confirmation transactions, we call it SwiftTX. Decentralized blockchain voting providing for consensus based advancement of the currency -Masternode technology used to secure the network and provide the above features, each masternode is secured with collateral of 10kPIVX +Masternode technology used to secure the network and provide the above features, each masternode is secured with collateral of 10K PIV diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4 index 83c48f0daaaff..b88f450480514 100644 --- a/build-aux/m4/bitcoin_qt.m4 +++ b/build-aux/m4/bitcoin_qt.m4 @@ -3,7 +3,7 @@ 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; darknet-qt frontend will not be built]) + AC_MSG_WARN([$1; pivx-qt frontend will not be built]) fi bitcoin_enable_qt=no bitcoin_enable_qt_test=no @@ -50,7 +50,7 @@ AC_DEFUN([BITCOIN_QT_INIT],[ dnl enable qt support AC_ARG_WITH([gui], [AS_HELP_STRING([--with-gui@<:@=no|qt4|qt5|auto@:>@], - [build darknet-qt GUI (default=auto, qt5 tried first)])], + [build pivx-qt GUI (default=auto, qt5 tried first)])], [ bitcoin_qt_want_version=$withval if test x$bitcoin_qt_want_version = xyes; then diff --git a/configure.ac b/configure.ac index ff94acfd58a1f..92e2e0a76c91c 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,7 @@ define(_CLIENT_VERSION_REVISION, 3) define(_CLIENT_VERSION_BUILD, 4) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2016) -AC_INIT([Darknet Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[www.darknet-crypto.com],[darknet]) +AC_INIT([Pivx Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[www.pivx.org],[pivx]) AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_HEADERS([src/config/pivx-config.h]) AC_CONFIG_AUX_DIR([build-aux]) @@ -14,9 +14,9 @@ AC_CONFIG_MACRO_DIR([build-aux/m4]) AC_CANONICAL_HOST -AH_TOP([#ifndef PIVX_CONFIG_H]) -AH_TOP([#define PIVX_CONFIG_H]) -AH_BOTTOM([#endif //PIVX_CONFIG_H]) +AH_TOP([#ifndef PIV_CONFIG_H]) +AH_TOP([#define PIV_CONFIG_H]) +AH_BOTTOM([#endif //PIV_CONFIG_H]) dnl faketime breaks configure and is only needed for make. Disable it here. unset FAKETIME @@ -176,7 +176,7 @@ CPPFLAGS="$CPPFLAGS -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_ AC_ARG_WITH([utils], [AS_HELP_STRING([--with-utils], - [build darknet-cli darknet-tx (default=yes)])], + [build pivx-cli pivx-tx (default=yes)])], [build_bitcoin_utils=$withval], [build_bitcoin_utils=yes]) @@ -188,7 +188,7 @@ AC_ARG_WITH([libs], AC_ARG_WITH([daemon], [AS_HELP_STRING([--with-daemon], - [build darknetd daemon (default=yes)])], + [build pivxd daemon (default=yes)])], [build_bitcoind=$withval], [build_bitcoind=yes]) @@ -722,11 +722,11 @@ LIBS="$LIBS_TEMP" BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path) -AC_MSG_CHECKING([whether to build darknetd]) +AC_MSG_CHECKING([whether to build pivxd]) AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes]) AC_MSG_RESULT($build_bitcoind) -AC_MSG_CHECKING([whether to build utils (darknet-cli darknet-tx)]) +AC_MSG_CHECKING([whether to build utils (pivx-cli pivx-tx)]) AM_CONDITIONAL([BUILD_BITCOIN_UTILS], [test x$build_bitcoin_utils = xyes]) AC_MSG_RESULT($build_bitcoin_utils) @@ -826,7 +826,7 @@ if test x$bitcoin_enable_qt != xno; then AC_MSG_WARN("xgettext is required to update qt translations") fi - AC_MSG_CHECKING([whether to build test_darknet-qt]) + AC_MSG_CHECKING([whether to build test_pivx-qt]) if test x$use_tests$bitcoin_enable_qt_test = xyesyes; then AC_MSG_RESULT([yes]) BUILD_TEST_QT="test" @@ -835,7 +835,7 @@ if test x$bitcoin_enable_qt != xno; then fi fi -AC_MSG_CHECKING([whether to build test_darknet]) +AC_MSG_CHECKING([whether to build test_pivx]) if test x$use_tests = xyes; then AC_MSG_RESULT([yes]) BUILD_TEST="test" diff --git a/contrib/debian/README.md b/contrib/debian/README.md index e88d60674d0bb..ec5ead8e73bce 100644 --- a/contrib/debian/README.md +++ b/contrib/debian/README.md @@ -1,21 +1,21 @@ Debian ==================== -This directory contains files used to package darknetd/darknet-qt -for Debian-based Linux systems. If you compile darknetd/darknet-qt yourself, there are some useful files here. +This directory contains files used to package pivxd/pivx-qt +for Debian-based Linux systems. If you compile pivxd/pivx-qt yourself, there are some useful files here. -## darknet: URI support ## +## pivx: URI support ## -darknet-qt.desktop (Gnome / Open Desktop) +pivx-qt.desktop (Gnome / Open Desktop) To install: - sudo desktop-file-install darknet-qt.desktop + sudo desktop-file-install pivx-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 darknet-qt binary to `/usr/bin` -and the `../../share/pixmaps/darknet128.png` to `/usr/share/pixmaps` +the .desktop file or copy or symlink your pivxqt binary to `/usr/bin` +and the `../../share/pixmaps/pivx128.png` to `/usr/share/pixmaps` -darknet-qt.protocol (KDE) +pivx-qt.protocol (KDE) diff --git a/contrib/debian/changelog b/contrib/debian/changelog index 827b8988d6e06..bda5a7ac1b693 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -365,8 +365,8 @@ bitcoin (0.3.19~dfsg-5) unstable; urgency=low bitcoin (0.3.19~dfsg-4) unstable; urgency=low [ Micah Anderson ] - * Provide example darknet.conf. - * Add bitcoind(1) and darknet.conf(5) man pages. + * Provide example pivx.conf. + * Add bitcoind(1) and pivx.conf(5) man pages. [ Jonas Smedegaard ] * Ease backporting: diff --git a/contrib/debian/control b/contrib/debian/control index 061f8aae80cec..1331c5ab455a8 100644 --- a/contrib/debian/control +++ b/contrib/debian/control @@ -1,4 +1,4 @@ -Source: darknet +Source: pivx Section: utils Priority: optional Maintainer: Jonas Smedegaard ***TODO*** @@ -22,15 +22,15 @@ Build-Depends: debhelper, libqrencode-dev, libprotobuf-dev, protobuf-compiler Standards-Version: 3.9.2 -Homepage: http://www.darknet-crypto.com -Vcs-Git: git://github.com/Darknet-Crypto/Darknet.git -Vcs-Browser: http://github.com/Darknet-Crypto/Darknet +Homepage: http://www.pivx.org +Vcs-Git: git://github.com/PIVX-Project/PIVX.git +Vcs-Browser: http://github.com/PIVX-Project/PIVX -Package: darknetd +Package: pivxd Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: peer-to-peer network based digital currency - daemon - Darknet is a free open source peer-to-peer electronic cash system that + Pivx is a free open source peer-to-peer electronic cash system that is completely decentralized, without the need for a central server or trusted parties. Users hold the crypto keys to their own money and transact directly with each other, with the help of a P2P network to @@ -39,14 +39,14 @@ Description: peer-to-peer network based digital currency - daemon Full transaction history is stored locally at each client. This requires 1+ GB of space, slowly growing. . - This package provides the daemon, darknetd, and the CLI tool - darknet-cli to interact with the daemon. + This package provides the daemon, pivxd, and the CLI tool + pivx-cli to interact with the daemon. -Package: darknet-qt +Package: pivx-qt Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: peer-to-peer network based digital currency - Qt GUI - Darknet is a free open source peer-to-peer electronic cash system that + Pivx is a free open source peer-to-peer electronic cash system that is completely decentralized, without the need for a central server or trusted parties. Users hold the crypto keys to their own money and transact directly with each other, with the help of a P2P network to @@ -55,4 +55,4 @@ Description: peer-to-peer network based digital currency - Qt GUI Full transaction history is stored locally at each client. This requires 1+ GB of space, slowly growing. . - This package provides Darknet-Qt, a GUI for Darknet based on Qt. + This package provides Pivx-Qt, a GUI for Pivx based on Qt. diff --git a/contrib/debian/darknet-qt.desktop b/contrib/debian/darknet-qt.desktop deleted file mode 100644 index 9a1395f295cc9..0000000000000 --- a/contrib/debian/darknet-qt.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Darknet -Comment=Darknet P2P Cryptocurrency -Comment[fr]=Darknet, monnaie virtuelle cryptographique pair à pair -Comment[tr]=Darknet, eşten eşe kriptografik sanal para birimi -Exec=darknet-qt %u -Terminal=false -Type=Application -Icon=darknet128 -MimeType=x-scheme-handler/darknet; -Categories=Office;Finance; diff --git a/contrib/debian/darknetd.bash-completion b/contrib/debian/darknetd.bash-completion deleted file mode 100644 index 33d4d68db4ac0..0000000000000 --- a/contrib/debian/darknetd.bash-completion +++ /dev/null @@ -1 +0,0 @@ -contrib/darknetd.bash-completion darknetd diff --git a/contrib/debian/darknetd.examples b/contrib/debian/darknetd.examples deleted file mode 100644 index 0812bd78ddec6..0000000000000 --- a/contrib/debian/darknetd.examples +++ /dev/null @@ -1 +0,0 @@ -debian/examples/darknet.conf diff --git a/contrib/debian/darknetd.install b/contrib/debian/darknetd.install deleted file mode 100644 index d4ecfba532f2e..0000000000000 --- a/contrib/debian/darknetd.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/local/bin/darknetd usr/bin -usr/local/bin/darknet-cli usr/bin diff --git a/contrib/debian/darknetd.manpages b/contrib/debian/darknetd.manpages deleted file mode 100644 index b34d96245b9cd..0000000000000 --- a/contrib/debian/darknetd.manpages +++ /dev/null @@ -1,2 +0,0 @@ -debian/manpages/darknetd.1 -debian/manpages/darknet.conf.5 diff --git a/contrib/debian/examples/darknet.conf b/contrib/debian/examples/pivx.conf similarity index 83% rename from contrib/debian/examples/darknet.conf rename to contrib/debian/examples/pivx.conf index 07ee5d2923a0e..5be844381e02f 100644 --- a/contrib/debian/examples/darknet.conf +++ b/contrib/debian/examples/pivx.conf @@ -1,10 +1,10 @@ ## -## darknet.conf configuration file. Lines beginning with # are comments. +## pivx.conf configuration file. Lines beginning with # are comments. ## # Network-related settings: -# Run on the test network instead of the real darknet network. +# Run on the test network instead of the real pivx network. #testnet=0 # Run a regression test network @@ -51,17 +51,17 @@ #maxconnections= # -# JSON-RPC options (for controlling a running Darknet/darknetd process) +# JSON-RPC options (for controlling a running Pivx/pivxd process) # -# server=1 tells Darknet-QT and darknetd to accept JSON-RPC commands +# server=1 tells Pivx-QT and pivxd to accept JSON-RPC commands #server=0 # You must set rpcuser and rpcpassword to secure the JSON-RPC api #rpcuser=Ulysseys #rpcpassword=YourSuperGreatPasswordNumber_DO_NOT_USE_THIS_OR_YOU_WILL_GET_ROBBED_385593 -# How many seconds darknet will wait for a complete RPC HTTP request. +# How many seconds pivx will wait for a complete RPC HTTP request. # after the HTTP connection is established. #rpctimeout=30 @@ -72,8 +72,8 @@ # NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED, # because the rpcpassword is transmitted over the network unencrypted. -# server=1 tells Darknet-QT to accept JSON-RPC commands. -# it is also read by darknetd to determine if RPC should be enabled +# server=1 tells Pivx-QT to accept JSON-RPC commands. +# it is also read by pivxd to determine if RPC should be enabled #rpcallowip=10.1.1.34/255.255.255.0 #rpcallowip=1.2.3.4/24 #rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96 @@ -81,12 +81,12 @@ # Listen for RPC connections on this TCP port: #rpcport=51473 -# You can use Darknet or darknetd to send commands to Darknet/darknetd +# You can use Pivx or pivxd to send commands to Pivx/pivxd # running on another host using this option: #rpcconnect=127.0.0.1 # Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate -# with Darknet -server or darknetd +# with Pivx -server or pivxd #rpcssl=1 # OpenSSL settings used when rpcssl=1 @@ -101,14 +101,14 @@ # both prior transactions and several dozen future transactions. #keypool=100 -# Pay an optional transaction fee every time you send darknets. Transactions with fees +# Pay an optional transaction fee every time you send PIVs. Transactions with fees # are more likely than free transactions to be included in generated blocks, so may # be validated sooner. #paytxfee=0.00 # User interface options -# Start Darknet minimized +# Start Pivx minimized #min=1 # Minimize to the system tray diff --git a/contrib/debian/manpages/dash-qt.1 b/contrib/debian/manpages/pivx-qt.1 similarity index 95% rename from contrib/debian/manpages/dash-qt.1 rename to contrib/debian/manpages/pivx-qt.1 index 1be6c593751ca..7a739e0e13f3f 100644 --- a/contrib/debian/manpages/dash-qt.1 +++ b/contrib/debian/manpages/pivx-qt.1 @@ -1,20 +1,20 @@ -.TH PIVX-QT "1" "March 2016" "darknet-qt 1" +.TH PIV-QT "1" "March 2016" "pivx-qt 1" .SH NAME -darknet-qt \- peer-to-peer network based digital currency +pivx-qt \- peer-to-peer network based digital currency .SH DESCRIPTION .SS "Usage:" .IP -darknet\-qt [command\-line options] +pivx\-qt [command\-line options] .SH OPTIONS .TP \-? This help message .TP \fB\-conf=\fR -Specify configuration file (default: darknet.conf) +Specify configuration file (default: pivx.conf) .TP \fB\-pid=\fR -Specify pid file (default: darknetd.pid) +Specify pid file (default: pivxd.pid) .TP \fB\-gen\fR Generate coins diff --git a/contrib/debian/manpages/darknet.conf.5 b/contrib/debian/manpages/pivx.conf.5 similarity index 71% rename from contrib/debian/manpages/darknet.conf.5 rename to contrib/debian/manpages/pivx.conf.5 index 0266115ea7c2f..8bb69b70b8f64 100644 --- a/contrib/debian/manpages/darknet.conf.5 +++ b/contrib/debian/manpages/pivx.conf.5 @@ -1,19 +1,19 @@ -.TH PIVX.CONF "5" "January 2011" "darknet.conf 3.19" +.TH PIV.CONF "5" "January 2011" "pivx.conf 3.19" .SH NAME -darknet.conf \- darknet configuration file +pivx.conf \- pivx configuration file .SH SYNOPSIS All command-line options (except for '\-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file. .TP The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character. .TP -The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, darknetd(1) will look for a file named darknet.conf(5) in the darknet data directory, but both the data directory and the configuration file path may be changed using the '\-datadir' and '\-conf' command-line arguments. +The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, pivxd(1) will look for a file named pivx.conf(5) in the pivx data directory, but both the data directory and the configuration file path may be changed using the '\-datadir' and '\-conf' command-line arguments. .SH LOCATION -darknet.conf should be located in $HOME/.darknet +pivx.conf should be located in $HOME/.pivx .SH NETWORK-RELATED SETTINGS .TP .TP \fBtestnet=\fR[\fI'1'\fR|\fI'0'\fR] -Enable or disable run on the test network instead of the real *darknet* network. +Enable or disable run on the test network instead of the real *pivx* network. .TP \fBproxy=\fR\fI'127.0.0.1:9050'\fR Connect via a socks4 proxy. @@ -29,7 +29,7 @@ Maximum number of inbound+outbound connections. .SH JSON-RPC OPTIONS .TP \fBserver=\fR[\fI'1'\fR|\fI'0'\fR] -Tells *darknet* to accept or not accept JSON-RPC commands. +Tells *pivx* to accept or not accept JSON-RPC commands. .TP \fBrpcuser=\fR\fI'username'\fR You must set *rpcuser* to secure the JSON-RPC api. @@ -44,10 +44,10 @@ By default, only RPC connections from localhost are allowed. Specify as many *rp Listen for RPC connections on this TCP port. .TP \fBrpcconnect=\fR\fI'127.0.0.1'\fR -You can use *darknet* or *darknetd(1)* to send commands to *darknet*/*darknetd(1)* running on another host using this option. +You can use *pivx* or *pivxd(1)* to send commands to *pivx*/*pivxd(1)* running on another host using this option. .TP \fBrpcssl=\fR\fI'1'\fR -Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate with *darknet* '\-server' or *darknetd(1)*. Example of OpenSSL settings used when *rpcssl*='1': +Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate with *pivx* '\-server' or *pivxd(1)*. Example of OpenSSL settings used when *rpcssl*='1': .TP \fB\-rpcsslciphers=\fR Acceptable ciphers (default: TLSv1+HIGH:\:!SSLv2:\:!aNULL:\:!eNULL:\:!AH:\:!3DES:\:@STRENGTH) @@ -59,16 +59,16 @@ Acceptable ciphers (default: TLSv1+HIGH:\:!SSLv2:\:!aNULL:\:!eNULL:\:!AH:\:!3DES .SH MISCELLANEOUS OPTIONS .TP \fBgen=\fR[\fI'0'\fR|\fI'1'\fR] -Enable or disable attempt to generate darknets. +Enable or disable attempt to generate PIVs. .TP \fB4way=\fR[\fI'0'\fR|\fI'1'\fR] -Enable or disable use SSE instructions to try to generate darknets faster. +Enable or disable use SSE instructions to try to generate PIVs faster. .TP \fBkeypool=\fR\fI'100'\fR Pre-generate this many public/private key pairs, so wallet backups will be valid for both prior transactions and several dozen future transactions. .TP \fBpaytxfee=\fR\fI'0.00'\fR -Pay an optional transaction fee every time you send darknets. Transactions with fees are more likely than free transactions to be included in generated blocks, so may be validated sooner. +Pay an optional transaction fee every time you send PIVs. Transactions with fees are more likely than free transactions to be included in generated blocks, so may be validated sooner. .TP \fBallowreceivebyip=\fR\fI'1'\fR Allow direct connections for the 'pay via IP address' feature. @@ -76,12 +76,12 @@ Allow direct connections for the 'pay via IP address' feature. .SH USER INTERFACE OPTIONS .TP \fBmin=\fR[\fI'0'\fR|\fI'1'\fR] -Enable or disable start darknetd minimized. +Enable or disable start pivxd minimized. .TP \fBminimizetotray=\fR[\fI'0'\fR|\fI'1'\fR] Enable or disable minimize to the system tray. .SH "SEE ALSO" -darknetd(1) +pivxd(1) .SH AUTHOR This manual page was written by Micah Anderson for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation. diff --git a/contrib/debian/manpages/darknetd.1 b/contrib/debian/manpages/pivxd.1 similarity index 71% rename from contrib/debian/manpages/darknetd.1 rename to contrib/debian/manpages/pivxd.1 index 77f1074295c6e..3d2f340c47220 100644 --- a/contrib/debian/manpages/darknetd.1 +++ b/contrib/debian/manpages/pivxd.1 @@ -1,19 +1,19 @@ -.TH PIVXD "1" "January 2016" "darknetd 2.1.3.4" +.TH PIVD "1" "January 2016" "pivxd 2.1.3.4" .SH NAME -Darknet \- peer-to-peer network based digital currency +Pivx \- peer-to-peer network based digital currency .SH SYNOPSIS -darknetd [options] [params] +pivxd [options] [params] .TP -darknetd [options] help \- Get help for a command +pivxd [options] help \- Get help for a command .SH DESCRIPTION -This manual page documents the darknetd program. Darknet is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages: +This manual page documents the pivxd program. Pivx is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages: -Darknet can be sent easily through the Internet, without having to trust middlemen. Transactions are designed to be irreversible. Be safe from instability caused by fractional reserve banking and central banks. The limited inflation of the Darknet system’s money supply is distributed evenly (by CPU power) throughout the network, not monopolized by banks. +Pivx can be sent easily through the Internet, without having to trust middlemen. Transactions are designed to be irreversible. Be safe from instability caused by fractional reserve banking and central banks. The limited inflation of the Pivx system’s money supply is distributed evenly (by CPU power) throughout the network, not monopolized by banks. .SH OPTIONS .TP \fB\-conf=\fR -Specify configuration file (default: darknet.conf) +Specify configuration file (default: pivx.conf) .TP \fB\-gen\fR Generate coins @@ -84,14 +84,14 @@ This help message \fBbackupwallet 'destination'\fR Safely copies *wallet.dat* to 'destination', which can be a directory or a path with filename. .TP -\fBgetaccount 'darknetaddress'\fR +\fBgetaccount 'pivxaddress'\fR Returns the account associated with the given address. .TP -\fBsetaccount 'darknetaddress' ['account']\fR +\fBsetaccount 'pivxaddress' ['account']\fR Sets the ['account'] associated with the given address. ['account'] may be omitted to remove an address from ['account']. .TP \fBgetaccountaddress 'account'\fR -Returns a new darknet address for 'account'. +Returns a new pivx address for 'account'. .TP \fBgetaddressesbyaccount 'account'\fR Returns the list of addresses associated with the given 'account'. @@ -112,7 +112,7 @@ Returns the number of connections to other nodes. Returns the proof-of-work difficulty as a multiple of the minimum difficulty. .TP \fBgetgenerate\fR -Returns boolean true if server is trying to generate PIVX, false otherwise. +Returns boolean true if server is trying to generate PIV, false otherwise. .TP \fBsetgenerate 'generate' ['genproclimit']\fR Generation is limited to ['genproclimit'] processors, \-1 is unlimited. @@ -124,13 +124,13 @@ Returns a recent hashes per second performance measurement while generating. Returns an object containing server information. .TP \fBgetnewaddress 'account'\fR -Returns a new darknet address for receiving payments. If 'account' is specified (recommended), it is added to the address book so payments received with the address will be credited to 'account'. +Returns a new pivx address for receiving payments. If 'account' is specified (recommended), it is added to the address book so payments received with the address will be credited to 'account'. .TP \fBgetreceivedbyaccount 'account' ['minconf=1']\fR Returns the total amount received by addresses associated with 'account' in transactions with at least ['minconf'] confirmations. .TP -\fBgetreceivedbyaddress 'darknetaddress' ['minconf=1']\fR -Returns the total amount received by 'darknetaddress' in transactions with at least ['minconf'] confirmations. +\fBgetreceivedbyaddress 'pivxaddress' ['minconf=1']\fR +Returns the total amount received by 'pivxaddress' in transactions with at least ['minconf'] confirmations. .TP \fBgettransaction 'txid'\fR Returns information about a specific transaction, given hexadecimal transaction ID. @@ -148,7 +148,7 @@ List commands, or get help for a command. .TP \fBlistaccounts ['minconf=1']\fR List accounts and their current balances. - *note: requires darknet 1.0.2.1 or later. + *note: requires pivx 1.0.2.1 or later. .TP \fBlistreceivedbyaccount ['minconf=1'] ['includeempty=false']\fR ['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing: @@ -177,31 +177,31 @@ Returns a list of the last ['count'] transactions for 'account' \- for all accou "message" : message associated with transaction (only for send). "to" : message-to associated with transaction (only for send). - *note: requires darknet 1.0.2.1 or later. + *note: requires pivx 1.0.2.1 or later. .TP \fBmove <'fromaccount'> <'toaccount'> <'amount'> ['minconf=1'] ['comment']\fR Moves funds between accounts. .TP -\fBsendfrom* <'account'> <'darknetaddress'> <'amount'> ['minconf=1'] ['comment'] ['comment-to']\fR -Sends amount from account's balance to 'darknetaddress'. This method will fail if there is less than amount PIVX with ['minconf'] confirmations in the account's balance (unless account is the empty-string-named default account; it behaves like the *sendtoaddress* method). Returns transaction ID on success. +\fBsendfrom* <'account'> <'pivxaddress'> <'amount'> ['minconf=1'] ['comment'] ['comment-to']\fR +Sends amount from account's balance to 'pivxaddress'. This method will fail if there is less than amount PIV with ['minconf'] confirmations in the account's balance (unless account is the empty-string-named default account; it behaves like the *sendtoaddress* method). Returns transaction ID on success. .TP -\fBsendtoaddress 'darknetaddress' 'amount' ['comment'] ['comment-to']\fR -Sends amount from the server's available balance to 'darknetaddress'. amount is a real and is rounded to the nearest 0.01. Returns transaction id on success. +\fBsendtoaddress 'pivxaddress' 'amount' ['comment'] ['comment-to']\fR +Sends amount from the server's available balance to 'pivxaddress'. amount is a real and is rounded to the nearest 0.01. Returns transaction id on success. .TP \fBstop\fR -Stops the darknet server. +Stops the pivx server. .TP -\fBvalidateaddress 'darknetaddress'\fR -Checks that 'darknetaddress' looks like a proper Darknet address. Returns an object containing: +\fBvalidateaddress 'pivxaddress'\fR +Checks that 'pivxaddress' looks like a proper Pivx address. Returns an object containing: "isvalid" : true or false. "ismine" : true if the address is in the server's wallet. - "address" : darknetaddress. + "address" : pivxaddress. *note: ismine and address are only returned if the address is valid. .SH "SEE ALSO" -darknet.conf(5) +pivx.conf(5) .SH AUTHOR This manual page was written by Micah Anderson for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation. diff --git a/contrib/debian/pivx-qt.desktop b/contrib/debian/pivx-qt.desktop new file mode 100644 index 0000000000000..d8a79ff322687 --- /dev/null +++ b/contrib/debian/pivx-qt.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Pivx +Comment=Pivx P2P Cryptocurrency +Comment[fr]=Pivx, monnaie virtuelle cryptographique pair à pair +Comment[tr]=Pivx, eşten eşe kriptografik sanal para birimi +Exec=pivx-qt %u +Terminal=false +Type=Application +Icon=pivx128 +MimeType=x-scheme-handler/pivx; +Categories=Office;Finance; diff --git a/contrib/debian/darknet-qt.install b/contrib/debian/pivx-qt.install similarity index 50% rename from contrib/debian/darknet-qt.install rename to contrib/debian/pivx-qt.install index cb67697d8dbd9..bab1b53f2fa05 100644 --- a/contrib/debian/darknet-qt.install +++ b/contrib/debian/pivx-qt.install @@ -1,6 +1,6 @@ -usr/local/bin/darknet-qt usr/bin +usr/local/bin/pivx-qt usr/bin share/pixmaps/bitcoin32.xpm usr/share/pixmaps share/pixmaps/bitcoin16.xpm usr/share/pixmaps share/pixmaps/bitcoin128.png usr/share/pixmaps -debian/darknet-qt.desktop usr/share/applications -debian/darknet-qt.protocol usr/share/kde4/services/ +debian/pivx-qt.desktop usr/share/applications +debian/pivx-qt.protocol usr/share/kde4/services/ diff --git a/contrib/debian/darknetd.lintian-overrides b/contrib/debian/pivx-qt.lintian-overrides similarity index 54% rename from contrib/debian/darknetd.lintian-overrides rename to contrib/debian/pivx-qt.lintian-overrides index d4f3dafbe5684..ce88a1cb25dcb 100644 --- a/contrib/debian/darknetd.lintian-overrides +++ b/contrib/debian/pivx-qt.lintian-overrides @@ -1,2 +1,2 @@ # Linked code is Expat - only Debian packaging is GPL-2+ -darknetd: possible-gpl-code-linked-with-openssl +pivx-qt: possible-gpl-code-linked-with-openssl diff --git a/contrib/debian/darknet-qt.protocol b/contrib/debian/pivx-qt.protocol similarity index 74% rename from contrib/debian/darknet-qt.protocol rename to contrib/debian/pivx-qt.protocol index a847a9b8196c8..e3d85451af349 100644 --- a/contrib/debian/darknet-qt.protocol +++ b/contrib/debian/pivx-qt.protocol @@ -1,6 +1,6 @@ [Protocol] -exec=darknet-qt '%u' -protocol=darknet +exec=pivx-qt '%u' +protocol=pivx input=none output=none helper=true diff --git a/contrib/debian/pivxd.bash-completion b/contrib/debian/pivxd.bash-completion new file mode 100644 index 0000000000000..3a6a6452074fc --- /dev/null +++ b/contrib/debian/pivxd.bash-completion @@ -0,0 +1 @@ +contrib/pivxd.bash-completion pivxd diff --git a/contrib/debian/pivxd.examples b/contrib/debian/pivxd.examples new file mode 100644 index 0000000000000..8b1d527272c0b --- /dev/null +++ b/contrib/debian/pivxd.examples @@ -0,0 +1 @@ +debian/examples/pivx.conf diff --git a/contrib/debian/pivxd.install b/contrib/debian/pivxd.install new file mode 100644 index 0000000000000..c2985ac530b82 --- /dev/null +++ b/contrib/debian/pivxd.install @@ -0,0 +1,2 @@ +usr/local/bin/pivxd usr/bin +usr/local/bin/pivx-cli usr/bin diff --git a/contrib/debian/darknet-qt.lintian-overrides b/contrib/debian/pivxd.lintian-overrides similarity index 53% rename from contrib/debian/darknet-qt.lintian-overrides rename to contrib/debian/pivxd.lintian-overrides index 8a93bdfb31371..a02eaed3fcca0 100644 --- a/contrib/debian/darknet-qt.lintian-overrides +++ b/contrib/debian/pivxd.lintian-overrides @@ -1,2 +1,2 @@ # Linked code is Expat - only Debian packaging is GPL-2+ -darknet-qt: possible-gpl-code-linked-with-openssl +pivxd: possible-gpl-code-linked-with-openssl diff --git a/contrib/debian/pivxd.manpages b/contrib/debian/pivxd.manpages new file mode 100644 index 0000000000000..dd796ba06ca79 --- /dev/null +++ b/contrib/debian/pivxd.manpages @@ -0,0 +1,2 @@ +debian/manpages/pivxd.1 +debian/manpages/pivx.conf.5 diff --git a/contrib/debian/rules b/contrib/debian/rules index 9c2c7961ae1d8..4819fc38c8cbe 100755 --- a/contrib/debian/rules +++ b/contrib/debian/rules @@ -1,9 +1,9 @@ #!/usr/bin/make -f # -*- mode: makefile; coding: utf-8 -*- -#DEB_MAKE_CHECK_TARGET = test_darknet +#DEB_MAKE_CHECK_TARGET = test_pivx #build/bitcoind:: -# $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_darknet) +# $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_pivx) DEB_INSTALL_EXAMPLES_bitcoind += debian/examples/* DEB_INSTALL_MANPAGES_bitcoind += debian/manpages/* diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md index 3228cae293d2d..6d50b2e1e1359 100644 --- a/contrib/devtools/README.md +++ b/contrib/devtools/README.md @@ -64,10 +64,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_darknet: symbol memcpy from unsupported version GLIBC_2.14 - .../64/test_darknet: symbol __fdelt_chk from unsupported version GLIBC_2.15 - .../64/test_darknet: symbol std::out_of_range::~out_of_range() from unsupported version GLIBCXX_3.4.15 - .../64/test_darknet: symbol _ZNSt8__detail15_List_nod from unsupported version GLIBCXX_3.4.15 + .../64/test_pivx: symbol memcpy from unsupported version GLIBC_2.14 + .../64/test_pivx: symbol __fdelt_chk from unsupported version GLIBC_2.15 + .../64/test_pivx: symbol std::out_of_range::~out_of_range() from unsupported version GLIBCXX_3.4.15 + .../64/test_pivx: symbol _ZNSt8__detail15_List_nod from unsupported version GLIBCXX_3.4.15 update-translations.py ======================= diff --git a/contrib/devtools/update-translations.py b/contrib/devtools/update-translations.py index 7b907269a0cfb..a04da3a3e3e20 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 = 'darknet_en.ts' +SOURCE_LANG = 'pivx_en.ts' # Directory with locale files LOCALE_DIR = 'src/qt/locale' diff --git a/contrib/gitian-descriptors/README.md b/contrib/gitian-descriptors/README.md index 95cebafb971a4..fad14f357943c 100644 --- a/contrib/gitian-descriptors/README.md +++ b/contrib/gitian-descriptors/README.md @@ -20,7 +20,7 @@ Sanity checks: Once you've got the right hardware and software: - git clone git://github.com/darknet-crypto/darknet.git + git clone git://github.com/pivx-project/pivx.git git clone git://github.com/devrandom/gitian-builder.git mkdir gitian-builder/inputs cd gitian-builder/inputs @@ -62,5 +62,5 @@ Here's a description of Gavin's setup on OSX 10.6: 5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right hardware and software" instructions above: export USE_LXC=1 - git clone git://github.com/darknet-crypto/darknet.git + git clone git://github.com/pivx-project/pivx.git ... etc diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index 5fd182afcff81..a3e4ef2062044 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "darknet-linux-2.1.3.4" +name: "pivx-linux-2.1.3.4" enable_cache: true suites: - "trusty" @@ -29,8 +29,8 @@ packages: - "python" reference_datetime: "2015-06-01 00:00:00" remotes: -- "url": "https://github.com/darknet-crypto/darknet.git" - "dir": "darknet" +- "url": "https://github.com/pivx-project/pivx.git" + "dir": "pivx" files: [] script: | @@ -114,7 +114,7 @@ script: | chmod +x ${WRAP_DIR}/${prog} done - cd darknet + cd pivx BASEPREFIX=`pwd`/depends # Build dependencies for each host for i in $HOSTS; do @@ -136,13 +136,13 @@ script: | ./autogen.sh CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/ make dist - SOURCEDIST=`echo darknet-*.tar.gz` + SOURCEDIST=`echo pivx-*.tar.gz` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` # Correct tar file order mkdir -p temp pushd temp tar xf ../$SOURCEDIST - find darknet-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + find pivx-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST popd ORIGPATH="$PATH" diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml index 462afadb454c0..d0a815a8b2da6 100644 --- a/contrib/gitian-descriptors/gitian-osx-signer.yml +++ b/contrib/gitian-descriptors/gitian-osx-signer.yml @@ -1,5 +1,5 @@ --- -name: "darknet-dmg-signer" +name: "pivx-dmg-signer" suites: - "trusty" architectures: @@ -7,10 +7,10 @@ architectures: packages: - "faketime" remotes: -- "url": "https://github.com/darknet-crypto/darknet-detached-sigs.git" +- "url": "https://github.com/pivx-project/pivx-detached-sigs.git" "dir": "signature" files: -- "darknet-osx-unsigned.tar.gz" +- "pivx-osx-unsigned.tar.gz" script: | WRAP_DIR=$HOME/wrapped mkdir -p ${WRAP_DIR} @@ -27,11 +27,11 @@ script: | chmod +x ${WRAP_DIR}/${prog} done - UNSIGNED=darknet-osx-unsigned.tar.gz - SIGNED=darknet-osx-signed.dmg + UNSIGNED=pivx-osx-unsigned.tar.gz + SIGNED=pivx-osx-signed.dmg tar -xf ${UNSIGNED} OSX_VOLNAME="$(cat osx_volname)" ./detached-sig-apply.sh ${UNSIGNED} signature/osx - ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Darknet-Qt" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app + ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Pivx-Qt" -no-pad -r -dir-mode 0755 -apple -o uncompressed.dmg signed-app ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED} diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index 439c4d10a00c0..c6b31f1d83ee1 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -1,5 +1,5 @@ --- -name: "darknet-osx-2.1.3.4" +name: "pivx-osx-2.1.3.4" enable_cache: true suites: - "trusty" @@ -28,8 +28,8 @@ packages: - "python-setuptools" - "fonts-tuffy" remotes: -- "url": "https://github.com/darknet-crypto/darknet.git" - "dir": "darknet" +- "url": "https://github.com/pivx-project/pivx.git" + "dir": "pivx" files: - "MacOSX10.11.sdk.tar.gz" script: | @@ -83,7 +83,7 @@ script: | create_per-host_faketime_wrappers "2000-01-01 12:00:00" export PATH=${WRAP_DIR}:${PATH} - cd darknet + cd pivx BASEPREFIX=`pwd`/depends mkdir -p ${BASEPREFIX}/SDKs @@ -104,14 +104,14 @@ script: | ./autogen.sh CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/ make dist - SOURCEDIST=`echo darknet-*.tar.gz` + SOURCEDIST=`echo pivx-*.tar.gz` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` # Correct tar file order mkdir -p temp pushd temp tar xf ../$SOURCEDIST - find darknet-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + find pivx-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST popd ORIGPATH="$PATH" @@ -144,7 +144,7 @@ script: | popd make deploy - ${WRAP_DIR}/dmg dmg DarkNet-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg + ${WRAP_DIR}/dmg dmg PIVX-Core.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg cd installed find . -name "lib*.la" -delete diff --git a/contrib/gitian-descriptors/gitian-rpi2.yml b/contrib/gitian-descriptors/gitian-rpi2.yml index d831306a57351..9ffd78c9f733c 100644 --- a/contrib/gitian-descriptors/gitian-rpi2.yml +++ b/contrib/gitian-descriptors/gitian-rpi2.yml @@ -1,5 +1,5 @@ --- -name: "darknet-rpi2-2.1.3.4" +name: "pivx-rpi2-2.1.3.4" enable_cache: true suites: - "trusty" @@ -20,8 +20,8 @@ packages: - "python" reference_datetime: "2015-06-01 00:00:00" remotes: -- "url": "https://github.com/darknet-crypto/darknet.git" - "dir": "darknet" +- "url": "https://github.com/pivx-project/pivx.git" + "dir": "pivx" files: - "raspberrypi-tools.tar.gz" script: | @@ -70,7 +70,7 @@ script: | done export PATH=${WRAP_DIR}:${PATH} - cd darknet + cd pivx BASEPREFIX=`pwd`/depends # Build dependencies for each host for i in $HOSTS; do @@ -81,13 +81,13 @@ script: | ./autogen.sh ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` make NO_QT=1 dist - SOURCEDIST=`echo darknet-*.tar.gz` + SOURCEDIST=`echo pivx-*.tar.gz` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` # Correct tar file order mkdir -p temp pushd temp tar xf ../$SOURCEDIST - find darknet-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + find pivx-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST popd ORIGPATH="$PATH" diff --git a/contrib/gitian-descriptors/gitian-win-signer.yml b/contrib/gitian-descriptors/gitian-win-signer.yml index 72328f2edd635..f6270bf4817ef 100644 --- a/contrib/gitian-descriptors/gitian-win-signer.yml +++ b/contrib/gitian-descriptors/gitian-win-signer.yml @@ -1,5 +1,5 @@ --- -name: "darknet-win-signer" +name: "pivx-win-signer" suites: - "trusty" architectures: @@ -8,12 +8,12 @@ packages: - "libssl-dev" - "autoconf" remotes: -- "url": "https://github.com/darknet-crypto/darknet-detached-sigs.git" +- "url": "https://github.com/pivx-project/pivx-detached-sigs.git" "dir": "signature" files: - "osslsigncode-1.7.1.tar.gz" - "osslsigncode-Backports-to-1.7.1.patch" -- "darknet-win-unsigned.tar.gz" +- "pivx-win-unsigned.tar.gz" script: | BUILD_DIR=`pwd` SIGDIR=${BUILD_DIR}/signature/win @@ -23,7 +23,7 @@ script: | echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911 osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c mkdir -p ${UNSIGNED_DIR} - tar -C ${UNSIGNED_DIR} -xf darknet-win-unsigned.tar.gz + tar -C ${UNSIGNED_DIR} -xf pivx-win-unsigned.tar.gz tar xf osslsigncode-1.7.1.tar.gz cd osslsigncode-1.7.1 diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml index 3180d2951c3e0..634a7318b293f 100644 --- a/contrib/gitian-descriptors/gitian-win.yml +++ b/contrib/gitian-descriptors/gitian-win.yml @@ -1,5 +1,5 @@ --- -name: "darknet-win-2.1.3.4" +name: "pivx-win-2.1.3.4" enable_cache: true suites: - "trusty" @@ -22,8 +22,8 @@ packages: - "ca-certificates" - "python" remotes: -- "url": "https://github.com/darknet-crypto/darknet.git" - "dir": "darknet" +- "url": "https://github.com/pivx-project/pivx.git" + "dir": "pivx" files: [] script: | WRAP_DIR=$HOME/wrapped @@ -101,7 +101,7 @@ script: | create_per-host_linker_wrapper "2000-01-01 12:00:00" export PATH=${WRAP_DIR}:${PATH} - cd darknet + cd pivx BASEPREFIX=`pwd`/depends # Build dependencies for each host for i in $HOSTS; do @@ -119,14 +119,14 @@ script: | ./autogen.sh CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/ make dist - SOURCEDIST=`echo darknet-*.tar.gz` + SOURCEDIST=`echo pivx-*.tar.gz` DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` # Correct tar file order mkdir -p temp pushd temp tar xf ../$SOURCEDIST - find darknet-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + find pivx-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST mkdir -p $OUTDIR/src cp ../$SOURCEDIST $OUTDIR/src popd @@ -145,7 +145,7 @@ script: | make ${MAKEOPTS} make deploy make install DESTDIR=${INSTALLPATH} - cp -f darknet-*setup*.exe $OUTDIR/ + cp -f pivx-*setup*.exe $OUTDIR/ cd installed mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/ find . -name "lib*.la" -delete diff --git a/contrib/init/README.md b/contrib/init/README.md index fa2c15076a94f..898ba943f3297 100644 --- a/contrib/init/README.md +++ b/contrib/init/README.md @@ -1,9 +1,9 @@ Sample configuration files for: -SystemD: darknetd.service -Upstart: darknetd.conf -OpenRC: darknetd.openrc - darknetd.openrcconf +SystemD: pivxd.service +Upstart: pivxd.conf +OpenRC: pivxd.openrc + pivxd.openrcconf have been made available to assist packagers in creating node packages here. diff --git a/contrib/init/darknetd.openrcconf b/contrib/init/darknetd.openrcconf deleted file mode 100644 index 6c2d72851d460..0000000000000 --- a/contrib/init/darknetd.openrcconf +++ /dev/null @@ -1,27 +0,0 @@ -# /etc/conf.d/darknetd: config file for /etc/init.d/darknetd - -# Config file location -#BITCOIND_CONFIGFILE="/etc/darknet/darknet.conf" - -# What directory to write pidfile to? (created and owned by $BITCOIND_USER) -#BITCOIND_PIDDIR="/var/run/darknetd" - -# What filename to give the pidfile -#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/darknetd.pid" - -# Where to write darknetd data (be mindful that the blockchain is large) -#BITCOIND_DATADIR="/var/lib/darknetd" - -# User and group to own darknetd process -#BITCOIND_USER="darknet" -#BITCOIND_GROUP="darknet" - -# Path to darknetd executable -#BITCOIND_BIN="/usr/bin/darknetd" - -# Nice value to run darknetd under -#BITCOIND_NICE=0 - -# Additional options (avoid -conf and -datadir, use flags above) -BITCOIND_OPTS="-disablewallet" - diff --git a/contrib/init/darknetd.service b/contrib/init/darknetd.service deleted file mode 100644 index cac55554aeed4..0000000000000 --- a/contrib/init/darknetd.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=Darknet's distributed currency daemon -After=network.target - -[Service] -User=darknet -Group=darknet - -Type=forking -PIDFile=/var/lib/darknetd/darknetd.pid -ExecStart=/usr/bin/darknetd -daemon -pid=/var/lib/darknetd/darknetd.pid \ --conf=/etc/darknet/darknet.conf -datadir=/var/lib/darknetd -disablewallet - -Restart=always -PrivateTmp=true -TimeoutStopSec=60s -TimeoutStartSec=2s -StartLimitInterval=120s -StartLimitBurst=5 - -[Install] -WantedBy=multi-user.target diff --git a/contrib/init/darknetd.conf b/contrib/init/pivxd.conf similarity index 75% rename from contrib/init/darknetd.conf rename to contrib/init/pivxd.conf index e6ac2c2010c02..107ad2077320d 100644 --- a/contrib/init/darknetd.conf +++ b/contrib/init/pivxd.conf @@ -1,16 +1,16 @@ -description "Darknet Core Daemon" +description "Pivx Core Daemon" start on runlevel [2345] stop on starting rc RUNLEVEL=[016] -env BITCOIND_BIN="/usr/bin/darknetd" -env BITCOIND_USER="darknet" -env BITCOIND_GROUP="darknet" -env BITCOIND_PIDDIR="/var/run/darknetd" +env BITCOIND_BIN="/usr/bin/pivxd" +env BITCOIND_USER="pivx" +env BITCOIND_GROUP="pivx" +env BITCOIND_PIDDIR="/var/run/pivxd" # upstart can't handle variables constructed with other variables -env BITCOIND_PIDFILE="/var/run/darknetd/darknetd.pid" -env BITCOIND_CONFIGFILE="/etc/darknet/darknet.conf" -env BITCOIND_DATADIR="/var/lib/darknetd" +env BITCOIND_PIDFILE="/var/run/pivxd/pivxd.pid" +env BITCOIND_CONFIGFILE="/etc/pivx/pivx.conf" +env BITCOIND_DATADIR="/var/lib/pivxd" expect fork @@ -20,12 +20,12 @@ kill timeout 60 pre-start script # this will catch non-existent config files - # darknetd will check and exit with this very warning, but it can do so + # pivxd will check and exit with this very warning, but it can do so # long after forking, leaving upstart to think everything started fine. # since this is a commonly encountered case on install, just check and # warn here. if ! grep -qs '^rpcpassword=' "$BITCOIND_CONFIGFILE" ; then - echo "ERROR: You must set a secure rpcpassword to run darknetd." + echo "ERROR: You must set a secure rpcpassword to run pivxd." echo "The setting must appear in $BITCOIND_CONFIGFILE" echo echo "This password is security critical to securing wallets " @@ -38,7 +38,7 @@ pre-start script echo "It is also recommended that you also set alertnotify so you are " echo "notified of problems:" echo - echo "ie: alertnotify=echo %%s | mail -s \"Darknet Alert\"" \ + echo "ie: alertnotify=echo %%s | mail -s \"Pivx Alert\"" \ "admin@foo.com" echo exit 1 diff --git a/contrib/init/darknetd.openrc b/contrib/init/pivxd.openrc similarity index 70% rename from contrib/init/darknetd.openrc rename to contrib/init/pivxd.openrc index 8ec04568c9c5e..9049f5ae9613d 100644 --- a/contrib/init/darknetd.openrc +++ b/contrib/init/pivxd.openrc @@ -2,24 +2,24 @@ # backward compatibility for existing gentoo layout # -if [ -d "/var/lib/darknet/.darknet" ]; then - BITCOIND_DEFAULT_DATADIR="/var/lib/darknet/.darknet" +if [ -d "/var/lib/pivx/.pivx" ]; then + BITCOIND_DEFAULT_DATADIR="/var/lib/pivx/.pivx" else - BITCOIND_DEFAULT_DATADIR="/var/lib/darknetd" + BITCOIND_DEFAULT_DATADIR="/var/lib/pivxd" fi -BITCOIND_CONFIGFILE=${BITCOIND_CONFIGFILE:-/etc/darknet/darknet.conf} -BITCOIND_PIDDIR=${BITCOIND_PIDDIR:-/var/run/darknetd} -BITCOIND_PIDFILE=${BITCOIND_PIDFILE:-${BITCOIND_PIDDIR}/darknetd.pid} +BITCOIND_CONFIGFILE=${BITCOIND_CONFIGFILE:-/etc/pivx/pivx.conf} +BITCOIND_PIDDIR=${BITCOIND_PIDDIR:-/var/run/pivxd} +BITCOIND_PIDFILE=${BITCOIND_PIDFILE:-${BITCOIND_PIDDIR}/pivxd.pid} BITCOIND_DATADIR=${BITCOIND_DATADIR:-${BITCOIND_DEFAULT_DATADIR}} -BITCOIND_USER=${BITCOIND_USER:-darknet} -BITCOIND_GROUP=${BITCOIND_GROUP:-darknet} -BITCOIND_BIN=${BITCOIND_BIN:-/usr/bin/darknetd} +BITCOIND_USER=${BITCOIND_USER:-pivx} +BITCOIND_GROUP=${BITCOIND_GROUP:-pivx} +BITCOIND_BIN=${BITCOIND_BIN:-/usr/bin/pivxd} -name="Darknet Core Daemon" -description="Darknet crypto-currency p2p network daemon" +name="Pivx Core Daemon" +description="Pivx crypto-currency p2p network daemon" -command="/usr/bin/darknetd" +command="/usr/bin/pivxd" command_args="-pid=\"${BITCOIND_PIDFILE}\" \ -conf=\"${BITCOIND_CONFIGFILE}\" \ -datadir=\"${BITCOIND_DATADIR}\" \ @@ -65,7 +65,7 @@ checkconfig() { if ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" ; then eerror "" - eerror "ERROR: You must set a secure rpcpassword to run darknetd." + eerror "ERROR: You must set a secure rpcpassword to run pivxd." eerror "The setting must appear in ${BITCOIND_CONFIGFILE}" eerror "" eerror "This password is security critical to securing wallets " @@ -78,7 +78,7 @@ checkconfig() eerror "It is also recommended that you also set alertnotify so you are " eerror "notified of problems:" eerror "" - eerror "ie: alertnotify=echo %%s | mail -s \"Darknet Alert\"" \ + eerror "ie: alertnotify=echo %%s | mail -s \"Pivx Alert\"" \ "admin@foo.com" eerror "" return 1 diff --git a/contrib/init/pivxd.openrcconf b/contrib/init/pivxd.openrcconf new file mode 100644 index 0000000000000..63ea2da5d0538 --- /dev/null +++ b/contrib/init/pivxd.openrcconf @@ -0,0 +1,27 @@ +# /etc/conf.d/pivxd: config file for /etc/init.d/pivxd + +# Config file location +#BITCOIND_CONFIGFILE="/etc/pivx/pivx.conf" + +# What directory to write pidfile to? (created and owned by $BITCOIND_USER) +#BITCOIND_PIDDIR="/var/run/pivxd" + +# What filename to give the pidfile +#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/pivxd.pid" + +# Where to write pivxd data (be mindful that the blockchain is large) +#BITCOIND_DATADIR="/var/lib/pivxd" + +# User and group to own pivxd process +#BITCOIND_USER="pivx" +#BITCOIND_GROUP="pivx" + +# Path to pivxd executable +#BITCOIND_BIN="/usr/bin/pivxd" + +# Nice value to run pivxd under +#BITCOIND_NICE=0 + +# Additional options (avoid -conf and -datadir, use flags above) +BITCOIND_OPTS="-disablewallet" + diff --git a/contrib/init/pivxd.service b/contrib/init/pivxd.service new file mode 100644 index 0000000000000..aa64e66672979 --- /dev/null +++ b/contrib/init/pivxd.service @@ -0,0 +1,22 @@ +[Unit] +Description=Pivx's distributed currency daemon +After=network.target + +[Service] +User=pivx +Group=pivx + +Type=forking +PIDFile=/var/lib/pivxd/pivxd.pid +ExecStart=/usr/bin/pivxd -daemon -pid=/var/lib/pivxd/pivxd.pid \ +-conf=/etc/pivx/pivx.conf -datadir=/var/lib/pivxd -disablewallet + +Restart=always +PrivateTmp=true +TimeoutStopSec=60s +TimeoutStartSec=2s +StartLimitInterval=120s +StartLimitBurst=5 + +[Install] +WantedBy=multi-user.target diff --git a/contrib/macdeploy/README.md b/contrib/macdeploy/README.md index bce38b2c9e3e2..0a99cab8d9da6 100644 --- a/contrib/macdeploy/README.md +++ b/contrib/macdeploy/README.md @@ -11,5 +11,5 @@ This script should not be run manually, instead, after building as usual: During the process, the disk image window will pop up briefly where the fancy settings are applied. This is normal, please do not interfere. -When finished, it will produce `Darknet-Qt.dmg`. +When finished, it will produce `Pivx-Qt.dmg`. diff --git a/contrib/macdeploy/detached-sig-apply.sh b/contrib/macdeploy/detached-sig-apply.sh index e382d17e2d9da..4433a91b1bd9d 100755 --- a/contrib/macdeploy/detached-sig-apply.sh +++ b/contrib/macdeploy/detached-sig-apply.sh @@ -5,7 +5,7 @@ UNSIGNED=$1 SIGNATURE=$2 ARCH=x86_64 ROOTDIR=dist -BUNDLE=${ROOTDIR}/Darknet-Qt.app +BUNDLE=${ROOTDIR}/Pivx-Qt.app TEMPDIR=signed.temp OUTDIR=signed-app diff --git a/contrib/macdeploy/detached-sig-create.sh b/contrib/macdeploy/detached-sig-create.sh index 2f30c21d6d939..63bb3e9871f19 100755 --- a/contrib/macdeploy/detached-sig-create.sh +++ b/contrib/macdeploy/detached-sig-create.sh @@ -2,7 +2,7 @@ set -e ROOTDIR=dist -BUNDLE=${ROOTDIR}/Darknet-Qt.app +BUNDLE=${ROOTDIR}/Pivx-Qt.app CODESIGN=codesign TEMPDIR=sign.temp TEMPLIST=${TEMPDIR}/signatures.txt diff --git a/contrib/macdeploy/fancy.plist b/contrib/macdeploy/fancy.plist index f3827ad95dfbc..a514901e66e06 100644 --- a/contrib/macdeploy/fancy.plist +++ b/contrib/macdeploy/fancy.plist @@ -22,7 +22,7 @@ 370 156 - Darknet-Qt.app + Pivx-Qt.app 128 156 diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus index b084cc9827548..10a2019f70c62 100755 --- a/contrib/macdeploy/macdeployqtplus +++ b/contrib/macdeploy/macdeployqtplus @@ -836,7 +836,7 @@ if config.dmg is not None: items_positions.append(itemscript.substitute(params)) params = { - "disk" : "Darknet-Qt", + "disk" : "Pivx-Qt", "window_bounds" : "300,300,800,620", "icon_size" : "96", "background_commands" : "", diff --git a/contrib/darknet-qt.pro b/contrib/pivx-qt.pro similarity index 95% rename from contrib/darknet-qt.pro rename to contrib/pivx-qt.pro index 76f2434d890cc..f47bc105769aa 100644 --- a/contrib/darknet-qt.pro +++ b/contrib/pivx-qt.pro @@ -333,7 +333,7 @@ HEADERS += src/activemasternode.h \ src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h \ src/crypto/aes_helper.c \ src/qt/bitcoinamountfield.moc \ - src/qt/darknet.moc \ + src/qt/pivx.moc \ src/qt/intro.moc \ src/qt/overviewpage.moc \ src/qt/rpcconsole.moc \ @@ -374,9 +374,9 @@ SOURCES += src/activemasternode.cpp \ src/crypter.cpp \ src/obfuscation-relay.cpp \ src/obfuscation.cpp \ - src/darknet-cli.cpp \ - src/darknet-tx.cpp \ - src/darknetd.cpp \ + src/pivx-cli.cpp \ + src/pivx-tx.cpp \ + src/pivx.cpp \ src/db.cpp \ src/eccryptoverify.cpp \ src/ecwrapper.cpp \ @@ -471,8 +471,8 @@ SOURCES += src/activemasternode.cpp \ src/qt/coincontroltreewidget.cpp \ src/qt/csvmodelwriter.cpp \ src/qt/obfuscationconfig.cpp \ - src/qt/darknet.cpp \ - src/qt/darknetstrings.cpp \ + src/qt/pivx.cpp \ + src/qt/pivxstrings.cpp \ src/qt/editaddressdialog.cpp \ src/qt/guiutil.cpp \ src/qt/intro.cpp \ @@ -550,7 +550,7 @@ SOURCES += src/activemasternode.cpp \ src/test/sighash_tests.cpp \ src/test/sigopcount_tests.cpp \ src/test/skiplist_tests.cpp \ - src/test/test_darknet.cpp \ + src/test/test_pivx.cpp \ src/test/timedata_tests.cpp \ src/test/transaction_tests.cpp \ src/test/uint256_tests.cpp \ @@ -641,21 +641,21 @@ SOURCES += src/activemasternode.cpp \ src/leveldb/helpers/memenv/memenv.cc \ src/leveldb/helpers/memenv/memenv_test.cc \ src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c -RESOURCES += src/qt/darknet.qrc src/qt/darknet_locale.qrc +RESOURCES += src/qt/pivx.qrc src/qt/pivx_locale.qrc -TRANSLATIONS += src/qt/locale/darknet_bg.ts \ - src/qt/locale/darknet_de.ts \ - src/qt/locale/darknet_en.ts \ - src/qt/locale/darknet_es.ts \ - src/qt/locale/darknet_fi.ts \ - src/qt/locale/darknet_fr.ts \ - src/qt/locale/darknet_it.ts \ - src/qt/locale/darknet_ja.ts \ - src/qt/locale/darknet_pl.ts \ - src/qt/locale/darknet_pt.ts \ - src/qt/locale/darknet_ru.ts \ - src/qt/locale/darknet_sk.ts \ - src/qt/locale/darknet_sv.ts \ - src/qt/locale/darknet_vi.ts \ - src/qt/locale/darknet_zh_CN.ts \ - src/qt/locale/darknet_zh_TW.ts +TRANSLATIONS += src/qt/locale/pivx_bg.ts \ + src/qt/locale/pivx_de.ts \ + src/qt/locale/pivx_en.ts \ + src/qt/locale/pivx_es.ts \ + src/qt/locale/pivx_fi.ts \ + src/qt/locale/pivx_fr.ts \ + src/qt/locale/pivx_it.ts \ + src/qt/locale/pivx_ja.ts \ + src/qt/locale/pivx_pl.ts \ + src/qt/locale/pivx_pt.ts \ + src/qt/locale/pivx_ru.ts \ + src/qt/locale/pivx_sk.ts \ + src/qt/locale/pivx_sv.ts \ + src/qt/locale/pivx_vi.ts \ + src/qt/locale/pivx_zh_CN.ts \ + src/qt/locale/pivx_zh_TW.ts diff --git a/contrib/darknetd.bash-completion b/contrib/pivxd.bash-completion similarity index 81% rename from contrib/darknetd.bash-completion rename to contrib/pivxd.bash-completion index a76b767347ebf..4ca99053be1bf 100644 --- a/contrib/darknetd.bash-completion +++ b/contrib/pivxd.bash-completion @@ -1,12 +1,12 @@ -# bash programmable completion for darknetd(1) and darknet-cli(1) +# bash programmable completion for pivxd(1) and pivx-cli(1) # Copyright (c) 2012,2014 Christian von Roques # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -have darknetd && { +have pivxd && { -# call $darknetd for RPC -_darknet_rpc() { +# call $pivxd for RPC +_pivx_rpc() { # determine already specified args necessary for RPC local rpcargs=() for i in ${COMP_LINE}; do @@ -16,23 +16,23 @@ _darknet_rpc() { ;; esac done - $darknetd "${rpcargs[@]}" "$@" + $pivxd "${rpcargs[@]}" "$@" } -# Add darknet accounts to COMPREPLY -_darknet_accounts() { +# Add pivx accounts to COMPREPLY +_pivx_accounts() { local accounts - accounts=$(_darknet_rpc listaccounts | awk '/".*"/ { a=$1; gsub(/"/, "", a); print a}') + accounts=$(_pivx_rpc listaccounts | awk '/".*"/ { a=$1; gsub(/"/, "", a); print a}') COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) ) } -_darknetd() { +_pivxd() { local cur prev words=() cword - local darknetd + local pivxd - # save and use original argument to invoke darknetd - # darknetd might not be in $PATH - darknetd="$1" + # save and use original argument to invoke pivxd + # pivxd might not be in $PATH + pivxd="$1" COMPREPLY=() _get_comp_words_by_ref -n = cur prev words cword @@ -53,7 +53,7 @@ _darknetd() { if ((cword > 3)); then case ${words[cword-3]} in addmultisigaddress) - _darknet_accounts + _pivx_accounts return 0 ;; getbalance|gettxout|importaddress|importprivkey|listreceivedbyaccount|listreceivedbyaddress|listsinceblock) @@ -74,7 +74,7 @@ _darknetd() { return 0 ;; move|setaccount) - _darknet_accounts + _pivx_accounts return 0 ;; esac @@ -90,7 +90,7 @@ _darknetd() { return 0 ;; getaccountaddress|getaddressesbyaccount|getbalance|getnewaddress|getreceivedbyaccount|listtransactions|move|sendfrom|sendmany) - _darknet_accounts + _pivx_accounts return 0 ;; esac @@ -114,12 +114,12 @@ _darknetd() { # only parse --help if senseful if [[ -z "$cur" || "$cur" =~ ^- ]]; then - helpopts=$($darknetd --help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' ) + helpopts=$($pivxd --help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' ) fi # only parse help if senseful if [[ -z "$cur" || "$cur" =~ ^[a-z] ]]; then - commands=$(_darknet_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }') + commands=$(_pivx_rpc help 2>/dev/null | awk '$1 ~ /^[a-z]/ { print $1; }') fi COMPREPLY=( $( compgen -W "$helpopts $commands" -- "$cur" ) ) @@ -133,7 +133,7 @@ _darknetd() { esac } -complete -F _darknetd darknetd darknet-cli +complete -F _pivxd pivxd pivx-cli } # Local variables: diff --git a/contrib/qos/README.md b/contrib/qos/README.md index 665f3c31316c2..983ec2ad91ad5 100644 --- a/contrib/qos/README.md +++ b/contrib/qos/README.md @@ -2,4 +2,4 @@ This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Bitcoin network. It limits outbound TCP traffic with a source or destination port of 51472, but not if the destination IP is within a LAN (defined as 192.168.x.x). -This means one can have an always-on darknetd instance running, and another local darknetd/darknet-qt instance which connects to this node and receives blocks from it. +This means one can have an always-on pivxd instance running, and another local pivxd/pivx-qt instance which connects to this node and receives blocks from it. diff --git a/contrib/spendfrom/README.md b/contrib/spendfrom/README.md index 67e0a76115cb0..b19f0a18db708 100644 --- a/contrib/spendfrom/README.md +++ b/contrib/spendfrom/README.md @@ -7,7 +7,7 @@ address (or addresses). Depends on [jsonrpc](http://json-rpc.org/). spendfrom.py --from=FROMADDRESS1[,FROMADDRESS2] --to=TOADDRESS --amount=amount \ - --fee=fee --datadir=/path/to/.darknet --testnet --dry_run + --fee=fee --datadir=/path/to/.pivx --testnet --dry_run With no arguments, outputs a list of amounts associated with addresses. @@ -16,7 +16,7 @@ With arguments, sends coins received by the `FROMADDRESS` addresses to the `TOAD ### Notes ### - You may explicitly specify how much fee to pay (a fee more than 1% of the amount -will fail, though, to prevent darknet-losing accidents). Spendfrom may fail if +will fail, though, to prevent pivx-losing accidents). Spendfrom may fail if it thinks the transaction would never be confirmed (if the amount being sent is too small, or if the transaction is too many bytes for the fee). diff --git a/contrib/spendfrom/spendfrom.py b/contrib/spendfrom/spendfrom.py index 6c7ac4342872a..5f091cd122753 100755 --- a/contrib/spendfrom/spendfrom.py +++ b/contrib/spendfrom/spendfrom.py @@ -1,13 +1,13 @@ #!/usr/bin/env python # -# Use the raw transactions API to spend darknets received on particular addresses, +# Use the raw transactions API to spend PIVs received on particular addresses, # and send any change back to that same address. # # Example usage: # spendfrom.py # Lists available funds # spendfrom.py --from=ADDRESS --to=ADDRESS --amount=11.00 # -# Assumes it will talk to a darknetd or darknet-Qt running +# Assumes it will talk to a pivxd or pivx-Qt running # on localhost. # # Depends on jsonrpc @@ -33,15 +33,15 @@ def check_json_precision(): raise RuntimeError("JSON encode/decode loses precision") def determine_db_dir(): - """Return the default location of the darknet data directory""" + """Return the default location of the pivx data directory""" if platform.system() == "Darwin": - return os.path.expanduser("~/Library/Application Support/DarkNet/") + return os.path.expanduser("~/Library/Application Support/PIVX/") elif platform.system() == "Windows": - return os.path.join(os.environ['APPDATA'], "DarkNet") - return os.path.expanduser("~/.darknet") + return os.path.join(os.environ['APPDATA'], "PIVX") + return os.path.expanduser("~/.pivx") def read_bitcoin_config(dbdir): - """Read the darknet.conf file from dbdir, returns dictionary of settings""" + """Read the pivx.conf file from dbdir, returns dictionary of settings""" from ConfigParser import SafeConfigParser class FakeSecHead(object): @@ -59,11 +59,11 @@ def readline(self): return s config_parser = SafeConfigParser() - config_parser.readfp(FakeSecHead(open(os.path.join(dbdir, "darknet.conf")))) + config_parser.readfp(FakeSecHead(open(os.path.join(dbdir, "pivx.conf")))) return dict(config_parser.items("all")) def connect_JSON(config): - """Connect to a darknet JSON-RPC server""" + """Connect to a pivx JSON-RPC server""" testnet = config.get('testnet', '0') testnet = (int(testnet) > 0) # 0/1 in config file, convert to True/False if not 'rpcport' in config: @@ -72,7 +72,7 @@ def connect_JSON(config): try: result = ServiceProxy(connect) # ServiceProxy is lazy-connect, so send an RPC command mostly to catch connection errors, - # but also make sure the darknetd we're talking to is/isn't testnet: + # but also make sure the pivxd we're talking to is/isn't testnet: if result.getmininginfo()['testnet'] != testnet: sys.stderr.write("RPC server at "+connect+" testnet setting mismatch\n") sys.exit(1) @@ -81,36 +81,36 @@ def connect_JSON(config): sys.stderr.write("Error connecting to RPC server at "+connect+"\n") sys.exit(1) -def unlock_wallet(darknetd): - info = darknetd.getinfo() +def unlock_wallet(pivxd): + info = pivxd.getinfo() if 'unlocked_until' not in info: return True # wallet is not encrypted t = int(info['unlocked_until']) if t <= time.time(): try: passphrase = getpass.getpass("Wallet is locked; enter passphrase: ") - darknetd.walletpassphrase(passphrase, 5) + pivxd.walletpassphrase(passphrase, 5) except: sys.stderr.write("Wrong passphrase\n") - info = darknetd.getinfo() + info = pivxd.getinfo() return int(info['unlocked_until']) > time.time() -def list_available(darknetd): +def list_available(pivxd): address_summary = dict() address_to_account = dict() - for info in darknetd.listreceivedbyaddress(0): + for info in pivxd.listreceivedbyaddress(0): address_to_account[info["address"]] = info["account"] - unspent = darknetd.listunspent(0) + unspent = pivxd.listunspent(0) for output in unspent: # listunspent doesn't give addresses, so: - rawtx = darknetd.getrawtransaction(output['txid'], 1) + rawtx = pivxd.getrawtransaction(output['txid'], 1) vout = rawtx["vout"][output['vout']] pk = vout["scriptPubKey"] - # This code only deals with ordinary pay-to-darknet-address + # This code only deals with ordinary pay-to-pivx-address # or pay-to-script-hash outputs right now; anything exotic is ignored. if pk["type"] != "pubkeyhash" and pk["type"] != "scripthash": continue @@ -139,8 +139,8 @@ def select_coins(needed, inputs): n += 1 return (outputs, have-needed) -def create_tx(darknetd, fromaddresses, toaddress, amount, fee): - all_coins = list_available(darknetd) +def create_tx(pivxd, fromaddresses, toaddress, amount, fee): + all_coins = list_available(pivxd) total_available = Decimal("0.0") needed = amount+fee @@ -159,7 +159,7 @@ def create_tx(darknetd, fromaddresses, toaddress, amount, fee): # Note: # Python's json/jsonrpc modules have inconsistent support for Decimal numbers. # Instead of wrestling with getting json.dumps() (used by jsonrpc) to encode - # Decimals, I'm casting amounts to float before sending them to darknetd. + # Decimals, I'm casting amounts to float before sending them to pivxd. # outputs = { toaddress : float(amount) } (inputs, change_amount) = select_coins(needed, potential_inputs) @@ -170,8 +170,8 @@ def create_tx(darknetd, fromaddresses, toaddress, amount, fee): else: outputs[change_address] = float(change_amount) - rawtx = darknetd.createrawtransaction(inputs, outputs) - signed_rawtx = darknetd.signrawtransaction(rawtx) + rawtx = pivxd.createrawtransaction(inputs, outputs) + signed_rawtx = pivxd.signrawtransaction(rawtx) if not signed_rawtx["complete"]: sys.stderr.write("signrawtransaction failed\n") sys.exit(1) @@ -179,10 +179,10 @@ def create_tx(darknetd, fromaddresses, toaddress, amount, fee): return txdata -def compute_amount_in(darknetd, txinfo): +def compute_amount_in(pivxd, txinfo): result = Decimal("0.0") for vin in txinfo['vin']: - in_info = darknetd.getrawtransaction(vin['txid'], 1) + in_info = pivxd.getrawtransaction(vin['txid'], 1) vout = in_info['vout'][vin['vout']] result = result + vout['value'] return result @@ -193,12 +193,12 @@ def compute_amount_out(txinfo): result = result + vout['value'] return result -def sanity_test_fee(darknetd, txdata_hex, max_fee): +def sanity_test_fee(pivxd, txdata_hex, max_fee): class FeeError(RuntimeError): pass try: - txinfo = darknetd.decoderawtransaction(txdata_hex) - total_in = compute_amount_in(darknetd, txinfo) + txinfo = pivxd.decoderawtransaction(txdata_hex) + total_in = compute_amount_in(pivxd, txinfo) total_out = compute_amount_out(txinfo) if total_in-total_out > max_fee: raise FeeError("Rejecting transaction, unreasonable fee of "+str(total_in-total_out)) @@ -221,15 +221,15 @@ def main(): parser = optparse.OptionParser(usage="%prog [options]") parser.add_option("--from", dest="fromaddresses", default=None, - help="addresses to get darknets from") + help="addresses to get PIVs from") parser.add_option("--to", dest="to", default=None, - help="address to get send darknets to") + help="address to get send PIVs to") parser.add_option("--amount", dest="amount", default=None, help="amount to send") parser.add_option("--fee", dest="fee", default="0.0", help="fee to include") parser.add_option("--datadir", dest="datadir", default=determine_db_dir(), - help="location of darknet.conf file with RPC username/password (default: %default)") + help="location of pivx.conf file with RPC username/password (default: %default)") parser.add_option("--testnet", dest="testnet", default=False, action="store_true", help="Use the test network") parser.add_option("--dry_run", dest="dry_run", default=False, action="store_true", @@ -240,10 +240,10 @@ def main(): check_json_precision() config = read_bitcoin_config(options.datadir) if options.testnet: config['testnet'] = True - darknetd = connect_JSON(config) + pivxd = connect_JSON(config) if options.amount is None: - address_summary = list_available(darknetd) + address_summary = list_available(pivxd) for address,info in address_summary.iteritems(): n_transactions = len(info['outputs']) if n_transactions > 1: @@ -253,14 +253,14 @@ def main(): else: fee = Decimal(options.fee) amount = Decimal(options.amount) - while unlock_wallet(darknetd) == False: + while unlock_wallet(pivxd) == False: pass # Keep asking for passphrase until they get it right - txdata = create_tx(darknetd, options.fromaddresses.split(","), options.to, amount, fee) - sanity_test_fee(darknetd, txdata, amount*Decimal("0.01")) + txdata = create_tx(pivxd, options.fromaddresses.split(","), options.to, amount, fee) + sanity_test_fee(pivxd, txdata, amount*Decimal("0.01")) if options.dry_run: print(txdata) else: - txid = darknetd.sendrawtransaction(txdata) + txid = pivxd.sendrawtransaction(txdata) print(txid) if __name__ == '__main__': diff --git a/doc/release-notes/bitcoin/release-notes-0.3.20.2.md b/doc/release-notes/bitcoin/release-notes-0.3.20.2.md index 3ce05c612113e..9637c5229ca1a 100644 --- a/doc/release-notes/bitcoin/release-notes-0.3.20.2.md +++ b/doc/release-notes/bitcoin/release-notes-0.3.20.2.md @@ -9,7 +9,7 @@ The Amazon Machine Images I used to do the builds are available: (mac build will be done soon) -If you have already downloaded version 0.3.20.1, please either add this to your darknet.conf file: +If you have already downloaded version 0.3.20.1, please either add this to your pivx.conf file: maxsendbuffer=10000 maxreceivebuffer=10000 diff --git a/doc/release-notes/bitcoin/release-notes-0.4.3.md b/doc/release-notes/bitcoin/release-notes-0.4.3.md index 6a33e50c69abb..fea1ae75b5e82 100644 --- a/doc/release-notes/bitcoin/release-notes-0.4.3.md +++ b/doc/release-notes/bitcoin/release-notes-0.4.3.md @@ -1,5 +1,5 @@ bitcoind version 0.4.3 is now available for download at: -http://luke.darknetjr.org/programs/bitcoin/files/bitcoind-0.4.3/ (until Gavin uploads to SourceForge) +http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.3/ (until Gavin uploads to SourceForge) This is a bugfix-only release based on 0.4.0. diff --git a/doc/release-notes/bitcoin/release-notes-0.4.4.md b/doc/release-notes/bitcoin/release-notes-0.4.4.md index 5316ddb1de49a..f435ba71604df 100644 --- a/doc/release-notes/bitcoin/release-notes-0.4.4.md +++ b/doc/release-notes/bitcoin/release-notes-0.4.4.md @@ -1,5 +1,5 @@ Bitcoin version 0.4.4 is now available for download at: -http://luke.darknetjr.org/programs/bitcoin/files/bitcoind-0.4.4/ +http://luke.dashjr.org/programs/bitcoin/files/bitcoind-0.4.4/ This is a bugfix-only release based on 0.4.0. diff --git a/doc/release-notes/bitcoin/release-notes-0.8.0.md b/doc/release-notes/bitcoin/release-notes-0.8.0.md index 9d8e192d21b24..3eb6fe06533ab 100644 --- a/doc/release-notes/bitcoin/release-notes-0.8.0.md +++ b/doc/release-notes/bitcoin/release-notes-0.8.0.md @@ -61,7 +61,7 @@ contrib/spendfrom is a python-language command-line utility that demonstrates how to use the "raw transactions" JSON-RPC api to send coins received from particular addresses (also known as "coin control"). -New/changed settings (command-line or darknet.conf file) +New/changed settings (command-line or pivx.conf file) -------------------------------------------------------- dbcache : controls LevelDB memory usage. diff --git a/doc/release-notes/dash/release-notes-0.11.0.md b/doc/release-notes/dash/release-notes-0.11.0.md index 75f5b601b9dc6..576d6ea7d8c8e 100644 --- a/doc/release-notes/dash/release-notes-0.11.0.md +++ b/doc/release-notes/dash/release-notes-0.11.0.md @@ -100,13 +100,13 @@ Command-line options: - New option: -nospendzeroconfchange to never spend unconfirmed change outputs - New option: -zapwallettxes to rebuild the wallet's transaction information - Rename option '-tor' to '-onion' to better reflect what it does -- Add '-disablewallet' mode to let darknetd run entirely without wallet (when +- Add '-disablewallet' mode to let pivxd run entirely without wallet (when built with wallet) - Update default '-rpcsslciphers' to include TLSv1.2 - make '-logtimestamps' default on and rework help-message - RPC client option: '-rpcwait', to wait for server start - Remove '-logtodebugger' -- Allow `-noserver` with darknetd +- Allow `-noserver` with pivxd - Make -proxy set all network types, avoiding a connect leak. diff --git a/doc/release-notes/dash/release-notes-0.11.2.md b/doc/release-notes/dash/release-notes-0.11.2.md index 9fbffd7dfaf53..9679921104ebf 100644 --- a/doc/release-notes/dash/release-notes-0.11.2.md +++ b/doc/release-notes/dash/release-notes-0.11.2.md @@ -64,7 +64,7 @@ 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/Dash-Qt (on Mac) or -darknetd/darknet-qt (on Linux). +dashd/dash-qt (on Linux). 0.11.2 changelog diff --git a/doc/release-notes/dash/release-notes-0.12.0.md b/doc/release-notes/dash/release-notes-0.12.0.md index 382f5029de446..e9ae6e7a15027 100644 --- a/doc/release-notes/dash/release-notes-0.12.0.md +++ b/doc/release-notes/dash/release-notes-0.12.0.md @@ -8,7 +8,7 @@ Dash Core version 0.12.0 is now available from: Please report bugs using the issue tracker at github: - https://github.com/darknetpay/darknet/issues + https://github.com/dashpay/dash/issues How to Upgrade @@ -17,7 +17,7 @@ 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/Dash-Qt (on Mac) or -darknetd/darknet-qt (on Linux). +dashd/dash-qt (on Linux). **This new version uses transaction indexing by default, you will need to reindex the blockchain. To do so, start the client with --reindex.** @@ -100,4 +100,4 @@ AlexMomo snogcel bertlebbert -As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/darknet/). +As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/pivx/). diff --git a/qa/pull-tester/run-bitcoind-for-test.sh.in b/qa/pull-tester/run-bitcoind-for-test.sh.in index 1740825bf9bc5..ff4f6ec7ec8c8 100755 --- a/qa/pull-tester/run-bitcoind-for-test.sh.in +++ b/qa/pull-tester/run-bitcoind-for-test.sh.in @@ -3,14 +3,14 @@ # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # -DATADIR="@abs_top_builddir@/.darknet" +DATADIR="@abs_top_builddir@/.pivx" rm -rf "$DATADIR" mkdir -p "$DATADIR"/regtest touch "$DATADIR/regtest/debug.log" tail -q -n 1 -F "$DATADIR/regtest/debug.log" | grep -m 1 -q "Done loading" & WAITER=$! PORT=`expr 10000 + $$ % 55536` -"@abs_top_builddir@/src/darknetd@EXEEXT@" -connect=0.0.0.0 -datadir="$DATADIR" -rpcuser=user -rpcpassword=pass -listen -keypool=3 -debug -debug=net -logtimestamps -checkmempool=0 -relaypriority=0 -port=$PORT -whitelist=127.0.0.1 -regtest -rpcport=`expr $PORT + 1` & +"@abs_top_builddir@/src/pivxd@EXEEXT@" -connect=0.0.0.0 -datadir="$DATADIR" -rpcuser=user -rpcpassword=pass -listen -keypool=3 -debug -debug=net -logtimestamps -checkmempool=0 -relaypriority=0 -port=$PORT -whitelist=127.0.0.1 -regtest -rpcport=`expr $PORT + 1` & BITCOIND=$! #Install a watchdog. diff --git a/qa/pull-tester/tests-config.sh.in b/qa/pull-tester/tests-config.sh.in index 93d1a471d31f7..acaca5f270daa 100755 --- a/qa/pull-tester/tests-config.sh.in +++ b/qa/pull-tester/tests-config.sh.in @@ -11,6 +11,6 @@ EXEEXT="@EXEEXT@" @BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=1 @BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=1 -REAL_BITCOIND="$BUILDDIR/src/darknetd${EXEEXT}" -REAL_BITCOINCLI="$BUILDDIR/src/darknet-cli${EXEEXT}" +REAL_BITCOIND="$BUILDDIR/src/pivxd${EXEEXT}" +REAL_BITCOINCLI="$BUILDDIR/src/pivx-cli${EXEEXT}" diff --git a/qa/rpc-tests/util.py b/qa/rpc-tests/util.py index 0b9abafb33cc6..d2d3d433cb735 100644 --- a/qa/rpc-tests/util.py +++ b/qa/rpc-tests/util.py @@ -1,6 +1,6 @@ # Copyright (c) 2014 The Bitcoin Core developers # Copyright (c) 2014-2015 The Dash developers -# Copyright (c) 2015-2016 The DarkNet developers +# Copyright (c) 2015-2017 The PIVX developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. # @@ -66,7 +66,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, "darknet.conf"), 'w') as f: + with open(os.path.join(datadir, "pivx.conf"), 'w') as f: f.write("regtest=1\n"); f.write("rpcuser=rt\n"); f.write("rpcpassword=rt\n"); @@ -78,19 +78,19 @@ def initialize_chain(test_dir): """ Create (or copy from cache) a 200-block-long chain and 4 wallets. - darknetd and darknet-cli must be in search path. + pivxd and pivx-cli must be in search path. """ if not os.path.isdir(os.path.join("cache", "node0")): devnull = open("/dev/null", "w+") - # Create cache directories, run darknetds: + # Create cache directories, run pivxd: for i in range(4): datadir=initialize_datadir("cache", i) - args = [ os.getenv("BITCOIND", "darknetd"), "-keypool=1", "-datadir="+datadir, "-discover=0" ] + args = [ os.getenv("BITCOIND", "pivxd"), "-keypool=1", "-datadir="+datadir, "-discover=0" ] if i > 0: args.append("-connect=127.0.0.1:"+str(p2p_port(0))) bitcoind_processes[i] = subprocess.Popen(args) - subprocess.check_call([ os.getenv("BITCOINCLI", "darknet-cli"), "-datadir="+datadir, + subprocess.check_call([ os.getenv("BITCOINCLI", "pivx-cli"), "-datadir="+datadir, "-rpcwait", "getblockcount"], stdout=devnull) devnull.close() rpcs = [] @@ -129,7 +129,7 @@ def initialize_chain(test_dir): from_dir = os.path.join("cache", "node"+str(i)) to_dir = os.path.join(test_dir, "node"+str(i)) shutil.copytree(from_dir, to_dir) - initialize_datadir(test_dir, i) # Overwrite port/rpcport in darknet.conf + initialize_datadir(test_dir, i) # Overwrite port/rpcport in pivx.conf def initialize_chain_clean(test_dir, num_nodes): """ @@ -162,14 +162,14 @@ def _rpchost_to_args(rpchost): def start_node(i, dirname, extra_args=None, rpchost=None): """ - Start a darknetd and return RPC connection to it + Start a pivxd and return RPC connection to it """ datadir = os.path.join(dirname, "node"+str(i)) - args = [ os.getenv("BITCOIND", "darknetd"), "-datadir="+datadir, "-keypool=1", "-discover=0", "-rest" ] + args = [ os.getenv("BITCOIND", "pivxd"), "-datadir="+datadir, "-keypool=1", "-discover=0", "-rest" ] if extra_args is not None: args.extend(extra_args) bitcoind_processes[i] = subprocess.Popen(args) devnull = open("/dev/null", "w+") - subprocess.check_call([ os.getenv("BITCOINCLI", "darknet-cli"), "-datadir="+datadir] + + subprocess.check_call([ os.getenv("BITCOINCLI", "pivx-cli"), "-datadir="+datadir] + _rpchost_to_args(rpchost) + ["-rpcwait", "getblockcount"], stdout=devnull) devnull.close() @@ -180,7 +180,7 @@ def start_node(i, dirname, extra_args=None, rpchost=None): def start_nodes(num_nodes, dirname, extra_args=None, rpchost=None): """ - Start multiple darknetds, return RPC connections to them + Start multiple pivxds, return RPC connections to them """ if extra_args is None: extra_args = [ None for i in range(num_nodes) ] return [ start_node(i, dirname, extra_args[i], rpchost) for i in range(num_nodes) ] diff --git a/qa/rpc-tests/util.sh b/qa/rpc-tests/util.sh index 36b9293c8e106..d31fbd8327061 100644 --- a/qa/rpc-tests/util.sh +++ b/qa/rpc-tests/util.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2014 The Bitcoin Core developers # Copyright (c) 2014-2015 The Dash developers -# Copyright (c) 2015-2016 The DarkNet developers +# Copyright (c) 2015-2017 The PIVX developers # Distributed under the MIT/X11 software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -13,7 +13,7 @@ function echoerr { # Usage: ExtractKey "" # Warning: this will only work for the very-well-behaved -# JSON produced by darknetd, do NOT use it to try to +# JSON produced by pivxd, do NOT use it to try to # parse arbitrary/nested/etc JSON. function ExtractKey { echo $2 | tr -d ' "{}\n' | awk -v RS=',' -F: "\$1 ~ /$1/ { print \$2}" @@ -22,7 +22,7 @@ function ExtractKey { function CreateDataDir { DIR=$1 mkdir -p $DIR - CONF=$DIR/darknet.conf + CONF=$DIR/pivx.conf echo "regtest=1" >> $CONF echo "keypool=2" >> $CONF echo "rpcuser=rt" >> $CONF diff --git a/share/pixmaps/bitcoin-bc.ico b/share/pixmaps/bitcoin-bc.ico old mode 100644 new mode 100755 index 1d861d387465f..c16909bf3c455 Binary files a/share/pixmaps/bitcoin-bc.ico and b/share/pixmaps/bitcoin-bc.ico differ diff --git a/share/pixmaps/bitcoin.ico b/share/pixmaps/bitcoin.ico old mode 100644 new mode 100755 index 1d861d387465f..c16909bf3c455 Binary files a/share/pixmaps/bitcoin.ico and b/share/pixmaps/bitcoin.ico differ diff --git a/share/pixmaps/bitcoin128.png b/share/pixmaps/bitcoin128.png old mode 100644 new mode 100755 index c7a9b25e29d1e..694ee15b617b8 Binary files a/share/pixmaps/bitcoin128.png and b/share/pixmaps/bitcoin128.png differ diff --git a/share/pixmaps/bitcoin128.xpm b/share/pixmaps/bitcoin128.xpm old mode 100644 new mode 100755 index d35c7774a99ec..dbcf64012a34a --- a/share/pixmaps/bitcoin128.xpm +++ b/share/pixmaps/bitcoin128.xpm @@ -1,187 +1,269 @@ /* XPM */ static char *bitcoin128[] = { /* columns rows colors chars-per-pixel */ -"128 128 53 1 ", -" c black", -". c #AB1A25", -"X c #AB1B25", -"o c #AC1A24", -"O c #AD1A24", -"+ c #AC1B24", -"@ c #AD1B24", -"# c #AC1A25", -"$ c #AD1A25", -"% c #AC1B25", -"& c #AD1B25", -"* c #AE1A24", -"= c #AE1B24", -"- c #AF1B24", -"; c #AE1A25", -": c #AE1B25", -"> c #AF1B25", -", c #AC1A26", -"< c #AD1A26", -"1 c #AC1B26", -"2 c #AD1B26", -"3 c #AE1A26", -"4 c #AE1B26", -"5 c #AF1B26", -"6 c #AB1C26", -"7 c #AC1C24", -"8 c #AD1C24", -"9 c #AC1C25", -"0 c #AD1C25", -"q c #AE1C25", -"w c #AF1C25", -"e c #AD1C26", -"r c #AE1C26", -"t c #AF1C26", -"y c #B01B25", -"u c #B11B25", -"i c #B01A26", -"p c #B01B26", -"a c #B11B26", -"s c #B21B26", -"d c #B01C24", -"f c #B01C25", -"g c #B01C26", -"h c #B11C26", -"j c #B21C26", -"k c #B31C26", -"l c #B31C27", -"z c #B41C26", -"x c #B51C26", -"c c #B41C27", -"v c #B51C27", -"b c #B61C27", -"n c None", +"128 128 135 2 ", +" c #2A2335", +". c #2E2639", +"X c #2F283A", +"o c #312A3C", +"O c #342D41", +"+ c #382F47", +"@ c #373042", +"# c #3A3445", +"$ c #3B334B", +"% c #3F394A", +"& c #3A2F50", +"* c #3E3452", +"= c #433C4D", +"- c #403655", +"; c #463F50", +": c #423758", +"> c #45395C", +", c #473B60", +"< c #4A3D65", +"1 c #473769", +"2 c #4C3D6D", +"3 c #474152", +"4 c #4C4655", +"5 c #4F4958", +"6 c #524C5C", +"7 c #56505F", +"8 c #4E406E", +"9 c #50426E", +"0 c #554A6D", +"q c #575160", +"w c #5A5464", +"e c #5E5866", +"r c #5F5A69", +"t c #4F4170", +"y c #514371", +"u c #564975", +"i c #594B77", +"p c #5B4D79", +"a c #5E517B", +"s c #635D6B", +"d c #61557E", +"f c #64597A", +"g c #66616F", +"h c #676271", +"j c #696473", +"k c #6D6875", +"l c #6F6A78", +"z c #736E7B", +"x c #76717E", +"c c #78737F", +"v c #645780", +"b c #665A82", +"n c #695D84", +"m c #6C6087", +"M c #6E6389", +"N c #746D86", +"B c #71668B", +"V c #756A8E", +"C c #7B7682", +"Z c #7D7985", +"A c #776C90", +"S c #796E91", +"D c #7E7396", +"F c #837E8A", +"G c #807697", +"H c #817798", +"J c #857B9B", +"K c #897F9E", +"L c #85818B", +"P c #8A8591", +"I c #8E8A94", +"U c #89809F", +"Y c #928F98", +"T c #95929C", +"R c #98959F", +"E c #8D84A2", +"W c #9187A5", +"Q c #938AA6", +"! c #978FAA", +"~ c #988FAB", +"^ c #9A97A0", +"/ c #9C99A1", +"( c #9C93AD", +") c #9E96B0", +"_ c #9F98B0", +"` c #A19EA6", +"' c #A29EA8", +"] c #A39BB3", +"[ c #A5A2AA", +"{ c #A9A6AE", +"} c #A7A0B6", +"| c #A8A1B7", +" . c #ADAAB1", +".. c #ABA4BA", +"X. c #AFA8BD", +"o. c #B1AEB6", +"O. c #B1ABBE", +"+. c #B3B0B7", +"@. c #B4B2B9", +"#. c #B9B6BD", +"$. c #BBB9BF", +"%. c #B3ADC1", +"&. c #B6B0C3", +"*. c #BAB4C6", +"=. c #BDBBC1", +"-. c #BDB7C9", +";. c #BEB9C9", +":. c #C0BEC3", +">. c #C1BCCD", +",. c #C3C1C6", +"<. c #C5C3CA", +"1. c #CBC9CE", +"2. c #C6C1D0", +"3. c #CAC5D3", +"4. c #CECBD4", +"5. c #CFCBD8", +"6. c #D0CFD3", +"7. c #D2CEDA", +"8. c #D3D1D5", +"9. c #D4D2DB", +"0. c #D8D7DA", +"q. c #DBDADD", +"w. c #DAD7E0", +"e. c #DDDBE2", +"r. c #E1DEE5", +"t. c #E3E2E6", +"y. c #E7E5EB", +"u. c #E8E6EC", +"i. c #EBE9EC", +"p. c #EFEEF0", +"a. c #F0EFF2", +"s. c #F5F4F5", +"d. c #F7F6F8", +"f. c #F8F7F9", +"g. c #FFFFFF", /* pixels */ -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>>>X>>XX>p>X>X>>X>>nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>>>gzpgt>>>>>>X>>>>>>tpcgX>>tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>X>ggt>X>>X>X>X>>X>X>XX>X>>>>>>ggg>>nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>>>ll>>>X>>X>>X>X>XX>X>X>>X>XX>X>>>>>pgz>>nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>>l>>X>>>X>>>X>>>>tpgzgzggggt>>>X>>XX>XX>X>ggtdnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnntgt>>>X>X>XX>pglg>>X>>>>>>>>>>X>>pgzg>>X>>X>X>>pgtpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnntct>>>XX>>>>gg>>>>nnnnnnnnnnnnnnnnnnnt>>ggg>>X>>X>X>g>>nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnntz>>>X>X>X>zg>>nnnnnnnnnnnnnnnnnnnnnnnnnnnnt>>zg>X>X>>>>g>>nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>gtX>X>>X>gg>tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>tzp>>X>X>>gg>nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpg>>>X>>>l>>nnnnnnnnnnn nnnnnnnnnnn>>gg>X>XX>pz>nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>>>XX>>p>>nnnnnnnn nnnnnnnnnnpggX>>X>Xg>>nnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn>lX>>g>>nnnnnnn nnnnnnnnpg>X>X>>>ltnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnn nnn>ggp>nnnnnn nnnnnnnn>z>>>X>>ggnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnn nnngpnnnnnn nnnnnn>>g>>X>Xp>>nnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnn nnnnnnnn nnnnnntp>XX>>>lXnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnn nnnnnn nnnnnn>tg>X>X>l>nnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnn nnnnn nnnnnnpg>X>X>ptnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnn nnnnn nnnnn>z>>>X>z>nnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnn nnnnnn nnnnn>p>>X>Xgpnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnn nn>pnnnn nnnnnnnnnnnnnn nnnnnXt>>X>>z>nnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnn nnnggg>nnnn nnnnnnnnnnnnnnnnnnnnnn nnnnnp>X>X>g>nnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnn nnnnpz>Xctnnn nnnnnnnnnnnnnnnnnnnnnnnnn nnnnn>>>>X>l>nnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnn nnnn>g>X>>tnnnn nnnnnnnnnnnnnnnnnnnnnnnnnn nnnnn>>>XX>gnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnn nnnnpg>>>X>g>nnnn nnnnnnnnnnnnnnnnnnnnnnnnn nnnnnt>>>X>gnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnn nnnn>g>X>X>X>l>nnn nnnnnnnnnnnnnnnnnnnnnnnnn nnnn>p>>X>t>nnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnn nnnn>g>>>X>X>X>pnnnn nnnnnnnnnnnnnnnnnnnnnnnn nnnn>lX>X>l>nnnnnnnnnnnnnn", -"nnnnnnnnnnnnnn nnnn>g>X>X>X>X>>>>nnnn nnnnnnnnnnnnnnnnnnnnnnn nnnntg>>X>lnnnnnnnnnnnnnn", -"nnnnnnnnnnnnn nnn>l>X>X>X>X>>>g>nnnn nnnnnnnnnnnnnnnnnnnnnnn nnnn>>X>X>>nnnnnnnnnnnnn", -"nnnnnnnnnnnnn nnnng>>XX>X>X>X>pnnnnnnn nnnnnnnnnnnnnnnnnnnnnn nnnnng>>>Xg>nnnnnnnnnnnn", -"nnnnnnnnnnnn nnnnt>>X>>X>X>X>tnnnnnnnnn nnnnnnnnnnnnnnnnnnnnn nnnn>g>X>>pnnnnnnnnnnnn", -"nnnnnnnnnnnn nnn>t>X>XX>X>>pgnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnn n nnnn>pX>>ptnnnnnnnnnnn", -"nnnnnnnnnnn nnn>l>X>X>>X>X>tnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnn n nnnng>X>>znnnnnnnnnnn", -"nnnnnnnnnnn nnnn>>>>X>X>X>>gnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnn nn nnnn>g>>Xg>nnnnnnnnnn", -"nnnnnnnnnn nnn>gXXX>X>X>>g>nnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnn nnn nnnn>>X>>gnnnnnnnnnn", -"nnnnnnnnnn nnnng>X>>X>X>>g>nnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnn nnnn nnnnog>X>gXnnnnnnnnn", -"nnnnnnnnn nnn>>>>XX>X>Xg>nnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnn nnnnn nnnnt>>>Xgnnnnnnnnn", -"nnnnnnnnn nnn>g>>X>X>X>>>nnnnnnnnnnp>>t>nnnnn nnnnnnnnnnnnnnnn nnnnnn nnn>g>>Xg>nnnnnnnn", -"nnnnnnnn nnn>>>X>X>X>>l>nnnnnnnn>cl>X>gpnnnn nnnnnnnnnnnnnnnn nnnnnn nnnnp>X>>pnnnnnnnn", -"nnnnnnnn nnn>gXX>X>X>X>2nnnnnnnn>c>X>X>>>pnnnn nnnnnnnnnnnnnnn nnnnnnn nnn>g>X>g>nnnnnnn", -"nnnnnnnn nnn>p>>X>X>X>lnnnnnnnnnX>X>X>XX>g>nnnn nnnnnnnnnnnnnn nnnnnnnn nnnngX>X>Xnnnnnnn", -"nnnnnnn nnnng>XX>X>X>lXnnnnnnnnnz>>>X>X>X>l>nnn nnnnnnnnnnnnnn nnnnnnnn nnnn>p>>>gnnnnnnn", -"nnnnnnn nnnXg>>>X>X>Xgnnnnnnnnnnc>XX>X>X>X>gnnnn nnnnnnnnnnnnn nnnnnnnnn nnnXpX>Xz>nnnnnn", -"nnnnnnn nnnt>X>X>X>>g>nnnnnnnnnnc>X>X>X>X>Xt>nnnn nnnnnnnnnnnn nnnnnnnnn nnnn>>>Xp@nnnnnn", -"nnnnnn nnn>lX>X>X>>>gnnnnnnnnnnncX>X>X>X>X>>l>nnnn nnnnnnnnnnnn nnnnnnnnnn nnn>gX>>gnnnnnn", -"nnnnnn nnn>g>>X>X>X>>nnnnnnnnnnnc>>X>X>X>X>X>gnnnn nnnnnnnnnnn nnnnnnnnnn nnn>g>>Xl>nnnnn", -"nnnnnn nnn>>XX>X>X>l>nnnnnnnnnnnzX>>X>X>X>X>X>pnnnn nnnnnnnnnn nnnnnnnnnn nnnnt>X>g>nnnnn", -"nnnnn nnnnl>X>XX>>X>nnnnnnnnnnnnc>XX>X>X>X>X>Xg>nnnn nnnnnnnnnn nnnnnnnnnnn nnnn>>X>>Xnnnnn", -"nnnnn nnn>lX>X>>X>>>nnnnnnnnnnnncX>>X>X>X>X>X>Xgnnnn nnnnnnnnn nnnnnnnnnnn nnn>g>X>gnnnnn", -"nnnnn nnn>t>X>XX>Xl>nnnnnnnnnnnnc>>X>X>X>X>>X>Xppnnnn nnnnnnnn nnnnnnnnnnn nnn>l>>>gnnnnn", -"nnnnn nnnX>X>X>>X>gnnnnnnnnnnnnncX>>X>X>X>XX>X>>g>nnnn nnnnnnnn nnnnnnnnnnnn nnnngXX>z>nnnn", -"nnnnn nnng>>X>X>X>Xnnnnnnnnnnnnnc>XX>X>X>X>>X>X>Xz>nnn nnnnnnn nnnnnnnnnnnn nnnn>>>XgXnnnn", -"nnnn nnnnl>X>X>X>g>nnnnnnnnnnnnncX>>X>X>X>XX>X>X>>>nnnn nnnnnn nnnnnnnnnnnn nnn>>X>>>nnnn", -"nnnn nnn>p>>X>XX>g>nnnnnnnnnnnnnc>X>X>XX>X>>X>X>X>>>nnnn nnnnn nnnnnnnnnnnn nnn>g>X>Xnnnn", -"nnnn nnnXg>X>X>>Xznnnnnnnnnnnnnnc>>X>X>>X>XX>X>X>X>l>nnn nnnnn nnnnnnnnnnnnn nnn>pX>>pnnnn", -"nnnn nnn>>>>X>XX>gnnnnnnnnnnnnnncX>>X>XX>X>>X>X>X>X>gnnnn nnnn nnnnnnnnnnnnn nnn>l>X>znnnn", -"nnnn nnnX>XX>X>>>pnnnnnnnnnnnnnnl>XX>X>>X>XX>X>X>X>>t>nnnn nnn nnnnnnnnnnnnn nnnnzX>Xgnnnn", -"nnnn nnn>X>>X>X>>XnnnnnnnnnnnnnncX>>X>X>XX>>X>X>X>XX>lXnnnn nnn nnnnnnnnnnnnn nnnnz>X>b6nnn", -"nnnn nnnX>>X>X>X>>nnnnnnnnnnnnnnc>XX>X>X>>XX>X>X>X>>X>lnnnn nn nnnnnnnnnnnnn nnnnzX>Xb>nnn", -"nnnn nnn>>X>X>X>>>nnnnnnnnnnnnnnc>>>X>X>X>>>X>X>X>XX>X>>nnnn n nnnnnnnnnnnnn nnnng>X>p>nnn", -"nnnn nnn>X>X>X>X>Xnnnnnnnnnnnnnnc>>X>X>X>>X>>X>X>X>>X>Xl>nnnn n nnnnnnnnnnnnn nnnnpX>>zXnnn", -"nnnn nnnX>>>X>XX>>nnnnnnnnnnnnnncX>X>X>X>>>nt>X>X>X>X>X>gnnnn nnnnnnnnnnnnn nnnnz>>>l>nnn", -"nnnn nnn>XXX>X>>>>nnnnnnnnnnnnnnl>X>X>X>X>Xn>g>X>X>X>X>>>pnnnn nnnnnnnnnnnnn nnnngX>>cXnnn", -"nnnn nnn>>>>X>XX>>nnnnnnnnnnnnnncX>X>X>X>>>nn>p>X>X>X>X>Xg>nnnn nnnnnnnnnnnnn nnnnz>X>c>nnn", -"nnnn nnnX>XX>X>X>>nnnnnnnnnnnnnnc>X>X>X>X>Xnnnt>>X>X>X>X>Xltnnn nnnnnnnnnnnnn nnnngX>Xl>nnn", -"nnnn nnn>2>>X>X>X>nnnnnnnnnnnnnnc>>X>X>X>>>nnn>l>>X>X>X>X>>tnnnn nnnnnnnnnnnnn nnnnz>X>znnnn", -"nnnn nnnXlXX>X>X>gnnnnnnnnnnnnnnc>>>X>X>X>Xnnnn>zX>X>X>X>X>g>nnnn nnnnnnnnnnnnn nnn>cX>>gnnnn", -"nnnn nnn>gX>X>X>Xg>nnnnnnnnnnnnncX>X>X>X>>>nnnnnp>X>X>X>X>X>g>nnn nnnnnnnnnnnnn nnn>p>XX>nnnn", -"nnnn nnn>z>X>X>>>g>nnnnnnnnnnnnng>X>X>X>X>Xnnnnnng>X>X>X>X>X>pnnnn nnnnnnnnnnnnn nnn>pX>>>nnnn", -"nnnn nnnnl>>X>X>Xt>nnnnnnnnnnnnnc>>X>X>X>>>nnnnnn>g>X>X>X>XX>t>nnnn nnnnnnnnnnnn nnn>p>X>>nnnn", -"nnnnn nnn>>X>X>X>>Xnnnnnnnnnnnnnc>>>X>X>X>Xnnnnnnnp>>X>X>X>>X>l>nnnn nnnnnnnnnnnn nnnn>>X>t>nnnn", -"nnnnn nnn>>>X>XX>XlnnnnnnnnnnnnncX>X>X>X>>>nnnnnnnnp>X>>X>XX>X>gnnnn nnnnnnnnnnnn nnnng>>Xg>nnnn", -"nnnnn nnnXgX>X>>>>g>nnnnnnnnnnnnl>X>X>X>X>Xnnnnnnnn>g>XX>X>>X>>p>nnnn nnnnnnnnnnnn nnnngXX>z>nnnn", -"nnnnn nnn>l>X>XX>X>>nnnnnnnnnnnnc>>X>X>X>>>nnnnnnnnn>>>>X>XX>X>>g>nnnn nnnnnnnnnnn nnn>g>>>gnnnnn", -"nnnnn nnnngX>X>>XX>gnnnnnnnnnnnncX>>X>X>X>Xnnnnnnnnnnp>X>X>>X>XX>gnnnn nnnnnnnnnnn nnn>>>X>>nnnnn", -"nnnnnn nnnt>>>X>X>Xg>nnnnnnnnnnnc>XX>X>X>>>nnnnnnnnnnXl>X>XX>X>>Xppnnnn nnnnnnnnnnn nnnn>X>>tXnnnnn", -"nnnnnn nnn>gXX>X>X>>>nnnnnnnnnnncX>>X>X>X>>nnnnnnnnnnn>>>X>>X>XX>>g>nnnn nnnnnnnnnn nnnng>>>g>nnnnn", -"nnnnnn nnnng>>X>X>X>znnnnnnnnnnnc>X>X>X>X>>nnnnnnnnnnnnp>>XX>X>X>X>lXnnn nnnnnnnnnn nnn>g>X>gnnnnnn", -"nnnnnn nnn>>X>X>X>Xt>nnnnnnnnnnc>>X>X>X>>XnnnnnnnnnnnnXzX>>X>X>X>X>tnnnn nnnnnnnnn nnnn>>X>>6nnnnnn", -"nnnnnnn nnn>g>X>X>XX>pnnnnnnnnnncX>>X>X>X>>nnnnnnnnnnnnn>g>X>X>X>X>>t>nnnn nnnnnnnnn nnnng>>Xg>nnnnnn", -"nnnnnnn nnnngX>X>X>>>p>nnnnnnnnnl>XX>X>X>>Xnnnnnnnnnnnnnnp>>X>X>X>X>>gXnnn nnnnnnnn nnn>t>X>znnnnnnn", -"nnnnnnn nnn>g>>X>XX>>g>nnnnnnnncX>>X>X>X>>nnnnnnnnnnnnnn>gX>X>X>X>X>>>nnnn nnnnnnnnn nnnnp>>>>>nnnnnnn", -"nnnnnnnn nnnng>X>X>>XX>gnnnnnnnnc>XX>X>X>>Xnnnnnnnnnnnnnnn>gX>X>X>X>XXg>nnnn nnnnnnnn nnn>gX>>g>nnnnnnn", -"nnnnnnnn nnn>g>X>XX>X>gtnnnnnnnc>>>X>X>X>>nnnnnnnnnnnnnnnn>>X>X>X>X>X>c>nnnn nnnnnnnnn nnnn>>>X>gnnnnnnnn", -"nnnnnnnnn nnnnzX>X>>X>X>gnnnnnnnc>>X>X>X>>Xnnnnnnnnnnnnnnnnnz>X>X>X>X>X>>nnnnn nnnnnnnnn nnn>g>X>tXnnnnnnnn", -"nnnnnnnnn nnn>p>>XX>X>>>>nnnnnncX>>X>X>X>>nnnnnnnnnnnnnnnnn>g>X>X>X>X>>>>nnnnnnnnnnnnnnnnnn nnnn>>XX>znnnnnnnnn", -"nnnnnnnnn nnnnt>X>>X>X>>g>nnnnnl>XX>X>X>>Xnnnnnnnnnnnnnnnnnn>p>X>X>X>XX>g>nnnnnnnnnnnnnnnn nnn>l>>>>>nnnnnnnnn", -"nnnnnnnnnn nnn>g>XX>X>X>>g>nnnncX>>X>X>X>>nnnnnnnnnnnnnnnnnnng>>>XX>X>>X>gnnnnnnnnnnnnnnnn nnnn2>>XXctnnnnnnnnn", -"nnnnnnnnnn nnnn>>>>X>X>XX>l>nnnc>XX>X>X>>Xnnnnnnnnnnnnnnnnnnn>g>X>>X>XX>X>>nnnnnnnnnnnnnn nnnn>lXX>>>nnnnnnnnnn", -"nnnnnnnnnnn nnnng>X>X>>X>X>gXnnc>>>X>X>X>>nnnnnnnnnnnnnnnnnnnn>p>XX>X>X>X>l>nnnnnnnnnnnn nnnn>>X>Xg>nnnnnnnnnn", -"nnnnnnnnnnnn nnnn>l>X>XX>X>>>gnnl>XX>X>X>>Xnnnnnnnnnnnnnnnnnnnnnp>X>X>X>X>X>g>nnnnnnnnnn nnnn>tX>>>>nnnnnnnnnnn", -"nnnnnnnnnnnn nnnn>>XX>>X>X>X>>X>>X>X>X>X>>nnnnnnnnnnnnnnnnnnnnn>z>X>X>X>X>>>tnnnnnnnnn nnnn>l>X>>lnnnnnnnnnnnn", -"nnnnnnnnnnnnn nnnnt>>XX>X>X>X>>>X>X>X>X>>Xnnnnnnnnnnnnnnnnnnnnnntg>X>X>X>X>Xg>nnnnnnn nnnn>>X>>pXnnnnnnnnnnnn", -"nnnnnnnnnnnnn nnnnng>>>X>X>X>X>X>X>X>XX>>>nnnnnnnnnnnnnnnnnnnnnnn>>>X>>X>X>X>gtnnnnn nnnn>p>X>>>nnnnnnnnnnnnn", -"nnnnnnnnnnnnnn nnnn>g>X>X>X>X>X>X>X>X>>X>Xnnnnnnnnnnnnnnnnnnnnnnn>gX>XX>X>X>X>>nnnn nnnn>g>X>Xl>nnnnnnnnnnnnn", -"nnnnnnnnnnnnnnn nnnn>c>X>X>X>X>X>X>X>XX>>>nnnnnnnnnnnnnnnnnnnnnnnn>gX>>X>X>XX>g>nnnn nnnnXl>>XXl>nnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnn nnnn>l>X>X>X>X>X>X>X>>X>Xnnnnnnnnnnnnnnnnnnnnnnnnnt>>X>X>X>>>>ptnnn nnnnnp>>X>>tnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnn nnnn>l>X>X>XX>X>>X>X>X>>nnnnnnnnnnnnnnnnnnnnnnnnn>g>>X>X>X>X>>tnnnn nnnnng>X>X>pnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnn nnnn>g>X>X>>X>XX>X>X>>Xnnnnnnnnnnnnnnnnnnnnnnnnnn>gX>X>X>X>X>t>nnnn nnnnnt>>>X>c>nnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnn nnnn>p>XX>X>X>>X>X>X>>>>nnnnnnnnnnnnnnnnnnnnnnnnnpp>X>>X>X>X>g>nnnn nnnnnp>>X>>l>nnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnn nnnn>>>>X>X>XX>X>X>X>ppt>nnnnnnnnnnnnnnnnnnnnnnn>gX>XX>X>X>>>gnnnn nnnnnpg>X>>g>nnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnn nnnnntg>>>X>X>X>X>X>>X>gl>>>Xnnnnnnnnnnnnnnn>>>>X>X>>X>X>X>X>tnnnn nnng>>>X>X>ttnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnn nnnnnpz>X>>>X>X>X>X>>>>X>>lll>>X>>X>>>X>>>gzg>X>X>XX>X>X>X>>g>nnnnnnnpzt>X>X>l>nnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnn nnnnn>tg>>X>X>X>X>X>X>>X>X>X>>>lggppgt>>>>>X>XX>X>>X>X>X>X>>z>nnnnn>>>>X>X>gtnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnn nnnnnn>gp>X>X>X>X>X>XX>X>X>XXX>>>>X>>X>X>X>X>>X>XX>X>X>X>>p>>nnnn>zX>X>X>>>nnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnn nnnnnn>g>>>X>X>X>>X>X>X>X>X>X>XX>X>X>X>>X>X>X>XX>X>>>>tgpnnnnnnXp>X>X>Xgnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnn nnnnnnp>b2>>>X>XX>X>X>X>X>X>X>>X>X>X>XX>X>X>X>>X>>XggtnnnnnnnnpzX>X>>>znnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnn2>lg>>XX>X>X>X>X>X>X>XX>X>X>X>>X>X>X>XX>>ggpnnnnnnn nnnp>>>XXp>nnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnt>ct>X>X>X>X>X>X>X>>X>X>X>XX>X>X>>pgg>tnnnnnnn nn>zp>>ggnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnn>>>cg>>>>>X>X>X>>X>X>>X>>X>>>>pz>>nnnnnnnn nnnp>t>nnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnt>>>lgg>>>X>X>>X>XX>>tglg>>>nnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnn>>X>>>ggczzgg>>>>>tnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn", -"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn" +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.6.q.s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.0.@.P g = O 8 d D ] >.r.d.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.s.q.=.Y j 4 O X O 8 t 2 2 2 y n J | 3.u.f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.t.,.R z 6 # . X X X o o X O 8 y y y y y 8 2 2 2 p M E X.5.i.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.u.1.` C 7 % . X X X o o o o o o o o O 8 y y y y y y y y y 8 2 2 2 9 p V Q &.9.p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.8. .L e % . . X X o o X o o o o o o o o o X O 9 y y y y y y y y y y y y y y y 2 2 2 y a S ( -.w.s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.q.@.I s 3 o . X o o o o X o o o o o o o o X o o X X . X 2 2 y y y t y y y y y y y y y y y y y y 8 2 2 2 y v D _ >.r.d.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.r.$.Y j 4 @ X X X o X o o o o o o o o o X X X X . . o % 7 z H M p y 2 2 2 2 8 t y y y y y y y y y y y y y y y 8 2 2 8 u n J } 3.y.f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.t.,./ z 6 # . X X o X o o o o o X o o o X X X . . . O = w c T @.8.i.f.g.g.f.u.9.-.] K B d y 2 2 2 2 8 y y y y y y y y y y y y y y y 8 2 2 8 p M U X.5.i.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.i.1.[ Z 7 # X . X X X o o o o X o o o o o X X X # 3 s Z / $.q.p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.w.>...E V d u 2 2 2 8 8 t y y y y y y y y y y t y t 8 2 2 8 a B Q &.9.p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.8. .F w = o X o o o X o o o X X o X X X X # 4 s L [ <.q.p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.r.3.O.Q S b i 8 2 2 2 8 y y y y 8 y y y y y y y 8 2 2 2 y a S ( -.e.s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.e.4 o . . X o o o o o o o o X X . . X # 6 k I .1.t.s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.s.t.5.&.( D m p y 2 2 2 2 8 y y y y y y y y y t y 2 2 2 y m p.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.X X o o X X X o o X . . @ = w z Y +.6.i.f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.p.w.>.2.e.p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.d.u.9.*.] J B a y 8 2 2 2 8 y y y y y y y y 8 i y.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o X o X . . . @ 3 e c ^ #.8.i.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.i.9.;.] E V a y t 2 y a V U } ;.q.p.f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.p.w.>.] E V d y 8 2 2 2 8 y y 8 i u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o X o o 4 s F ` ,.q.p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.d.y.7.&.) D m a t 2 2 2 8 t y y y y t 2 2 2 2 y a M J ( *.7.u.f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.r.2.X.Q S v y y 8 i u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ o . 4 i.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.a.r.3.X.Q D b i 8 2 2 2 8 t t y t y y y y y y y y y y y y t t t 2 2 2 t p n D ! %.4.t.s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.e.i 8 t a u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.8.@ X . 4 f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.p.w.2.| W A v y 2 2 2 2 8 y y y t y y y y y y y y y y y y y y y y y y y y y y y y y t 2 2 2 2 2 u v A W ..2.e.a.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.u.p y y p y.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.o X . 4 s.g.g.g.g.g.g.g.g.g.g.f.u.9.-.] U B a y 2 2 2 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y t y y 8 2 2 2 8 y a B E ] >.w.i.f.g.g.g.g.g.g.g.g.g.g.y.i t 8 i u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.8.@ o . 4 s.g.g.g.g.s.t.<.{ P j f p y 8 2 2 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y t t 2 2 2 8 y p M J ( *.7.y.s.g.g.g.g.y.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 s.g.g.s.l 3 # X : y y y y t y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y t t 2 2 2 2 t i b Q f.g.g.u.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 f.g.g.p.% . X X o o X - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 n f.g.g.y.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X . 4 s.g.g.p.= . o o o o X & y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 m f.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o X + 9 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 m f.g.g.u.p y 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o o o o O 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y n f.g.g.u.i y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o X < y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 M f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o X > y y y y y y y y y y y y y y y y y t t t t t t t t t t t y y 8 t t t t t y t t t y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y t n f.g.g.y.p 2 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.o X X 4 f.g.g.p.= X o o o o o X - y y y y y y y y y y y y y y y y y p p p p p a p a p p a p p p p p p p p p a p p p u y 2 2 2 2 y y y y y y y y y y y y y y y y y y y y y y y y y y t m f.g.g.y.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.O o 4 s.g.g.p.; X o o o o o X # y y y y y y y y y y y y y y y 8 v t.u.u.u.u.u.u.u.u.u.u.i.i.u.u.y.u.i.u.u.i.u.u.u.y.e.5.&.! B y 2 8 y y y y y y y y y y y y y y y y y y y y y y y 2 m f.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o 9 y y y y y y y y y y y y y y 8 b f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.e.} m 2 8 y y y y y y y y y y y y y y y y y y y y y 2 M f.g.g.y.p 9 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o X X 4 s.g.g.p.= X o o o o o o X , y y y y y y y y y y y y y y 8 b d.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.d.&.b 2 t y y y y y y y y y y y y y y y y y y y 8 n f.g.g.u.i y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o 4 f.g.g.p.= X o o o o o o o - y y y y y y y y y y y y y y y n d.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.! y t y y y y y y y y y y y y y y y y y y 2 M f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o X X 4 s.g.g.p.= X o o o o o o o # y y y y y y y y y y y y y y 2 n f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.;.u t y y y y y y y y y y y y y y y y y y n f.g.g.y.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o o o o o o o 2 y y y y y y y y y y y y y y d 5.9.w.9.3.3.3.3.3.3.3.3.3.3.>.>.>.;.>.>.>.;.;.>.5.e.s.g.g.g.g.g.g.g.g.g.g.5.p t y y y y y y y y y y y y y y y y 2 M f.g.g.y.i 8 y p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o o o o o o X , y y y y y y y y y y y y y y y y t t 9 2 8 2 8 8 2 2 2 8 8 2 2 2 2 2 2 2 2 2 2 t y v J &.i.g.g.g.g.g.g.g.g.3.y y y y y y y y y y y y y y y y y t n f.g.g.u.p y 8 i u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o X X 4 s.g.g.p.= X o o o o o o o X $ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y t 2 2 a | s.g.g.g.g.g.g.g.O.2 y y y y y y y y y y y y y y y t m f.g.g.y.i t 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o o o o o o X O 9 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 8 2 B w.g.g.g.g.g.g.f.D 8 y y y y y y y y y y y y y y 2 m f.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o X , y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 p 7.g.g.g.g.g.g.w.u t y y y y y y y y y y y y y 2 M f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.O X X 4 s.g.g.p.= X o o o o o o o o X $ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 d y.g.g.g.g.g.g.E 2 y y y y y y y y y y y y y 8 n f.g.g.u.i 8 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o X . 4 s.g.g.p.= X o o o o o o o o X o 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 G g.g.g.g.g.g.9.y y y y y y y y y y y y y y y m f.g.g.y.p y 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o X o o o o o o X > y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 2.g.g.g.g.g.f.B 2 y y y y y y y y y y y y 8 m f.g.g.y.p 8 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o X $ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 D g.g.g.g.g.g.) 2 y y y y y y y y y y y y 2 m f.g.g.u.i y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.; X o o o o o o o o o o o 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y u e.g.g.g.g.g.3.8 y y y y y y y y y y y y 8 m f.g.g.u.i 8 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.o o . 4 s.g.g.p.= X o o o o o o o o o o o - y y y y y y y y y y y y y y y y y y y y y y y t y y y y t y y y y y y y y y y y y y y y y y t 2 *.g.g.g.g.g.y.i t y y y y y y y y y y y 2 M f.g.g.u.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.8.o o X 4 s.g.g.p.= X o o o o o o o o o o o o 8 y y y y y y y y y 9 y y y t y y t y y y y t y y 9 y 2 y y 8 y y y y y y y y y y y y y y y y 2 ~ g.g.g.g.g.s.v t y y y y y y y y y y y 2 M f.g.g.u.i y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.; X o o o o o o o o o o o o - y y y y y 2 V 9.7.7.9.9.7.7.9.7.7.9.7.7.9.7.7.7.9.7.7.7.9.9.5.v t y y y y y y y y y y y y y 2 G g.g.g.g.g.g.V 8 t y y y y y y y y y y 2 m f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.o o X 4 s.g.g.p.= X o o o o o o o o o o o o + t y y y y 2 D g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.n 8 y y y y y y y y y y y y y 2 S g.g.g.g.g.g.D 2 y y y y y y y y y y y 8 m f.g.g.y.p 2 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 s.g.g.p.= X o o o o o o o o o o o o X > y 9 y y 2 D g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.d.b 8 y y y y y y y y y y y y y 2 A g.g.g.g.g.g.D 2 y y y y y y y y y y y 2 M f.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X . 4 s.g.g.p.= . o o o o o o o o o o o o o # 9 y y y 2 G g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.n 8 y y y y y y y y y y y y y 2 S g.g.g.g.g.g.S 2 y y y y y y y y y y y 2 n f.g.g.u.i 8 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 s.g.g.p.3 . o o o o o o o o o o o o o X > y y y 2 G g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.d.n 8 y y y y y y y y y y y y y 2 G g.g.g.g.g.g.V 2 y y y y y y y y y y y y m f.g.g.y.p y y p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 f.g.g.p.= . o o o o o o o o o o o o o X O 8 y y y a V V V V V V B V V V V V V V V V V V V V V V V B u y y y y y y y y y y y y y y 2 ! g.g.g.g.g.d.b t y y y y y y y y y y y 2 m f.g.g.y.i t 8 i u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o X - y y y y 2 8 2 8 8 2 2 8 2 2 2 2 2 8 2 8 2 2 2 2 2 2 2 8 y y y y y y y y y y y y y y y 2 &.g.g.g.g.g.y.p t y y y y y y y y y y y 8 m f.g.g.y.i t 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.O X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o < y y y y y 9 y y y y y t t y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y e.g.g.g.g.g.3.8 y y y y y y y y y y y y 8 m f.g.g.u.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o $ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 V g.g.g.g.g.g.] 2 y y y y y y y y y y y y 2 M f.g.g.y.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o , y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 -.g.g.g.g.g.f.V 8 y y y y y y y y y y y y t n f.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 f.g.g.p.= X X o o o o o o o o o o o o o o o X @ 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 V f.g.g.g.g.g.w.y y y y y y y y y y y y y y 2 m f.g.g.u.p y 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o 4 s.g.g.p.; X o o o o o o o o o o o o o o o o o o - y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 8 i w.g.g.g.g.g.g.( 2 y y y y y y y y y y y y y y n f.g.g.u.i y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o . > y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y t y >.g.g.g.g.g.g.r.i y y y y y y y y y y y y y y 2 M f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y t 2 a >.g.g.g.g.g.g.g.E 2 y y y y y y y y y y y y y y t n f.g.g.y.p 2 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X . 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o X + 9 y y y y t y y y 2 y y y 2 y y y y y y 8 y y t t y 8 y y y 8 2 t J r.g.g.g.g.g.g.g.>.2 y y y y y y y y y y y y y y y t m f.g.g.y.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o X - y y t 2 2 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 t v E 7.g.g.g.g.g.g.g.g.e.p t y y y y y y y y y y y y y y y 2 m f.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o X X - y u W ~ ~ ~ ! ~ ! ! ! ! ! ! ! ! ! ! ! Q ! ! ! ! ! ) &.7.a.g.g.g.g.g.g.g.g.g.y.n 2 y y y y y y y y y y y y y y y y 2 M f.g.g.y.p 9 t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.; X o o o o o o o o o o o o o o o o o o o o o o o , d s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.w.b 2 y y y y y y y y y y y y y y y y y 8 n f.g.g.u.i y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o o 0 p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.*.p 2 y y y y y y y y y y y y y y y y y y 2 M f.g.g.u.i y 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.w.J 2 y y y y y y y y y y y y y y y y y y y y 8 n f.g.g.u.i y y i u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X = u.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.5.E u 8 y y y y y y y y y y y y y y y y y y y y y 2 M f.g.g.y.i 8 y p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.O X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X = u.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.a.r.>.( M y 2 9 y y y y y y y y y y y y y y y y y y y y y y y n f.g.g.y.p y 8 i u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.8.@ o X 4 f.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X # i.g.g.g.g.g.) S H D H H G G H D D G D G H D H D M v y 2 2 2 y y y y y y y y y y y y y y y y y y y y y y y y y t m f.g.g.y.p t 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o 4 s.g.g.p.; X o o o o o o o o o o o o o o X o o o o o o o o X = u.g.g.g.g.g.D 1 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 M f.g.g.u.i t y p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X % i.g.g.g.g.g.H 2 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y n f.g.g.u.p y 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.N 2 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 n f.g.g.y.i t 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X # i.g.g.g.g.g.g O < y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 9 m f.g.g.y.i t 8 p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X . 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.j o > y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 8 m f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 s.g.g.p.; X o o o o o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.j o o $ 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 0 y y y y y y y y y y y y y 2 m f.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X # i.g.g.g.g.g.j o o o o > y u y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 8 m f.g.g.u.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.o X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o X X % i.g.g.g.g.g.j o o o o X $ < y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 M f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.O o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.j o o o o o X o * 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 m f.g.g.u.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.8.o o X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o X X # i.g.g.g.g.g.g o o o o o o o X O * 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 9 m f.g.g.y.i t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.o X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o X . = i.g.g.g.g.g.j o o o o o o o o o X O = 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 M f.g.g.y.p y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o o . 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X # i.g.g.g.g.g.j X o o o o o o o o o o X o * < y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 M d.g.g.u.p t t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.o X X 4 s.g.g.p.= X o o o o o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.j X o o o o o o o o o o o o X o # > 8 y y y y y y y y y y y y y y y y y y y y y y y y y y y y y 2 M f.g.g.u.i y t p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.0.@ X . 4 s.g.g.f.q X o o o o o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.j . o o o o o o o o o o o o o o o X o o - < 9 y y y y y y y y y y y y y y y y y y y y y y y y y y 2 D g.g.g.u.p 8 y p u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.q.@ X X 3 p.g.g.g.Z o o o o o o o o o o o o o o o o o o o o o o o X # i.g.g.g.g.g.j o o o o o o o o o o o o o o o o o o X X o * > 8 9 y y y y y y y y y y y y y y y y y y y y y y 2 ] g.g.g.y.i t 8 a u.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.t.% X X # q.g.g.g.#. o o o o o o o o o o o o o o o o o o o o o o o X = u.g.g.g.g.g.j X o o o o o o o o o o o o o o o o o o o o X X o # - < 9 9 y y 9 9 y y y y y y y y y y y y y y t 9.g.g.g.9.y y 8 v s.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.d.6 . X @.g.g.g.p.4 X o o o o o o o o o o o o o o o o o o o o o o X % i.g.g.g.g.g.j . o o o o o o o o o o o o o o o o o o o o o o o o X X o O $ - > 8 9 y y y y y y y y y y y y y 2 V f.g.g.g.O.2 y 2 S g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.x X . C g.g.g.g.[ o o o o o o o o o o o o o o o o o o o o o o X % i.g.g.g.g.g.j o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X X o o + - : > , 2 8 y y y y y y 8 >.g.g.g.g.D 2 y 2 ( g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g. . X X % u.g.g.g.p.6 o o o o o o o o o o o o o o o o o o o o o X % i.g.g.g.g.g.j X o o o o o o o o o o o o o o o o o o o X o o o o o o o o o o o X X X X X o O o O $ & * - & N f.g.g.g.e.u t y 2 3.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.u.% X X T g.g.g.g.<.o X o o o o o o o o o o o o o o o o o o o o X # i.g.g.g.g.g.j o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o o o o X X o . # 8.g.g.g.g.! 2 y 8 b s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.F o X = t.g.g.g.g.T X o o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.j o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X { g.g.g.g.w.u 8 t 2 ] g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.8.@ X o z g.g.g.g.f.z o o o o o o o o o o o o o o o o o o o X # i.g.g.g.g.g.j o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o L g.g.g.g.g.D 2 y t i y.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.Z o o . o.g.g.g.g.p.r o o o o o o o o o o o o o o o o o o X = i.g.g.g.g.g.j . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o k s.g.g.g.g...2 y y 2 ) g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.t.= . X . % 8.g.g.g.g.i.e X o o o o o o o o o o o o o o o o X = a.g.g.g.g.g.k X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X j p.g.g.g.g.5.y t y t v i.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.{ X X 6 i.g.g.g.g.u.w X o o o o o o o o o o o o o o o X + ' @.o.o.o.o.6 . X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o j p.g.g.g.g.r.v t y y 2 ;.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.z o o s p.g.g.g.g.u.h o o o o o o o o o o o o o o o o o . . . X o o o o o o o o o o o X o o o o o o o o o o o o o o o o o o o o o o o o o o o X x s.g.g.g.g.p.M 2 y y 2 E g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.i.4 . X o k p.g.g.g.g.s.Z . o o o o o o o o o o o o o o o o X o o X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X X I f.g.g.g.g.p.V 2 y y 2 M p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.6.# X X o j p.g.g.g.g.f.R o X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # { g.g.g.g.g.u.V 2 y y t p e.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.=.o X o X s u.g.g.g.g.g.=.= o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 5 1.g.g.g.g.g.t.M 2 y y 9 y >.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g. .X X o o 6 0.g.g.g.g.g.t.g X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X x u.g.g.g.g.g.9.v 2 y y y 2 &.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.{ X X o o = =.g.g.g.g.g.f.R O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # [ g.g.g.g.g.g.*.i 2 y y 8 8 X.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.{ X . o o . o / g.g.g.g.g.g.4.q X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X h q.g.g.g.g.g.d.) y 2 y y y 8 X.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.+.@ . o X X z u.g.g.g.g.g.s.T @ o X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X # ' f.g.g.g.g.g.y.D 2 y y y 8 8 %.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.,.% o o o 4 <.g.g.g.g.g.g.8.s X o X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X z e.g.g.g.g.g.g.>.a 2 8 y y y y -.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.9.6 o o X X o I p.g.g.g.g.g.g. .3 X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 5 #.g.g.g.g.g.g.p.Q 8 8 y y y 2 d 3.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.i.k X X o X w 1.g.g.g.g.g.g.i.P @ X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # R p.g.g.g.g.g.g.3.n 2 t y y y 2 m e.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.Y X X o o o o I p.g.g.g.g.g.g.0.l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o Z e.g.g.g.g.g.g.i.Q y 8 8 y y 9 2 J p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.=.3 o o o o 6 =.g.g.g.g.g.g.g.<.s X o X o o o o o o o o o o o o o o o o o o o o o o o o X j 5.g.g.g.g.g.g.g.;.v 2 t y y y 2 y } g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.t.k X X o o X x q.g.g.g.g.g.g.f.&.w . o o o o o o o o o o o o o o o o o o o o o o X s ,.g.g.g.g.g.g.g.w.D 2 8 t y y y 2 b 5.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.[ # o o o X # R p.g.g.g.g.g.g.d.o.q X X X o o o o o o o o o o o o o o o o X X s =.f.g.g.g.g.g.g.p.( y 2 y y y y 8 2 K i.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.0.s X o X o X 5 o.f.g.g.g.g.g.g.f.o.q X . X o o o o o o o o o o o o X X s $.f.g.g.g.g.g.g.d.O.d 2 y y y y y 2 p &.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.` # X o o X X . e ,.g.g.g.g.g.g.g.f.#.s X o o X o o o o X o X O j <.g.g.g.g.g.g.g.g.>.B 2 8 y y y 8 8 2 G e.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.q.k . X o o X X . X k 1.g.g.g.g.g.g.g.g.<.z o X o o o o X # C 4.g.g.g.g.g.g.g.g.5.S 2 2 y y y y y 2 a &.f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.o.3 X o o o X o x 8.g.g.g.g.g.g.g.g.0.P = . 4 Y e.g.g.g.g.g.g.g.g.6.G y 2 y y y y y 8 2 K y.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.i.L O o X o o o o c 8.g.g.g.g.g.g.g.g.i.{ e s o.p.g.g.g.g.g.g.g.g.7.J 8 2 y y y y y t 2 n >.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.1.g X o X o o o o z 1.g.g.g.g.g.g.g.g.f.g.g.g.g.g.g.g.g.g.3.G t 2 t y y y y 9 2 u ] p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.o.4 X o o o o X o j :.f.g.g.g.g.g.g.g.g.g.g.g.g.f.>.S 8 2 y y y y y y 2 8 J e.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.Y % o o o o o X X e .p.g.g.g.g.g.g.g.g.p.%.B 2 2 y y y y y y 8 2 B 3.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.q.C o X o o o o o . 4 ^ e.g.g.g.g.e.) d 2 2 y y y y y y 8 2 b &.f.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.1.j X o o o o o o X # C <.3.J u 2 2 y y y y y y 8 2 a } a.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.=.e . o o o o o X X O 2 2 8 y y y y y y t 2 p ) u.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.+.7 X X o o o o X O 8 y y y y y y 8 2 p ( y.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.s. .6 X X o o X O 8 y y y y 2 2 a ) y.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.p.{ 5 X o X O 8 y y 8 2 d ] u.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.s. .6 . O 8 2 2 n X.p.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.s.o.e O 9 S >.s.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.1.9.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.", +"g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g." }; diff --git a/share/pixmaps/bitcoin16.png b/share/pixmaps/bitcoin16.png old mode 100644 new mode 100755 index e62e3a0258e59..8b9c509ed0150 Binary files a/share/pixmaps/bitcoin16.png and b/share/pixmaps/bitcoin16.png differ diff --git a/share/pixmaps/bitcoin16.xpm b/share/pixmaps/bitcoin16.xpm old mode 100644 new mode 100755 index 012855a70e92a..41df9def6213b --- a/share/pixmaps/bitcoin16.xpm +++ b/share/pixmaps/bitcoin16.xpm @@ -2,262 +2,262 @@ static char *bitcoin16[] = { /* columns rows colors chars-per-pixel */ "16 16 256 2 ", -" c None", -". c black", -"X c black", -"o c black", -"O c black", -"+ c black", -"@ c #BF1A26", -"# c #BC1E2B", -"$ c #BE1E2A", -"% c #B91723", -"& c black", -"* c black", -"= c black", -"- c black", -"; c black", -": c black", -"> c black", -", c black", -"< c black", -"1 c black", -"2 c #B61E27", -"3 c #BB1D27", -"4 c #AB1A25", -"5 c #94161F", -"6 c #931720", -"7 c #AB1A25", -"8 c #BC1E28", -"9 c #B41A26", -"0 c black", -"q c black", -"w c black", -"e c black", -"r c black", -"t c black", -"y c black", -"u c black", -"i c #6A1116", -"p c #34080B", -"a c #020000", -"s c black", -"d c black", -"f c #010000", -"g c #31070A", -"h c #9D1821", -"j c #B61C28", -"k c #990033", -"l c black", -"z c black", -"x c black", -"c c black", -"v c black", -"b c #2F080A", -"n c #91161F", -"m c black", -"M c black", -"N c black", -"B c black", -"V c black", -"C c black", -"Z c black", -"A c #80141C", -"S c #B61C28", -"D c black", -"F c black", -"G c black", -"H c black", -"J c #140304", -"K c #B21C26", -"L c #B91C28", -"P c #090004", -"I c black", -"U c black", -"Y c black", -"T c black", -"R c black", -"E c black", -"W c black", -"Q c #9B1821", -"! c #B31D28", -"~ c black", -"^ c black", -"/ c black", -"( c #7D131A", -") c #B31C26", -"_ c #AE1B26", -"` c #B91D27", -"' c #250608", -"] c black", -"[ c black", -"{ c black", -"} c black", -"| c black", -" . c black", -".. c #280609", -"X. c #B81D27", -"o. c red", -"O. c black", -"+. c #060202", -"@. c #AC1B25", -"#. c #AD1C24", -"$. c #AB1A23", -"%. c #B91D28", -"&. c #AA1A24", -"*. c #040001", -"=. c black", -"-. c black", -";. c black", -":. c black", -">. c black", -",. c black", -"<. c #A81A24", -"1. c #B31C26", -"2. c black", -"3. c #190406", -"4. c #B31C26", -"5. c #AE1B26", -"6. c #AB1926", -"7. c #AF1B26", -"8. c #B51C27", -"9. c #7B131A", -"0. c black", -"q. c black", -"w. c black", -"e. c black", -"r. c black", -"t. c black", -"y. c #90161F", -"u. c #B51D27", -"i. c black", -"p. c #1A0506", -"a. c #B31C26", -"s. c #AA1B25", -"d. c #AD1D25", -"f. c #AD1B25", -"g. c #AE1B26", -"h. c #B41C26", -"j. c #34080B", -"k. c black", -"l. c black", -"z. c black", -"x. c black", -"c. c black", -"v. c #90161F", -"b. c #B51D27", -"n. c black", -"m. c #060202", -"M. c #AD1B25", -"N. c #AD1C26", -"B. c #AD1B24", -"V. c #AD1C25", -"C. c #AA1C22", -"Z. c #AF1B25", -"A. c #AF1C26", -"S. c #080101", -"D. c black", -"F. c black", -"G. c black", -"H. c black", -"J. c #A51A24", -"K. c #B61B24", -"L. c black", -"P. c black", -"I. c #7D141B", -"U. c #B31C26", -"Y. c #AD1A24", -"T. c #AD1C25", -"R. c #AA1727", -"E. c #AC1E24", -"W. c #B31C26", -"Q. c #89161D", -"!. c black", -"~. c black", -"^. c black", -"/. c #250609", -"(. c #B81D27", -"). c #800000", -"_. c black", -"`. c black", -"'. c #130304", -"]. c #B21C26", -"[. c #B11C26", -"{. c #AD1B24", -"}. c #AF1828", -"|. c black", -" X c #AD1C25", -".X c #B41C26", -"XX c #B61A27", -"oX c black", -"OX c black", -"+X c #971821", -"@X c #B61C26", -"#X c black", -"$X c black", -"%X c black", -"&X c black", -"*X c #2C0809", -"=X c #B61C27", -"-X c #B41C27", -";X c #AE1B25", -":X c #B11D27", -">X c #AC1C25", -",X c #AE1B26", -" c gray100", +", c #FEFEFE", +"< c #DFDEE1", +"1 c #BBB9BF", +"2 c #9E9BA3", +"3 c #88848D", +"4 c #7C7882", +"5 c #817C89", +"6 c #9289A4", +"7 c #9289A6", +"8 c #9B93AD", +"9 c #AEA8BD", +"0 c #C6C2D1", +"q c #E5E3EA", +"w c gray100", +"e c gray100", +"r c gray100", +"t c #F2F1F2", +"y c #86828C", +"u c #9C98A2", +"i c #9E98AA", +"p c #9C95AB", +"a c #9088A4", +"s c #807598", +"d c #7F7597", +"f c #9289A6", +"g c #9F98B1", +"h c #A59EB6", +"j c #AAA3B9", +"k c #9890AB", +"l c #F5F4F7", +"z c gray100", +"x c gray100", +"c c #EEEEF0", +"v c #9F9BA4", +"b c #5B5466", +"n c #4C3F6B", +"m c #4D3F6F", +"M c #6A5D85", +"N c #70658B", +"B c #70658B", +"V c #63567F", +"C c #493A6A", +"Z c #4F406F", +"A c #73678D", +"S c #ADA6BB", +"D c #F2F1F5", +"F c gray100", +"G c gray100", +"H c #EFEEF0", +"J c #9B98A0", +"K c #4C4555", +"L c #463A61", +"P c #544674", +"I c #9B93AD", +"U c #A7A0B7", +"Y c #A69FB7", +"T c #BDB8C9", +"R c #A69FB7", +"E c #4D3F6E", +"W c #685C84", +"Q c #AAA3B9", +"! c #F2F1F5", +"~ c gray100", +"^ c gray100", +"/ c #EFEEF0", +"( c #9B98A0", +") c #4B4554", +"_ c #3B3150", +"` c #5F527E", +"' c #6C6087", +"] c #6B5F87", +"[ c #5A4D78", +"{ c #4C3D6D", +"} c #C4BFCF", +"| c #70658B", +" . c #665A82", +".. c #AAA3B9", +"X. c #F2F1F5", +"o. c gray100", +"O. c gray100", +"+. c #EFEEF0", +"@. c #9B98A0", +"#. c #4C4656", +"$. c #2E263B", +"%. c #6D6284", +"&. c #9E96B0", +"*. c #9C94AE", +"=. c #73688D", +"-. c #423365", +";. c #B7B1C4", +":. c #7B7193", +">. c #655881", +",. c #AAA3B9", +"<. c #F2F1F5", +"1. c gray100", +"2. c gray100", +"3. c #EFEEF0", +"4. c #9B98A0", +"5. c #4D4656", +"6. c #2D2738", +"7. c #392F4B", +"8. c #655981", +"9. c #73688D", +"0. c #766B8F", +"q. c #958DA9", +"w. c #C6C1D0", +"e. c #564875", +"r. c #685C84", +"t. c #AAA3B9", +"y. c #F2F1F5", +"u. c gray100", +"i. c gray100", +"p. c #EFEEF0", +"a. c #9B98A0", +"s. c #4D4656", +"d. c #2E2739", +"f. c #30293B", +"g. c #C2BFC6", +"h. c #AFA9BE", +"j. c #A79FB8", +"k. c #9C94AE", +"l. c #60537D", +"z. c #4C3E6D", +"x. c #695D85", +"c. c #AAA3B9", +"v. c #F2F1F5", +"b. c gray100", +"n. c gray100", +"m. c #EFEEF0", +"M. c #9B98A0", +"N. c #4B4454", +"B. c #2E2739", +"V. c #312A3C", +"C. c #B6B3B9", +"Z. c #473E57", +"A. c #41345E", +"S. c #4B3C6C", +"D. c #514272", +"F. c #504271", +"G. c #685C85", +"H. c #AAA3B9", +"J. c #F2F1F5", +"K. c gray100", +"L. c gray100", +"P. c #F3F3F4", +"I. c #9C99A2", +"U. c #625D6B", +"Y. c #292134", +"T. c #312A3C", +"R. c #BCBABF", +"E. c #443E4D", +"W. c #2F283A", +"Q. c #383048", +"!. c #413756", +"~. c #3F3358", +"^. c #776D8C", +"/. c #ACA5BB", +"(. c #F6F5F7", +"). c gray100", +"_. c gray100", +"`. c gray100", +"'. c #B0ADB4", +"]. c #9A969F", +"[. c #514B5A", +"{. c #292235", +"}. c #736E7A", +"|. c #3B3445", +" X c #30293B", +".X c #2F293A", +"XX c #282132", +"oX c #504B58", +"OX c #A39DAE", +"+X c #BDB7C9", +"@X c gray100", +"#X c gray100", +"$X c gray100", +"%X c gray100", +"&X c #F9F9F9", +"*X c #A29FA7", +"=X c #97939D", +"-X c #77727E", +";X c #31293C", +":X c #292235", +">X c #2A2335", +",X c #362F40", +" , < 1 2 3 4 5 6 7 8 9 0 q w e ", diff --git a/share/pixmaps/bitcoin256.png b/share/pixmaps/bitcoin256.png old mode 100644 new mode 100755 index d1a4f34bb28bc..d02391d3c68a8 Binary files a/share/pixmaps/bitcoin256.png and b/share/pixmaps/bitcoin256.png differ diff --git a/share/pixmaps/bitcoin256.xpm b/share/pixmaps/bitcoin256.xpm old mode 100644 new mode 100755 index 9b6224cd7be10..407a46c57e646 --- a/share/pixmaps/bitcoin256.xpm +++ b/share/pixmaps/bitcoin256.xpm @@ -1,336 +1,409 @@ /* XPM */ static char *bitcoin256[] = { /* columns rows colors chars-per-pixel */ -"256 256 74 1 ", -" c black", -". c #AB1A23", -"X c #AB1B23", -"o c #AD1A23", -"O c #AC1B23", -"+ c #AD1B23", -"@ c #AF1B23", -"# c #AC1C23", -"$ c #AB1924", -"% c #AB1A24", -"& c #AB1B24", -"* c #AB1A25", -"= c #AB1B25", -"- c #AB1A26", -"; c #AC1924", -": c #AD1924", -"> c #AC1925", -", c #AD1925", -"< c #AC1A24", -"1 c #AD1A24", -"2 c #AC1B24", -"3 c #AD1B24", -"4 c #AC1A25", -"5 c #AD1A25", -"6 c #AC1B25", -"7 c #AD1B25", -"8 c #AE1A24", -"9 c #AE1B24", -"0 c #AF1B24", -"q c #AE1A25", -"w c #AF1A25", -"e c #AE1B25", -"r c #AF1B25", -"t c #AC1A26", -"y c #AD1A26", -"u c #AC1B26", -"i c #AD1B26", -"p c #AE1A26", -"a c #AE1B26", -"s c #AF1B26", -"d c #AB1C24", -"f c #AC1C24", -"g c #AD1C24", -"h c #AC1C25", -"j c #AD1C25", -"k c #AE1C24", -"l c #AF1C24", -"z c #AE1C25", -"x c #AF1C25", -"c c #AC1C26", -"v c #AD1C26", -"b c #AE1C26", -"n c #AF1C26", -"m c #B01A24", -"M c #B01B25", -"N c #B11B25", -"B c #B01B26", -"V c #B11B26", -"C c #B21B26", -"Z c #B01C25", -"A c #B11C25", -"S c #B21C25", -"D c #B01C26", -"F c #B11C26", -"G c #B21C26", -"H c #B31C26", -"J c #B21C27", -"K c #B31C27", -"L c #B41C26", -"P c #B41C27", -"I c #B51C27", -"U c #B61D27", -"Y c #B71D27", -"T c None", +"256 256 147 2 ", +" c #2A2336", +". c #2D2639", +"X c #2F283B", +"o c #312A3C", +"O c #352D42", +"+ c #382F47", +"@ c #392F4A", +"# c #373042", +"$ c #3A3345", +"% c #3B324B", +"& c #3F384A", +"* c #3E3451", +"= c #423C4D", +"- c #413655", +"; c #453F50", +": c #423758", +"> c #45395C", +", c #443566", +"< c #473B60", +"1 c #4A3D64", +"2 c #4C3E6D", +"3 c #464051", +"4 c #4C4656", +"5 c #4D4759", +"6 c #4F4959", +"7 c #534D5D", +"8 c #56505F", +"9 c #4E406E", +"0 c #564E64", +"q c #50426F", +"w c #565161", +"e c #5A5464", +"r c #5E5967", +"t c #5F5968", +"y c #4F4170", +"u c #514371", +"i c #564975", +"p c #584B76", +"a c #5B4E7A", +"s c #5E517B", +"d c #625D6B", +"f c #62557E", +"g c #665A7F", +"h c #66616E", +"j c #666170", +"k c #6A6573", +"l c #6F6B77", +"z c #6F6979", +"x c #736E7B", +"c c #76717E", +"v c #78737F", +"b c #645780", +"n c #665981", +"m c #6A5D85", +"M c #6D6186", +"N c #6E6289", +"B c #71668B", +"V c #756A8E", +"C c #786E8F", +"Z c #767180", +"A c #7A7582", +"S c #7D7985", +"D c #7F7A88", +"F c #776C90", +"G c #796D92", +"H c #7C7393", +"J c #7F7598", +"K c #807C87", +"L c #827D8A", +"P c #807696", +"I c #827897", +"U c #827799", +"Y c #84799A", +"T c #887E9E", +"R c #86828D", +"E c #88848F", +"W c #878290", +"Q c #8A8591", +"! c #8D8995", +"~ c #8A819E", +"^ c #8F8B98", +"/ c #908D97", +"( c #918D98", +") c #96929D", +"_ c #99949F", +"` c #8D84A2", +"' c #9087A5", +"] c #938AA6", +"[ c #968DA9", +"{ c #9A95A1", +"} c #9C98A1", +"| c #9B93AD", +" . c #9F96B0", +".. c #A09DA6", +"X. c #A29FA8", +"o. c #A096B1", +"O. c #A39BB2", +"+. c #A5A2AA", +"@. c #A9A5AE", +"#. c #A7A0B6", +"$. c #A8A2B5", +"%. c #AEABB3", +"&. c #ABA4BA", +"*. c #AEA8BE", +"=. c #B1AEB5", +"-. c #B1ACBD", +";. c #B3B0B7", +":. c #B5B3BA", +">. c #B9B6BD", +",. c #BBB8BF", +"<. c #B4ADC1", +"1. c #B6B1C3", +"2. c #BAB4C6", +"3. c #BCB9C1", +"4. c #BCB6C9", +"5. c #BEB9CA", +"6. c #C1BEC5", +"7. c #C3BDCE", +"8. c #C5BFD0", +"9. c #C3C1C6", +"0. c #C5C2CB", +"q. c #C9C7CC", +"w. c #CAC9CE", +"e. c #C6C2D1", +"r. c #CAC5D3", +"t. c #CECAD4", +"y. c #CFCBD8", +"u. c #D0CED4", +"i. c #D2CEDA", +"p. c #D3D1D6", +"a. c #D5D2DB", +"s. c #D8D6DD", +"d. c #DBDADE", +"f. c #D9D6E0", +"g. c #DCD9E3", +"h. c #E0DEE4", +"j. c #E2DFE8", +"k. c #E3E2E6", +"l. c #E5E3E9", +"z. c #E8E7EB", +"x. c #EBEAED", +"c. c #EEEDF1", +"v. c #F1EFF3", +"b. c #F3F3F4", +"n. c #F7F6F9", +"m. c #F8F7F9", +"M. c #FFFFFF", /* pixels */ -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66V+666666V6666+6V+V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6++666VUIIKKKKKKmVVV+KKK+KKUVKV6666+6+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6666VKUKKV666666+6X+X6x66666V6x6+66+V666KVUUV66+6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV66VII6VV66666V666V6666V6666+V6666666V666666666666VVUV666TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66+UVV6+6666666666+666+66666666V66666V6666666+V66666V66+66V6UKV66TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66VUV66V66V+V666V+6666666666666V+6666V666V+66+666V66+66V66V+V6666V+IV6+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+xUKV666666666666V66666+V666V6V6+V6666V666V666+VV6V6666V666666666V6666+V6KUK6XTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6KUV66666V66V66666666V66V6VV6V++66666666666V6+66666V666V6+VV666666666V66V666666UI6+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66UV66+666V++666+V66V666+666666666V66V66V66666+666V6666666+66666+V66V666+66666V666666VIV6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6VUV6666666666666V66V+6V+66VV+6666V66V666666+66+66V666666666666V66666+666V66V+6V66V+66666VUV+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66IV6+66V6V666+V666666666666666666666666+6VVVKVKKKKKKV6VV6V6666V66666666V666666666666666+V66+66VV66TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV+UV6+666666VV+6VV6V6666666V6666+66VUVIKKVV6666+6+6X+6++666V+VKUVIV66V++666V6666666+666666V6666V66+VU6VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66U6V66V666666+66666666V+V66V666KUVK666+6&TTTTTTTTTTTTTTTTTTTTTTT6+666+KKKKV666V+V66VV66V6V66V66V666V666U66TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTVVK+6666+66666+6V666666V666+6VKUV&6+6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66V6KVUV6++66V+666666+666V6666V66VK6+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT66K6666666V66V66V666666V6666KVV666TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT666VKKV666666+V666666666666666mUVKTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTVVUV66+666++VV66666V6V+&6&KKK6xTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT666KI66+6VV6666+666VV6V+6666VVV6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+IV6666VV66V66666+V66666KKxx6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6xVKK666V66VV+666666V666+66U6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6VV66666+VV66V666666666VKVx6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6VVK66666+V6666V+66V666V6VI+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+VU6666+V666+666V666V+6KKV6TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTV6UVV6666VV666666666+666I6VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTxU666666V6666666666V+6UVxTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT66UV666+666666V6V+V6V+VVVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6U6+V66V66666V666666VKV6TTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTT6+I6666V6V66+666666666VV6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6V6666V66V666666+VU66TTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTV6U6+6666V+66V666V6666U6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV66V666++66V66VI6TTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTT6IV666666666V6666VV66K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTU66666VV666VU6TTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTT6UV+66V+6V+6666V+66VU6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTT6I6+V6666+I6TTTTTTTTTTTTTT TTTTTTTTTTTTTTT66I6V666666+V666666+VVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTT6V6666VK66TTTTTTTTTTTTT TTTTTTTTTTTTTTT66U66666V6666V666V6VV6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTKV66x6VTTTTTTTTTTTTT TTTTTTTTTTTTTT6VV66666666+6V66666U+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTxKVKVTTTTTTTTTTTT TTTTTTTTTTTTTTKU++666V666+666666KVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTT+66TTTTTTTTTTT TTTTTTTTTTTTT+VU66666V666+VV666V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTTTTTTTT6V6666666V66+66V6VK6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTT TTTTTTTTTTTTmxKV+V66666666666+U6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTT TTTTTTTTTTTTxI+66+6666666V+6VI+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT TTTTTTTTTTTT6VV6V66V66+V6666+KKTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT TTTTTTTTTTTTVK66666V66V+6666U6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT TTTTTTTTTTT6U6666666666+66+VVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT TTTTTTTTTTT+KV++666666V666VKxTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT TTTTTTTTTTTVVV66V6V666V66&KKTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT TTTTTTTTTTT6V666+V666V66&6KVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTKTTTTTTTT TTTTTTTTT TTTTTTTTTTT+U66666V666+66+K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTT6U+TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTVV+6666666VV666I6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTKV6I6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6UV666+V6666666I6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTT6KV+6VVTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6U6666V+66V6666UXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTVU66666V6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6IV66666666VV+6V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTVI666V+V6UXTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT&I+V66+6+66666VVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6V66666666VVTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6I666V6V66V6666VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT+K6V+666V666VmTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT&K666+V66+666VK6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6KV66666666V66I6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6K66666V66666+V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTK666V66VV+6V+666VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6U66666666+666U6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTVV666+66666666666K6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTXVV666V66V666VVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTVK66V+66V6666666V+6KxTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTxK&6V66666666K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTxx666666666+V6VV66666KTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTx6666+V666V6+K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6K66V666666V6666+66666V6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTV666VV6V++666U6TTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+U6+V66V6V66+66V666V6666K6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6U6666666V6666VTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6I6V66V66V66V+66666666V666KXTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6U6V+666V6666U6TTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V66666+66666666VV+6+V6+66VV6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6V6666666V666U6TTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+K66+6666666666666V66VV6666VKTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTm66VV+6V+66666TTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6VV6V66V666+V66V66+666666+U6TTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTK666666666V6V6TTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V66V+66V666666+666V66V+66I6TTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6K66V+66V6666U+TTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6I666666666+V6+VV6V6666666U6TTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6V6666666VV+66TTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6I6V66666666VV666V666V6V6VK6TTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTVm6666+66666I6TTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTKm6+66V66+V6666666666+6+6VXTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6I66V6V6666+VKTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V6666V6V66V66V666V666666V6TTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT T TTTTTTTT6V6666666666K+TTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTT TTTTTTTXU6V6V666666+66+666+666V6I+TTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TT TTTTTTTTV6666V6V6+V6VxTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTT TTTTTTTK66V6+66666666V+VV666V+6V6TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTT TTTTTTTT6K+V++666666VVTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTT TTTTTTTVV666666+V66V6666666V666U6TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTT TTTTTTTT6V66V66V6666U6TTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTT TTTTTTT6U66666666666666V666V+66I+TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTT TTTTTTTTK666666V666V6TTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTT TTTTTTTV666+V6V6+V6VV+66666666U6TTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTT TTTTTTTTxI6+V6666V+6I6TTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTT TTTTTTTxVV+6VV6666666V6V6V+V66VxTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT TTTTTTTT+V66V+6V666V6TTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTT TTTTTT6U66666666V6666+66666666VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT TTTTTTTT6I666666666+I&TTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTT TTTTTTT666V+66V66V66666666+666VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT TTTTTTTTV666V66V666VmTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTT TTTTTT6U666666+66++V6VV6V6V66I6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT TTTTTTT+I6666+66666U&TTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTT TTTTTTTV666666V+V6V666V+6+666V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT TTTTTTTT66666V666V6V+TTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTT TTTTTT6V+V66V66666666666666V6VTTTTTTTTTTTTTTTTTTTTTT666TTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT TTTTTTT6I6V66V+6666ITTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTT TTTTTTT66V+66V66V666V666+V666VTTTTTTTTTTTTTTTTTTT+K6KUIIV6VTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT TTTTTTTTVV6V6V66++V6+TTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTT TTTTTT+K6666666666V666V66666U6TTTTTTTTTTTTTTTTTTKVK666V6+6KKKTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTT TTTTTTT6U666666V666VTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTT TTTTTTTV6666666V+6V+66666666V6TTTTTTTTTTTTTTTTTTVU++V666666+6K+TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTT TTTTTTTT+6666666666U6TTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTT TTTTTT+V66V66+V666666+V666V6I6TTTTTTTTTTTTTTTTTV66666666V66666VKTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTT TTTTTTT&I66V666V66V6TTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTT TTTTTTTV6V66V666V+666666V+66V6TTTTTTTTTTTTTTTTTxV+6666V666V+V66+66TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTT TTTTTTTTVV6+66VV+66I6TTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTT TTTTTT6V666+6666666+V6+V6666VTTTTTTTTTTTTTTTTT+K66V6V666V666666V6K6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTT TTTTTTT6K+66666666V6TTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTT TTTTTTTV6666V666V666V6666666U6TTTTTTTTTTTTTTTTT6V666666V6+666666666UTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTT TTTTTTTTU6666666666VTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTT TTTTTT+I6+V66V+666V666V6666V6TTTTTTTTTTTTTTTTT+U6V66+66+666V6V666V66VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTT TTTTTTT6V66+VV66+6U6TTTTTTTTTTTTT", -"TTTTTTTTTTTTTT TTTTTT6V666V6+V666V666V6666I+TTTTTTTTTTTTTTTTT6K6666V66666666+666V66U&TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTT TTTTTTT6I+66V666V6V6TTTTTTTTTTTTT", -"TTTTTTTTTTTTTT TTTTTTTI66V666666V666+6++V6V6TTTTTTTTTTTTTTTTTT6V666666V666+V66666666+U+TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTTT6V666666666VTTTTTTTTTTTTT", -"TTTTTTTTTTTTT TTTTTT6V+V66V66666666V6V666U+TTTTTTTTTTTTTTTTTTV66V6666VV+6VV6666+66666VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTT6V6+VV66666KXTTTTTTTTTTTT", -"TTTTTTTTTTTTT TTTTTTTV66666+6V666+V666666V6TTTTTTTTTTTTTTTTTTTV6V+66V6+666666V66V66V66V6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTT TTTTTTTTI666+66V6VV6TTTTTTTTTTTT", -"TTTTTTTTTTTTT TTTTTT6U666V66V66V+66666666U6TTTTTTTTTTTTTTTTTTTV666V666V6666V666V6V666V6I6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTT TTTTTTT6V66V66V6V+VTTTTTTTTTTTT", -"TTTTTTTTTTTT TTTTTTVV666+6666666+V6V6V6+6TTTTTTTTTTTTTTTTTTTTV66666+666666+666+6+66V66+VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTT TTTTTTT6V66+666666IVTTTTTTTTTTT", -"TTTTTTTTTTTT TTTTTTT6+6666666666666666V6K6TTTTTTTTTTTTTTTTTTTTV66666VV6V+6V+VV666666666+VVTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTT TTTTTTTTU666666666V6TTTTTTTTTTT", -"TTTTTTTTTTTT TTTTTT6UV66V666+V66V66V66+6KTTTTTTTTTTTTTTTTTTTTTV66+V666666666666V66+V66666U6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTT TTTTTTT+VV666+V6666TTTTTTTTTTT", -"TTTTTTTTTTT TTTTTTVV6666666+666V66V+V6V6TTTTTTTTTTTTTTTTTTTTTV666666+66V666V+66V66V666666KTTTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTT TTTTTTTxK666666666I+TTTTTTTTTT", -"TTTTTTTTTTT TTTTTT666VV6V66V6666666666UTTTTTTTTTTTTTTTTTTTTTT66VV66VV666666666666666V+V66V6TTTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTT+K&666+V6+VI6TTTTTTTTTT", -"TTTTTTTTTTT TTTTTT6I66V+66666V66666666V6TTTTTTTTTTTTTTTTTTTTTTV6666666666V6666666V+6V6+6666K6TTTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTTK6666V6666V6TTTTTTTTTT", -"TTTTTTTTTTT TTTTTT6V666666+V666V+V66V6I6TTTTTTTTTTTTTTTTTTTTTTV666+V66V66+66V66+V66666V6666+KTTTTTTTT TTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTT6x6V666V6666TTTTTTTTTT", -"TTTTTTTTTT TTTTTT6V+66+666V6V66++66V6VTTTTTTTTTTTTTTTTTTTTTTTV666666666+6+66V666V+66666666+V6TTTTTTTT TTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTT6K6+666V666U+TTTTTTTTT", -"TTTTTTTTTT TTTTTTTK66+VV6V666666V6666V&TTTTTTTTTTTTTTTTTTTTTTTVV6V6+VV66V6V666666666+6VV6+VV6K6TTTTTTTT TTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTTK6V666++V+I6TTTTTTTTT", -"TTTTTTTTTT TTTTTT6U6666V666V666666666K&TTTTTTTTTTTTTTTTTTTTTTTV+666666666666V666V666V6V+666V66UXTTTTTTT TTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTTVV66V6V666V6TTTTTTTTT", -"TTTTTTTTTT TTTTTT6V66666666+6V666V6+VVTTTTTTTTTTTTTTTTTTTTTTTT6V66V666+V66V66V+666V666666666666KTTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V6666666666TTTTTTTTT", -"TTTTTTTTTT TTTTTT66V666V666+V+666V66K6TTTTTTTTTTTTTTTTTTTTTTTTVV66V66666666+666+VV66V666666V666V6TTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTVU+66V66+66KTTTTTTTTT", -"TTTTTTTTT TTTTTTU6+6V666V666666666+K6TTTTTTTTTTTTTTTTTTTTTTTTV6666666+V6+VV6V666+66666V666+6+V+I6TTTTTTT TTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+K666666V6XK6TTTTTTTT", -"TTTTTTTTT TTTTTT6V666+6666666666+666UTTTTTTTTTTTTTTTTTTTTTTTTTV66+VV66VV666V666666666V++6V66666V6VTTTTTTTT TTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV666666666K+TTTTTTTT", -"TTTTTTTTT TTTTTT+U6V666+V666VV66VV66+TTTTTTTTTTTTTTTTTTTTTTTTTV66666666666666666V666+66V666V66666KVTTTTTTTT TTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+V6+V666V6K6TTTTTTTT", -"TTTTTTTTT TTTTTT6K+666666V+66V66+66I+TTTTTTTTTTTTTTTTTTTTTTTTTV666V6666V666V6V666V66V66666V+666+V&U6TTTTTTT TTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V6V+66V66V6TTTTTTTT", -"TTTTTTTTT TTTTTT66V66V6+V6666666V66V+TTTTTTTTTTTTTTTTTTTTTTTTTV6+666666+666+6+66V66666VV66666V66666KTTTTTTTT TTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V666666V6+6TTTTTTTT", -"TTTTTTTTT TTTTTTK66V666666666666666VTTTTTTTTTTTTTTTTTTTTTTTTTTV6VV6V+6V+VV666666666666V+6V66+6666666xTTTTTTTT TTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6U66666666+VTTTTTTTT", -"TTTTTTTT TTTTTTTK66+66V66V66+V666V6VTTTTTTTTTTTTTTTTTTTTTTTTTTV666666666666V66+V6+V666666666V666V666K6TTTTTTTT TTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTK6666+V666K6TTTTTTT", -"TTTTTTTT TTTTTT6V66666V666666V+66VV6TTTTTTTTTTTTTTTTTTTTTTTTTTV6666+666V66V+6666+666V66+66V66+66V666VKTTTTTTTT TTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTm66V66VV+6V6TTTTTTT", -"TTTTTTTT TTTTTT6I6VV66++V6VV66666XK6TTTTTTTTTTTTTTTTTTTTTTTTTTV66V6V6V6666666V66V6666+VV66666V6666666V6TTTTTTTT TTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV66666+666U6TTTTTTT", -"TTTTTTTT TTTTTT+K6V+66V666V+666666KXTTTTTTTTTTTTTTTTTTTTTTTTTTV6666V666V6V66V6666V66666V6V6V+6666V666+U+TTTTTTTT TTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTxmx666666+K6TTTTTTT", -"TTTTTTTT TTTTTT66666666666666V66+6K6TTTTTTTTTTTTTTTTTTTTTTTTTTVV6666666+6+6666+V666V+666666666V66+66V66V+TTTTTTT TTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6K666V6666VVTTTTTTT", -"TTTTTTTT TTTTTT6V66666+666+66V66V6KTTTTTTTTTTTTTTTTTTTTTTTTTTTV666666V66+66V666666666+V666V+6666+6+6666xmTTTTTTTT TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTxK6V+666V666TTTTTTT", -"TTTTTTTT TTTTTTK666V66V666V6666666KTTTTTTTTTTTTTTTTTTTTTTTTTTTV6666V6666V6666+V6V6V66666V6666V66V6V66666V6TTTTTTTT TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTVK6666+666V6TTTTTTT", -"TTTTTTTT TTTTTTI6V++6666V+VV666666KTTTTTTTTTTTTTTTTTTTTTTTTTTTVV6V++66666666V66666VV+6666V66V6666666V6V6VI6TTTTTTT TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTT6U6666V6+66VTTTTTTT", -"TTTTTTTT TTTTTTTV666V66V666666+V666+TTTTTTTTTTTTTTTTTTTTTTTTTTTV6666V6V666V66+66V66+66V666+6666+V66V666+666VTTTTTTTT TTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV66V666V66VTTTTTTT", -"TTTTTTTT TTTTTTTK666V66V+6V+66V66VV6TTTTTTTTTTTTTTTTTTTTTTTTTTT66666V6+66V66V66666666666V+6V+6666666666V66+V6TTTTTTTT TTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV6V66VV66+KTTTTTTT", -"TTTTTTT TTTTTT6K6666666666666666+V&TTTTTTTTTTTTTTTTTTTTTTTTTTTV6V666666666666V+V66+V666666666V6+V6VV+6666V6U6TTTTTTT TTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV6+666666VK+TTTTTT", -"TTTTTTT TTTTTT+K+V+6VV66V66666666K6TTTTTTTTTTTTTTTTTTTTTTTTTTTV66V+6V6666V+6V6+666VV66666V66+666666V6V6V+66+KTTTTTTTT TTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV666666666K+TTTTTT", -"TTTTTTT TTTTTT6U66666+666V66+66V6KxTTTTTTTTTTTTTTTTTTTTTTTTTTTVV6666666+V66666V666666V66V666V6V6666+66666666V6TTTTTTTT TTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT66666+V666K+TTTTTT", -"TTTTTTT TTTTTT6V66V66666V666VV+66U6TTTTTTTTTTTTTTTTTTTTTTTTTTTV666V66V666V+6666666666+666V6666V66666666V+666VK6TTTTTTTT TTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV6V66V+66VU+TTTTTT", -"TTTTTTT TTTTTT6I6666+66666666666+I6TTTTTTTTTTTTTTTTTTTTTTTTTTT66V666+6666666+6VV6+V66666666666++V6VV6V66666666I&TTTTTTT TT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT66666+V666V6TTTTTT", -"TTTTTTT TTTTTT6I6666VV666V666666VV&TTTTTTTTTTTTTTTTTTTTTTTTTTTV66666V666V666V6V+666V6V66+666V6V666V+6+666V6666VVTTTTTTTT TT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6666666666U6TTTTTT", -"TTTTTTT TTTTTT6I66V6666V++66V6V66K+TTTTTTTTTTTTTTTTTTTTTTTTTTTV666V66V+666V66666666K+6K6VV+666666666666V666V+66V+TTTTTTTT T TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+V66V66V66I6TTTTTT", -"TTTTTTT TTTTTT6I666V66V666+666666V6TTTTTTTTTTTTTTTTTTTTTTTTTTTV66666666V666V6V66+66V6T6V666V66666666666666666666U6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT666666666+U+TTTTTT", -"TTTTTTT TTTTTT6V666+6666+6V6666V6K6TTTTTTTTTTTTTTTTTTTTTTTTTTTVV666V666+6V666666V6XK6TTV6V6666+V666V66V666+V6V666KTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV66VV6V66VI6TTTTTT", -"TTTTTTT TTTTTT6I+V666666V666VV+66U6TTTTTTTTTTTTTTTTTTTTTTTTTTTVV6V++6V666+666666666x6TT+U+6666VV6V++66VV+6VV6+666KXTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT666V+66666V+TTTTTT", -"TTTTTTT TTTTTTVU666V6+V666V66666+KxTTTTTTTTTTTTTTTTTTTTTTTTTTT66666V666V666+VV666V6K6TTT+V6V6666666V66+6666666666+K6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6666666+V6U6TTTTTT", -"TTTTTTT TTTTTT6I66V+666V666666666K6TTTTTTTTTTTTTTTTTTTTTTTTTTTV6666V666666V66+66V66K6TTTT6V666+6666V66V6666V66666+6VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V66+666V6I+TTTTTT", -"TTTTTTT TTTTTT6V6666666666VV+6VV6V6TTTTTTTTTTTTTTTTTTTTTTTTTTTV666666V+V666666666V6KXTTTT+U666V666666666666+6V6+VV6V+TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV6+VV6V666I6TTTTTT", -"TTTTTTT TTTTTT6U+V66+666V66V66V+6K6TTTTTTTTTTTTTTTTTTTTTTTTTTTVV6V+6V6+66+666666666K6TTTTT6I6+VV6V+6VV6V+6V+V6666666U6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6666V666V6V+TTTTTT", -"TTTTTTTT TTTTTTTV6666VV66+66+66666V6TTTTTTTTTTTTTTTTTTTTTTTTTTTV6666666V66V66V66+V66x6TTTTTT6666666666666666666V66666+KTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV6666666+6K+TTTTTT", -"TTTTTTTT TTTTTTTK66666666V+66V66666xTTTTTTTTTTTTTTTTTTTTTTTTTTTV666V6666666+66+66V66x6TTTTTT6U6666V+6666V+66V6+66V666V66TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV666V666V66TTTTTTT", -"TTTTTTTT TTTTTTK&666666666666+V6V+VTTTTTTTTTTTTTTTTTTTTTTTTTTTV66666+6VV66V66V66666K6TTTTTTT+U666666+V6666666V66666666U6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTT&K666+6V666VTTTTTTT", -"TTTTTTTT TTTTTTK6666VV666666666666KTTTTTTTTTTTTTTTTTTTTTTTTTTTV66666V6V+6+VV66666V6K6TTTTTTTTx666666V+666666V6666V6666VIXTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTxU6V666+6666TTTTTTT", -"TTTTTTTT TTTTTT&66V66+66V66+V66V66KTTTTTTTTTTTTTTTTTTTTTTTTTTTV6V6V66666666666V66+6KXTTTTTTTTTU666V6666V6V66+6V66+66V6666TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+V666V666666TTTTTTT", -"TTTTTTTT TTTTTT6K666666V6V66V6666+KKTTTTTTTTTTTTTTTTTTTTTTTTTTV66+V666V666V66666+66K6TTTTTTTTT6U666+VV66V66V+666+6+6666+V6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6K+6666666+6TTTTTTT", -"TTTTTTTT TTTTTT6V6V66V666666+6VV+6V6TTTTTTTTTTTTTTTTTTTTTTTTTTV66666V666+6666V66V66x6TTTTTTTTTT+VV666+6666666V66V6V66+VV6I6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6KVV+V66+VVVTTTTTTT", -"TTTTTTTT TTTTTT+U6VV++666666666V66K6TTTTTTTTTTTTTTTTTTTTTTTTTTV666666666VV6V+666666KXTTTTTTTTTTTV6666666666666666666V66V66VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6V66+666V6V+TTTTTTT", -"TTTTTTTT TTTTTT&K6+6666+V66V666+6666TTTTTTTTTTTTTTTTTTTTTTTTTTV66V666+V6666666+V66VK6TTTTTTTTTTT+I66V666+V66V6+V66V6666666V6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6666V66666I6TTTTTTT", -"TTTTTTTT TTTTTTTK66666666666666V66VUTTTTTTTTTTTTTTTTTTTTTTTTTTV6V66V666V66V666666+6K6TTTTTTTTTTTT6V666V66V+6666666666666666I+TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV6+6666666I+TTTTTTT", -"TTTTTTTT TTTTTTTV66V6V6+V6VV+V66666K+TTTTTTTTTTTTTTTTTTTTTTTTTV66666666666++V6VV6V6x6TTTTTTTTTTTTTVV66666666+V6+V6VV+6+V6666VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTxI6V6VV6V66UTTTTTTTT", -"TTTTTTTTT TTTTTT6V+6+666666V666V666KXTTTTTTTTTTTTTTTTTTTTTTTTT666666VV+6V6V666V+666K6TTTTTTTTTTTTT6U6+666666V666666V66VV6V+6K6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6K666V+66666TTTTTTTT", -"TTTTTTTTT TTTTTT6K66V6V6666+666+666V&TTTTTTTTTTTTTTTTTTTTTTTTTV6VV66+66666666666666x6TTTTTTTTTTTTTT&VV66V6V666V6666+666666666I6TTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTXK66666666VXTTTTTTTT", -"TTTTTTTTT TTTTTT6U6666V66666666666V6VTTTTTTTTTTTTTTTTTTTTTTTTTV6V66V+6V+666+V66+666x6TTTTTTTTTTTTTTTV666666V66V6666666+6666666VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+66V66+666V+TTTTTTTT", -"TTTTTTTTT TTTTTTTV6666++V6VV666V6666U6TTTTTTTTTTTTTTTTTTTTTTTTV6666666666V666+VV6V6K6TTTTTTTTTTTTTTT6K&66V6666++V6VV66V666VV+6VVTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTV666+VV6V6K6TTTTTTTT", -"TTTTTTTTT TTTTTTTV66V6V666V+6V++6666V6TTTTTTTTTTTTTTTTTTTTTTTTV666666V66+666666V666K6TTTTTTTTTTTTTTTTxK6V+6666V666V+6+VV666V666K+TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTK+6666V666U6TTTTTTTT", -"TTTTTTTTT TTTTTT6V666666666666V6666V6TTTTTTTTTTTTTTTTTTTTTTTTV6+V66V666V666V666666K+TTTTTTTTTTTTTTTTTVV666+V66666666666666+6666KTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6K6V6666666ITTTTTTTTT", -"TTTTTTTTTT TTTTTT+I66V66VV66+66666+66UTTTTTTTTTTTTTTTTTTTTTTTTV666666V66V+666666666K6TTTTTTTTTTTTTTTTT6V666666666666666V66V+666VVKTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTxK&+66666666TTTTTTTTT", -"TTTTTTTTTT TTTTTT6U66+666666V6VV66V66V+TTTTTTTTTTTTTTTTTTTTTTT6V66VV6666666666V6666x6TTTTTTTTTTTTTTTTTT6U66666+V666V6V666666666+6K6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTx66V66V666V6TTTTTTTTT", -"TTTTTTTTTT TTTTTTT6+6666666666V+6+VV6V6TTTTTTTTTTTTTTTTTTTTTTTV666+666666666+6VV+6Vx6TTTTTTTTTTTTTTTTTTTVV66V6VV6V++666V6V66V6V+V6U+TTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTTx66V66VV+6V6TTTTTTTTT", -"TTTTTTTTTT TTTTTT6V6666+V666666666666UTTTTTTTTTTTTTTTTTTTTTTTV666V66+V66V66V6+6666K6TTTTTTTTTTTTTTTTTTTTK+66666666V666+6+666666666VTTTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTT+K66666+666UxTTTTTTTTT", -"TTTTTTTTTTT TTTTTTVU6V66V+66V6V666V666UXTTTTTTTTTTTTTTTTTTTTTTV666666+66V6V666V6666K6TTTTTTTTTTTTTTTTTTTT+I666+6666V6V66+66V666V666V6TTTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTT6K6V666V666VTTTTTTTTTT", -"TTTTTTTTTTT TTTTTTTV6666+V666666+66666V6TTTTTTTTTTTTTTTTTTTTTTV666VV6V666666+6666V6KXTTTTTTTTTTTTTTTTTTTTT6V66V666666666V66666666V66U6TTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTTK6666+666666TTTTTTTTTT", -"TTTTTTTTTTT TTTTTTT6+66666666666VV6V+66U6TTTTTTTTTTTTTTTTTTTTTVV+6V+66666666VV6V+66K6TTTTTTTTTTTTTTTTTTTTTTV6+VV6V+6V6666666VV+6V+6V66TTTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTTI6666VV6V+V6TTTTTTTTTT", -"TTTTTTTTTTT TTTTTT6U66V66V66+V66666666V6TTTTTTTTTTTTTTTTTTTTTV6666666V66+V66666666x6TTTTTTTTTTTTTTTTTTTTTT6U66666666V666V66+66666666VVTTTTTTTT TTTTTTTTTTTTTTTTTTTTTT TTTTTTTXI6+V666666I6TTTTTTTTTT", -"TTTTTTTTTTTT TTTTTTTK6V66V+666666666666VKTTTTTTTTTTTTTTTTTTTTTV6666666666666+666V66K+TTTTTTTTTTTTTTTTTTTTTTT6V666V+66+66V66V66V6666666I+TTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTT6K66666V66VVTTTTTTTTTTT", -"TTTTTTTTTTTT TTTTTTT+6666666+V6+V6VV+V66V+TTTTTTTTTTTTTTTTTTTTV666V+V6VV6V66V666666K6TTTTTTTTTTTTTTTTTTTTTTTTV+66666+666666666++V6VV66VVTTTTTTTT TTTTTTTTTTTTTTTTTTTTT TTTTTTTV666666666+6TTTTTTTTTTT", -"TTTTTTTTTTTT TTTTTT6I+6V666V666666V666V6VTTTTTTTTTTTTTTTTTTTTV6V6V666V+66666V66666KXTTTTTTTTTTTTTTTTTTTTTTTT6I66666V6666V+6V6V666V+666V6TTTTTTTT TTTTTTTTTTTTTTTTTTTT TTTTTTT+V66666+V66UVTTTTTTTTTTT", -"TTTTTTTTTTTTT TTTTTTTV6666V666V6666+666+6K6TTTTTTTTTTTTTTTTTTTV66666666666+V666V+6&K6TTTTTTTTTTTTTTTTTTTTTTTTT+K66V6666+V66666666666666+I6TTTTTTTT TTTTTTTTTTTTTTTTTTTT TTTTTTT+KV6V66V+66VTTTTTTTTTTTT", -"TTTTTTTTTTTTT TTTTTTT6V66V66+6V66666666666+TTTTTTTTTTTTTTTTTTTV66V66V66+666V666666VK+TTTTTTTTTTTTTTTTTTTTTTTTTTx66V66V666V+666+666+66666+KTTTTTTTT TTTTTTTTTTTTTTTTTTT TTTTTTTK+66V66V6666TTTTTTTTTTTT", -"TTTTTTTTTTTTT TTTTTT6I66666V6++V6VV66+V66K6TTTTTTTTTTTTTTTTTTV66+666+VV6V6666V6666x6TTTTTTTTTTTTTTTTTTTTTTTTTTxK666+6666666+6V666V66V66V6xTTTTTTTT TTTTTTTTTTTTTTTTTTT TTTTTTT6K666+66666K6TTTTTTTTTTTT", -"TTTTTTTTTTTTTT TTTTTTT66666666V666V+66VV66VVTTTTTTTTTTTTTTTTTTV66666666V666V66V6V66K&TTTTTTTTTTTTTTTTTTTTTTTTTTT6U+6V666V666V666V+VV666666I&TTTTTTTT TTTTTTTTTTTTTTTTTT TTTTTTT6mx666666V6UTTTTTTTTTTTTT", -"TTTTTTTTTTTTTT TTTTTTT6U+V66666666666666666V6TTTTTTTTTTTTTTTTTV6V666+666666+66+666&K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTV666V+666V666V6666666+V666U+TTTTTTT TTTTTTTTTTTTTTTTTT TTTTTTTTUV66V666+66+TTTTTTTTTTTTT", -"TTTTTTTTTTTTTT TTTTTTTK&666V66V666+V6+66+66VTTTTTTTTTTTTTTTTTV66V66V+V666V6666V66VK+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTK6666V666V666V+66V6666666V6TTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTT6K+6V6V66V6V6TTTTTTTTTTTTT", -"TTTTTTTTTTTTTTT TTTTTTT6K6666V666V6666V66V66VVTTTTTTTTTTTTTTTTV666666666V666+V66666x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTT6K666+6V666V6666666+V6VV6+K6TTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTTK6666666666UTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTT TTTTTT6U6666+6666666+VV66666U6TTTTTTTTTTTTTTTV6666666666666V66V666K&TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV6V666+666+666666V6666+666I6TTTTTTT TTTTTTTTTTTTTTTTT TTTTTTT6U6666V666666TTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTT TTTTTTT+V6V+66+V666V66666V6666TTTTTTTTTTTTTTTV6V+V66V666+V6666+66&K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTVV6V666+V66V6V66+66V666V66VTTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTT6m6V66++V66I+TTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTT TTTTTTTmU66+6666V+6666V666V+6I6TTTTTTTTTTTTTTV6V666V66V+666666666VK+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6V+666V66V66V66V+666666666V+TTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTT6I66666V+66VVTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTT TTTTTTT6V6VV6+V6666V666V66666KTTTTTTTTTTTTTTV6666666666+V6V6V6666x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6K666666+66666666VV+6+V666I6TTTTTTTT TTTTTTTTTTTTTTTTT TTTTTTTV6V6666666666TTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTT TTTTTTT+V666666666666V6+6666VV6TTTTTTTTTTTTT666V666666666666V6V66K&TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTVV6+6666666666666V66VV66V6VTTTTTTTTT TTTTTTTTTTTTTTTTTT TTTTTTTTV666V666666U6TTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTT TTTTTTT6V66V66V66+66+666V666+V6TTTTTTTTTTTTV6V66V+V66V66V66+666&K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTXU6V66V666+V66V66+6666666666TTTTTTTTT TTTTTTTTTTTTTTTTTTT TTTTTTT6K+66+66VV6V+TTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTT TTTTTTT6K66666V66VV66++V666666V&TTTTTTTTTTTV666666+66V66V66V6666K+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6K6666V66V+666V666V6666666I+TTTTTTTTTTT TTTTTTTTTTTTTTTTTTTT TTTTTTTTKV666V66V66I6TTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTT TTTTTTTXK66+V6666666V666V6V666KTTTTTTTTTTTV666V66666666666++V6VK6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV66+V666666666666+66V+V6V6VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT&K+6V6+66666VTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTT TTTTTTTTK66666666666666666VV+6K+TTTTTTTTTTV6V6VV+6666V+6V6V6666x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6I6666666666+666V666666666VmTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTV666+66666VK6TTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTT TTTTTTT6IV66+V66V666V6666+6666I6TTTTTTTTTV666+6666+V666666666&K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+U66+V66V66VV+666+V666V666K+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6U666V66666+ATTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTT TTTTTTTT6VV+666V+66V666+6V666V+I6TTTTTTTTV666666V666V+6666666VK+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV66+66V66+V66666666666666+I6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTK6666V6V66VV6TTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTT TTTTTTT+K6666666666V66V66666666VTTTTTTTTV666+V66666666+6V6666x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6U6V666V66666V6V6+V6VV+666V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6V666666666+KTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTT TTTTTTT6V6V66666666666V6V+V66+V6TTTTTTTV666VV6666V666V6V6V66K&TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+K666+6666V++6666666V66V66V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6U66VV+6V666K6TTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTT TTTTTTTTK666V+66+V6+V66666666V6V6TTTTTTV6V6666V+666V666+666&K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6V66V666V66V66V6666+666+V6U6TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT66666666666+KTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTT TTTTTTT6U6666V666V666V+66V66666V6TTTTTV666666+V666V6666V66VK+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTU666V+666666666+66V66V666VVTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTT+U6V66666666V6TTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6V6V66666+66V6666666666+K6TTTTV666V+V666V666+V66666x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+V6666666VV6V66V6666666666V6TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTV66++V6VV666KTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTT TTTTTTTTK++6666V66666666666VV666K6TTTV6V6V666666666V66V666K&TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTVV666666V+66666666V+6666V6UhTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6V66V666V+66U6TTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTT TTTTTTT6UV6V+666+V6V66+V+66+66V6KVTTV666666V666+V6666+66&K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTVVV66+66666+V6V66+V66V6666UTTTTTTTTTTTTTTTTTTTTT TTTTTTT+I6666666666V6TTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6K666666666V66V+V666V6666U6TV66V66V66V+666666666VK+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6U666V66+666V6666V+6666666VVTTTTTTTTTTTTTTTTTTT TTTTTTTTV666+V666+66UXTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTV666V6V6+V6666666V666+66+V+666+6666666+V6V6V6666x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6V666+VV6V666666666666VV6+V6TTTTTTTTTTTTTTTTT TTTTTTTT6V6V+666V6V6V6TTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTVV++6666666666666666VV666+6666666666666666V6V66K&TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV66666V666V6V666666+6V+66VKTTTTTTTTTTTTTTTT TTTTTTTT6U66666666V66ITTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6U6V66V66+V66V666+V666666V66V666+V66V66V66+666&K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+V6V666666+6+66VV66V666666m6TTTTTTTTTTTTT TTTTTTTTV6+V66V666+6V6TTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6K66666666V66V+6666+666V66V+6V+66V666666666666x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6V66666666666+VV66VV66++V6I6TTTTTTTTTTT TTTTTTTTV66666+66V66+VTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTVK66VV+V6666666V66V666666666666666VV+V6+V6VV6K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV66+V666V6V666+666666V6666KxTTTTTTTTT TTTTTTTT6IV6V66V66666U6TTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6V666666V6V66V6666V6666666V66+6+666+666666+6K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6I6VV6V++666666666666666666VTTTTTTTT TTTTTTTT6K+666666V666K6TTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTm6+V666+6+6666+V666V+V66V666V6V666V6666V666K+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6K66666V6666V666+V666V66++K6TTTTTTTT TTTTTTTTT66V666+V666V+VTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTK6V6V66+66V666666666+666V66666666666666666K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTm66666V6V666V66V+66VV66V66U6TTTTTTT TTTTTTTTTVK66+666V666+K+TTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT+K66666V6666+V6V6V66666666666V666VV66VV+66x6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+K666666+66V666666666666666VTTTTTTTT TTTTTTTTXK6+VV6V66666KVTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6K66666666V66666VV+666+666V6VV+6V+666V66Vx6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6U+V+6V6666666666666666666I6TTTTTTTT TTTTTTTT6K6666V666V66V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTT6VV666V66+66V66+66V66VV+666+66666666+666K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV666666+V6+V6666+V+V66V66+K6TTTTTTT TTTTTTTT6K66+666666+6+K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6K+66V66V66V6666666V666+V6V66V66V+66V66K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6K6666666+666VV666V66666V6V6TTTTTTTT TTTTTTTTTK666V6666666+KXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT+K66666+66+66VV6V666V66666666666666666K+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6K+V6V66V66666666+66V66+66V6TTTTTTTT TTTTTTTTTV6666666V6666K+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6I666666V+V6V+6+6666666V6V+6666666666K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6m666666V666666V66666V+V6+I6TTTTTTT TTTTTTTTTVV6V666V++66V6VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6VV6V66666666666+V666V6666+V6666+V6+K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTI666+V666V+V+666+V666666V6VTTTTTTTT TTTTTTTTT+V6++66V66V666KTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT6mV+666V666666666V+6666V+666VV666V+6V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT6U6666666666666666666V6666V6TTTTTTTT TTTTTTTTTVI66V+V6666666IXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTVK6666666V6V6+V6666V66666666666666+U666TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV6666V6V6666V6V6+V6666V666K6TTTTTTTT TTTTTTTTTxK6666666V6VV6I6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6K+6V6V++666666666+666V666666V666V66KUV&TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTV+6666VV+V++66666V+6V+6V+6UXTTTTTTT TTTTTTTTTTxK&66666666V6+K6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT+U66666V66V66V66+66V666V+V+666V66V6666VU6&xTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT+K6V66+6666V66V666666666666VTTTTTTTT TTTTTTTTTT6K66+V66V666+6V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6I6666666666V66VV66++V6666666666+666V66VII6V+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT666V+66666666666666+666V66V+66I+TTTTTTTT TTTTTTTTT6xx66666666+666VVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6VVV6+V6VV66666666V666V6V666+V66666666+666VKU6+66TTTTTTTTTTTTTTTTTTTTTTTTTTTTT6XX6KKKV6666V6+V66VV6V66V666666666+6I6TTTTTTT TTTTTT66IIVV66+V6VV66V666xTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT6U+666V+66666666666666VV+6VV6666+V66V6666X66VUVUV&X66XTTTTTTTTTTTTTTT666+66KKKK6V66V666666VV66V+66666V66666666V6VxTTTTTTTT TTTTT6VU6+6666V666V+666V6KTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6I666666+V66V666V6666+666666V66V+666+V66666V66666KVUKKKUKKKxKKKKKKKKVUVKV666V66666+66+V6666666666+V666V+V66V6666V6TTTTTTTTTTTTT6IV66V66V666666666+VV+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTT6+K666V+66V+66V666+6V6666V6V66+66V6+66V6V66666666666666666666+666V6V66++6V66V+666+V6V666V6666+666V666+V+66V6666+U6TTTTTTTTTTT+I+66VV+66V66+66V66+K+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTKIV6666666666V66V666666+6666V6666V666666+6V666VV66+V666V666V6V666666V66666666V666666V6++V+VV6V666V66666666VV+66VTTTTTTTTTTT6666666666666VV666VKXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT+6U6666666666666V6V+6V+V6666666V6666666V6VV+6V+66VV6V++666V666V66666666VV66+66666+666V6666V666V66666666666V666U6TTTTTTTTT6U6666666666666+666KXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTT6KK6V+66+V6+V666666666V666V66+6V66+V666+666666666666V6666666+6V666V66+666V666V6V666666666666+6666V66+V66+66I6TTTTTTTTTT6VV66+VV66+V666666V+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTT+I66V666V6666V+66V66+66V66V6666666666V66V66V+66V66V666666666+666V66VV66V+66666666666666666V6V+666666666VV+TTTTTTTTTTT+V6+66V66V++66V66K+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTV6IV666+66V6666666V66666666V+V6+V6V66666666666666666V666+V66666666+666666666V666+V666V666+6666+V6+V6KU+TTTTTTTTTTTTT666V6666666V666V66TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTT6+U666666V66+6+666666V+6V6+666666V6V+66666666V+6V6VV+6VV6666+66666666666+6VV+6VV6V++6V666666V666VK6TTTTTTTTTTTTTTT+V66666666666666+6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTT66IV+V6666V6V6666+V66666V6666V66666+V6666+V66666+666666V66V66V6+V66V66V6+66666666V666V66V666VI6TTTTTTTTTTTTTTTTT+K66V66V66V6V666KVTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTT66K666V666666V666V+66666666+666V+666VV666V+666V6666V666V6V666+66V6V666V6666V666666V+66&6KI6TTTTTTTTTTTTT TTTTT6U666V++666V6V+6U6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTm+U666666V66666666+6VV6+VV6V66666666666666+666666+666+6+66VV666666+666666+66VV666666KKVTTTTTTTTTTTTTT TTTTTm6666666666666V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTT6+KV6V+V6666V666V6V+666V6+666V666666V666VV6V+6V+VV66666666666666VV6V+6V+V66+666VU66TTTTTTTTTTTTTT TTTT6U6666666+6666V6TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTT+K6U666V+666V666666666666V666V+V+666V666666666666V66+V66V66+V66666666666V66KV+6TTTTTTTTTTTTTT TTTTT6I+V6V66VV+6I+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTT66IV6666+V6666V666666V666+66+V666V6666V+66V6V+66V666V6666666666666666KK6VTTTTTTTTTTTTTTT TTTTT+K66666+6VKxTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTT6VVI66666V6666V66666+6V66666V666+V666666666666666+66V6VV6+V66V+II6x+TTTTTTTTTTTTTTT TTTTTxKKIUVIK66TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTxXVUK6+6+66V6V666V666V6666666V+666666V6666666V6666666666VUK6+6TTTTTTTTTTTTTTTTT TTTTTTTT++6VTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTT+V6VUVV6666+V666V66V666+V6666V6V66+V666V+666+V666VUK66+TTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTT+x66KUVK666666+6+66666666666666666+6666VIUVK+66TTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT+6&6KKVIUVKVVVV66V6V66V+VVVIUIUVU6666TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTT666666666KKIVK6x6666666XTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT", -"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT" +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.a.>.E k 5 g ~ o.e.h.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.d.,._ l 7 # o 2 2 2 q a N ` *.t.z.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.k.6...c 8 & o o o o o O q u u u 9 2 2 2 u a G ` 1.y.c.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.u.+.K w ; o o o o o o o o o o O q y u u u u u u y y q 2 2 u b F | 1.g.c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.c.u.=.E d 3 o X o o o o o o o o o o o o o O q q u u u u u u u u u y u y y q 2 q i b I .7.g.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.a.;.! k 3 # . X o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u u u u u u q q 2 2 q a m T o.r.k.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.k.,.} l 6 # X X X o o o o o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u u u u u u u u u u u y 2 2 9 q p N ~ -.y.x.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.d.q.} v 7 = X o o o o o o o o o o o o o o o o o o o o o o o o o o o o O q y u u u u u u u u u u u u u u u u u u u u u u u u u u y q 2 2 u f C ] 1.a.z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.w.+.K e ; o X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O y y u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y u 9 2 2 2 u f G | 1.g.c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.u.=.R k = o X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 2 2 2 2 i g U .q.g.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.s.;.( h 4 # o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O q y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y q 2 2 q p N Y $.0.h.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.d.6.) l 6 # X . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 q 2 2 u p B T -.y.z.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.k.q.} S 7 = . . X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . o 2 y y u u u u 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u u y u 2 2 2 q f V [ -.a.z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.z.q.@.S t = o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o = 7 g a y 2 2 2 q q 9 u u u u u u u u u u u u u u u u u u u u 9 u u u u u u u u u u u u u u u u u u u u u u u u u u y q 2 2 2 i b H | 2.a.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.p.=.Q h = o . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X X o o = e l ( =.q.x.b.b.z.0.1.| H B a u 9 2 2 2 9 u 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 2 2 2 u g I o.7.g.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.s.;.( k 6 # o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . X $ 3 e K ( :.p.h.m.M.M.M.M.M.M.M.M.M.M.M.M.n.g.s.1.| ` N b i q 9 2 q q q y u u u y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q q 2 2 q i N Y &.7.k.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.d.6.( x 6 $ o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X X o # 4 k S +.,.p.b.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.c.i.7.$.~ H a u y 2 2 q q q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u u u u q 2 2 2 q a N ` $.y.z.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.k.9...v e = . . X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o . . o ; 6 h ! } 9.d.z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.h.7.$.[ V m p 9 2 q 2 q 9 u u 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 q 2 2 q f B | <.s.z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.z.q.@.S r = o . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X X # = e x E =.q.d.b.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.b.g.r.1.] Y m p i 2 2 2 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q q 2 2 2 u f H [ 2.a.v.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.s.%.! t 3 o . . . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X . X O 3 w c _ %.p.l.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.z.i.<.O.P N a u q 2 2 2 q q u u u u q y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y q 2 2 q i b H O.7.k.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.g.>./ k 4 # X . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o & 3 h S ( ,.w.z.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.l.i.5.| ` V f p q 2 2 2 q q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u y q 2 2 q p N Y &.0.x.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c o X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o $ 8 h L +.>.d.z.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.z.g.4.-.~ H m i q 2 2 2 u 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y q 2 2 2 $.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . # = 6 l R +.u.s.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.g.t.$.] J b a u 2 2 2 q y y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . . o # = e l ( =.9.l.c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.c.f.g.b.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.v.l.0.2.| P V a i q 2 2 2 q u u u u q y u u u u u u u u u u u u u u u u u u u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o o o o o o o o o o o o o o o o o o o X . # 4 e K ) >.p.k.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.c.g.4.&.' G m i a N G [ *.7.h.c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.h.s.1.O.` N f u 2 2 2 q q u y u y u u u u u u u u u u u u u u u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o o o o o o o o o o o o X . . . o $ 4 h v ..,.u.c.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.l.i.7.o.' F s i y 2 2 2 q y 2 2 2 2 2 2 a f G ' #.e.i.x.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.c.i.7.$.~ H f p u 2 2 2 q q y u y u y u u u u u u u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o o o o o o o . . o = 7 h / X.9.d.z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.k.t.<. .I N b u 2 2 2 2 y u u u y u y u u u u u u q q q 2 2 2 2 i b V T O.<.a.l.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.z.g.0.&.| F N p q 2 2 2 q y y u u u u u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l X o o o o o o . . # = 8 x E :.q.k.n.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.b.g.r.<.' J n a u 2 2 2 q q y u u u u u u u u u u u u u u u u u u u u u u u u q 2 2 2 2 2 i a N I [ 4.r.j.n.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.n.h.t.1.] U m a i q 2 9 u u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o . r _ %.u.k.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.z.f.7.O.[ G m a y 2 2 2 q q y y u y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y 2 2 2 2 y s m J | &.8.g.z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.v.z.t.-.o.f u u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.x.y.4.o.Y G b i u 2 2 2 y y u y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u u u u u 2 2 2 2 u i b G T &.5.i.c.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.v.g.a.<.o.Y m s u 2 2 2 2 q y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 2 2 2 2 i s N ` o.4.s.j.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o X X } M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.c.h.7.<.[ J N a u 2 2 2 2 q q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y 2 2 2 u u a B I .1.e.z.c.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.x.f.e.O.` G b a u 2 2 2 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u u y u 2 2 2 2 u a n I ' &.r.f.v.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.z.a.1.#.T V n u 2 2 2 2 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u u u y 2 2 2 2 q i m F ' &.4.f.z.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.b.g.t.1.[ Y N s i 2 2 2 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y 2 2 2 2 2 i b V T | 4.t.l.n.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.d.6...L d 5 u u 9 2 2 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y q 2 2 2 2 u a m J | <.y.l.c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.M.b.z.t.>.{ Z d ; # o . > u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y q 2 2 2 y a n J ' <.8.f.v.n.M.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.u.w ; # . o o o o o o o - u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u y 2 2 2 y p b J z.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.>.. o o o o o o o o o o o o * u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u u y 2 i f.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l X o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o $ q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.,.. o o o o o o o o o o o o o # q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H y u u u u 9 q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.X o o o o o o o o o o o o o o 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.X o o o o o o o o o o o o o o 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.J 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o - u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X { M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o - u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o % u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o O 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o : u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o % u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o O 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 2 q 2 2 2 q 2 2 2 2 2 q 2 2 y 2 q 2 2 q 2 2 2 2 2 q 2 2 2 2 2 2 2 2 2 2 2 q 2 2 y 2 2 2 q 2 2 y y y y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o O 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u a F F F F F F F F G F F F F F F F F F F F F F F F F F F F F F G F G G G G F F F F F F F F F F F V m n f s i u 2 2 2 y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l . o o o o o _ M.M.M.M.M.M.M.3.o o o o o o o o o o o o o o o o o > i u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I b.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.v.c.x.z.s.5.<.] G f y 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o - u u u u u u u u u u u y u u u u u u u u u u u u u u u u u u u u 2 U M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.r. .F i 2 2 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.o o o o o o o o o o o o o o o o o @ u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.a.O.V u 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o } M.M.M.M.M.M.M.3.o o o o o o o o o o o o o o o o o o 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 2 I m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.r.Y i 2 y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.i.Y i 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o - u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 P M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.e.F 2 y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y a g.M.M.M.M.M.M.M.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.X o o o o o o o o o o o o o o o o o $ u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 I m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.O.p 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 I M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.i.V 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.T 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o * u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.| u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o @ u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 U M.M.M.M.M.M.M.M.m.m.m.M.m.m.n.m.m.m.m.M.m.m.m.m.m.n.m.m.b.v.v.v.v.v.v.v.v.v.b.b.v.v.v.v.v.v.v.b.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.O.u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y b ` ` ' ` ` ' ` T G G G G G G G G G G G G G G G G G G G G N m m m m m m m m m m m m m N m m m m N G ` [ &.y.j.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.#.2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o > u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 y 2 2 2 2 q y q 2 y y q 2 y 2 y 2 u 2 2 2 2 y 2 2 2 2 2 2 u s F o.y.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.| 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l . o o o o X } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o @ u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u y y y y y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 u 2 2 2 u B #.l.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.` 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o O 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y q 2 s .z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.B 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o > u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y 2 n 1.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.y.a y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o * u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y T z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.O.2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y 2 m f.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.V 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o { M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 b y.M.M.M.M.M.M.M.M.M.M.M.M.M.M.8.u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o . * u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 2 s a.M.M.M.M.M.M.M.M.M.M.M.M.M.n.U 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u 9 q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 m l.M.M.M.M.M.M.M.M.M.M.M.M.M.t.u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l . o o o o . } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I m.M.M.M.M.M.M.M.M.M.M.M.M.m.J 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.X o o o o o o o o o o o o o o o o o o o o o o * u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 *.M.M.M.M.M.M.M.M.M.M.M.M.M.5.q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u a g.M.M.M.M.M.M.M.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 s j.M.M.M.M.M.M.M.M.M.M.M.M.c.m 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u a f.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o X : u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 [ M.M.M.M.M.M.M.M.M.M.M.M.M.[ 2 y u u u u u u u u u u u u u u u u u u u u u u u u u u u u a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o $ u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 a h.M.M.M.M.M.M.M.M.M.M.M.M.r.u y u u u u u u u u u u u u u u u u u u u u u u u u u u u 9 a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o O o o o o o o o o o o o o o o o o o o o o 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.c.b 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o X * u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 m b.M.M.M.M.M.M.M.M.M.M.M.M.T 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H y u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o # q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 8.M.M.M.M.M.M.M.M.M.M.M.M.*.2 u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l . o o o o X } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o : u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 [ M.M.M.M.M.M.M.M.M.M.M.M.i.i u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.J 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o $ q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 N b.M.M.M.M.M.M.M.M.M.M.M.z.s y u u u u u u u u u u u u u u u u u u u u u u 9 u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a j.M.M.M.M.M.M.M.M.M.M.M.m.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o % u u u u u u u u u u u u u u u u y y u y u y u y y u y y u u u y u u u u y u y u u y u y y y u y u u u y u y u y y u y u y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y 8.M.M.M.M.M.M.M.M.M.M.M.M.Y 2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o O 9 u u u u u u u u u u u u u y y u u y u u u y u u y u y u u u u y u u u u y y y y u y u y y y u y u y y u u y u u y u y u y q q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 <.M.M.M.M.M.M.M.M.M.M.M.M.[ 2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o { M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o * u u u u u u u u u u u u u y | 8.7.e.5.8.8.7.8.7.8.5.8.e.5.8.7.7.7.7.7.7.8.5.8.8.7.8.5.8.8.8.8.7.8.7.7.8.7.8.7.8.7.7.7.7.7.7.7.m 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q [ M.M.M.M.M.M.M.M.M.M.M.M.&.2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u 2 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.G 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 Y M.M.M.M.M.M.M.M.M.M.M.M.5.2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.o o o o o o o o o o o o o o o o o o o o o o o o o o o o X : u u u u u u u u u u u u 2 5.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I M.M.M.M.M.M.M.M.M.M.M.M.5.y u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l . o o o o . } M.M.M.M.M.M.M.3.o o o o o o o o o o o o o o o o o o o o o o o o o o o o X + y u u u u u u u u u u y 9 5.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y 2 J M.M.M.M.M.M.M.M.M.M.M.M.7.y u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o > u u u u u u u u u u u 2 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.V 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 J M.M.M.M.M.M.M.M.M.M.M.M.7.2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O 9 u u u u u u u u u u 2 5.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.V 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 J M.M.M.M.M.M.M.M.M.M.M.M.7.q u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o > u u u u u u u u u u 2 4.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 J M.M.M.M.M.M.M.M.M.M.M.M.5.y u u u u u u u u u u u u u u u u u u u u u u u u u u 2 a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.,.X X o o o o o o o o o o O o o o o o o o o o o o o o o o o o o O q u u u u u u u u u 2 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 J M.M.M.M.M.M.M.M.M.M.M.M.7.y u u u u u u u u u u u u u u u u u u u u u u u u u u q a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o : u u u u u u u u u 2 4.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 Y M.M.M.M.M.M.M.M.M.M.M.M.4.2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O 9 u u u u u u u u 2 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 | M.M.M.M.M.M.M.M.M.M.M.M.#.2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o : u u u u u u u u u B Y I U Y I Y Y Y I Y Y Y I Y Y Y I Y U Y Y Y I Y Y Y Y Y U Y Y Y U Y Y Y I Y Y Y I Y U Y Y Y I I a q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 1.M.M.M.M.M.M.M.M.M.M.M.M.] 2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 2 u u u u u u u u q 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y e.M.M.M.M.M.M.M.M.M.M.M.M.Y 2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l X o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X = u u u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a l.M.M.M.M.M.M.M.M.M.M.M.n.B 2 u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o . } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 V n.M.M.M.M.M.M.M.M.M.M.M.z.a y u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o @ 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 [ M.M.M.M.M.M.M.M.M.M.M.M.y.u y u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u r.M.M.M.M.M.M.M.M.M.M.M.M.&.2 u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 N b.M.M.M.M.M.M.M.M.M.M.M.M.Y 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 9 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o - u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.c.f y u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H y u u u u 9 9 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a h.M.M.M.M.M.M.M.M.M.M.M.M.8.y u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o @ q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 ] M.M.M.M.M.M.M.M.M.M.M.M.M.' 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.J 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o - u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a h.M.M.M.M.M.M.M.M.M.M.M.M.c.b q u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o # 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 *.M.M.M.M.M.M.M.M.M.M.M.M.M.4.q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o % 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 I m.M.M.M.M.M.M.M.M.M.M.M.M.m.J 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o - u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 b g.M.M.M.M.M.M.M.M.M.M.M.M.M.r.u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l X o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a r.M.M.M.M.M.M.M.M.M.M.M.M.M.m.I 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o . } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 a 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.8.u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o % u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 f e.M.M.M.M.M.M.M.M.M.M.M.M.M.M.v.F 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o > u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y 2 V g.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.#.2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 1 i u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q 2 i | v.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.a.a 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y 2 u U y.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.v.G 2 u u u u u u u u u u 9 u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o % 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 2 2 p Y 8.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.' 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.,.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o - u u u u u u u q 9 u u u u 9 u u 9 u u u u u 9 u 9 u u u u 9 u u 9 u u u 9 u 9 u 9 u 9 u 9 u u u u 9 u u u u 2 2 2 q a F #.f.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.*.q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o > u u u u u u u u i u u u u u u u i u u u u u u u i u u u u u u u i u u u u u u u u u u u u u u u u u i i f N J | 4.j.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.1.u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o < u u q b y.f.f.f.f.f.f.f.f.f.f.f.f.f.s.g.f.f.f.f.f.f.s.g.f.f.f.f.f.f.g.f.g.f.g.d.f.g.f.f.g.f.f.f.f.f.g.l.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.4.i u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # 1 u 2 m n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.<.i 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O q u m n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.o.u 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y y a g.M.M.M.M.M.M.M.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l X o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X % 2 m b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l.T 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X { M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o @ b n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.7.m 2 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 0 b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.j.` u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.&.b 2 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 4 b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.&.m 2 q u u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o . 6 b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.a.[ f 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.y.O.V i 2 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.m.v.f.e.O.T m u 2 2 y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 6 c.M.M.M.M.M.M.M.M.M.M.M.i.&.*.*.&.*.*.&.*.*.*.*.*.*.*.*.*.*.*.&.*.*.&.*.*.&.*.&.*.*.&.*.*.*.*.O.` J N n i 2 2 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.| , 2 2 2 2 2 2 2 2 2 2 2 1 , 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 q 2 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 c.M.M.M.M.M.M.M.M.M.M.M. .2 q u u u u u 9 u u u u u u u u u u u q y u u u u u u y y u u u u y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 6 b.M.M.M.M.M.M.M.M.M.M.M. .2 y y u u u u u u u u u u u u u u u u u y u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l X o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 4 b.M.M.M.M.M.M.M.M.M.M.M.| 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 6 c.M.M.M.M.M.M.M.M.M.M.M. .2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u 9 q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.o X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 6 b.M.M.M.M.M.M.M.M.M.M.M.[ 2 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u y y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 6 c.M.M.M.M.M.M.M.M.M.M.M.! # > u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # o o . 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o : q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 c.M.M.M.M.M.M.M.M.M.M.M.! o o X $ 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a f.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o # > u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o ) M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o X o * 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o X # > u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o # o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o * 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u q a f.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 6 c.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o O : u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 s g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o X o + 9 q q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o . } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 4 v.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o X o * 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a f.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o + > 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o O < 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a f.M.M.M.M.M.M.M.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o % 1 u u u u u u u u u u u u u u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H q u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o % 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.3.. o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o % < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o X } M.M.M.M.M.M.M.3.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X . 4 v.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o % , q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u q O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.,.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! X o o o o o o o o o o o o o o o o o o o o o o o o o o # : q q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.,.X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # - 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.,.X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # o o o o o o o o o o o o o o o o . 4 v.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X O % < u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y a g.M.M.M.M.M.M.m.H 2 u u u u u 2 o.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o . } M.M.M.M.M.M.M.9.o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o o o O - 1 u u i u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y s z.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.p.$ X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o $ > 9 u u q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y m b.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o } M.M.M.M.M.M.M.b.4 X o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # % < 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 G m.M.M.M.M.M.M.M.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o _ M.M.M.M.M.M.M.m.j o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O % > 2 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 | M.M.M.M.M.M.M.m.H 2 u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c . o o o o o v M.M.M.M.M.M.M.M.) o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o . 4 v.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O @ - 1 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u y 7.M.M.M.M.M.M.M.m.V 2 u u u u u 2 -.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.R o o o o o d M.M.M.M.M.M.M.M.w.O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O - < 9 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 f z.M.M.M.M.M.M.M.v.N 2 u u u u 9 2 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.+. o o o o o o 6 c.M.M.M.M.M.M.M.n.w o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X X o o % - < 9 u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 ' M.M.M.M.M.M.M.M.s.i q u u u u u u 0.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.3.. o o o o o o o u.M.M.M.M.M.M.M.M._ o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o X O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o $ - > 1 q u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u t.M.M.M.M.M.M.M.M.5.9 u u u u u u a g.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.d.& X o o o o o o @.M.M.M.M.M.M.M.M.k.3 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 v.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o + % - < 1 q q i u u u u u u u u u u u u u u u u u u u u u u u u u u u 2 F b.M.M.M.M.M.M.M.M.[ 2 u u u u u q m b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.8 o o o o o l M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o o o % - : 1 1 q q u u u u u u u u u u u u u u u u u u u u u u u 4.M.M.M.M.M.M.M.M.n.N q u u u u u 2 ~ M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.D o o o o o o = k.M.M.M.M.M.M.M.M.k.; . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 4 v.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o o o O $ * - > 1 1 q 9 u u u u u u i u u u u u u u 2 V b.M.M.M.M.M.M.M.M.r.u y u u u u u 2 &.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.%.. o o o o o o +.M.M.M.M.M.M.M.M.M.) . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o X X o o o O + @ % * - > > 1 1 9 2 2 2 u 2 u e.M.M.M.M.M.M.M.M.M.` 2 u u u u u u u s.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k.& X o o o o o w b.M.M.M.M.M.M.M.M.c.w o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 4 v.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o o o o o o O O O + @ O L M.M.M.M.M.M.M.M.M.l.a q u u u u u 2 B n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l o o o o o o o >.M.M.M.M.M.M.M.M.M.6.O X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X . 3 d.M.M.M.M.M.M.M.M.M.O.q u u u u u u 2 O.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.:.. o o o o o o d n.M.M.M.M.M.M.M.M.M.Q o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X %.M.M.M.M.M.M.M.M.M.z.b q u u u u u u i f.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.6 . o o o o o o o =.M.M.M.M.M.M.M.M.M.c.r o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 6 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o D m.M.M.M.M.M.M.M.M.M.| 2 u u u u u u 2 H m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.) o o o o o o 7 c.M.M.M.M.M.M.M.M.M.a.= . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o e z.M.M.M.M.M.M.M.M.M.s.a y u u u u u u q 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k.; . o o o o o o ! M.M.M.M.M.M.M.M.M.M.:.O . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o ; p.M.M.M.M.M.M.M.M.M.m.U 2 u u u u u u 2 N b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.( o o o o o o o # q.M.M.M.M.M.M.M.M.M.M._ . X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X O >.M.M.M.M.M.M.M.M.M.M.<.q u u u u u u u q 1.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k.3 . o o o o o o e c.M.M.M.M.M.M.M.M.M.m.L . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X o +.M.M.M.M.M.M.M.M.M.M.g.f q u u u u u u q N b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.} o o o o o o o E M.M.M.M.M.M.M.M.M.M.b.x o o o o o o o o o o o o o o o o o # o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . ) M.M.M.M.M.M.M.M.M.M.n.H 2 u u u u u u 9 u 7.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.8 o o o o o o o o =.M.M.M.M.M.M.M.M.M.M.c.k o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . R m.M.M.M.M.M.M.M.M.M.M. .9 u u u u u u u 2 I m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.>.o o o o o o o o ; p.M.M.M.M.M.M.M.M.M.M.x.k . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 4 b.M.M.M.M.M.M.M.M.M.M.M.! o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o # o o o o o o o o o o o . Q m.M.M.M.M.M.M.M.M.M.M.4.u q u u u u u u q i a.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.S o o o o o o o 7 z.M.M.M.M.M.M.M.M.M.M.c.k o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 6 n.M.M.M.M.M.M.M.M.M.M.M.( o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X . Q m.M.M.M.M.M.M.M.M.M.M.s.a q u u u u u 9 u 2 | M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k.3 . o o o o o o o k b.M.M.M.M.M.M.M.M.M.M.c.k o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X & ( _ ) ) ) _ _ ) _ _ ) { r X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . W m.M.M.M.M.M.M.M.M.M.M.k.m q u u u u u u u q N b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.>.o o o o o o o o o S m.M.M.M.M.M.M.M.M.M.M.c.x o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . . X o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . o ) m.M.M.M.M.M.M.M.M.M.M.z.F 2 u u u u u u u 9 p y.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.E o o o o o o o o E m.M.M.M.M.M.M.M.M.M.M.n.R . X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X O o X o X O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . O X.M.M.M.M.M.M.M.M.M.M.M.b.I 2 u u u u u u u u 2 $.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.d o o o o o o o o ) M.M.M.M.M.M.M.M.M.M.M.m._ o . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . & ;.M.M.M.M.M.M.M.M.M.M.M.n.~ 2 u u u u u u u u 2 I n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.; o o o o o o o o . X ) M.M.M.M.M.M.M.M.M.M.M.M.%.& X o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 5 q.M.M.M.M.M.M.M.M.M.M.M.n.` 2 y u u u u u u u q b z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.,.# o o o o o o o o X X ) M.M.M.M.M.M.M.M.M.M.M.M.0.4 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o d g.M.M.M.M.M.M.M.M.M.M.M.n.` 2 9 u u u u u u u 9 p y.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.} . X o o o o o o o X X ! m.M.M.M.M.M.M.M.M.M.M.M.g.d o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . X L b.M.M.M.M.M.M.M.M.M.M.M.c.Y 2 u u u u u u u u u 9 -.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.Q . o o o o o o o o X R m.M.M.M.M.M.M.M.M.M.M.M.v.L X . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o $ +.m.M.M.M.M.M.M.M.M.M.M.M.z.I 2 u u u u u u u u u 2 | M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.v o o o o o o o o o v c.M.M.M.M.M.M.M.M.M.M.M.M.@.& o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 0.M.M.M.M.M.M.M.M.M.M.M.M.h.V 2 u u u u u u u u u 2 Y m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.h o o o o o o o o o k k.M.M.M.M.M.M.M.M.M.M.M.M.u.e X o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X x k.M.M.M.M.M.M.M.M.M.M.M.M.s.m q u u u u u u u u u 2 H c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.t o o o o o o o o o 7 p.M.M.M.M.M.M.M.M.M.M.M.M.x.L X X o o o o o o o o o o o o o o o o o o o o o X o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . $ } m.M.M.M.M.M.M.M.M.M.M.M.M.0.s q 9 u u u u u u u u 2 V z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l.d o o o o o o o o o 3 ,.M.M.M.M.M.M.M.M.M.M.M.M.M.%.3 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o e q.M.M.M.M.M.M.M.M.M.M.M.M.M.*.p q u u u u u u u u u 2 N g.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l.r o o o o o o o o o # ..M.M.M.M.M.M.M.M.M.M.M.M.M.d.k . X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . o W x.M.M.M.M.M.M.M.M.M.M.M.M.b.[ 9 9 u u u u u u u u u 2 N h.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.r o o o o o o o o o o X L c.M.M.M.M.M.M.M.M.M.M.M.M.n.} & . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X 5 >.M.M.M.M.M.M.M.M.M.M.M.M.M.k.H 2 u u u u u u u u u u q N h.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l.t o o o o o o o o o o d s.M.M.M.M.M.M.M.M.M.M.M.M.M.u.d X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . o S k.M.M.M.M.M.M.M.M.M.M.M.M.M.t.m 2 u u u u u u u u u u 2 N g.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.k X o o o o o o o o o = :.M.M.M.M.M.M.M.M.M.M.M.M.M.m.} = o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . 5 >.M.M.M.M.M.M.M.M.M.M.M.M.M.m.&.i 2 u u u u u u u u u u 2 N h.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.v . o o o o o o o o o o . o / c.M.M.M.M.M.M.M.M.M.M.M.M.M.p.k X . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o . O L l.M.M.M.M.M.M.M.M.M.M.M.M.M.z.Y 2 q u u u u u u u u u u 2 V l.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.R . X o o o o o o o o o X . d a.M.M.M.M.M.M.M.M.M.M.M.M.M.b.+.3 X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . w 6.M.M.M.M.M.M.M.M.M.M.M.M.M.M.e.m 2 u u u u u u u u u u u 2 H z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m._ o . o o o o o o o o o o = =.M.M.M.M.M.M.M.M.M.M.M.M.M.M.h.A o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . & ) v.M.M.M.M.M.M.M.M.M.M.M.M.M.n. .i 2 u u u u u u u u u u u 2 Y b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.@.= X o o o o o o o o o o o D k.M.M.M.M.M.M.M.M.M.M.M.M.M.M.3.e X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . o k i.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.H 2 y u u u u u u u u u u q q [ n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.q.4 o o o o o o o o o o o 6 3.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c._ = o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o 6 ;.m.M.M.M.M.M.M.M.M.M.M.M.M.M.m.*.p 2 q u u u u u u u u u u y u &.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.d.d o o o o o o o o o o o . o E z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.d.c O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o & ( z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.g.U q q u u u u u u u u u u u 2 a 5.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.K X X o o o o o o o o o o o 7 ,.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.3.r . . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . o c p.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.-.f 2 u u u u u u u u u u u u 2 M a.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.X.$ o o o o o o o o o o o . o R z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.@.4 X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . . e 4.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.d.U q q u u u u u u u u u u u q 2 U z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.q.6 X o o o o o o o o o o o 6 :.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.^ = X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . . 6 @.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.&.a 2 u y u u u u u u u u u u q u | b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k.x . o o o o o o o o o o o o . o v d.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.d.D # o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o . = ) z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.y.C 2 9 u u u u u u u u u u u u 2 a 2.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.} # . o o o o o o o o o o o X 3 +.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.u.l O X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X & R h.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.| u q u u u u u u u u u u u u u 2 N s.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.q.7 o o o o o o o o o o o o X . d 0.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.3.j X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o + A p.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.2.m 2 u u u u u u u u u u u u u q 9 ] z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l.S o . o o o o o o o o o o o o o K k.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.3.d X . o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O c w.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.I u 2 u u u u u u u u u u u u u 2 a 1.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.%.; X o o o o o o o o o o o o 3 @.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.%.e X X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X O k 9.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.| p 2 y u u u u u u u u u u u u q 2 C f.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.l . . o o o o o o o o o o o o X r 6.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.%.r X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O l 6.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.1.m q y u u u u u u u u u u u u u q u | b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.+.= o o o o o o o o o o o o o o c a.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.;.e X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o O o o o o X o k 9.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.t.C q 2 u u u u u u u u u u u u u 9 2 b 0.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.a.k X X o o o o o o o o o o o o X & ! k.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.=.r o X o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o X # z 6.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.T u 2 y u u u u u u u u u u u u u q u ` z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.X.= o o o o o o o o o o o o o X 4 ..c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.>.h O X o o o o o o o o o o o o o o o o o o o o o o o o o o o o X $ c w.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.| p 2 u u u u u u u u u u u u u u 9 2 f 1.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.d.l X . o o o o o o o o o o o o o . 7 =.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.6.z # . o o o o o o o o o o o o o o o o o o o o o o o o o & K a.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.&.f 2 y u u u u u u u u u u u u u u 9 9 T l.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.@.4 o o o o o o o o o o o o o o X d ,.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.q.A & . o o o o o o o o o o o o o o o o o o o o . . 3 Q s.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.1.M 2 q y u u u u u u u u u u u u u 9 2 g 1.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.d.S o . o o o o o o o o o o o o o o o l 9.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.! 3 . o o o o o o o o o o o o o o o o X 7 ..z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.4.B 2 q 9 u u u u u u u u u u u u u u q u ` h.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.3.8 X o o o o o o o o o o o o o o o v w.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.} 8 o o o o o o o o o o o o . O d ;.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.q.G 9 2 u u u u u u u u u u u u u u u 9 2 m 6.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c./ & o o o o o o o o o o o o o o o # S u.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.c.>.k $ . o o o o o o . = A 0.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.r.H 9 2 u u u u u u u u u u u u u u u u 2 u | z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.u.l . o o o o o o o o o o o o o o . & v p.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.t.R 3 o o . 7 { d.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.r.P u 2 u u u u u u u u u u u u u u u 9 q 2 V i.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.%.6 X o o o o o o o o o o o o o o X $ K u.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.+.d o $ l :.v.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.r.P u 2 9 u u u u u u u u u u u u u u u u 2 f $.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l.Q $ o o o o o o o o o o o o o o o o $ v q.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.w.a.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.0.H u 2 u u u u u u u u u u u u u u u u u 2 u ] h.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.u.k X . o o o o o o o o o o o o o o o o o c q.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.5.G y 2 q u u u u u u u u u u u u u u u u 2 q N r.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.=.6 . . o o o o o o o o o o o o o o o o o l 6.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.v.1.V q 2 u u u u u u u u u u u u u u u u u u 2 f &.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.) = o o o o o o o o o o o o o o o o o o d %.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.$.m q 2 y u u u u u u u u u u u u u u u u 9 2 u [ k.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.c o . X o o o o o o o o o o o o o o o o . 8 X.z.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k.o.g 2 2 u u u u u u u u u u u u u u u u u u 2 9 H i.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.9.d X . o o o o o o o o o o o o o o o o o 4 ( s.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.i.] a 2 q u u u u u u u u u u u u u u u u u u 9 q N 5.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.=.6 o o o o o o o o o o o o o o o o o X & v w.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.7.P u 2 9 u u u u u u u u u u u u u u u u u u y 2 a &.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.) = o o o o o o o o o o o o o o o o o o o o h =.c.M.M.M.M.M.M.M.M.M.M.z.*.N 9 2 u u u u u u u u u u u u u u u u u u u u 2 p | l.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.K # o o o o o o o o o o o o o o o o o o o X 6 ) d.M.M.M.M.M.m.a.[ f 2 q u u u u u u u u u u u u u u u u u u u u 2 i ~ g.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.u.l o o o o o o o o o o o o o o o o o o o o & x 9.b.v.2.H u 2 q u u u u u u u u u u u u u u u u u u u u 2 u P i.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.6.d o o o o o o o o o o o o o o o o o o o o X o w g q 2 q u u u u u u u u u u u u u u u u u u u u 2 q H 0.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.m.;.r o o o o o o o o o o o o o o o o o o o o o 2 u u u u u u u u u u u u u u u u u u u u u 2 2 V 7.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.n.@.7 o o o o o o o o o o o o o o o o o o O q u u u u u u u u u u u u u u u u u u u q q N 5.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.x.} 6 . o o o o o o o o o o o o o o o X O q u u u u u u u u u u u u u u u u u 2 9 N 2.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.l.} 3 . o o o o o o o o o o o o o o O 2 u u u u u u u u u u u u u 9 u 2 2 N 2.b.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.( = . o o o o o o o o o o o o O q u u u u u u u u u u u u u 2 9 C 2.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.h.! = . o o o o o o o o o o O q u u u u u u u u u u 9 2 9 C 7.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k.! = . o o o o o o o o O q y u u u u u u u u 2 u H r.m.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.h.! ; o o o o o o o # y u u u u u u 9 2 p ~ t.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.k._ 3 . o o o o # q u u u u q 2 a [ f.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z._ 4 . o o O q y u q q b O.k.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.z.+.w . O 2 2 u B -.c.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.b.>.k & p ` y.n.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.s.l.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.", +"M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M.M." }; diff --git a/share/pixmaps/bitcoin32.png b/share/pixmaps/bitcoin32.png old mode 100644 new mode 100755 index ff5c1f7596866..83b3e228e7f65 Binary files a/share/pixmaps/bitcoin32.png and b/share/pixmaps/bitcoin32.png differ diff --git a/share/pixmaps/bitcoin32.xpm b/share/pixmaps/bitcoin32.xpm old mode 100644 new mode 100755 index 5f49f2223629f..df312614a3a59 --- a/share/pixmaps/bitcoin32.xpm +++ b/share/pixmaps/bitcoin32.xpm @@ -1,97 +1,138 @@ /* XPM */ static char *bitcoin32[] = { /* columns rows colors chars-per-pixel */ -"32 32 59 1 ", -" c black", -". c #010000", -"X c #140404", -"o c #5B0D13", -"O c #981821", -"+ c #AB1B25", -"@ c #AD1A24", -"# c #AD1B24", -"$ c #AD1A25", -"% c #AC1B25", -"& c #AD1B25", -"* c #AE1A24", -"= c #AE1B25", -"- c #AF1B25", -"; c #AD1A26", -": c #AE1A26", -"> c #AE1B26", -", c #AF1B26", -"< c #AE1C25", -"1 c #AF1C25", -"2 c #AE1C26", -"3 c #B01B25", -"4 c #B11B25", -"5 c #B01B26", -"6 c #B11B26", -"7 c #B21B26", -"8 c #B01C25", -"9 c #B01C26", -"0 c #B11C26", -"q c #B21C26", -"w c #B31C26", -"e c #B21C27", -"r c #B31C27", -"t c #B41C26", -"y c #B51C26", -"u c #B41D26", -"i c #B51D26", -"p c #B41C27", -"a c #B51C27", -"s c #B51D27", -"d c #B61C27", -"f c #B71C27", -"g c #B61D27", -"h c #B71D27", -"j c #B81D27", -"k c #B91D27", -"l c #BA1C27", -"z c #BA1D27", -"x c #BC1E27", -"c c #B71C28", -"v c #B71D28", -"b c #B91C28", -"n c #B81D28", -"m c #B91D28", -"M c #BA1D28", -"N c #BB1D28", -"B c #BA1D29", -"V c #B81E28", -"C c None", +"32 32 100 2 ", +" c #241D2F", +". c #2A2235", +"X c #2E2739", +"o c #2F283A", +"O c #312A3C", +"+ c #352D42", +"@ c #373041", +"# c #3A3344", +"$ c #3B324C", +"% c #3F3949", +"& c #3E3452", +"* c #423B4C", +"= c #403655", +"- c #43385A", +"; c #473B61", +": c #493D65", +"> c #473868", +", c #4B3C6C", +"< c #4B4554", +"1 c #524C5C", +"2 c #4E416E", +"3 c #5A5463", +"4 c #5E5866", +"5 c #5E5768", +"6 c #5F596A", +"7 c #4F4170", +"8 c #524472", +"9 c #574A76", +"0 c #594B77", +"q c #5B4E7A", +"w c #5E517B", +"e c #625C6B", +"r c #61547E", +"t c #66616E", +"y c #6A6572", +"u c #6C6874", +"i c #706B78", +"p c #77727E", +"a c #635780", +"s c #655981", +"d c #6A5E85", +"f c #6E6289", +"g c #71668B", +"h c #776C90", +"j c #786E91", +"k c #7C7294", +"l c #817D87", +"z c #807697", +"x c #847B9B", +"c c #897F9F", +"v c #88848E", +"b c #8A8690", +"n c #908D96", +"m c #96939B", +"M c #8D84A3", +"N c #9087A5", +"B c #9289A6", +"V c #968DAA", +"C c #9D9AA2", +"Z c #9C94AE", +"A c #A29FA7", +"S c #A49DB5", +"D c #A5A2AA", +"F c #A8A5AD", +"G c #A7A0B7", +"H c #ACA4BB", +"J c #B1AABF", +"K c #B4B2B8", +"L c #BBB9BF", +"P c #B2ACC0", +"I c #B7B1C4", +"U c #BDBAC1", +"Y c #BEB8CA", +"T c #C1BFC4", +"R c #C3BECE", +"E c #C4C2C7", +"W c #C5C3C8", +"Q c #C8C6CA", +"! c #CCCACF", +"~ c #C7C2D1", +"^ c #CAC6D5", +"/ c #CECDD1", +"( c #D1CFD3", +") c #D1CDD9", +"_ c #D3D2D6", +"` c #D5D2DD", +"' c #D8D6DD", +"] c #DBDADD", +"[ c #DBD7E2", +"{ c #DBD9E2", +"} c #E1DEE5", +"| c #E2DFE8", +" . c #E4E3E5", +".. c #E6E4EA", +"X. c #E8E6EC", +"o. c #EBEAED", +"O. c #EEEDF1", +"+. c #F0EEF3", +"@. c #F3F2F4", +"#. c #FFFFFF", /* pixels */ -"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC", -"CCCCCCCCCCCCCC11&&7CCCCCCCCCCCCC", -"CCCCCCCCCC71wdddaaew11CCCCCCCCCC", -"CCCCCCCC1wddCCCCCCCCCddwCCCCCCCC", -"CCCCCC O1C CCdwCCCCCCC", -"CCCCCC CC CmwCCCCCC", -"CCCCC odC CCCCC CldCCCCC", -"CCCC CmmlC CCCCCC CawCCCC", -"CCC Cdw1CC CCCCC Cd&CCC", -"CCC Cmd7CCCC CCCCC C CaCCC", -"CC C7t&CCdaC CCCC C Cd&CC", -"CC lt&CC1maC CCC CC C&CC", -"CC Cwd&CC+w&dC CCC CC C7CC", -"CC CwwCCC&w&wdC CC CCC Cw&C", -"C Cw&CCC+w&1dC C CCC Ca&C", -"C Ca&CCC&w&&&wC CCC Cm1C", -"C Cd&CCC+d&&1waC CCC Cm&C", -"C Cd&CCC&w&C&waNC CCC Ca,C", -"CC C7wCCC&w&CC7&wC CCC Ce&C", -"CC Cwd&CC+a&CCCwwdC CC C7CC", -"CC ma1CC+d&CCC&wwmC CC C&CC", -"CC Cwd&C&w&CCCC1&wC CC Ca&CC", -"CCC Cmd&C&w&CCCCCw&wCCCC CaCCC", -"CCC Cdd&&&&CCCCC&aw&CC Ca&CCC", -"CCCC Caw11&CCCCCC7&wC CaeCCCC", -"CCCCC Cdd+&&CCCCC&w1wC CNdCCCCC", -"CCCCCC Cxwddw+1&&1&waCCwmCCCCCC", -"CCCCCCC CCmwwaaaawwmCCX7&CCCCCC", -"CCCCCCCC CCCCCmCCCC CCCCCCCC", -"CCCCCCCCCC CCCCCCCCCC", -"CCCCCCCCCCCCC CCCCCCCCCCCCC", -"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" +"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.", +"#.#.#.#.#.#.#.#.#.#.#.X.! A p 1 r M J ) O.#.#.#.#.#.#.#.#.#.#.#.", +"#.#.#.#.#.#.O.( F l 1 @ . . % 4 g q 2 , 9 f B I ' @.#.#.#.#.#.#.", +"#.#.#.X.v 3 * # * 5 l D Q .O.@.@.@.X.) P B h r 9 w h Z O.#.#.#.", +"#.#.#.W % D ! .+.+.| ^ P N h a r j N J ^ } +.@.o.` J q ) #.#.#.", +"#.#.#.E y +.m l g w 8 , , , , , 8 , , , , 8 w g M S @.k ) #.#.#.", +"#.#.#.E y ! + 7 7 8 8 , , , , > > , , 8 8 8 , > > ` k ) #.#.#.", +"#.#.#.E y ^ X + 7 8 7 8 S H P P P J G x 8 , 8 8 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o O : 8 8 9 ` ..........+.#.[ d , 8 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o o - 8 8 8 9 8 8 8 8 8 9 x @.} 0 8 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o o $ 8 8 , , , > , , 7 7 > c #.B , 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o O o : 9 c N N N N M 9 8 7 w @.Y , 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o O o $ 0 ` X.X.X.X.[ w 7 7 9 O.R , 8 2 ` k ) #.#.#.", +"#.#.#.E y ! o O O O : 9 9 9 8 9 8 8 8 , d #.G , 8 8 ` k ) #.#.#.", +"#.#.#.E y ! o O O X $ 7 , , > , > , > 8 R #.f , 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o O O O o $ h M N N B N Z { #.S , 8 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o O O O O . U #.#.#.#.#.@.` c , 8 8 8 2 ` k ) #.#.#.", +"#.#.#.E y ! o O O O O . L X.r a r r w 7 , 8 8 8 8 7 ` k ) #.#.#.", +"#.#.#.E y ! o o O O o . L .$ : 7 7 7 8 8 7 8 8 7 7 ` k ) #.#.#.", +"#.#.#.E y ! o O O O o . L .@ O = 2 8 8 8 8 8 8 8 7 ` k ) #.#.#.", +"#.#.#.E y _ o O O O O . L .@ o o O & ; 2 8 8 8 8 8 { k ) #.#.#.", +"#.#.#.] < O.3 . O O O . L .O O O O O O + # & - - g +.d ..#.#.#.", +"#.#.#.#.t C ] # o O O X U X.+ o O O O O o o o X # ] G z #.#.#.#.", +"#.#.#.#.' % E / % . O o 1 4 O O O O O O O O . * ( ^ q } #.#.#.#.", +"#.#.#.#.#.U # K .e . o o . O O O O O O o . t .Y 9 ~ #.#.#.#.#.", +"#.#.#.#.#.#.T % l o.D % . o O o O O o . * F O.V 9 ~ #.#.#.#.#.#.", +"#.#.#.#.#.#.#.] 3 < E .v # . o o . # b .^ s d { #.#.#.#.#.#.#.", +"#.#.#.#.#.#.#.#.#.m @ y _ } n * * n .{ z 8 Z @.#.#.#.#.#.#.#.#.", +"#.#.#.#.#.#.#.#.#.#.] u O i ( o.o.[ x , h ` #.#.#.#.#.#.#.#.#.#.", +"#.#.#.#.#.#.#.#.#.#.#.#.E 3 . 6 h > f R #.#.#.#.#.#.#.#.#.#.#.#.", +"#.#.#.#.#.#.#.#.#.#.#.#.#.#.L e f R #.#.#.#.#.#.#.#.#.#.#.#.#.#.", +"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#." }; diff --git a/share/pixmaps/bitcoin64.png b/share/pixmaps/bitcoin64.png old mode 100644 new mode 100755 index 58e08dc2b962c..792b48167882f Binary files a/share/pixmaps/bitcoin64.png and b/share/pixmaps/bitcoin64.png differ diff --git a/share/pixmaps/bitcoin64.xpm b/share/pixmaps/bitcoin64.xpm old mode 100644 new mode 100755 index fd9e58aa8810c..e0132ff522e68 --- a/share/pixmaps/bitcoin64.xpm +++ b/share/pixmaps/bitcoin64.xpm @@ -1,112 +1,174 @@ /* XPM */ static char *bitcoin64[] = { /* columns rows colors chars-per-pixel */ -"48 48 58 1 ", -" c black", -". c #AC1A24", -"X c #AD1A24", -"o c #AC1B24", -"O c #AD1B24", -"+ c #AD1A25", -"@ c #AC1B25", -"# c #AD1B25", -"$ c #AE1B24", -"% c #AE1B25", -"& c #AF1B25", -"* c #AD1A26", -"= c #AD1B26", -"- c #AE1B26", -"; c #AF1B26", -": c #AC1C25", -"> c #AD1C25", -", c #AE1C25", -"< c #AF1C25", -"1 c #AD1C26", -"2 c #AE1C26", -"3 c #AF1C26", -"4 c #B01A25", -"5 c #B01B25", -"6 c #B11B25", -"7 c #B21B25", -"8 c #B01B26", -"9 c #B11B26", -"0 c #B21B26", -"q c #B31B26", -"w c #B21B27", -"e c #B01C25", -"r c #B11C25", -"t c #B01C26", -"y c #B11C26", -"u c #B21C26", -"i c #B31C26", -"p c #B31C27", -"a c #B41C26", -"s c #B51C26", -"d c #B41C27", -"f c #B51C27", -"g c #B41D27", -"h c #B61C26", -"j c #B61C27", -"k c #B71C27", -"l c #B61D27", -"z c #B71D27", -"x c #B81C27", -"c c #B81D27", -"v c #B91D27", -"b c #B51C28", -"n c #B81D28", -"m c #B91D28", -"M c #BA1D28", -"N c #BB1D28", -"B c #B81E28", -"V c None", +"48 48 120 2 ", +" c #211A2D", +". c #261E32", +"X c #272033", +"o c #292235", +"O c #2D2639", +"+ c #2F283A", +"@ c #312A3C", +"# c #362E42", +"$ c #382F48", +"% c #373042", +"& c #3A3344", +"* c #3A3149", +"= c #3F394A", +"- c #3E3452", +"; c #3F3358", +": c #40394A", +"> c #413757", +", c #44395C", +"< c #443566", +"1 c #463A61", +"2 c #483C62", +"3 c #473869", +"4 c #4B3C6C", +"5 c #474051", +"6 c #4A4454", +"7 c #524D5C", +"8 c #56505F", +"9 c #4E406E", +"0 c #50426F", +"q c #595362", +"w c #4F4170", +"e c #514371", +"r c #584A76", +"t c #594C78", +"y c #5E517C", +"u c #605B69", +"i c #63567E", +"p c #66616E", +"a c #6B6673", +"s c #6F6A77", +"d c #76717D", +"f c #645780", +"g c #665A82", +"h c #695D85", +"j c #6D6286", +"k c #6E6389", +"l c #71668B", +"z c #74698E", +"x c #776C90", +"c c #796E92", +"v c #7D7295", +"b c #807B86", +"n c #837F8A", +"m c #807697", +"M c #817798", +"N c #847A9B", +"B c #85818C", +"V c #89858F", +"C c #8A8691", +"Z c #8D8993", +"A c #89809F", +"S c #908C96", +"D c #928E98", +"F c #95919B", +"G c #98959E", +"H c #8D83A2", +"J c #928AA6", +"K c #968DA9", +"L c #9E9AA3", +"P c #9B93AD", +"I c #9F97B1", +"U c #A09DA5", +"Y c #A19AB2", +"T c #A5A2AA", +"R c #A9A6AF", +"E c #A7A0B7", +"W c #A8A1B7", +"Q c #ACA9B0", +"! c #AAA3BA", +"~ c #AEA8BD", +"^ c #B1AEB5", +"/ c #B1ABBF", +"( c #B3B0B7", +") c #B5B2B9", +"_ c #B9B7BD", +"` c #BBB9BF", +"' c #B4AEC2", +"] c #B7B1C4", +"[ c #B9B4C6", +"{ c #BEBCC2", +"} c #BEB9CA", +"| c #C1BFC4", +" . c #C1BBCC", +".. c #C3C1C6", +"X. c #C6C4CA", +"o. c #C8C6CB", +"O. c #CBCACE", +"+. c #C6C2D1", +"@. c #C9C5D3", +"#. c #CDCAD4", +"$. c #CFCBD8", +"%. c #D1CFD3", +"&. c #D2CEDA", +"*. c #D3D1D5", +"=. c #D6D3DC", +"-. c #D8D6DE", +";. c #DCDBDE", +":. c #D9D5E0", +">. c #DEDBE3", +",. c #E1DFE5", +"<. c #E4E3E5", +"1. c #E5E2E9", +"2. c #E9E7ED", +"3. c #EAE9ED", +"4. c #EEEDF1", +"5. c #F0EEF2", +"6. c #F4F4F5", +"7. c #F7F6F8", +"8. c #F8F7F9", +"9. c #FFFFFF", /* pixels */ -"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", -"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", -"VVVVVVVVVVVVVVVVVVi###iaai###8VVVVVVVVVVVVVVVVVV", -"VVVVVVVVVVVVVVViiama#38#8i##mNa88VVVVVVVVVVVVVVV", -"VVVVVVVVVVVVV38ma3bVVVVVVVVVVa3iN88VVVVVVVVVVVVV", -"VVVVVVVVVVVV3vi8VVVV VVVV8#v8#VVVVVVVVVVV", -"VVVVVVVVV VaVVV VVViaaiVVVVVVVVVV", -"VVVVVVVVV VVV VVVia3VVVVVVVVV", -"VVVVVVVV VV VV3aiVVVVVVVV", -"VVVVVVV VVmVV VVVVVVVVV VVia8VVVVVVV", -"VVVVVV VVia#V VVVVVVVVV VV3v#VVVVVV", -"VVVVVV VVi##v8V VVVVVVVVV VVia#VVVVV", -"VVVVV V3##i#VVV VVVVVVVV VViiVVVVV", -"VVVV Vii@i8VVVV VVVVVVV V V#m#VVVV", -"VVVV VVi#8iVVVVVV VVVVVVV VV VV#iVVVV", -"VVV V###iVVVV8iVV VVVVVV VVV V8m#VVV", -"VVV VVi#i#VVV#ai3VV VVVVV VVV VV8#VVV", -"VVV V8i#8VVVV###i3V VVVVV VVVV V#mVVV", -"VV V3#i3VVVV#8##aVV VVVV VVVV Vbm#VV", -"VV VVa#iVVVVV#####iVV VVV VVVVV VVa#VV", -"VV Vaa##VVVVV#####i#V VVV VVVVV V##VV", -"VV Vii3#VVVVV#8####a8V VV VVVVV V#aVV", -"VV Viii#VVVVV#######8VV V VVVVV V#vVV", -"VV V3#8#VVVVV#######i3V VVVVV V8mVV", -"VV V38i3VVVVV#8###i##a8V VVVVV V#mVV", -"VV V333#VVVVV####V#a##iVV VVVVV V8vVV", -"VV Vqi##VVVVV####VV#8#8#V VVVVV V#aVV", -"VV Vaa#8VVVVV##8#VVVi##a#V VVVVV V38VV", -"VV VVa#i#VVVV####VVV#b##aVV VVVVV VVi#VV", -"VV V##i#VVVV####VVVV#8##3VV VVVV VVv#VV", -"VVV V8i#iVVVV#88#VVVVV8##aiV VVVV V#mVVV", -"VVV VVa#i8VVV####VVVVV#a##aVV VVV VV83VVV", -"VVV V#i#aVVV####VVVVVV#i##iVV VVVV V8m#VVV", -"VVVV VVi###VV##8#VVVVVVVi##a#VVVVVV VV8qVVVV", -"VVVV V8i#i3V####VVVVVVV#b##a#VVVV V8v#VVVV", -"VVVVV VV3i#8#####VVVVVVVV#i##8VVV VV88VVVVV", -"VVVVVV VV88######VVVVVVVVVi##i#V VV8q3VVVVV", -"VVVVVV VV8i#####VVVVVVVVVVi##aiV VV3v#VVVVVV", -"VVVVVVV VV3i####3VVVVVVVVV####iVV VV#a8VVVVVVV", -"VVVVVVVV VVia8##ib##3###3#####i#VVbiiiVVVVVVVV", -"VVVVVVVVV VVV3ai####iiii####iaiaVV#8aVVVVVVVVV", -"VVVVVVVVVV VVVi#bii8###iib#3mVV Vai3VVVVVVVVV", -"VVVVVVVVVVVV VVVVpi####iiVVVV VVVVVVVVVVVV", -"VVVVVVVVVVVVV VVVVVVVVVV VVVVVVVVVVVVV", -"VVVVVVVVVVVVVVV VVVVVVVVVVVVVVV", -"VVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVV", -"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", -"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.6.=.^ V P } >.7.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.8.;._ D p 5 @ o o 1 4 e f M Y +.1.8.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.8.<.| G s 6 # o . O # 6 i e 4 4 < < 4 e h N ! @.2.8.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.2.o.U d 7 @ . o & 6 p n T ..<.6.8.1.@.' K v f r 4 3 < 4 e j H ' &.5.9.9.9.9.9.9.", +"9.9.9.9.9.L % . X & 7 a C Q o.<.9.9.9.9.9.5.:.:.5.9.9.9.9.9.3.&.' P v h r 3 < 3 r ' 9.9.9.9.9.", +"9.9.9.9.9.V O Z ( *.3.9.9.9.9.9.3.&.] P M j t w w y j M I [ &.3.9.9.9.9.9.5.-.} P 4 Y 9.9.9.9.9.", +"9.9.9.9.9.V = 9.9.6.<.@./ K v h r 9 4 4 4 9 w w w w 4 4 4 4 9 r g v K ' #.1.8.9.6.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 8.T = # 1 4 4 9 w w e e w e e w w w e e e e e e w 9 4 4 4 9 e y [ 6.r Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.S . O , e e e e e e w w w e w w e w e e e e e e e e e e e e 4 Y 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 8.D X + > e e e e e e t t y t t t t t t e w 4 w e e e e e e e 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D X + $ e e e e 0 y :.2.3.2.3.2.3.3.3.1.&.Y g 4 e e e e e e 4 ! 6.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D X @ @ 0 e e e 0 y 4.9.9.9.9.9.9.9.9.9.9.9.5.P 4 e e e e w 4 ! 8.t I 9.9.9.9.9.", +"9.9.9.9.9.V : 8.F X @ + 2 e e e w e l z l l l k j l j c I 1.9.9.I 4 e e e 0 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D X @ + > e e e e e 4 4 9 9 9 9 9 9 9 4 4 t +.9.8.z 0 e e e 4 E 8.e Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D X @ @ @ 0 e e e e e e e e e e w w e w w 4 y 2.9.[ 4 e e w 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 8.D o @ @ + 2 e e w 4 4 4 4 4 4 4 4 4 e e e e 4 ~ 9.1.t w e e 4 ! 7.e Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D o @ @ + $ e 4 N ] ] ' ] ] ' ' ' M 4 e e e 4 H 9.7.f 4 w e 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D o @ @ @ @ 2 4 ! 9.9.9.9.9.9.9.9.~ 4 w e e 4 N 9.8.h w e e 4 ! 7.r Y 9.9.9.9.9.", +"9.9.9.9.9.V : 8.D o @ @ @ + $ 9 h m m v m m M M M h 9 w e e 4 K 9.5.i w e e 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D X @ @ @ @ O , w 4 4 9 4 4 4 4 4 9 e w e w 4 @.9.=.w w w w 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D o @ @ @ @ @ # 4 e w w e e w w e e e w w 4 M 8.9.P 4 w e w 4 W 6.r Y 9.9.9.9.9.", +"9.9.9.9.9.V : 8.D o @ @ @ @ @ @ * w 9 4 4 4 4 4 4 4 4 4 w A 5.9.,.t w e e e 4 W 8.t I 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D o @ @ @ @ @ @ @ - N ! ~ ! ! ! ! ! ! ] >.9.9.2.z 4 e e e e 4 W 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D o + @ @ @ @ @ @ X R 9.9.9.9.9.9.9.9.9.9.8. .f 4 e e e e e 4 W 7.r Y 9.9.9.9.9.", +"9.9.9.9.9.V = 9.D o @ @ @ @ @ @ @ X L 9.3./ ] / ' ] ] ~ J h 4 0 e e e e e e 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V = 9.D o @ @ @ @ @ @ @ o U 9.$.3 4 4 4 4 4 4 4 0 e e e e e e e e 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.V : 8.D o @ @ @ @ @ @ @ X U 9.O.$ 9 e w w w w w e e e e e e e e e 4 ! 6.r Y 9.9.9.9.9.", +"9.9.9.9.9.V : 9.D o @ @ @ @ @ @ @ o U 9.O.O @ , e e e e e e e e e e e e e w 4 ! 8.t I 9.9.9.9.9.", +"9.9.9.9.9.V = 9.D o @ @ @ @ @ @ @ o U 9.O.+ @ + $ , 0 w e e e e e e e e e w 4 ! 8.t Y 9.9.9.9.9.", +"9.9.9.9.9.B = 9.F o @ @ @ @ @ @ @ X U 9.O.O @ @ + + & > 9 w e e e e e e e e 4 ! 7.t Y 9.9.9.9.9.", +"9.9.9.9.9.S # 6.{ o @ @ @ @ @ @ @ o U 9.O.+ @ @ @ @ @ + @ $ , 2 0 e e e e e 4 #.6.e E 9.9.9.9.9.", +"9.9.9.9.9._ . ..8.q o @ @ @ @ @ @ o U 9.O.O @ @ @ @ @ @ @ @ @ @ # $ * > > ; j 9...3 @.9.9.9.9.9.", +"9.9.9.9.9.5.: u 9.O.# O @ @ @ @ + o U 9.%.O @ @ @ @ @ @ @ @ @ @ O + + + O % *.9.l i 6.9.9.9.9.9.", +"9.9.9.9.9.9.T L 9.) @ O + @ @ @ o F 3.` O @ @ @ @ @ @ @ @ @ @ @ @ @ O # ` 9.Y 3 [ 9.9.9.9.9.9.", +"9.9.9.9.9.9.8.a X ( 9._ & O @ @ @ O & : & @ @ @ @ @ @ @ @ @ @ @ @ @ o = { 9.[ 4 M 8.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.3.7 o R 9.*.7 X + @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ + o q -.9./ 4 j 5.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.<.7 . C 9.6.B @ o @ @ @ @ @ @ @ @ @ @ @ @ @ @ O @ C 8.8.P 3 h 2.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.3.p u ;.9.o.q o O @ @ @ @ @ @ @ @ @ @ O o q %.9.>.z < x 3.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.7.Z X @ L 9.9.T 6 o + @ + + @ @ @ + o 6 Q 9.8.! e 4 H 6.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.` 5 8 ..9.6.G 5 X O + @ O o 5 L 6.9.@.j < t [ 9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.3.b o o s *.9.6.T 7 O O 7 R 6.9.=.M 4 4 M ,.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.X.q O d *.9.9.` { 9.9.=.N w < i [ 9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.8.R : O a { 9.9.+.m w < t Y 5.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.3.D & o q j 4 < e J 1.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.<.C = . 1 t K ,.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.<.F Y 1.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.", +"9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9." }; diff --git a/share/pixmaps/favicon.ico b/share/pixmaps/favicon.ico old mode 100644 new mode 100755 index 1d861d387465f..c16909bf3c455 Binary files a/share/pixmaps/favicon.ico and b/share/pixmaps/favicon.ico differ diff --git a/share/pixmaps/nsis-header.bmp b/share/pixmaps/nsis-header.bmp old mode 100644 new mode 100755 index 2d643ed473503..b6a2519f440fd Binary files a/share/pixmaps/nsis-header.bmp and b/share/pixmaps/nsis-header.bmp differ diff --git a/share/pixmaps/nsis-wizard.bmp b/share/pixmaps/nsis-wizard.bmp old mode 100644 new mode 100755 index edb3320f56978..43ab8fe194ec8 Binary files a/share/pixmaps/nsis-wizard.bmp and b/share/pixmaps/nsis-wizard.bmp differ diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in index 42a871f3fdd5c..8792d4b7a3a32 100644 --- a/share/qt/Info.plist.in +++ b/share/qt/Info.plist.in @@ -17,7 +17,7 @@ APPL CFBundleGetInfoString - @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2014-@COPYRIGHT_YEAR@ The Dash Core developers, 2015-@COPYRIGHT_YEAR@ The Darknet Core developers + @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers, 2014-@COPYRIGHT_YEAR@ The Dash Core developers, 2015-@COPYRIGHT_YEAR@ The Pivx Core developers CFBundleShortVersionString @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@ @@ -29,10 +29,10 @@ ???? CFBundleExecutable - Darknet-Qt + Pivx-Qt CFBundleIdentifier - io.darknet.Darknet-Qt + io.pivx.Pivx-Qt CFBundleURLTypes @@ -40,10 +40,10 @@ CFBundleTypeRole Editor CFBundleURLName - io.darknet.DarknetPayment + io.pivx.PivxPayment CFBundleURLSchemes - darknet + pivx @@ -52,9 +52,9 @@ UTTypeIdentifier - io.darknet.paymentrequest + io.pivx.paymentrequest UTTypeDescription - Darknet payment request + Pivx payment request UTTypeConformsTo public.data @@ -62,10 +62,10 @@ UTTypeTagSpecification public.mime-type - application/x-darknet-payment-request + application/x-pivx-payment-request public.filename-extension - darknetpaymentrequest + pivxpaymentrequest @@ -78,7 +78,7 @@ Editor LSItemContentTypes - io.darknet.paymentrequest + io.pivx.paymentrequest LSHandlerRank Owner diff --git a/share/qt/extract_strings_qt.py b/share/qt/extract_strings_qt.py index b88e7ba03fe8f..dbb649b9949e3 100755 --- a/share/qt/extract_strings_qt.py +++ b/share/qt/extract_strings_qt.py @@ -9,7 +9,7 @@ import os import sys -OUT_CPP="qt/darknetstrings.cpp" +OUT_CPP="qt/pivxstrings.cpp" EMPTY=['""'] def parse_po(text): @@ -69,10 +69,10 @@ def parse_po(text): #define UNUSED #endif """) -f.write('static const char UNUSED *darknet_strings[] = {\n') +f.write('static const char UNUSED *pivx_strings[] = {\n') messages.sort(key=operator.itemgetter(0)) for (msgid, msgstr) in messages: if msgid != EMPTY: - f.write('QT_TRANSLATE_NOOP("darknet-core", %s),\n' % ('\n'.join(msgid))) + f.write('QT_TRANSLATE_NOOP("pivx-core", %s),\n' % ('\n'.join(msgid))) f.write('};\n') f.close() diff --git a/share/seeds/generate-seeds.py b/share/seeds/generate-seeds.py index db58921831c8d..66e1840e278a1 100755 --- a/share/seeds/generate-seeds.py +++ b/share/seeds/generate-seeds.py @@ -117,7 +117,7 @@ def main(): 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 darknet network\n') + g.write(' * List of fixed seed nodes for the pivx network\n') g.write(' * AUTOGENERATED by share/seeds/generate-seeds.py\n') g.write(' *\n') g.write(' * Each line contains a 16-byte IPv6 address and a port.\n') diff --git a/share/setup.nsi.in b/share/setup.nsi.in index 2e82b2dd357f1..635e0d3fa4c48 100644 --- a/share/setup.nsi.in +++ b/share/setup.nsi.in @@ -6,8 +6,8 @@ SetCompressor /SOLID lzma # General Symbol Definitions !define REGKEY "SOFTWARE\$(^Name)" !define VERSION @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@ -!define COMPANY "Darknet Core project" -!define URL https://www.darknet-crypto.com +!define COMPANY "Pivx Core project" +!define URL https://www.pivx.org # MUI Symbol Definitions !define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico" @@ -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\darknet-qt.exe +!define MUI_FINISHPAGE_RUN $INSTDIR\pivx-qt.exe !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 @@ -48,18 +48,18 @@ Var StartMenuGroup !insertmacro MUI_LANGUAGE English # Installer attributes -OutFile @abs_top_srcdir@/darknet-${VERSION}-win@WINDOWS_BITS@-setup.exe +OutFile @abs_top_srcdir@/pivx-${VERSION}-win@WINDOWS_BITS@-setup.exe !if "@WINDOWS_BITS@" == "64" -InstallDir $PROGRAMFILES64\Darknet +InstallDir $PROGRAMFILES64\Pivx !else -InstallDir $PROGRAMFILES\Darknet +InstallDir $PROGRAMFILES\Pivx !endif CRCCheck on XPStyle on BrandingText " " ShowInstDetails show VIProductVersion ${VERSION}.@CLIENT_VERSION_BUILD@ -VIAddVersionKey ProductName "Darknet Core" +VIAddVersionKey ProductName "Pivx Core" VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey CompanyName "${COMPANY}" VIAddVersionKey CompanyWebsite "${URL}" @@ -73,19 +73,19 @@ ShowUninstDetails show Section -Main SEC0000 SetOutPath $INSTDIR SetOverwrite on - File @abs_top_srcdir@/release/darknet-qt.exe + File @abs_top_srcdir@/release/pivx-qt.exe 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/darknetd.exe - File @abs_top_srcdir@/release/darknet-cli.exe + File @abs_top_srcdir@/release/pivxd.exe + File @abs_top_srcdir@/release/pivx-cli.exe SetOutPath $INSTDIR\doc File /r @abs_top_srcdir@/doc\*.* SetOutPath $INSTDIR WriteRegStr HKCU "${REGKEY}\Components" Main 1 - # Remove old wxwidgets-based-darknet executable and locales: - Delete /REBOOTOK $INSTDIR\darknet.exe + # Remove old wxwidgets-based-pivx executable and locales: + Delete /REBOOTOK $INSTDIR\pivx.exe RMDir /r /REBOOTOK $INSTDIR\locale SectionEnd @@ -95,7 +95,7 @@ Section -post SEC0001 WriteUninstaller $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory $SMPROGRAMS\$StartMenuGroup - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\darknet-qt.exe + CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\pivx-qt.exe CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_END WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" @@ -106,10 +106,10 @@ Section -post SEC0001 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 - WriteRegStr HKCR "darknet" "URL Protocol" "" - WriteRegStr HKCR "darknet" "" "URL:Darknet" - WriteRegStr HKCR "darknet\DefaultIcon" "" $INSTDIR\darknet-qt.exe - WriteRegStr HKCR "darknet\shell\open\command" "" '"$INSTDIR\darknet-qt.exe" "%1"' + WriteRegStr HKCR "pivx" "URL Protocol" "" + WriteRegStr HKCR "pivx" "" "URL:Pivx" + WriteRegStr HKCR "pivx\DefaultIcon" "" $INSTDIR\pivx-qt.exe + WriteRegStr HKCR "pivx\shell\open\command" "" '"$INSTDIR\pivx-qt.exe" "%1"' SectionEnd # Macro for selecting uninstaller sections @@ -127,7 +127,7 @@ done${UNSECTION_ID}: # Uninstaller sections Section /o -un.Main UNSEC0000 - Delete /REBOOTOK $INSTDIR\darknet-qt.exe + Delete /REBOOTOK $INSTDIR\pivx-qt.exe Delete /REBOOTOK $INSTDIR\COPYING.txt Delete /REBOOTOK $INSTDIR\readme.txt RMDir /r /REBOOTOK $INSTDIR\daemon @@ -139,7 +139,7 @@ Section -un.post UNSEC0001 DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" - Delete /REBOOTOK "$SMSTARTUP\Darknet.lnk" + Delete /REBOOTOK "$SMSTARTUP\Pivx.lnk" Delete /REBOOTOK $INSTDIR\uninstall.exe Delete /REBOOTOK $INSTDIR\debug.log Delete /REBOOTOK $INSTDIR\db.log @@ -147,7 +147,7 @@ Section -un.post UNSEC0001 DeleteRegValue HKCU "${REGKEY}" Path DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components" DeleteRegKey /IfEmpty HKCU "${REGKEY}" - DeleteRegKey HKCR "darknet" + DeleteRegKey HKCR "pivx" RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup RmDir /REBOOTOK $INSTDIR Push $R0 diff --git a/src/Makefile.am b/src/Makefile.am index dfdbe42c447b3..9dc129ec6f49b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -60,15 +60,15 @@ bin_PROGRAMS = TESTS = if BUILD_BITCOIND - bin_PROGRAMS += darknetd + bin_PROGRAMS += pivxd endif if BUILD_BITCOIN_UTILS - bin_PROGRAMS += darknet-cli darknet-tx + bin_PROGRAMS += pivx-cli pivx-tx endif .PHONY: FORCE -# darknet core # +# pivx core # BITCOIN_CORE_H = \ activemasternode.h \ addrman.h \ @@ -172,7 +172,7 @@ obj/build.h: FORCE $(abs_top_srcdir) libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h -# server: shared between darknetd and darknet-qt +# server: shared between pivxd and pivx-qt libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) libbitcoin_server_a_SOURCES = \ addrman.cpp \ @@ -204,7 +204,7 @@ libbitcoin_server_a_SOURCES = \ $(JSON_H) \ $(BITCOIN_CORE_H) -# wallet: shared between darknetd and darknet-qt, but only linked +# wallet: shared between pivxd and pivx-qt, but only linked # when wallet enabled libbitcoin_wallet_a_CFLAGS = -fPIC @@ -276,7 +276,7 @@ univalue_libbitcoin_univalue_a_SOURCES = \ univalue/univalue_escapes.h \ univalue/univalue.h -# common: shared between darknetd, and darknet-qt and non-server tools +# common: shared between pivxd, and pivx-qt and non-server tools libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) libbitcoin_common_a_SOURCES = \ allocators.cpp \ @@ -332,7 +332,7 @@ libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp libbitcoin_util_a_SOURCES += compat/glibcxx_compat.cpp endif -# cli: shared between darknet-cli and darknet-qt +# cli: shared between pivx-cli and pivx-qt libbitcoin_cli_a_CPPFLAGS = $(BITCOIN_INCLUDES) libbitcoin_cli_a_SOURCES = \ rpcclient.cpp \ @@ -342,7 +342,7 @@ nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h # # bitcoind binary # -darknetd_LDADD = \ +pivxd_LDADD = \ $(LIBBITCOIN_SERVER) \ $(LIBBITCOIN_COMMON) \ $(LIBBITCOIN_UNIVALUE) \ @@ -353,36 +353,36 @@ darknetd_LDADD = \ $(LIBSECP256K1) if ENABLE_WALLET -darknetd_LDADD += libbitcoin_wallet.a +pivxd_LDADD += libbitcoin_wallet.a endif -darknetd_SOURCES = darknetd.cpp +pivxd_SOURCES = pivxd.cpp # if TARGET_WINDOWS -darknetd_SOURCES += darknetd-res.rc +pivxd_SOURCES += pivxd-res.rc endif -darknetd_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) -darknetd_CPPFLAGS = $(BITCOIN_INCLUDES) -darknetd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +pivxd_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) +pivxd_CPPFLAGS = $(BITCOIN_INCLUDES) +pivxd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -# darknet-cli binary # -darknet_cli_LDADD = \ +# pivx-cli binary # +pivx_cli_LDADD = \ $(LIBBITCOIN_CLI) \ $(LIBBITCOIN_UTIL) \ $(BOOST_LIBS) \ $(SSL_LIBS) \ $(CRYPTO_LIBS) -darknet_cli_SOURCES = \ - darknet-cli.cpp +pivx_cli_SOURCES = \ + pivx-cli.cpp -darknet_cli_CPPFLAGS = $(BITCOIN_INCLUDES) +pivx_cli_CPPFLAGS = $(BITCOIN_INCLUDES) # -# darknet-tx binary # -darknet_tx_LDADD = \ +# pivx-tx binary # +pivx_tx_LDADD = \ $(LIBBITCOIN_UNIVALUE) \ $(LIBBITCOIN_COMMON) \ $(LIBBITCOIN_UTIL) \ @@ -391,15 +391,15 @@ darknet_tx_LDADD = \ $(BOOST_LIBS) \ $(CRYPTO_LIBS) -darknet_tx_SOURCES = darknet-tx.cpp -darknet_tx_CPPFLAGS = $(BITCOIN_INCLUDES) +pivx_tx_SOURCES = pivx-tx.cpp +pivx_tx_CPPFLAGS = $(BITCOIN_INCLUDES) # -darknet_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +pivx_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if TARGET_WINDOWS -darknet_cli_SOURCES += darknet-cli-res.rc +pivx_cli_SOURCES += pivx-cli-res.rc endif -darknet_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +pivx_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if BUILD_BITCOIN_LIBS include_HEADERS = script/bitcoinconsensus.h diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 8440529a9c227..14821ead507b1 100755 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -1,24 +1,24 @@ -bin_PROGRAMS += qt/darknet-qt +bin_PROGRAMS += qt/pivx-qt EXTRA_LIBRARIES += qt/libbitcoinqt.a -# darknet qt core # +# pivx qt core # QT_TS = \ - qt/locale/darknet_bg.ts \ - qt/locale/darknet_de.ts \ - qt/locale/darknet_en.ts \ - qt/locale/darknet_es.ts \ - qt/locale/darknet_fi.ts \ - qt/locale/darknet_fr.ts \ - qt/locale/darknet_it.ts \ - qt/locale/darknet_ja.ts \ - qt/locale/darknet_pl.ts \ - qt/locale/darknet_pt.ts \ - qt/locale/darknet_ru.ts \ - qt/locale/darknet_sk.ts \ - qt/locale/darknet_sv.ts \ - qt/locale/darknet_vi.ts \ - qt/locale/darknet_zh_CN.ts \ - qt/locale/darknet_zh_TW.ts + qt/locale/pivx_bg.ts \ + qt/locale/pivx_de.ts \ + qt/locale/pivx_en.ts \ + qt/locale/pivx_es.ts \ + qt/locale/pivx_fi.ts \ + qt/locale/pivx_fr.ts \ + qt/locale/pivx_it.ts \ + qt/locale/pivx_ja.ts \ + qt/locale/pivx_pl.ts \ + qt/locale/pivx_pt.ts \ + qt/locale/pivx_ru.ts \ + qt/locale/pivx_sk.ts \ + qt/locale/pivx_sv.ts \ + qt/locale/pivx_vi.ts \ + qt/locale/pivx_zh_CN.ts \ + qt/locale/pivx_zh_TW.ts QT_FORMS_UI = \ qt/forms/addressbookpage.ui \ @@ -98,16 +98,16 @@ BITCOIN_MM = \ qt/macnotificationhandler.mm QT_MOC = \ - qt/darknet.moc \ + qt/pivx.moc \ qt/bitcoinamountfield.moc \ qt/intro.moc \ qt/overviewpage.moc \ qt/rpcconsole.moc -QT_QRC_CPP = qt/qrc_darknet.cpp -QT_QRC = qt/darknet.qrc -QT_QRC_LOCALE_CPP = qt/qrc_darknet_locale.cpp -QT_QRC_LOCALE = qt/darknet_locale.qrc +QT_QRC_CPP = qt/qrc_pivx.cpp +QT_QRC = qt/pivx.qrc +QT_QRC_LOCALE_CPP = qt/qrc_pivx_locale.cpp +QT_QRC_LOCALE = qt/pivx_locale.qrc PROTOBUF_CC = qt/paymentrequest.pb.cc PROTOBUF_H = qt/paymentrequest.pb.h @@ -190,18 +190,6 @@ RES_ICONS = \ qt/res/icons/connect3_16.png \ qt/res/icons/connect4_16.png \ qt/res/icons/debugwindow.png \ - qt/res/icons/drk_editpaste.png \ - qt/res/icons/drk_address-book.png \ - qt/res/icons/drk_editcopy.png \ - qt/res/icons/drk_remove.png \ - qt/res/icons/drk_send.png \ - qt/res/icons/drk_receive.png \ - qt/res/icons/drk_history.png \ - qt/res/icons/drk_overview.png \ - qt/res/icons/drkblue_editpaste.png \ - qt/res/icons/drkblue_address-book.png \ - qt/res/icons/drkblue_editcopy.png \ - qt/res/icons/drkblue_remove.png \ qt/res/icons/edit.png \ qt/res/icons/editcopy.png \ qt/res/icons/editpaste.png \ @@ -232,12 +220,12 @@ RES_ICONS = \ qt/res/icons/tx_input.png \ qt/res/icons/tx_output.png \ qt/res/icons/tx_mined.png \ - qt/res/icons/unit_darknet.png \ - qt/res/icons/unit_mdarknet.png \ - qt/res/icons/unit_udarknet.png \ - qt/res/icons/unit_tdarknet.png \ - qt/res/icons/unit_tmdarknet.png \ - qt/res/icons/unit_tudarknet.png + qt/res/icons/unit_pivx.png \ + qt/res/icons/unit_mpivx.png \ + qt/res/icons/unit_upivx.png \ + qt/res/icons/unit_tpivx.png \ + qt/res/icons/unit_tmpivx.png \ + qt/res/icons/unit_tupivx.png BITCOIN_QT_CPP = \ qt/bitcoinaddressvalidator.cpp \ @@ -303,35 +291,22 @@ RES_IMAGES = \ qt/res/images/about.png \ qt/res/images/splash.png \ qt/res/images/splash_testnet.png \ - qt/res/images/darknet_logo_horizontal.png \ - qt/res/images/darknet_logo_horizontal-drk.png \ - qt/res/images/darknet_logo_horizontal-drkblue.png \ - qt/res/images/drk_downArrow.png \ - qt/res/images/drk_downArrow_small.png \ - qt/res/images/drk_upArrow_small.png \ - qt/res/images/drk_leftArrow_small.png \ - qt/res/images/drk_rightArrow_small.png \ - qt/res/images/drk_qtreeview_selected.png \ - qt/res/images/drk_walletFrame_bg.png \ - qt/res/images/drk-1_walletFrame_bg.png \ - qt/res/images/drk_walletFrame.png \ - qt/res/images/drkblue_downArrow.png \ - qt/res/images/drkblue_downArrow_small.png \ - qt/res/images/drkblue_upArrow_small.png \ - qt/res/images/drkblue_leftArrow_small.png \ - qt/res/images/drkblue_rightArrow_small.png \ - qt/res/images/drkblue_qtreeview_selected.png \ - qt/res/images/drkblue_walletFrame_bg.png \ - qt/res/images/drkblue_walletFrame.png + qt/res/images/pivx_logo_horizontal.png \ + qt/res/images/downArrow.png \ + qt/res/images/downArrow_small.png \ + qt/res/images/upArrow_small.png \ + qt/res/images/leftArrow_small.png \ + qt/res/images/rightArrow_small.png \ + qt/res/images/qtreeview_selected.png \ + qt/res/images/walletFrame_bg.png \ + qt/res/images/walletFrame_bg.png RES_CSS = \ - qt/res/css/drkblue.css \ - qt/res/css/drk.css \ - qt/res/css/drk-1.css + qt/res/css/default.css RES_MOVIES = $(wildcard qt/res/movies/spinner-*.png) -BITCOIN_RC = qt/res/darknet-qt-res.rc +BITCOIN_RC = qt/res/pivx-qt-res.rc BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ -I$(builddir)/qt/forms @@ -351,65 +326,65 @@ 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_libbitcoinqt_a_OBJECTS) $(qt_darknet_qt_OBJECTS) : | $(QT_MOC) +$(qt_libbitcoinqt_a_OBJECTS) $(qt_pivx_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) -# darknet-qt binary # -qt_darknet_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ +# pivx-qt binary # +qt_pivx_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) -qt_darknet_qt_SOURCES = qt/darknet.cpp +qt_pivx_qt_SOURCES = qt/pivx.cpp if TARGET_DARWIN - qt_darknet_qt_SOURCES += $(BITCOIN_MM) + qt_pivx_qt_SOURCES += $(BITCOIN_MM) endif if TARGET_WINDOWS - qt_darknet_qt_SOURCES += $(BITCOIN_RC) + qt_pivx_qt_SOURCES += $(BITCOIN_RC) endif -qt_darknet_qt_LDADD = qt/libbitcoinqt.a $(LIBBITCOIN_SERVER) +qt_pivx_qt_LDADD = qt/libbitcoinqt.a $(LIBBITCOIN_SERVER) if ENABLE_WALLET -qt_darknet_qt_LDADD += $(LIBBITCOIN_WALLET) +qt_pivx_qt_LDADD += $(LIBBITCOIN_WALLET) endif -qt_darknet_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ +qt_pivx_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) -qt_darknet_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -qt_darknet_qt_LIBTOOLFLAGS = --tag CXX +qt_pivx_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_pivx_qt_LIBTOOLFLAGS = --tag CXX #locale/foo.ts -> locale/foo.qm QT_QM=$(QT_TS:.ts=.qm) .SECONDARY: $(QT_QM) -qt/darknetstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) $(libbitcoin_common_a_SOURCES) +qt/pivxstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) $(libbitcoin_common_a_SOURCES) @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) ../share/qt/extract_strings_qt.py $^ -translate: qt/darknetstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(BITCOIN_MM) +translate: qt/pivxstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_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 qt/locale/darknet_en.ts + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts qt/locale/pivx_en.ts $(QT_QRC_LOCALE_CPP): $(QT_QRC_LOCALE) $(QT_QM) @test -f $(RCC) @test -f $(@D)/$( $@ $(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) $(PROTOBUF_H) @test -f $(RCC) - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name darknet $< | \ + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name pivx $< | \ $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno CLEANFILES += $(CLEAN_QT) -darknet_qt_clean: FORCE - rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_darknet_qt_OBJECTS) qt/darknet-qt$(EXEEXT) $(LIBBITCOINQT) +pivx_qt_clean: FORCE + rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_pivx_qt_OBJECTS) qt/pivx-qt$(EXEEXT) $(LIBBITCOINQT) -darknet_qt : qt/darknet-qt$(EXEEXT) +pivx_qt : qt/pivx-qt$(EXEEXT) ui_%.h: %.ui @test -f $(UIC) diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index ae7133626c2ee..78532c21be18d 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -1,5 +1,5 @@ -bin_PROGRAMS += qt/test/test_darknet-qt -TESTS += qt/test/test_darknet-qt +bin_PROGRAMS += qt/test/test_pivx-qt +TESTS += qt/test/test_pivx-qt TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp @@ -12,37 +12,37 @@ TEST_QT_H = \ qt/test/paymentrequestdata.h \ qt/test/paymentservertests.h -qt_test_test_darknet_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ +qt_test_test_pivx_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) -qt_test_test_darknet_qt_SOURCES = \ +qt_test_test_pivx_qt_SOURCES = \ qt/test/test_main.cpp \ qt/test/uritests.cpp \ $(TEST_QT_H) if ENABLE_WALLET -qt_test_test_darknet_qt_SOURCES += \ +qt_test_test_pivx_qt_SOURCES += \ qt/test/paymentservertests.cpp endif -nodist_qt_test_test_darknet_qt_SOURCES = $(TEST_QT_MOC_CPP) +nodist_qt_test_test_pivx_qt_SOURCES = $(TEST_QT_MOC_CPP) -qt_test_test_darknet_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) +qt_test_test_pivx_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) if ENABLE_WALLET -qt_test_test_darknet_qt_LDADD += $(LIBBITCOIN_WALLET) +qt_test_test_pivx_qt_LDADD += $(LIBBITCOIN_WALLET) endif -qt_test_test_darknet_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ +qt_test_test_pivx_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) -qt_test_test_darknet_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_test_test_pivx_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno CLEANFILES += $(CLEAN_BITCOIN_QT_TEST) -test_darknet_qt : qt/test/test_darknet-qt$(EXEEXT) +test_pivx_qt : qt/test/test_pivx-qt$(EXEEXT) -test_darknet_qt_check : qt/test/test_darknet-qt$(EXEEXT) FORCE +test_pivx_qt_check : qt/test/test_pivx-qt$(EXEEXT) FORCE $(MAKE) check-TESTS TESTS=$^ -test_darknet_qt_clean: FORCE - rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_darknet_qt_OBJECTS) +test_pivx_qt_clean: FORCE + rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_pivx_qt_OBJECTS) diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 521bc923b3afb..8e6bc7e1debb1 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -1,7 +1,7 @@ -TESTS += test/test_darknet test/bitcoin-util-test.py -bin_PROGRAMS += test/test_darknet +TESTS += test/test_pivx test/bitcoin-util-test.py +bin_PROGRAMS += test/test_pivx TEST_SRCDIR = test -TEST_BINARY=test/test_darknet$(EXEEXT) +TEST_BINARY=test/test_pivx$(EXEEXT) EXTRA_DIST += \ @@ -66,7 +66,7 @@ BITCOIN_TESTS =\ test/sighash_tests.cpp \ test/sigopcount_tests.cpp \ test/skiplist_tests.cpp \ - test/test_darknet.cpp \ + test/test_pivx.cpp \ test/timedata_tests.cpp \ test/transaction_tests.cpp \ test/uint256_tests.cpp \ @@ -80,18 +80,18 @@ BITCOIN_TESTS += \ test/rpc_wallet_tests.cpp endif -test_test_darknet_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) -test_test_darknet_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) -test_test_darknet_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ +test_test_pivx_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) +test_test_pivx_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) +test_test_pivx_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) if ENABLE_WALLET -test_test_darknet_LDADD += $(LIBBITCOIN_WALLET) +test_test_pivx_LDADD += $(LIBBITCOIN_WALLET) endif -test_test_darknet_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) -test_test_darknet_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static +test_test_pivx_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) +test_test_pivx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static -nodist_test_test_darknet_SOURCES = $(GENERATED_TEST_FILES) +nodist_test_test_pivx_SOURCES = $(GENERATED_TEST_FILES) $(BITCOIN_TESTS): $(GENERATED_TEST_FILES) @@ -99,13 +99,13 @@ CLEAN_BITCOIN_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) CLEANFILES += $(CLEAN_BITCOIN_TEST) -darknet_test: $(TEST_BINARY) +pivx_test: $(TEST_BINARY) -darknet_test_check: $(TEST_BINARY) FORCE +pivx_test_check: $(TEST_BINARY) FORCE $(MAKE) check-TESTS TESTS=$^ -darknet_test_clean : FORCE - rm -f $(CLEAN_BITCOIN_TEST) $(test_test_darknet_OBJECTS) $(TEST_BINARY) +pivx_test_clean : FORCE + rm -f $(CLEAN_BITCOIN_TEST) $(test_test_pivx_OBJECTS) $(TEST_BINARY) check-local: $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check diff --git a/src/activemasternode.cpp b/src/activemasternode.cpp index 0853e1c4998db..750b695206c6b 100644 --- a/src/activemasternode.cpp +++ b/src/activemasternode.cpp @@ -8,7 +8,7 @@ #include "spork.h" // -// Bootup the Masternode, look for a 10000PIV input and register on the network +// Bootup the Masternode, look for a 10000 PIV input and register on the network // void CActiveMasternode::ManageStatus() { diff --git a/src/activemasternode.h b/src/activemasternode.h index e3ecfa4574a36..f9e9c0df01559 100644 --- a/src/activemasternode.h +++ b/src/activemasternode.h @@ -33,7 +33,7 @@ class CActiveMasternode /// Register any Masternode bool Register(CTxIn vin, CService service, CKey key, CPubKey pubKey, CKey keyMasternode, CPubKey pubKeyMasternode, std::string &errorMessage); - /// Get 10000PIV input that can be used for the Masternode + /// Get 10000 PIV input that can be used for the Masternode bool GetMasterNodeVin(CTxIn& vin, CPubKey& pubkey, CKey& secretKey, std::string strTxHash, std::string strOutputIndex); bool GetVinFromOutput(COutput out, CTxIn& vin, CPubKey& pubkey, CKey& secretKey); @@ -61,7 +61,7 @@ class CActiveMasternode /// Register remote Masternode bool Register(std::string strService, std::string strKey, std::string strTxHash, std::string strOutputIndex, std::string& errorMessage); - /// Get 10000PIV input that can be used for the Masternode + /// Get 10000 PIV input that can be used for the Masternode bool GetMasterNodeVin(CTxIn& vin, CPubKey& pubkey, CKey& secretKey); vector SelectCoinsMasternode(); diff --git a/src/base58.h b/src/base58.h index c74fd2f45563e..dbbfa82cb3687 100644 --- a/src/base58.h +++ b/src/base58.h @@ -100,7 +100,7 @@ class CBase58Data bool operator> (const CBase58Data& b58) const { return CompareTo(b58) > 0; } }; -/** base58-encoded DarkNet addresses. +/** base58-encoded PIVX 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). diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 59a7bdb81683b..8f3434a0d4fdf 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -100,15 +100,15 @@ class CMainParams : public CChainParams { pchMessageStart[3] = 0xe9; vAlertPubKey = ParseHex("0484698d3ba6ba6e7423fa5cbd6a89e0a9a5348f88d332b44a5cb1a8b7ed2c1eaa335fc8dc4f012cb8241cc0bdafd6ca70c5f5448916e4e6f511bcd746ed57dc50"); nDefaultPort = 51472; - bnProofOfWorkLimit = ~uint256(0) >> 20; // DarkNet starting difficulty is 1 / 2^12 + bnProofOfWorkLimit = ~uint256(0) >> 20; // PIVX starting difficulty is 1 / 2^12 nSubsidyHalvingInterval = 210000; nMaxReorganizationDepth = 100; nEnforceBlockUpgradeMajority = 750; nRejectBlockOutdatedMajority = 950; nToCheckBlockUpgradeMajority = 1000; nMinerThreads = 0; - nTargetTimespan = 1 * 60; // DarkNet: 1 day - nTargetSpacing = 1 * 60; // DarkNet: 1 minute + nTargetTimespan = 1 * 60; // PIVX: 1 day + nTargetSpacing = 1 * 60; // PIVX: 1 minute nLastPOWBlock = 259200; nMaturity = 100; @@ -146,12 +146,13 @@ class CMainParams : public CChainParams { vSeeds.push_back(CDNSSeedData("162.213.154.31", "")); vSeeds.push_back(CDNSSeedData("151.80.206.104", "")); - base58Prefixes[PUBKEY_ADDRESS] = list_of( 30); - base58Prefixes[SCRIPT_ADDRESS] = list_of( 13); - base58Prefixes[SECRET_KEY] = list_of(212); - base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x02)(0x2D)(0x25)(0x33); - base58Prefixes[EXT_SECRET_KEY] = list_of(0x02)(0x21)(0x31)(0x2B); - base58Prefixes[EXT_COIN_TYPE] = list_of(0x80000013); + base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,30); + base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,13); + base58Prefixes[SECRET_KEY] = std::vector(1,212); + base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x02)(0x2D)(0x25)(0x33).convert_to_container >(); + base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x02)(0x21)(0x31)(0x2B).convert_to_container >(); + // BIP44 coin type is 'TBD' + base58Prefixes[EXT_COIN_TYPE] = boost::assign::list_of(0x13)(0x00)(0x00)(0x80).convert_to_container >(); convertSeed6(vFixedSeeds, pnSeed6_main, ARRAYLEN(pnSeed6_main)); @@ -196,8 +197,8 @@ class CTestNetParams : public CMainParams { nRejectBlockOutdatedMajority = 75; nToCheckBlockUpgradeMajority = 100; nMinerThreads = 0; - nTargetTimespan = 1 * 60; // DarkNet: 1 day - nTargetSpacing = 1 * 60; // DarkNet: 1 minute + nTargetTimespan = 1 * 60; // PIVX: 1 day + nTargetSpacing = 1 * 60; // PIVX: 1 minute nLastPOWBlock = 200; nMaturity = 15; @@ -211,12 +212,15 @@ class CTestNetParams : public CMainParams { vFixedSeeds.clear(); vSeeds.clear(); - base58Prefixes[PUBKEY_ADDRESS] = list_of(139); // Testnet darknet addresses start with 'x' or 'y' - base58Prefixes[SCRIPT_ADDRESS] = list_of( 19); // Testnet darknet script addresses start with '8' or '9' - base58Prefixes[SECRET_KEY] = list_of(239); // Testnet private keys start with '9' or 'c' (Bitcoin defaults) - base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x3a)(0x80)(0x61)(0xa0); // Testnet darknet BIP32 pubkeys start with 'DRKV' - base58Prefixes[EXT_SECRET_KEY] = list_of(0x3a)(0x80)(0x58)(0x37); // Testnet darknet BIP32 prvkeys start with 'DRKP' - base58Prefixes[EXT_COIN_TYPE] = list_of(0x80000001); // Testnet darknet BIP44 coin type is '5' (All coin's testnet default) + base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,139); // Testnet pivx addresses start with 'x' or 'y' + base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,19); // Testnet pivx script addresses start with '8' or '9' + base58Prefixes[SECRET_KEY] = std::vector(1,239); // Testnet private keys start with '9' or 'c' (Bitcoin defaults) + // Testnet pivx BIP32 pubkeys start with 'DRKV' + base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x3a)(0x80)(0x61)(0xa0).convert_to_container >(); + // Testnet pivx BIP32 prvkeys start with 'DRKP' + base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x3a)(0x80)(0x58)(0x37).convert_to_container >(); + // Testnet pivx BIP44 coin type is '1' (All coin's testnet default) + base58Prefixes[EXT_COIN_TYPE] = boost::assign::list_of(0x01)(0x00)(0x00)(0x80).convert_to_container >(); convertSeed6(vFixedSeeds, pnSeed6_test, ARRAYLEN(pnSeed6_test)); @@ -259,8 +263,8 @@ class CRegTestParams : public CTestNetParams { nRejectBlockOutdatedMajority = 950; nToCheckBlockUpgradeMajority = 1000; nMinerThreads = 1; - nTargetTimespan = 24 * 60 * 60; // DarkNet: 1 day - nTargetSpacing = 1 * 60; // Darknet: 1 minutes + nTargetTimespan = 24 * 60 * 60; // Pivx: 1 day + nTargetSpacing = 1 * 60; // Pivx: 1 minutes bnProofOfWorkLimit = ~uint256(0) >> 1; genesis.nTime = 1454124731; genesis.nBits = 0x207fffff; diff --git a/src/chainparams.h b/src/chainparams.h index 56700a1dbbc5e..53d7486c91753 100644 --- a/src/chainparams.h +++ b/src/chainparams.h @@ -23,7 +23,7 @@ struct CDNSSeedData { /** * CChainParams defines various tweakable parameters of a given instance of the - * DarkNet system. There are three: the main network on which people trade goods + * PIVX 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. diff --git a/src/chainparamsbase.h b/src/chainparamsbase.h index 71a3ba775ca90..28b63238b872c 100644 --- a/src/chainparamsbase.h +++ b/src/chainparamsbase.h @@ -9,8 +9,8 @@ #include /** - * CBaseChainParams defines the base parameters (shared between darknet-cli and darknetd) - * of a given instance of the Darknet system. + * CBaseChainParams defines the base parameters (shared between pivx-cli and pivxd) + * of a given instance of the Pivx system. */ class CBaseChainParams { diff --git a/src/chainparamsseeds.h b/src/chainparamsseeds.h index ef6467082c06e..40fea5c6c3e8a 100644 --- a/src/chainparamsseeds.h +++ b/src/chainparamsseeds.h @@ -1,7 +1,7 @@ #ifndef BITCOIN_CHAINPARAMSSEEDS_H #define BITCOIN_CHAINPARAMSSEEDS_H /** - * List of fixed seed nodes for the darknet network + * List of fixed seed nodes for the pivx network * AUTOGENERATED by share/seeds/generate-seeds.py * * Each line contains a 16-byte IPv6 address and a port. diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index bd172b6c392fa..b16f989f4a1ce 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/clientversion.cpp b/src/clientversion.cpp index 715b059e1d469..34459d2c71c41 100644 --- a/src/clientversion.cpp +++ b/src/clientversion.cpp @@ -10,10 +10,10 @@ /** * Name of client reported in the 'version' message. Report the same name - * for both darknetd and darknet-qt, to make it harder for attackers to + * for both pivxd and pivx-qt, to make it harder for attackers to * target servers or GUI users specifically. */ -const std::string CLIENT_NAME("DarkNet Core"); +const std::string CLIENT_NAME("PIVX Core"); /** * Client version number diff --git a/src/clientversion.h b/src/clientversion.h index 94cf1afe0013a..03e6b7d7229dd 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -13,7 +13,7 @@ * client versioning and copyright year */ -//! These need to be macros, as clientversion.cpp's and darknet*-res.rc's voodoo requires it +//! These need to be macros, as clientversion.cpp's and pivx*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 2 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 3 @@ -38,10 +38,10 @@ #define DO_STRINGIZE(X) #X //! Copyright string used in Windows .rc files -#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers, 2014-" STRINGIZE(COPYRIGHT_YEAR) " The Dash Core Developers, 2015-" STRINGIZE(COPYRIGHT_YEAR) " The Darknet Core Developers" +#define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin Core Developers, 2014-" STRINGIZE(COPYRIGHT_YEAR) " The Dash Core Developers, 2015-" STRINGIZE(COPYRIGHT_YEAR) " The Pivx Core Developers" /** - * darknetd-res.rc includes this file, but it cannot cope with real c++ code. + * pivxd-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.h b/src/coins.h index 3e09c31d8277b..0548989893bea 100644 --- a/src/coins.h +++ b/src/coins.h @@ -20,7 +20,7 @@ /** - ****Note - for PIV we added fCoinStake to the 2nd bit. Keep in mind when reading the following and adjust as needed. + ****Note - for PIVX we added fCoinStake to the 2nd bit. Keep in mind when reading the following and adjust as needed. * Pruned version of CTransaction: only retains metadata and unspent transaction outputs * * Serialized format: @@ -443,7 +443,7 @@ class CCoinsViewCache : public CCoinsViewBacked unsigned int GetCacheSize() const; /** - * Amount of darknet coming in to a transaction + * Amount of pivx 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. * diff --git a/src/hash.h b/src/hash.h index 2f3ada59fb7ee..1ded1dd218217 100644 --- a/src/hash.h +++ b/src/hash.h @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/init.cpp b/src/init.cpp index e8a51834242c0..0ccf8d33190d0 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2014-2015 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -161,7 +161,7 @@ void PrepareShutdown() /// 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("darknet-shutoff"); + RenameThread("pivx-shutoff"); mempool.AddTransactionsUpdated(1); StopRPCThreads(); #ifdef ENABLE_WALLET @@ -281,7 +281,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += " -blocknotify= " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n"; strUsage += " -checkblocks= " + strprintf(_("How many blocks to check at startup (default: %u, 0 = all)"), 288) + "\n"; strUsage += " -checklevel= " + strprintf(_("How thorough the block verification of -checkblocks is (0-4, default: %u)"), 3) + "\n"; - strUsage += " -conf= " + strprintf(_("Specify configuration file (default: %s)"), "darknet.conf") + "\n"; + strUsage += " -conf= " + strprintf(_("Specify configuration file (default: %s)"), "pivx.conf") + "\n"; if (mode == HMM_BITCOIND) { #if !defined(WIN32) @@ -294,7 +294,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += " -maxorphantx= " + strprintf(_("Keep at most unconnectable transactions in memory (default: %u)"), DEFAULT_MAX_ORPHAN_TRANSACTIONS) + "\n"; strUsage += " -par= " + strprintf(_("Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)"), -(int)boost::thread::hardware_concurrency(), MAX_SCRIPTCHECK_THREADS, DEFAULT_SCRIPTCHECK_THREADS) + "\n"; #ifndef WIN32 - strUsage += " -pid= " + strprintf(_("Specify pid file (default: %s)"), "darknetd.pid") + "\n"; + strUsage += " -pid= " + strprintf(_("Specify pid file (default: %s)"), "pivxd.pid") + "\n"; #endif strUsage += " -reindex " + _("Rebuild block chain index from current blk000??.dat files") + " " + _("on startup") + "\n"; #if !defined(WIN32) @@ -379,7 +379,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += " " + _("If is not supplied, output all debugging information.") + "\n"; strUsage += " " + _(" can be:\n"); strUsage += " addrman, alert, bench, coindb, db, lock, rand, rpc, selectcoins, mempool, net,\n"; // Don't translate these and qt below - strUsage += " darknet (or specifically: obfuscation, swifttx, masternode, keepass, mnpayments, mnbudget)"; // Don't translate these and qt below + strUsage += " pivx (or specifically: obfuscation, swifttx, masternode, keepass, mnpayments, mnbudget)"; // Don't translate these and qt below if (mode == HMM_BITCOIN_QT) strUsage += ", qt"; strUsage += ".\n"; @@ -408,7 +408,7 @@ std::string HelpMessage(HelpMessageMode mode) } strUsage += " -shrinkdebugfile " + _("Shrink debug.log file on client startup (default: 1 when no -debug)") + "\n"; strUsage += " -testnet " + _("Use the test network") + "\n"; - strUsage += " -litemode= " + strprintf(_("Disable all DarkNet specific functionality (Masternodes, Obfuscation, SwiftTX, Budgeting) (0-1, default: %u)"), 0) + "\n"; + strUsage += " -litemode= " + strprintf(_("Disable all PIVX specific functionality (Masternodes, Obfuscation, SwiftTX, Budgeting) (0-1, default: %u)"), 0) + "\n"; strUsage += "\n" + _("Masternode options:") + "\n"; strUsage += " -masternode= " + strprintf(_("Enable the client to act as a masternode (0-1, default: %u)"), 0) + "\n"; @@ -421,7 +421,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += "\n" + _("Obfuscation options:") + "\n"; strUsage += " -enableobfuscation= " + strprintf(_("Enable use of automated obfuscation for funds stored in this wallet (0-1, default: %u)"), 0) + "\n"; strUsage += " -obfuscationrounds= " + strprintf(_("Use N separate masternodes to anonymize funds (2-8, default: %u)"), 2) + "\n"; - strUsage += " -anonymizedarknetamount= " + strprintf(_("Keep N PIV anonymized (default: %u)"), 0) + "\n"; + strUsage += " -anonymizepivxamount= " + strprintf(_("Keep N PIV anonymized (default: %u)"), 0) + "\n"; strUsage += " -liquidityprovider= " + strprintf(_("Provide liquidity to Obfuscation by infrequently mixing coins on a continual basis (0-100, default: %u, 1=very frequent, high fees, 100=very infrequent, low fees)"), 0) + "\n"; strUsage += "\n" + _("SwiftTX options:") + "\n"; @@ -463,7 +463,7 @@ std::string LicenseInfo() "\n" + FormatParagraph(strprintf(_("Copyright (C) 2014-%i The Dash Core Developers"), COPYRIGHT_YEAR)) + "\n" + "\n" + - FormatParagraph(strprintf(_("Copyright (C) 2015-%i The Darknet Core Developers"), COPYRIGHT_YEAR)) + "\n" + + FormatParagraph(strprintf(_("Copyright (C) 2015-%i The Pivx Core Developers"), COPYRIGHT_YEAR)) + "\n" + "\n" + FormatParagraph(_("This is experimental software.")) + "\n" + "\n" + @@ -496,7 +496,7 @@ struct CImportingNow void ThreadImport(std::vector vImportFiles) { - RenameThread("darknet-loadblk"); + RenameThread("pivx-loadblk"); // -reindex if (fReindex) { @@ -554,7 +554,7 @@ void ThreadImport(std::vector vImportFiles) } /** Sanity checks - * Ensure that DarkNet is running in a usable environment with all + * Ensure that PIVX is running in a usable environment with all * necessary library support. */ bool InitSanityCheck(void) @@ -572,7 +572,7 @@ bool InitSanityCheck(void) -/** Initialize darknet. +/** Initialize pivx. * @pre Parameters should be parsed and config file should be read. */ bool AppInit2(boost::thread_group& threadGroup) @@ -840,7 +840,7 @@ bool AppInit2(boost::thread_group& threadGroup) // Sanity check if (!InitSanityCheck()) - return InitError(_("Initialization sanity check failed. DarkNet Core is shutting down.")); + return InitError(_("Initialization sanity check failed. PIVX Core is shutting down.")); std::string strDataDir = GetDataDir().string(); #ifdef ENABLE_WALLET @@ -848,7 +848,7 @@ bool AppInit2(boost::thread_group& threadGroup) if (strWalletFile != boost::filesystem::basename(strWalletFile) + boost::filesystem::extension(strWalletFile)) return InitError(strprintf(_("Wallet %s resides outside data directory %s"), strWalletFile, strDataDir)); #endif - // Make sure only a single DarkNet process is using the data directory. + // Make sure only a single PIVX process is using the data directory. boost::filesystem::path pathLockFile = GetDataDir() / ".lock"; FILE* file = fopen(pathLockFile.string().c_str(), "a"); // empty lock file; created if it doesn't exist. if (file) fclose(file); @@ -856,7 +856,7 @@ bool AppInit2(boost::thread_group& threadGroup) // Wait maximum 10 seconds if an old wallet is still running. Avoids lockup during restart if (!lock.timed_lock(boost::get_system_time() + boost::posix_time::seconds(10))) - return InitError(strprintf(_("Cannot obtain a lock on data directory %s. DarkNet Core is probably already running."), strDataDir)); + return InitError(strprintf(_("Cannot obtain a lock on data directory %s. PIVX Core is probably already running."), strDataDir)); #ifndef WIN32 CreatePidFile(GetPidFile(), getpid()); @@ -864,7 +864,7 @@ bool AppInit2(boost::thread_group& threadGroup) if (GetBoolArg("-shrinkdebugfile", !fDebug)) ShrinkDebugFile(); LogPrintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); - LogPrintf("DarkNet version %s (%s)\n", FormatFullVersion(), CLIENT_DATE); + LogPrintf("PIVX version %s (%s)\n", FormatFullVersion(), CLIENT_DATE); LogPrintf("Using OpenSSL version %s\n", SSLeay_version(SSLEAY_VERSION)); #ifdef ENABLE_WALLET LogPrintf("Using BerkeleyDB version %s\n", DbEnv::version(0, 0, 0)); @@ -1309,10 +1309,10 @@ bool AppInit2(boost::thread_group& threadGroup) InitWarning(msg); } else if (nLoadWalletRet == DB_TOO_NEW) - strErrors << _("Error loading wallet.dat: Wallet requires newer version of DarkNet Core") << "\n"; + strErrors << _("Error loading wallet.dat: Wallet requires newer version of PIVX Core") << "\n"; else if (nLoadWalletRet == DB_NEED_REWRITE) { - strErrors << _("Wallet needed to be rewritten: restart DarkNet Core to complete") << "\n"; + strErrors << _("Wallet needed to be rewritten: restart PIVX Core to complete") << "\n"; LogPrintf("%s", strErrors.str()); return InitError(strErrors.str()); } @@ -1549,9 +1549,9 @@ bool AppInit2(boost::thread_group& threadGroup) nObfuscationRounds = 99999; } - nAnonymizeDarknetAmount = GetArg("-anonymizedarknetamount", 0); - if(nAnonymizeDarknetAmount > 999999) nAnonymizeDarknetAmount = 999999; - if(nAnonymizeDarknetAmount < 2) nAnonymizeDarknetAmount = 2; + nAnonymizePivxAmount = GetArg("-anonymizepivxamount", 0); + if(nAnonymizePivxAmount > 999999) nAnonymizePivxAmount = 999999; + if(nAnonymizePivxAmount < 2) nAnonymizePivxAmount = 2; fEnableSwiftTX = GetBoolArg("-enableswifttx", fEnableSwiftTX); nSwiftTXDepth = GetArg("-swifttxdepth", nSwiftTXDepth); @@ -1566,7 +1566,7 @@ bool AppInit2(boost::thread_group& threadGroup) LogPrintf("fLiteMode %d\n", fLiteMode); LogPrintf("nSwiftTXDepth %d\n", nSwiftTXDepth); LogPrintf("Obfuscation rounds %d\n", nObfuscationRounds); - LogPrintf("Anonymize DarkNet Amount %d\n", nAnonymizeDarknetAmount); + LogPrintf("Anonymize PIVX Amount %d\n", nAnonymizePivxAmount); LogPrintf("Budget Mode %s\n", strBudgetMode.c_str()); /* Denominations diff --git a/src/keepass.cpp b/src/keepass.cpp index ac0f881a09c8f..0f50fa8b8d483 100644 --- a/src/keepass.cpp +++ b/src/keepass.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -185,7 +185,7 @@ std::string CKeePassIntegrator::constructHTTPPost(const std::string& strMsg, con { std::ostringstream s; s << "POST / HTTP/1.1\r\n" - << "User-Agent: darknet-json-rpc/" << FormatFullVersion() << "\r\n" + << "User-Agent: pivx-json-rpc/" << FormatFullVersion() << "\r\n" << "Host: localhost\r\n" << "Content-Type: application/json\r\n" << "Content-Length: " << strMsg.size() << "\r\n" @@ -344,7 +344,7 @@ void CKeePassIntegrator::rpcSetLogin(const SecureString& strWalletPass, const Se LogPrint("keepass", "CKeePassIntegrator::rpcSetLogin - send Url: %s\n", sUrl); //request.addStrParameter("SubmitUrl", sSubmitUrl); // Is used to construct the entry title - request.addStrParameter("Login", SecureString("darknet")); + request.addStrParameter("Login", SecureString("pivx")); request.addStrParameter("Password", strWalletPass); if(sEntryId.size() != 0) { diff --git a/src/keepass.h b/src/keepass.h index 2075ca2ffa5ba..97d94ecaffea7 100644 --- a/src/keepass.h +++ b/src/keepass.h @@ -1,5 +1,5 @@ // Copyright (c) 2014 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/kernel.cpp b/src/kernel.cpp index a558748c5bd15..99baaf4a4e04f 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -276,7 +276,7 @@ static bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64_t& nStakeModifi uint256 stakeHash(unsigned int nTimeTx, CDataStream ss, unsigned int prevoutIndex, uint256 prevoutHash, unsigned int nTimeBlockFrom) { - //Darknet will hash in the transaction hash and the index number in order to make sure each hash is unique + //Pivx will hash in the transaction hash and the index number in order to make sure each hash is unique ss << nTimeBlockFrom << prevoutIndex << prevoutHash << nTimeTx; return Hash(ss.begin(), ss.end()); } diff --git a/src/main.cpp b/src/main.cpp index 2cdfd541fa987..267c9efd3bb0f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -41,7 +41,7 @@ using namespace boost; using namespace std; #if defined(NDEBUG) -# error "DarkNet cannot be compiled without assertions." +# error "PIVX cannot be compiled without assertions." #endif /** @@ -2442,7 +2442,7 @@ bool FindUndoPos(CValidationState &state, int nFile, CDiskBlockPos &pos, unsigne static CCheckQueue scriptcheckqueue(128); void ThreadScriptCheck() { - RenameThread("darknet-scriptch"); + RenameThread("pivx-scriptch"); scriptcheckqueue.Thread(); } diff --git a/src/main.h b/src/main.h index bffbe5e9766e1..6e80857ffa8f0 100644 --- a/src/main.h +++ b/src/main.h @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode-budget.cpp b/src/masternode-budget.cpp index 5994584fd659f..bc0a17fa0d840 100644 --- a/src/masternode-budget.cpp +++ b/src/masternode-budget.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode-budget.h b/src/masternode-budget.h index 00dda03972f23..dbb30c24dacc3 100644 --- a/src/masternode-budget.h +++ b/src/masternode-budget.h @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -23,10 +23,8 @@ extern CCriticalSection cs_budget; class CBudgetManager; class CFinalizedBudgetBroadcast; class CFinalizedBudget; -class CFinalizedBudgetVote; class CBudgetProposal; class CBudgetProposalBroadcast; -class CBudgetVote; class CTxBudgetPayment; #define VOTE_ABSTAIN 0 @@ -49,6 +47,100 @@ int GetBudgetPaymentCycleBlocks(); //Check the collateral transaction for the budget proposal/finalized budget bool IsBudgetCollateralValid(uint256 nTxCollateralHash, uint256 nExpectedHash, std::string& strError, int64_t& nTime, int& nConf); +// +// CBudgetVote - Allow a masternode node to vote and broadcast throughout the network +// + +class CBudgetVote +{ +public: + bool fValid; //if the vote is currently valid / counted + bool fSynced; //if we've sent this to our peers + CTxIn vin; + uint256 nProposalHash; + int nVote; + int64_t nTime; + std::vector vchSig; + + CBudgetVote(); + CBudgetVote(CTxIn vin, uint256 nProposalHash, int nVoteIn); + + bool Sign(CKey& keyMasternode, CPubKey& pubKeyMasternode); + bool SignatureValid(bool fSignatureCheck); + void Relay(); + + std::string GetVoteString() { + std::string ret = "ABSTAIN"; + if(nVote == VOTE_YES) ret = "YES"; + if(nVote == VOTE_NO) ret = "NO"; + return ret; + } + + uint256 GetHash(){ + CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION); + ss << vin; + ss << nProposalHash; + ss << nVote; + ss << nTime; + return ss.GetHash(); + } + + ADD_SERIALIZE_METHODS; + + template + inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { + READWRITE(vin); + READWRITE(nProposalHash); + READWRITE(nVote); + READWRITE(nTime); + READWRITE(vchSig); + } + + + +}; + +// +// CFinalizedBudgetVote - Allow a masternode node to vote and broadcast throughout the network +// + +class CFinalizedBudgetVote +{ +public: + bool fValid; //if the vote is currently valid / counted + bool fSynced; //if we've sent this to our peers + CTxIn vin; + uint256 nBudgetHash; + int64_t nTime; + std::vector vchSig; + + CFinalizedBudgetVote(); + CFinalizedBudgetVote(CTxIn vinIn, uint256 nBudgetHashIn); + + bool Sign(CKey& keyMasternode, CPubKey& pubKeyMasternode); + bool SignatureValid(bool fSignatureCheck); + void Relay(); + + uint256 GetHash(){ + CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION); + ss << vin; + ss << nBudgetHash; + ss << nTime; + return ss.GetHash(); + } + + ADD_SERIALIZE_METHODS; + + template + inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { + READWRITE(vin); + READWRITE(nBudgetHash); + READWRITE(nTime); + READWRITE(vchSig); + } + +}; + /** Save Budget Manager (budget.dat) */ class CBudgetDB @@ -262,7 +354,7 @@ class CFinalizedBudget //check to see if we should vote on this void AutoCheck(); - //total darknet paid out by this budget + //total pivx paid out by this budget CAmount GetTotalPayout(); //vote on this finalized budget as a masternode void SubmitVote(); @@ -343,46 +435,6 @@ class CFinalizedBudgetBroadcast : public CFinalizedBudget } }; -// -// CFinalizedBudgetVote - Allow a masternode node to vote and broadcast throughout the network -// - -class CFinalizedBudgetVote -{ -public: - bool fValid; //if the vote is currently valid / counted - bool fSynced; //if we've sent this to our peers - CTxIn vin; - uint256 nBudgetHash; - int64_t nTime; - std::vector vchSig; - - CFinalizedBudgetVote(); - CFinalizedBudgetVote(CTxIn vinIn, uint256 nBudgetHashIn); - - bool Sign(CKey& keyMasternode, CPubKey& pubKeyMasternode); - bool SignatureValid(bool fSignatureCheck); - void Relay(); - - uint256 GetHash(){ - CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION); - ss << vin; - ss << nBudgetHash; - ss << nTime; - return ss.GetHash(); - } - - ADD_SERIALIZE_METHODS; - - template - inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { - READWRITE(vin); - READWRITE(nBudgetHash); - READWRITE(nTime); - READWRITE(vchSig); - } - -}; // // Budget Proposal : Contains the masternode votes for each budget @@ -538,57 +590,5 @@ class CBudgetProposalBroadcast : public CBudgetProposal } }; -// -// CBudgetVote - Allow a masternode node to vote and broadcast throughout the network -// - -class CBudgetVote -{ -public: - bool fValid; //if the vote is currently valid / counted - bool fSynced; //if we've sent this to our peers - CTxIn vin; - uint256 nProposalHash; - int nVote; - int64_t nTime; - std::vector vchSig; - - CBudgetVote(); - CBudgetVote(CTxIn vin, uint256 nProposalHash, int nVoteIn); - - bool Sign(CKey& keyMasternode, CPubKey& pubKeyMasternode); - bool SignatureValid(bool fSignatureCheck); - void Relay(); - - std::string GetVoteString() { - std::string ret = "ABSTAIN"; - if(nVote == VOTE_YES) ret = "YES"; - if(nVote == VOTE_NO) ret = "NO"; - return ret; - } - - uint256 GetHash(){ - CHashWriter ss(SER_GETHASH, PROTOCOL_VERSION); - ss << vin; - ss << nProposalHash; - ss << nVote; - ss << nTime; - return ss.GetHash(); - } - - ADD_SERIALIZE_METHODS; - - template - inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) { - READWRITE(vin); - READWRITE(nProposalHash); - READWRITE(nVote); - READWRITE(nTime); - READWRITE(vchSig); - } - - - -}; #endif diff --git a/src/masternode-payments.cpp b/src/masternode-payments.cpp index 37ac64f21108d..e503619c9724f 100644 --- a/src/masternode-payments.cpp +++ b/src/masternode-payments.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode-sync.cpp b/src/masternode-sync.cpp index dac38520e579e..7aaa6a8907429 100644 --- a/src/masternode-sync.cpp +++ b/src/masternode-sync.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode-sync.h b/src/masternode-sync.h index f7229eccd44ca..cb9f82283b32c 100644 --- a/src/masternode-sync.h +++ b/src/masternode-sync.h @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternode.cpp b/src/masternode.cpp index e595bc22e1d44..23e90b7b7464b 100644 --- a/src/masternode.cpp +++ b/src/masternode.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -592,7 +592,7 @@ bool CMasternodeBroadcast::CheckInputsAndAdd(int& nDoS) BlockMap::iterator mi = mapBlockIndex.find(hashBlock); if (mi != mapBlockIndex.end() && (*mi).second) { - CBlockIndex* pMNIndex = (*mi).second; // block for 1000 PIV tx -> 1 confirmation + CBlockIndex* pMNIndex = (*mi).second; // block for 10000 PIV tx -> 1 confirmation CBlockIndex* pConfIndex = chainActive[pMNIndex->nHeight + MASTERNODE_MIN_CONFIRMATIONS - 1]; // block where tx got MASTERNODE_MIN_CONFIRMATIONS if(pConfIndex->GetBlockTime() > sigTime) { diff --git a/src/masternode.h b/src/masternode.h index 98cf848a0d0f8..6414ea820d947 100644 --- a/src/masternode.h +++ b/src/masternode.h @@ -1,6 +1,6 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef MASTERNODE_H @@ -100,7 +100,7 @@ class CMasternodePing }; // -// The Masternode Class. For managing the Obfuscation process. It contains the input of the 10000PIV, signature to prove +// The Masternode Class. For managing the Obfuscation process. It contains the input of the 10000 PIV, signature to prove // it's the one who own that ip address and code for calculating the payment election. // class CMasternode diff --git a/src/masternodeconfig.h b/src/masternodeconfig.h index 74a58312165f2..bb24cd630d582 100644 --- a/src/masternodeconfig.h +++ b/src/masternodeconfig.h @@ -1,6 +1,6 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/masternodeman.cpp b/src/masternodeman.cpp index 541cdd773ffb3..b1dc57a1e435e 100644 --- a/src/masternodeman.cpp +++ b/src/masternodeman.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -959,14 +959,14 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData } // verify that sig time is legit in past - // should be at least not earlier than block when 1000 PIV tx got MASTERNODE_MIN_CONFIRMATIONS + // should be at least not earlier than block when 10000 PIV tx got MASTERNODE_MIN_CONFIRMATIONS uint256 hashBlock = 0; CTransaction tx2; GetTransaction(vin.prevout.hash, tx2, hashBlock, true); BlockMap::iterator mi = mapBlockIndex.find(hashBlock); if (mi != mapBlockIndex.end() && (*mi).second) { - CBlockIndex* pMNIndex = (*mi).second; // block for 10000PIV tx -> 1 confirmation + CBlockIndex* pMNIndex = (*mi).second; // block for 10000 PIV tx -> 1 confirmation CBlockIndex* pConfIndex = chainActive[pMNIndex->nHeight + MASTERNODE_MIN_CONFIRMATIONS - 1]; // block where tx got MASTERNODE_MIN_CONFIRMATIONS if(pConfIndex->GetBlockTime() > sigTime) { diff --git a/src/masternodeman.h b/src/masternodeman.h index 8a253f7d187aa..2775497b44a04 100644 --- a/src/masternodeman.h +++ b/src/masternodeman.h @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/miner.cpp b/src/miner.cpp index 0dd86d3be0496..5b8bd5091c59f 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -30,7 +30,7 @@ using namespace std; ////////////////////////////////////////////////////////////////////////////// // -// DarkNetMiner +// PIVXMiner // // @@ -440,7 +440,7 @@ bool ProcessBlockFound(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey) { LOCK(cs_main); if (pblock->hashPrevBlock != chainActive.Tip()->GetBlockHash()) - return error("DarkNetMiner : generated block is stale"); + return error("PIVXMiner : generated block is stale"); } // Remove key from key pool @@ -455,7 +455,7 @@ bool ProcessBlockFound(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey) // Process this block the same as if we had received it from another node CValidationState state; if (!ProcessNewBlock(state, NULL, pblock)) - return error("DarkNetMiner : ProcessNewBlock, block not accepted"); + return error("PIVXMiner : ProcessNewBlock, block not accepted"); return true; } @@ -466,9 +466,9 @@ bool fGenerateBitcoins = false; void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) { - LogPrintf("DarkNetMiner started\n"); + LogPrintf("PIVXMiner started\n"); SetThreadPriority(THREAD_PRIORITY_LOWEST); - RenameThread("darknet-miner"); + RenameThread("pivx-miner"); // Each thread has its own key and counter CReserveKey reservekey(pwallet); @@ -546,7 +546,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) continue; } - LogPrintf("Running DarkNetMiner with %u transactions in block (%u bytes)\n", pblock->vtx.size(), + LogPrintf("Running PIVXMiner with %u transactions in block (%u bytes)\n", pblock->vtx.size(), ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); // diff --git a/src/net.cpp b/src/net.cpp index 79c66641d8fba..f55cccd8578fb 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -567,7 +567,7 @@ void CNode::copyStats(CNodeStats &stats) nPingUsecWait = GetTimeMicros() - nPingUsecStart; } - // Raw ping time is in microseconds, but show it to user as whole seconds (DarkNet users should be well used to small numbers with many decimal places by now :) + // Raw ping time is in microseconds, but show it to user as whole seconds (PIVX users should be well used to small numbers with many decimal places by now :) stats.dPingTime = (((double)nPingUsecTime) / 1e6); stats.dPingWait = (((double)nPingUsecWait) / 1e6); @@ -1086,7 +1086,7 @@ void ThreadMapPort() } } - string strDesc = "DarkNet " + FormatFullVersion(); + string strDesc = "PIVX " + FormatFullVersion(); try { while (true) { @@ -1597,7 +1597,7 @@ bool BindListenPort(const CService &addrBind, string& strError, bool fWhiteliste { int nErr = WSAGetLastError(); if (nErr == WSAEADDRINUSE) - strError = strprintf(_("Unable to bind to %s on this computer. DarkNet Core is probably already running."), addrBind.ToString()); + strError = strprintf(_("Unable to bind to %s on this computer. PIVX Core is probably already running."), addrBind.ToString()); else strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToString(), NetworkErrorString(nErr)); LogPrintf("%s\n", strError); diff --git a/src/noui.cpp b/src/noui.cpp index 130b3e18eb602..26a1bccc858c0 100644 --- a/src/noui.cpp +++ b/src/noui.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -48,7 +48,7 @@ static void noui_InitMessage(const std::string& message) void noui_connect() { - // Connect darknetd signal handlers + // Connect pivxd signal handlers uiInterface.ThreadSafeMessageBox.connect(noui_ThreadSafeMessageBox); uiInterface.InitMessage.connect(noui_InitMessage); } diff --git a/src/obfuscation-relay.h b/src/obfuscation-relay.h index ae1c54b091917..b427baf4d8917 100644 --- a/src/obfuscation-relay.h +++ b/src/obfuscation-relay.h @@ -1,6 +1,6 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/obfuscation.cpp b/src/obfuscation.cpp index 6cef173ed7f25..8ef7d435ed82f 100644 --- a/src/obfuscation.cpp +++ b/src/obfuscation.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -768,9 +768,9 @@ void CObfuscationPool::ChargeRandomFees(){ Being that Obfuscation has "no fees" we need to have some kind of cost associated with using it to stop abuse. Otherwise it could serve as an attack vector and - allow endless transaction that would bloat DarkNet and make it unusable. To + allow endless transaction that would bloat PIVX and make it unusable. To stop these kinds of attacks 1 in 10 successful transactions are charged. This - adds up to a cost of 0.001PIV per transaction on average. + adds up to a cost of 0.001 PIV per transaction on average. */ if(r <= 10) { @@ -1412,7 +1412,7 @@ bool CObfuscationPool::DoAutomaticDenominating(bool fDryRun) // should have some additional amount for them nLowestDenom += OBFUSCATION_COLLATERAL*4; - CAmount nBalanceNeedsAnonymized = nAnonymizeDarknetAmount*COIN - pwalletMain->GetAnonymizedBalance(); + CAmount nBalanceNeedsAnonymized = nAnonymizePivxAmount*COIN - pwalletMain->GetAnonymizedBalance(); // if balanceNeedsAnonymized is more than pool max, take the pool max if(nBalanceNeedsAnonymized > OBFUSCATION_POOL_MAX) nBalanceNeedsAnonymized = OBFUSCATION_POOL_MAX; @@ -2243,7 +2243,7 @@ void ThreadCheckObfuScationPool() if(fLiteMode) return; //disable all Obfuscation/Masternode related functionality // Make this thread recognisable as the wallet flushing thread - RenameThread("darknet-obfuscation"); + RenameThread("pivx-obfuscation"); unsigned int c = 0; diff --git a/src/obfuscation.h b/src/obfuscation.h index da660b9eced7d..4155216afcd9a 100644 --- a/src/obfuscation.h +++ b/src/obfuscation.h @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -246,7 +246,7 @@ class CObfuscationBroadcastTx class CObfuScationSigner { public: - /// Is the inputs associated with this public key? (and there is 1000 PIV - checking if valid masternode) + /// Is the inputs associated with this public key? (and there is 10000 PIV - checking if valid masternode) bool IsVinAssociatedWithPubkey(CTxIn& vin, CPubKey& pubkey); /// Set the private/public key values, returns true if successful bool GetKeysFromSecret(std::string strSecret, CKey& keyRet, CPubKey& pubkeyRet); @@ -489,7 +489,7 @@ class CObfuscationPool void GetDenominationsToString(int nDenom, std::string& strDenom); - /// Get the denominations for a specific amount of darknet. + /// Get the denominations for a specific amount of pivx. int GetDenominationsByAmount(int64_t nAmount, int nDenomTarget=0); // is not used anymore? int GetDenominationsByAmounts(std::vector& vecAmount); diff --git a/src/darknetd-res.rc b/src/pivx-cli-res.rc similarity index 81% rename from src/darknetd-res.rc rename to src/pivx-cli-res.rc index 69955fb2ae70b..c42f803fac20f 100644 --- a/src/darknetd-res.rc +++ b/src/pivx-cli-res.rc @@ -16,14 +16,14 @@ BEGIN BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN - VALUE "CompanyName", "DarkNet" - VALUE "FileDescription", "DarkNetd (OSS daemon/client for Darknet)" + VALUE "CompanyName", "Pivx" + VALUE "FileDescription", "Pivx-cli (OSS RPC client for Pivx)" VALUE "FileVersion", VER_FILEVERSION_STR - VALUE "InternalName", "darknetd" + VALUE "InternalName", "pivx-cli" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." - VALUE "OriginalFilename", "darknetd.exe" - VALUE "ProductName", "DarkNetd" + VALUE "OriginalFilename", "pivx-cli.exe" + VALUE "ProductName", "Pivx-cli" VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END diff --git a/src/darknet-cli.cpp b/src/pivx-cli.cpp similarity index 94% rename from src/darknet-cli.cpp rename to src/pivx-cli.cpp index ad5f4790125f8..8a9d44e3f9d7b 100644 --- a/src/darknet-cli.cpp +++ b/src/pivx-cli.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2015 The Bitcoin developers // Copyright (c) 2009-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -26,7 +26,7 @@ std::string HelpMessageCli() string strUsage; strUsage += _("Options:") + "\n"; strUsage += " -? " + _("This help message") + "\n"; - strUsage += " -conf= " + strprintf(_("Specify configuration file (default: %s)"), "darknet.conf") + "\n"; + strUsage += " -conf= " + strprintf(_("Specify configuration file (default: %s)"), "pivx.conf") + "\n"; strUsage += " -datadir= " + _("Specify data directory") + "\n"; strUsage += " -testnet " + _("Use the test network") + "\n"; strUsage += " -regtest " + _("Enter regression test mode, which uses a special chain in which blocks can be " @@ -69,12 +69,12 @@ static bool AppInitRPC(int argc, char* argv[]) // ParseParameters(argc, argv); if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version")) { - std::string strUsage = _("Darknet Core RPC client version") + " " + FormatFullVersion() + "\n"; + std::string strUsage = _("Pivx Core RPC client version") + " " + FormatFullVersion() + "\n"; if (!mapArgs.count("-version")) { strUsage += "\n" + _("Usage:") + "\n" + - " darknet-cli [options] [params] " + _("Send command to Darknet Core") + "\n" + - " darknet-cli [options] help " + _("List commands") + "\n" + - " darknet-cli [options] help " + _("Get help for a command") + "\n"; + " pivx-cli [options] [params] " + _("Send command to Pivx Core") + "\n" + + " pivx-cli [options] help " + _("List commands") + "\n" + + " pivx-cli [options] help " + _("Get help for a command") + "\n"; strUsage += "\n" + HelpMessageCli(); } diff --git a/src/darknet-tx.cpp b/src/pivx-tx.cpp similarity index 98% rename from src/darknet-tx.cpp rename to src/pivx-tx.cpp index 4db334c6ef5cc..c3d82e5d318e0 100644 --- a/src/darknet-tx.cpp +++ b/src/pivx-tx.cpp @@ -47,10 +47,10 @@ static bool AppInitRawTx(int argc, char* argv[]) if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help")) { // First part of help message is specific to this utility - std::string strUsage = _("Darknet Core darknet-tx utility version") + " " + FormatFullVersion() + "\n\n" + + std::string strUsage = _("Pivx Core pivx-tx utility version") + " " + FormatFullVersion() + "\n\n" + _("Usage:") + "\n" + - " darknet-tx [options] [commands] " + _("Update hex-encoded darknet transaction") + "\n" + - " darknet-tx [options] -create [commands] " + _("Create hex-encoded darknet transaction") + "\n" + + " pivx-tx [options] [commands] " + _("Update hex-encoded pivx transaction") + "\n" + + " pivx-tx [options] -create [commands] " + _("Create hex-encoded pivx transaction") + "\n" + "\n"; fprintf(stdout, "%s", strUsage.c_str()); @@ -555,7 +555,7 @@ static int CommandLineRawTx(int argc, char* argv[]) if (argc < 2) throw runtime_error("too few parameters"); - // param: hex-encoded darknet transaction + // param: hex-encoded pivx transaction string strHexTx(argv[1]); if (strHexTx == "-") // "-" implies standard input strHexTx = readStdin(); diff --git a/src/darknet-cli-res.rc b/src/pivxd-res.rc similarity index 81% rename from src/darknet-cli-res.rc rename to src/pivxd-res.rc index 4f27c266fc70d..055d8a5f1d973 100644 --- a/src/darknet-cli-res.rc +++ b/src/pivxd-res.rc @@ -16,14 +16,14 @@ BEGIN BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN - VALUE "CompanyName", "Darknet" - VALUE "FileDescription", "Darknet-cli (OSS RPC client for Darknet)" + VALUE "CompanyName", "PIVX" + VALUE "FileDescription", "pivxd (OSS daemon/client for Pivx)" VALUE "FileVersion", VER_FILEVERSION_STR - VALUE "InternalName", "darknet-cli" + VALUE "InternalName", "pivxd" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." - VALUE "OriginalFilename", "darknet-cli.exe" - VALUE "ProductName", "Darknet-cli" + VALUE "OriginalFilename", "pivxd.exe" + VALUE "ProductName", "pivxd" VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END diff --git a/src/darknetd.cpp b/src/pivxd.cpp similarity index 88% rename from src/darknetd.cpp rename to src/pivxd.cpp index 92792f1a1284f..4ad899895e870 100644 --- a/src/darknetd.cpp +++ b/src/pivxd.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -24,8 +24,8 @@ * * \section intro_sec Introduction * - * This is the developer documentation of the reference client for an experimental new digital currency called DarkNet (http://www.darknet-crypto.com), - * which enables instant payments to anyone, anywhere in the world. DarkNet uses peer-to-peer technology to operate + * This is the developer documentation of the reference client for an experimental new digital currency called PIVX (http://www.pivx.org), + * which enables instant payments to anyone, anywhere in the world. PIVX 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. @@ -66,13 +66,13 @@ bool AppInit(int argc, char* argv[]) // // Parameters // - // If Qt is used, parameters/darknet.conf are parsed in qt/darknet.cpp's main() + // If Qt is used, parameters/pivx.conf are parsed in qt/pivx.cpp's main() ParseParameters(argc, argv); // Process help and version before taking care about datadir if (mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version")) { - std::string strUsage = _("Darknet Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "\n"; + std::string strUsage = _("Pivx Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "\n"; if (mapArgs.count("-version")) { @@ -81,7 +81,7 @@ bool AppInit(int argc, char* argv[]) else { strUsage += "\n" + _("Usage:") + "\n" + - " darknetd [options] " + _("Start Darknet Core Daemon") + "\n"; + " pivxd [options] " + _("Start Pivx Core Daemon") + "\n"; strUsage += "\n" + HelpMessage(HMM_BITCOIND); } @@ -120,19 +120,19 @@ bool AppInit(int argc, char* argv[]) // Command-line RPC bool fCommandLine = false; for (int i = 1; i < argc; i++) - if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "darknet:")) + if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "pivx:")) fCommandLine = true; if (fCommandLine) { - fprintf(stderr, "Error: There is no RPC client functionality in darknetd anymore. Use the darknet-cli utility instead.\n"); + fprintf(stderr, "Error: There is no RPC client functionality in pivxd anymore. Use the pivx-cli utility instead.\n"); exit(1); } #ifndef WIN32 fDaemon = GetBoolArg("-daemon", false); if (fDaemon) { - fprintf(stdout, "DarkNet server starting\n"); + fprintf(stdout, "PIVX server starting\n"); // Daemonize pid_t pid = fork(); @@ -189,7 +189,7 @@ int main(int argc, char* argv[]) { SetupEnvironment(); - // Connect darknetd signal handlers + // Connect pivxd signal handlers noui_connect(); return (AppInit(argc, argv) ? 0 : 1); diff --git a/src/pow.cpp b/src/pow.cpp index e559b613083cf..78c0cdca8f70d 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -17,7 +17,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, bool fProofOfStake) { - /* current difficulty formula, darknet - DarkGravity v3, written by Evan Duffield - evan@dashpay.io */ + /* current difficulty formula, pivx - DarkGravity v3, written by Evan Duffield - evan@dashpay.io */ const CBlockIndex *BlockLastSolved = pindexLast; const CBlockIndex *BlockReading = pindexLast; int64_t nActualTimespan = 0; diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index e18d87aa65d95..28dabd4de405f 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -63,11 +63,11 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : switch(tab) { case SendingTab: - ui->labelExplanation->setText(tr("These are your DarkNet addresses for sending payments. Always check the amount and the receiving address before sending coins.")); + ui->labelExplanation->setText(tr("These are your PIVX 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 DarkNet addresses for receiving payments. It is recommended to use a new receiving address for each transaction.")); + ui->labelExplanation->setText(tr("These are your PIVX 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/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index b61a3ba6e5125..da2924ba08b73 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -338,7 +338,7 @@ QModelIndex AddressTableModel::index(int row, int column, const QModelIndex &par void AddressTableModel::updateEntry(const QString &address, const QString &label, bool isMine, const QString &purpose, int status) { - // Update address book model from Darknet core + // Update address book model from Pivx core priv->updateEntry(address, label, isMine, purpose, status); } diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp index 7423e8a83737d..5f42d0dfa1126 100644 --- a/src/qt/askpassphrasedialog.cpp +++ b/src/qt/askpassphrasedialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -125,9 +125,9 @@ void AskPassphraseDialog::accept() { QMessageBox::warning(this, tr("Wallet encrypted"), "" + - tr("DarkNet will close now to finish the encryption process. " + tr("PIVX will close now to finish the encryption process. " "Remember that encrypting your wallet cannot fully protect " - "your darknets from being stolen by malware infecting your computer.") + + "your PIVs from being stolen by malware infecting your computer.") + "

" + 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/bip38tooldialog.cpp b/src/qt/bip38tooldialog.cpp index c278d8f8a0e5b..0f6e4f771b37e 100644 --- a/src/qt/bip38tooldialog.cpp +++ b/src/qt/bip38tooldialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/bitcoinaddressvalidator.cpp b/src/qt/bitcoinaddressvalidator.cpp index b3eab14f22c59..4859a3a0585f9 100644 --- a/src/qt/bitcoinaddressvalidator.cpp +++ b/src/qt/bitcoinaddressvalidator.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -90,7 +90,7 @@ BitcoinAddressCheckValidator::BitcoinAddressCheckValidator(QObject *parent) : QValidator::State BitcoinAddressCheckValidator::validate(QString &input, int &pos) const { Q_UNUSED(pos); - // Validate the passed DarkNet address + // Validate the passed PIVX address CBitcoinAddress addr(input.toStdString()); if (addr.IsValid()) return QValidator::Acceptable; diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index a626ad66c6751..9c3265c510e54 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -113,7 +113,7 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle *networkStyle, QWidget *parent) : GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this); - QString windowTitle = tr("DarkNet Core") + " - "; + QString windowTitle = tr("PIVX Core") + " - "; #ifdef ENABLE_WALLET /* if compiled with wallet support, -disablewallet can still disable the wallet */ enableWallet = !GetBoolArg("-disablewallet", false); @@ -295,7 +295,7 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) tabGroup->addAction(overviewAction); sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send"), this); - sendCoinsAction->setStatusTip(tr("Send coins to a DarkNet address")); + sendCoinsAction->setStatusTip(tr("Send coins to a PIVX address")); sendCoinsAction->setToolTip(sendCoinsAction->statusTip()); sendCoinsAction->setCheckable(true); #ifdef Q_OS_MAC @@ -306,7 +306,7 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) tabGroup->addAction(sendCoinsAction); receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive"), this); - receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and darknet: URIs)")); + receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and pivx: URIs)")); receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip()); receiveCoinsAction->setCheckable(true); #ifdef Q_OS_MAC @@ -361,8 +361,8 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) quitAction->setStatusTip(tr("Quit application")); quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); quitAction->setMenuRole(QAction::QuitRole); - aboutAction = new QAction(networkStyle->getAppIcon(), tr("&About DarkNet Core"), this); - aboutAction->setStatusTip(tr("Show information about DarkNet Core")); + aboutAction = new QAction(networkStyle->getAppIcon(), tr("&About PIVX Core"), this); + aboutAction->setStatusTip(tr("Show information about PIVX Core")); aboutAction->setMenuRole(QAction::AboutRole); #if QT_VERSION < 0x050000 aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); @@ -372,7 +372,7 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) aboutQtAction->setStatusTip(tr("Show information about Qt")); aboutQtAction->setMenuRole(QAction::AboutQtRole); optionsAction = new QAction(QIcon(":/icons/options"), tr("&Options..."), this); - optionsAction->setStatusTip(tr("Modify configuration options for DarkNet")); + optionsAction->setStatusTip(tr("Modify configuration options for PIVX")); optionsAction->setMenuRole(QAction::PreferencesRole); toggleHideAction = new QAction(networkStyle->getAppIcon(), tr("&Show / Hide"), this); toggleHideAction->setStatusTip(tr("Show or hide the main Window")); @@ -388,9 +388,9 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) unlockWalletAction->setToolTip(tr("Unlock wallet")); lockWalletAction = new QAction(tr("&Lock Wallet"), this); signMessageAction = new QAction(QIcon(":/icons/edit"), tr("Sign &message..."), this); - signMessageAction->setStatusTip(tr("Sign messages with your DarkNet addresses to prove you own them")); + signMessageAction->setStatusTip(tr("Sign messages with your PIVX addresses to prove you own them")); verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this); - verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified DarkNet addresses")); + verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified PIVX addresses")); bip38ToolAction = new QAction(QIcon(":/icons/key"), tr("&BIP38 tool"), this); bip38ToolAction->setToolTip(tr("Encrypt and decrypt private keys using a passphrase")); multiSendAction = new QAction(QIcon(":/icons/edit"), tr("&MultiSend"), this); @@ -418,14 +418,14 @@ void BitcoinGUI::createActions(const NetworkStyle *networkStyle) usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels")); openAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_FileIcon), tr("Open &URI..."), this); - openAction->setStatusTip(tr("Open a DarkNet: URI or payment request")); + openAction->setStatusTip(tr("Open a PIVX: URI or payment request")); openTradingwindowAction = new QAction(QIcon(":/icons/trade"), tr("&Trading window"), this); openTradingwindowAction->setStatusTip(tr("Bittrex trading window")); showHelpMessageAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation), tr("&Command-line options"), this); showHelpMessageAction->setMenuRole(QAction::NoRole); - showHelpMessageAction->setStatusTip(tr("Show the DarkNet Core help message to get a list with possible DarkNet command-line options")); + showHelpMessageAction->setStatusTip(tr("Show the PIVX Core help message to get a list with possible PIVX command-line options")); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); @@ -636,7 +636,7 @@ void BitcoinGUI::createTrayIcon(const NetworkStyle *networkStyle) { #ifndef Q_OS_MAC trayIcon = new QSystemTrayIcon(this); - QString toolTip = tr("DarkNet Core client") + " " + networkStyle->getTitleAddText(); + QString toolTip = tr("PIVX Core client") + " " + networkStyle->getTitleAddText(); trayIcon->setToolTip(toolTip); trayIcon->setIcon(networkStyle->getAppIcon()); trayIcon->show(); @@ -813,7 +813,7 @@ void BitcoinGUI::setNumConnections(int count) } QIcon connectionItem = QIcon(icon).pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE); labelConnectionsIcon->setIcon(connectionItem); - labelConnectionsIcon->setToolTip(tr("%n active connection(s) to DarkNet network", "", count)); + labelConnectionsIcon->setToolTip(tr("%n active connection(s) to PIVX network", "", count)); } void BitcoinGUI::setNumBlocks(int count) @@ -952,7 +952,7 @@ void BitcoinGUI::setNumBlocks(int count) void BitcoinGUI::message(const QString &title, const QString &message, unsigned int style, bool *ret) { - QString strTitle = tr("DarkNet Core"); // default title + QString strTitle = tr("PIVX Core"); // default title // Default to information icon int nMBoxIcon = QMessageBox::Information; int nNotifyIcon = Notificator::Information; @@ -978,7 +978,7 @@ void BitcoinGUI::message(const QString &title, const QString &message, unsigned break; } } - // Append title to "DarkNet - " + // Append title to "PIVX - " if (!msgType.isEmpty()) strTitle += " - " + msgType; diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index abe2a5fd2de61..329e57a4d1707 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -43,9 +43,9 @@ QString BitcoinUnits::id(int unit) { switch(unit) { - case PIV: return QString("darknet"); - case mPIV: return QString("mdarknet"); - case uPIV: return QString::fromUtf8("udarknet"); + case PIV: return QString("pivx"); + case mPIV: return QString("mpivx"); + case uPIV: return QString::fromUtf8("upivx"); default: return QString("???"); } } diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h index 24a710aa8e585..b9b10f562edd3 100644 --- a/src/qt/bitcoinunits.h +++ b/src/qt/bitcoinunits.h @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -43,7 +43,7 @@ #define THIN_SP_UTF8 REAL_THIN_SP_UTF8 #define THIN_SP_HTML HTML_HACK_SP -/** DarkNet unit definitions. Encapsulates parsing and formatting +/** PIVX unit definitions. Encapsulates parsing and formatting and serves as list model for drop-down selection boxes. */ class BitcoinUnits: public QAbstractListModel @@ -53,14 +53,14 @@ class BitcoinUnits: public QAbstractListModel public: explicit BitcoinUnits(QObject *parent); - /** DarkNet units. + /** PIVX units. @note Source: https://en.bitcoin.it/wiki/Units . Please add only sensible ones */ enum Unit { PIV, mPIV, - uPIV + uPIV }; enum SeparatorStyle diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index fed46f4617ef0..0109a2adeace1 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 3bd2545585791..e4b7ca57241c1 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -35,7 +35,7 @@ enum NumConnections { CONNECTIONS_ALL = (CONNECTIONS_IN | CONNECTIONS_OUT), }; -/** Model for DarkNet network client. */ +/** Model for PIVX network client. */ class ClientModel : public QObject { Q_OBJECT diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index cababc4b00214..dbb722ab53c0f 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -788,7 +788,7 @@ void CoinControlDialog::updateView() { sAddress = QString::fromStdString(CBitcoinAddress(outputAddress).ToString()); - // if listMode or change => show DarkNet address. In tree mode, address is not shown again for direct wallet address outputs + // if listMode or change => show PIVX address. In tree mode, address is not shown again for direct wallet address outputs if (!treeMode || (!(sAddress == sWalletAddress))) itemOutput->setText(COLUMN_ADDRESS, sAddress); diff --git a/src/qt/darknet_locale.qrc b/src/qt/darknet_locale.qrc deleted file mode 100644 index 9984267991d29..0000000000000 --- a/src/qt/darknet_locale.qrc +++ /dev/null @@ -1,20 +0,0 @@ - - - locale/darknet_bg.qm - locale/darknet_de.qm - locale/darknet_en.qm - locale/darknet_es.qm - locale/darknet_fi.qm - locale/darknet_fr.qm - locale/darknet_it.qm - locale/darknet_ja.qm - locale/darknet_pl.qm - locale/darknet_pt.qm - locale/darknet_ru.qm - locale/darknet_sk.qm - locale/darknet_sv.qm - locale/darknet_vi.qm - locale/darknet_zh_CN.qm - locale/darknet_zh_TW.qm - - diff --git a/src/qt/dashstrings.cpp b/src/qt/dashstrings.cpp deleted file mode 100644 index 3b721de9ec87e..0000000000000 --- a/src/qt/dashstrings.cpp +++ /dev/null @@ -1,442 +0,0 @@ - - -#include - -// Automatically generated by extract_strings.py -#ifdef __GNUC__ -#define UNUSED __attribute__((unused)) -#else -#define UNUSED -#endif -static const char UNUSED *darknet_strings[] = { -QT_TRANSLATE_NOOP("darknet-core", "" -"(1 = keep tx meta data e.g. account owner and payment request information, 2 " -"= drop tx meta data)"), -QT_TRANSLATE_NOOP("darknet-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("darknet-core", "" -"An error occurred while setting up the RPC address %s port %u for listening: " -"%s"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Bind to given address and always listen on it. Use [host]:port notation for " -"IPv6"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Bind to given address and whitelist peers connecting to it. Use [host]:port " -"notation for IPv6"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Bind to given address to listen for JSON-RPC connections. Use [host]:port " -"notation for IPv6. This option can be specified multiple times (default: " -"bind to all interfaces)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Cannot obtain a lock on data directory %s. DarkNet Core is probably already " -"running."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Change automatic finalized budget voting behavior. mode=auto: Vote for only " -"exact finalized budget match to my generated budget. (string, default: auto)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Continuously rate-limit free transactions to *1000 bytes per minute " -"(default:%u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Create new files with system default permissions, instead of umask 077 (only " -"effective with disabled wallet functionality)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Obfuscation uses exact denominated amounts to send funds, you might simply need " -"to anonymize some more coins."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Delete all wallet transactions and only recover those parts of the " -"blockchain through -rescan on startup"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Disable all DarkNet specific functionality (Masternodes, Obfuscation, SwiftTX, " -"Budgeting) (0-1, default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Distributed under the MIT software license, see the accompanying file " -"COPYING or ."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Enable swifttx, show confirmations for locked transactions (bool, default: " -"%s)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Enable use of automated obfuscation for funds stored in this wallet (0-1, " -"default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Enter regression test mode, which uses a special chain in which blocks can " -"be solved instantly."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Error: Listening for incoming connections failed (listen returned error %s)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Error: Unsupported argument -socks found. Setting SOCKS version isn't " -"possible anymore, only SOCKS5 proxies are supported."), -QT_TRANSLATE_NOOP("darknet-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("darknet-core", "" -"Execute command when a wallet transaction changes (%s in cmd is replaced by " -"TxID)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Execute command when the best block changes (%s in cmd is replaced by block " -"hash)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Fees (in PIV/Kb) smaller than this are considered zero fee for relaying " -"(default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Fees (in PIV/Kb) smaller than this are considered zero fee for transaction " -"creation (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Flush database activity from memory pool to disk log every megabytes " -"(default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Found unconfirmed denominated outputs, will wait till they confirm to " -"continue."), -QT_TRANSLATE_NOOP("darknet-core", "" -"How thorough the block verification of -checkblocks is (0-4, default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"If paytxfee is not set, include enough fee so transactions begin " -"confirmation on average within n blocks (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"In this mode -genproclimit controls how many blocks are generated " -"immediately."), -QT_TRANSLATE_NOOP("darknet-core", "" -"SwiftTX requires inputs with at least 6 confirmations, you might need to " -"wait a few minutes and try again."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Invalid amount for -maxtxfee=: '%s' (must be at least the minrelay " -"fee of %s to prevent stuck transactions)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Log transaction priority and fee per kB when mining blocks (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Maintain a full transaction index, used by the getrawtransaction rpc call " -"(default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Maximum size of data in data carrier transactions we relay and mine " -"(default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Maximum total fees to use in a single wallet transaction, setting too low " -"may abort large transactions (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Name to construct url for KeePass entry that stores the wallet passphrase"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Number of seconds to keep misbehaving peers from reconnecting (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Output debugging information (default: %u, supplying is optional)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Provide liquidity to Obfuscation by infrequently mixing coins on a continual " -"basis (0-100, default: %u, 1=very frequent, high fees, 100=very infrequent, " -"low fees)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Query for peer addresses via DNS lookup, if low on addresses (default: 1 " -"unless -connect)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Require high priority for relaying free or low-fee transactions (default:%u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Send trace/debug info to console instead of debug.log file (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Set maximum size of high-priority/low-fee transactions in bytes (default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Set the number of script verification threads (%u to %d, 0 = auto, <0 = " -"leave that many cores free, default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Set the number of threads for coin generation if enabled (-1 = all cores, " -"default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Show N confirmations for a successfully locked transaction (0-9999, default: " -"%u)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"This is a pre-release test build - use at your own risk - do not use for " -"mining or merchant applications"), -QT_TRANSLATE_NOOP("darknet-core", "" -"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."), -QT_TRANSLATE_NOOP("darknet-core", "" -"To use darknetd, or the -server option to darknet-qt, you must set an rpcpassword " -"in the configuration file:\n" -"%s\n" -"It is recommended you use the following random password:\n" -"rpcuser=darknetrpc\n" -"rpcpassword=%s\n" -"(you do not need to remember this password)\n" -"The username and password MUST NOT be the same.\n" -"If the file does not exist, create it with owner-readable-only file " -"permissions.\n" -"It is also recommended to set alertnotify so you are notified of problems;\n" -"for example: alertnotify=echo %%s | mail -s \"DarkNet Alert\" admin@foo.com\n"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Unable to bind to %s on this computer. DarkNet Core is probably already running."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Unable to locate enough Obfuscation denominated funds for this transaction."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Unable to locate enough Obfuscation non-denominated funds for this transaction " -"that are not equal 1000 PIV."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Unable to locate enough funds for this transaction that are not equal 1000 " -"PIV."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: " -"%s)"), -QT_TRANSLATE_NOOP("darknet-core", "" -"Warning: -maxtxfee is set very high! Fees this large could be paid on a " -"single transaction."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Warning: -paytxfee is set very high! This is the transaction fee you will " -"pay if you send a transaction."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Warning: Please check that your computer's date and time are correct! If " -"your clock is wrong DarkNet Core will not work properly."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Warning: The network does not appear to fully agree! Some miners appear to " -"be experiencing issues."), -QT_TRANSLATE_NOOP("darknet-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("darknet-core", "" -"Warning: error reading wallet.dat! All keys read correctly, but transaction " -"data or address book entries might be missing or incorrect."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as " -"wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect " -"you should restore from a backup."), -QT_TRANSLATE_NOOP("darknet-core", "" -"Whitelist peers connecting from the given netmask or IP address. Can be " -"specified multiple times."), -QT_TRANSLATE_NOOP("darknet-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("darknet-core", "" -"You must specify a masternodeprivkey in the configuration. Please see " -"documentation for help."), -QT_TRANSLATE_NOOP("darknet-core", "(51472 could be used only on mainnet)"), -QT_TRANSLATE_NOOP("darknet-core", "(default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "(default: 1)"), -QT_TRANSLATE_NOOP("darknet-core", "(must be51472 for mainnet)"), -QT_TRANSLATE_NOOP("darknet-core", " can be:\n"), -QT_TRANSLATE_NOOP("darknet-core", "Accept command line and JSON-RPC commands"), -QT_TRANSLATE_NOOP("darknet-core", "Accept connections from outside (default: 1 if no -proxy or -connect)"), -QT_TRANSLATE_NOOP("darknet-core", "Accept public REST requests (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Acceptable ciphers (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Add a node to connect to and attempt to keep the connection open"), -QT_TRANSLATE_NOOP("darknet-core", "Allow DNS lookups for -addnode, -seednode and -connect"), -QT_TRANSLATE_NOOP("darknet-core", "Already have that input."), -QT_TRANSLATE_NOOP("darknet-core", "Always query for peer addresses via DNS lookup (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Attempt to recover private keys from a corrupt wallet.dat"), -QT_TRANSLATE_NOOP("darknet-core", "Block creation options:"), -QT_TRANSLATE_NOOP("darknet-core", "Can't denominate: no compatible inputs left."), -QT_TRANSLATE_NOOP("darknet-core", "Can't find random Masternode."), -QT_TRANSLATE_NOOP("darknet-core", "Can't mix while sync in progress."), -QT_TRANSLATE_NOOP("darknet-core", "Cannot downgrade wallet"), -QT_TRANSLATE_NOOP("darknet-core", "Cannot resolve -bind address: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Cannot resolve -externalip address: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Cannot resolve -whitebind address: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Cannot write default address"), -QT_TRANSLATE_NOOP("darknet-core", "Collateral not valid."), -QT_TRANSLATE_NOOP("darknet-core", "Connect only to the specified node(s)"), -QT_TRANSLATE_NOOP("darknet-core", "Connect through SOCKS5 proxy"), -QT_TRANSLATE_NOOP("darknet-core", "Connect to KeePassHttp on port (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Connect to a node to retrieve peer addresses, and disconnect"), -QT_TRANSLATE_NOOP("darknet-core", "Connection options:"), -QT_TRANSLATE_NOOP("darknet-core", "Copyright (C) 2009-%i The Bitcoin Core Developers"), -QT_TRANSLATE_NOOP("darknet-core", "Copyright (C) 2014-%i The DarkNet Core Developers"), -QT_TRANSLATE_NOOP("darknet-core", "Corrupted block database detected"), -QT_TRANSLATE_NOOP("darknet-core", "Could not parse -rpcbind value %s as network address"), -QT_TRANSLATE_NOOP("darknet-core", "Could not parse masternode.conf"), -QT_TRANSLATE_NOOP("darknet-core", "Obfuscation is idle."), -QT_TRANSLATE_NOOP("darknet-core", "Obfuscation options:"), -QT_TRANSLATE_NOOP("darknet-core", "Obfuscation request complete:"), -QT_TRANSLATE_NOOP("darknet-core", "Obfuscation request incomplete:"), -QT_TRANSLATE_NOOP("darknet-core", "Debugging/Testing options:"), -QT_TRANSLATE_NOOP("darknet-core", "Disable safemode, override a real safe mode event (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Discover own IP address (default: 1 when listening and no -externalip)"), -QT_TRANSLATE_NOOP("darknet-core", "Do not load the wallet and disable wallet RPC calls"), -QT_TRANSLATE_NOOP("darknet-core", "Do you want to rebuild the block database now?"), -QT_TRANSLATE_NOOP("darknet-core", "Done loading"), -QT_TRANSLATE_NOOP("darknet-core", "Enable the client to act as a masternode (0-1, default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Entries are full."), -QT_TRANSLATE_NOOP("darknet-core", "Error connecting to Masternode."), -QT_TRANSLATE_NOOP("darknet-core", "Error initializing block database"), -QT_TRANSLATE_NOOP("darknet-core", "Error initializing wallet database environment %s!"), -QT_TRANSLATE_NOOP("darknet-core", "Error loading block database"), -QT_TRANSLATE_NOOP("darknet-core", "Error loading wallet.dat"), -QT_TRANSLATE_NOOP("darknet-core", "Error loading wallet.dat: Wallet corrupted"), -QT_TRANSLATE_NOOP("darknet-core", "Error loading wallet.dat: Wallet requires newer version of DarkNet Core"), -QT_TRANSLATE_NOOP("darknet-core", "Error opening block database"), -QT_TRANSLATE_NOOP("darknet-core", "Error reading from database, shutting down."), -QT_TRANSLATE_NOOP("darknet-core", "Error recovering public key."), -QT_TRANSLATE_NOOP("darknet-core", "Error"), -QT_TRANSLATE_NOOP("darknet-core", "Error: A fatal internal error occured, see debug.log for details"), -QT_TRANSLATE_NOOP("darknet-core", "Error: Can't select current denominated inputs"), -QT_TRANSLATE_NOOP("darknet-core", "Error: Disk space is low!"), -QT_TRANSLATE_NOOP("darknet-core", "Error: Unsupported argument -tor found, use -onion."), -QT_TRANSLATE_NOOP("darknet-core", "Error: Wallet locked, unable to create transaction!"), -QT_TRANSLATE_NOOP("darknet-core", "Error: You already have pending entries in the Obfuscation pool"), -QT_TRANSLATE_NOOP("darknet-core", "Failed to listen on any port. Use -listen=0 if you want this."), -QT_TRANSLATE_NOOP("darknet-core", "Failed to read block"), -QT_TRANSLATE_NOOP("darknet-core", "Fee (in PIV/kB) to add to transactions you send (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Finalizing transaction."), -QT_TRANSLATE_NOOP("darknet-core", "Force safe mode (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Found enough users, signing ( waiting %s )"), -QT_TRANSLATE_NOOP("darknet-core", "Found enough users, signing ..."), -QT_TRANSLATE_NOOP("darknet-core", "Generate coins (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "How many blocks to check at startup (default: %u, 0 = all)"), -QT_TRANSLATE_NOOP("darknet-core", "If is not supplied, output all debugging information."), -QT_TRANSLATE_NOOP("darknet-core", "Importing..."), -QT_TRANSLATE_NOOP("darknet-core", "Imports blocks from external blk000??.dat file"), -QT_TRANSLATE_NOOP("darknet-core", "Include IP addresses in debug output (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Incompatible mode."), -QT_TRANSLATE_NOOP("darknet-core", "Incompatible version."), -QT_TRANSLATE_NOOP("darknet-core", "Incorrect or no genesis block found. Wrong datadir for network?"), -QT_TRANSLATE_NOOP("darknet-core", "Information"), -QT_TRANSLATE_NOOP("darknet-core", "Initialization sanity check failed. DarkNet Core is shutting down."), -QT_TRANSLATE_NOOP("darknet-core", "Input is not valid."), -QT_TRANSLATE_NOOP("darknet-core", "SwiftTX options:"), -QT_TRANSLATE_NOOP("darknet-core", "Insufficient funds."), -QT_TRANSLATE_NOOP("darknet-core", "Invalid -onion address: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid -proxy address: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid amount for -maxtxfee=: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid amount for -minrelaytxfee=: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid amount for -mintxfee=: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid amount for -paytxfee=: '%s' (must be at least %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid amount for -paytxfee=: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid masternodeprivkey. Please see documenation."), -QT_TRANSLATE_NOOP("darknet-core", "Invalid netmask specified in -whitelist: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid port detected in masternode.conf"), -QT_TRANSLATE_NOOP("darknet-core", "Invalid private key."), -QT_TRANSLATE_NOOP("darknet-core", "Invalid script detected."), -QT_TRANSLATE_NOOP("darknet-core", "KeePassHttp id for the established association"), -QT_TRANSLATE_NOOP("darknet-core", "KeePassHttp key for AES encrypted communication with KeePass"), -QT_TRANSLATE_NOOP("darknet-core", "Keep N PIV anonymized (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Keep at most unconnectable transactions in memory (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Last Obfuscation was too recent."), -QT_TRANSLATE_NOOP("darknet-core", "Last successful Obfuscation action was too recent."), -QT_TRANSLATE_NOOP("darknet-core", "Limit size of signature cache to entries (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Line: %d"), -QT_TRANSLATE_NOOP("darknet-core", "Listen for JSON-RPC connections on (default: %u or testnet: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Listen for connections on (default: %u or testnet: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Loading addresses..."), -QT_TRANSLATE_NOOP("darknet-core", "Loading block index..."), -QT_TRANSLATE_NOOP("darknet-core", "Loading budget cache..."), -QT_TRANSLATE_NOOP("darknet-core", "Loading masternode cache..."), -QT_TRANSLATE_NOOP("darknet-core", "Loading masternode payment cache..."), -QT_TRANSLATE_NOOP("darknet-core", "Loading wallet... (%3.2f %%)"), -QT_TRANSLATE_NOOP("darknet-core", "Loading wallet..."), -QT_TRANSLATE_NOOP("darknet-core", "Lock is already in place."), -QT_TRANSLATE_NOOP("darknet-core", "Lock masternodes from masternode configuration file (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Maintain at most connections to peers (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Masternode options:"), -QT_TRANSLATE_NOOP("darknet-core", "Masternode queue is full."), -QT_TRANSLATE_NOOP("darknet-core", "Masternode:"), -QT_TRANSLATE_NOOP("darknet-core", "Maximum per-connection receive buffer, *1000 bytes (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Maximum per-connection send buffer, *1000 bytes (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Missing input transaction information."), -QT_TRANSLATE_NOOP("darknet-core", "Mixing in progress..."), -QT_TRANSLATE_NOOP("darknet-core", "Need to specify a port with -whitebind: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "No Masternodes detected."), -QT_TRANSLATE_NOOP("darknet-core", "No compatible Masternode found."), -QT_TRANSLATE_NOOP("darknet-core", "No funds detected in need of denominating."), -QT_TRANSLATE_NOOP("darknet-core", "No matching denominations found for mixing."), -QT_TRANSLATE_NOOP("darknet-core", "Node relay options:"), -QT_TRANSLATE_NOOP("darknet-core", "Non-standard public key detected."), -QT_TRANSLATE_NOOP("darknet-core", "Not compatible with existing transactions."), -QT_TRANSLATE_NOOP("darknet-core", "Not enough file descriptors available."), -QT_TRANSLATE_NOOP("darknet-core", "Not in the Masternode list."), -QT_TRANSLATE_NOOP("darknet-core", "Number of automatic wallet backups (default: 10)"), -QT_TRANSLATE_NOOP("darknet-core", "Only accept block chain matching built-in checkpoints (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Only connect to nodes in network (ipv4, ipv6 or onion)"), -QT_TRANSLATE_NOOP("darknet-core", "Options:"), -QT_TRANSLATE_NOOP("darknet-core", "Password for JSON-RPC connections"), -QT_TRANSLATE_NOOP("darknet-core", "Prepend debug output with timestamp (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)"), -QT_TRANSLATE_NOOP("darknet-core", "RPC server options:"), -QT_TRANSLATE_NOOP("darknet-core", "RPC support for HTTP persistent connections (default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "Randomly drop 1 of every network messages"), -QT_TRANSLATE_NOOP("darknet-core", "Randomly fuzz 1 of every network messages"), -QT_TRANSLATE_NOOP("darknet-core", "Rebuild block chain index from current blk000??.dat files"), -QT_TRANSLATE_NOOP("darknet-core", "Receive and display P2P network alerts (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Relay and mine data carrier transactions (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Relay non-P2SH multisig (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Rescan the block chain for missing wallet transactions"), -QT_TRANSLATE_NOOP("darknet-core", "Rescanning..."), -QT_TRANSLATE_NOOP("darknet-core", "Run a thread to flush wallet periodically (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Run in the background as a daemon and accept commands"), -QT_TRANSLATE_NOOP("darknet-core", "Send trace/debug info to debug.log file (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Send transactions as zero-fee transactions if possible (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Server certificate file (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Server private key (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Session not complete!"), -QT_TRANSLATE_NOOP("darknet-core", "Session timed out."), -QT_TRANSLATE_NOOP("darknet-core", "Set database cache size in megabytes (%d to %d, default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "Set external address:port to get to this masternode (example: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Set key pool size to (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Set maximum block size in bytes (default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "Set minimum block size in bytes (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Set the masternode private key"), -QT_TRANSLATE_NOOP("darknet-core", "Set the number of threads to service RPC calls (default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "Sets the DB_PRIVATE flag in the wallet db environment (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Show all debugging options (usage: --help -help-debug)"), -QT_TRANSLATE_NOOP("darknet-core", "Shrink debug.log file on client startup (default: 1 when no -debug)"), -QT_TRANSLATE_NOOP("darknet-core", "Signing failed."), -QT_TRANSLATE_NOOP("darknet-core", "Signing timed out."), -QT_TRANSLATE_NOOP("darknet-core", "Signing transaction failed"), -QT_TRANSLATE_NOOP("darknet-core", "Specify configuration file (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Specify connection timeout in milliseconds (minimum: 1, default: %d)"), -QT_TRANSLATE_NOOP("darknet-core", "Specify data directory"), -QT_TRANSLATE_NOOP("darknet-core", "Specify masternode configuration file (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Specify pid file (default: %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Specify wallet file (within data directory)"), -QT_TRANSLATE_NOOP("darknet-core", "Specify your own public address"), -QT_TRANSLATE_NOOP("darknet-core", "Spend unconfirmed change when sending transactions (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Stop running after importing blocks from disk (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Submitted following entries to masternode: %u / %d"), -QT_TRANSLATE_NOOP("darknet-core", "Submitted to masternode, waiting for more entries ( %u / %d ) %s"), -QT_TRANSLATE_NOOP("darknet-core", "Submitted to masternode, waiting in queue %s"), -QT_TRANSLATE_NOOP("darknet-core", "Synchronization failed"), -QT_TRANSLATE_NOOP("darknet-core", "Synchronization finished"), -QT_TRANSLATE_NOOP("darknet-core", "Synchronization pending..."), -QT_TRANSLATE_NOOP("darknet-core", "Synchronizing budgets..."), -QT_TRANSLATE_NOOP("darknet-core", "Synchronizing masternode winners..."), -QT_TRANSLATE_NOOP("darknet-core", "Synchronizing masternodes..."), -QT_TRANSLATE_NOOP("darknet-core", "Synchronizing sporks..."), -QT_TRANSLATE_NOOP("darknet-core", "This help message"), -QT_TRANSLATE_NOOP("darknet-core", "This is experimental software."), -QT_TRANSLATE_NOOP("darknet-core", "This is intended for regression testing tools and app development."), -QT_TRANSLATE_NOOP("darknet-core", "This is not a Masternode."), -QT_TRANSLATE_NOOP("darknet-core", "Threshold for disconnecting misbehaving peers (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Transaction amount too small"), -QT_TRANSLATE_NOOP("darknet-core", "Transaction amounts must be positive"), -QT_TRANSLATE_NOOP("darknet-core", "Transaction created successfully."), -QT_TRANSLATE_NOOP("darknet-core", "Transaction fees are too high."), -QT_TRANSLATE_NOOP("darknet-core", "Transaction not valid."), -QT_TRANSLATE_NOOP("darknet-core", "Transaction too large for fee policy"), -QT_TRANSLATE_NOOP("darknet-core", "Transaction too large"), -QT_TRANSLATE_NOOP("darknet-core", "Transmitting final transaction."), -QT_TRANSLATE_NOOP("darknet-core", "Unable to bind to %s on this computer (bind returned error %s)"), -QT_TRANSLATE_NOOP("darknet-core", "Unable to sign spork message, wrong key?"), -QT_TRANSLATE_NOOP("darknet-core", "Unknown network specified in -onlynet: '%s'"), -QT_TRANSLATE_NOOP("darknet-core", "Unknown state: id = %u"), -QT_TRANSLATE_NOOP("darknet-core", "Upgrade wallet to latest format"), -QT_TRANSLATE_NOOP("darknet-core", "Use KeePass 2 integration using KeePassHttp plugin (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Use N separate masternodes to anonymize funds (2-8, default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Use OpenSSL (https) for JSON-RPC connections"), -QT_TRANSLATE_NOOP("darknet-core", "Use UPnP to map the listening port (default: %u)"), -QT_TRANSLATE_NOOP("darknet-core", "Use UPnP to map the listening port (default: 1 when listening)"), -QT_TRANSLATE_NOOP("darknet-core", "Use the test network"), -QT_TRANSLATE_NOOP("darknet-core", "Username for JSON-RPC connections"), -QT_TRANSLATE_NOOP("darknet-core", "Value more than Obfuscation pool maximum allows."), -QT_TRANSLATE_NOOP("darknet-core", "Verifying blocks..."), -QT_TRANSLATE_NOOP("darknet-core", "Verifying wallet..."), -QT_TRANSLATE_NOOP("darknet-core", "Wallet %s resides outside data directory %s"), -QT_TRANSLATE_NOOP("darknet-core", "Wallet is locked."), -QT_TRANSLATE_NOOP("darknet-core", "Wallet needed to be rewritten: restart DarkNet Core to complete"), -QT_TRANSLATE_NOOP("darknet-core", "Wallet options:"), -QT_TRANSLATE_NOOP("darknet-core", "Wallet window title"), -QT_TRANSLATE_NOOP("darknet-core", "Warning"), -QT_TRANSLATE_NOOP("darknet-core", "Warning: This version is obsolete, upgrade required!"), -QT_TRANSLATE_NOOP("darknet-core", "Warning: Unsupported argument -benchmark ignored, use -debug=bench."), -QT_TRANSLATE_NOOP("darknet-core", "Warning: Unsupported argument -debugnet ignored, use -debug=net."), -QT_TRANSLATE_NOOP("darknet-core", "Will retry..."), -QT_TRANSLATE_NOOP("darknet-core", "You need to rebuild the database using -reindex to change -txindex"), -QT_TRANSLATE_NOOP("darknet-core", "Your entries added successfully."), -QT_TRANSLATE_NOOP("darknet-core", "Your transaction was accepted into the pool!"), -QT_TRANSLATE_NOOP("darknet-core", "Zapping all transactions from wallet..."), -QT_TRANSLATE_NOOP("darknet-core", "on startup"), -QT_TRANSLATE_NOOP("darknet-core", "wallet.dat corrupt, salvage failed"), -}; diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp index 77752eb2d3277..20866e4158060 100644 --- a/src/qt/editaddressdialog.cpp +++ b/src/qt/editaddressdialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -109,7 +109,7 @@ void EditAddressDialog::accept() break; case AddressTableModel::INVALID_ADDRESS: QMessageBox::warning(this, windowTitle(), - tr("The entered address \"%1\" is not a valid DarkNet address.").arg(ui->addressEdit->text()), + tr("The entered address \"%1\" is not a valid PIVX address.").arg(ui->addressEdit->text()), QMessageBox::Ok, QMessageBox::Ok); break; case AddressTableModel::DUPLICATE_ADDRESS: diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 4d7bfb5bfe2aa..3b5d37162926d 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/bip38tooldialog.ui b/src/qt/forms/bip38tooldialog.ui index e516d3728dee3..61127d91d386b 100644 --- a/src/qt/forms/bip38tooldialog.ui +++ b/src/qt/forms/bip38tooldialog.ui @@ -30,7 +30,7 @@ - Enter a Darknet Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key. + Enter a Pivx Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key. Qt::PlainText @@ -55,7 +55,7 @@ - The DarkNet address to sign the message with + The PIVX address to sign the message with @@ -68,7 +68,7 @@ - + :/icons/address-book:/icons/address-book @@ -88,7 +88,7 @@ - + :/icons/editpaste:/icons/editpaste @@ -155,7 +155,7 @@ - + :/icons/editcopy:/icons/editcopy @@ -170,13 +170,13 @@ - Sign the message to prove you own this DarkNet address + Sign the message to prove you own this PIVX address Encrypt &Key - + :/icons/edit:/icons/edit @@ -193,7 +193,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -280,7 +280,7 @@ - The DarkNet address the message was signed with + The PIVX address the message was signed with @@ -309,13 +309,13 @@ - Verify the message to ensure it was signed with the specified DarkNet address + Verify the message to ensure it was signed with the specified PIVX address Decrypt &Key - + :/icons/transaction_0:/icons/transaction_0 @@ -332,7 +332,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -433,7 +433,7 @@ - + diff --git a/src/qt/forms/helpmessagedialog.ui b/src/qt/forms/helpmessagedialog.ui index 68d490747dc38..bb84e3b982811 100644 --- a/src/qt/forms/helpmessagedialog.ui +++ b/src/qt/forms/helpmessagedialog.ui @@ -16,7 +16,7 @@ - DarkNet Core - Command-line options + PIVX Core - Command-line options @@ -28,7 +28,7 @@ - :/images/about + :/images/about @@ -87,7 +87,7 @@ - + diff --git a/src/qt/forms/intro.ui b/src/qt/forms/intro.ui index 39d53e662f4ed..5aa82c3d3a3b4 100644 --- a/src/qt/forms/intro.ui +++ b/src/qt/forms/intro.ui @@ -20,7 +20,7 @@ QLabel { font-style:italic; } - Welcome to DarkNet Core. + Welcome to PIVX Core. true @@ -46,7 +46,7 @@ - As this is the first time the program is launched, you can choose where DarkNet Core will store its data. + As this is the first time the program is launched, you can choose where PIVX Core will store its data. true @@ -56,7 +56,7 @@ - DarkNet Core will download and store a copy of the DarkNet block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. + PIVX Core will download and store a copy of the PIVX block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory. true diff --git a/src/qt/forms/multisenddialog.ui b/src/qt/forms/multisenddialog.ui index 2612ae1f9dd91..80d905ebf59fb 100644 --- a/src/qt/forms/multisenddialog.ui +++ b/src/qt/forms/multisenddialog.ui @@ -61,8 +61,8 @@ 1 - MultiSend allows you to automatically send up to 100% of your stake to a list of other PIV address after it matures. -To Add: enter percentage to give and PIV address to add to the MultiSend vector. + MultiSend allows you to automatically send up to 100% of your stake to a list of other PIVX addresses after it matures. +To Add: enter percentage to give and PIVX address to add to the MultiSend vector. To Delete: Enter address to delete and press delete. MultiSend will not be activated unless you have clicked Activate @@ -137,7 +137,7 @@ MultiSend will not be activated unless you have clicked Activate - + :/icons/address-book:/icons/address-book @@ -235,7 +235,7 @@ MultiSend will not be activated unless you have clicked Activate - + diff --git a/src/qt/forms/obfuscationconfig.ui b/src/qt/forms/obfuscationconfig.ui index 76fea0e3b2abf..88a2d1fd6b48a 100644 --- a/src/qt/forms/obfuscationconfig.ui +++ b/src/qt/forms/obfuscationconfig.ui @@ -75,7 +75,7 @@ - Use 2 separate masternodes to mix funds up to 1000 PIV + Use 2 separate masternodes to mix funds up to 10000 PIV @@ -88,7 +88,7 @@ - Use 8 separate masternodes to mix funds up to 1000 PIV + Use 8 separate masternodes to mix funds up to 10000 PIV @@ -114,7 +114,7 @@ - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV + This option is the quickest and will cost about ~0.025 PIV to anonymize 10000 PIV @@ -127,7 +127,7 @@ - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV + This option is moderately fast and will cost about 0.05 PIV to anonymize 10000 PIV @@ -153,7 +153,7 @@ - 0.1 PIV per 1000 PIV you anonymize. + 0.1 PIV per 10000 PIV you anonymize. diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui index 72f320f861313..e33162ba36553 100644 --- a/src/qt/forms/optionsdialog.ui +++ b/src/qt/forms/optionsdialog.ui @@ -30,10 +30,10 @@ - Automatically start DarkNet after logging in to the system. + Automatically start PIVX after logging in to the system. - &Start DarkNet on system login + &Start PIVX on system login @@ -177,12 +177,12 @@ - Amount of DarkNet to keep anonymized + Amount of PIVX to keep anonymized - + 100 @@ -268,7 +268,7 @@ - Automatically open the DarkNet client port on the router. This only works when your router supports UPnP and it is enabled. + Automatically open the PIVX client port on the router. This only works when your router supports UPnP and it is enabled. Map port using &UPnP @@ -288,7 +288,7 @@ - Connect to the DarkNet network through a SOCKS5 proxy. + Connect to the PIVX network through a SOCKS5 proxy. &Connect through SOCKS5 proxy (default proxy): @@ -454,7 +454,7 @@ - The user interface language can be set here. This setting will take effect after restarting DarkNet. + The user interface language can be set here. This setting will take effect after restarting PIVX. @@ -476,7 +476,7 @@ Language missing or translation incomplete? Help contributing translations here: -https://www.transifex.com/projects/p/darknet/ +https://www.transifex.com/projects/p/pivx/ true diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index 04906ff2b7f77..3e573d22a759b 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -7,7 +7,7 @@ 0 0 960 - 585 + 615 @@ -70,7 +70,7 @@ WhatsThisCursor - The displayed information may be out of date. Your wallet automatically synchronizes with the DarkNet 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 PIVX network after a connection is established, but this process has not completed yet. QLabel { color: red; } @@ -958,8 +958,8 @@ - 10 - 292 + 120 + 250 221 56 @@ -1015,8 +1015,8 @@ - 230 - 292 + 10 + 310 221 28 @@ -1038,7 +1038,7 @@ 230 - 319 + 310 221 28 @@ -1085,7 +1085,7 @@ - The displayed information may be out of date. Your wallet automatically synchronizes with the DarkNet 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 PIVX network after a connection is established, but this process has not completed yet. QLabel { color: red; } @@ -1141,6 +1141,22 @@ QFrame::Raised + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 75 + + + + @@ -1162,7 +1178,7 @@ WhatsThisCursor - The displayed information may be out of date. Your wallet automatically synchronizes with the DarkNet 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 PIVX network after a connection is established, but this process has not completed yet. QLabel { color: red; } @@ -1217,6 +1233,9 @@ Qt::Vertical + + QSizePolicy::Expanding + 20 diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui index d90a457898f93..50a4be52b1277 100644 --- a/src/qt/forms/receivecoinsdialog.ui +++ b/src/qt/forms/receivecoinsdialog.ui @@ -48,7 +48,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 DarkNet 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 PIVX network. &Message: @@ -71,7 +71,7 @@ - An optional message to attach to the payment request, which will be displayed when the request is opened.<br>Note: The message will not be sent with the payment over the DarkNet network. + An optional message to attach to the payment request, which will be displayed when the request is opened.<br>Note: The message will not be sent with the payment over the PIVX network. @@ -141,7 +141,7 @@ &Request payment - + :/icons/receiving_addresses:/icons/receiving_addresses @@ -161,7 +161,7 @@ Clear - + :/icons/remove:/icons/remove @@ -264,7 +264,7 @@ Show - + :/icons/edit:/icons/edit @@ -284,7 +284,7 @@ Remove - + :/icons/remove:/icons/remove @@ -332,7 +332,7 @@ removeRequestButton - + diff --git a/src/qt/forms/rpcconsole.ui b/src/qt/forms/rpcconsole.ui index 29bec6f661e06..39287384423d0 100644 --- a/src/qt/forms/rpcconsole.ui +++ b/src/qt/forms/rpcconsole.ui @@ -185,7 +185,7 @@ - Open the DarkNet debug log file from the current data directory. This can take a few seconds for large log files. + Open the PIVX debug log file from the current data directory. This can take a few seconds for large log files. &Open @@ -414,7 +414,7 @@ - + :/icons/remove:/icons/remove @@ -1334,7 +1334,7 @@ - + diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index 04298ea334bb2..33819957082b8 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -938,7 +938,7 @@ - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for DarkNet transactions than the network can process. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for PIVX transactions than the network can process. @@ -951,7 +951,7 @@ true - Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for DarkNet transactions than the network can process. + Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for PIVX transactions than the network can process. (read the tooltip) @@ -1312,7 +1312,7 @@ S&end - + :/icons/send:/icons/send @@ -1338,7 +1338,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -1355,7 +1355,7 @@ Add &Recipient - + :/icons/add:/icons/add @@ -1459,7 +1459,7 @@ - + diff --git a/src/qt/forms/sendcoinsentry.ui b/src/qt/forms/sendcoinsentry.ui index af9171f6c1e42..3847dd46829b0 100644 --- a/src/qt/forms/sendcoinsentry.ui +++ b/src/qt/forms/sendcoinsentry.ui @@ -51,7 +51,7 @@ - The DarkNet address to send the payment to + The PIVX address to send the payment to @@ -64,7 +64,7 @@ - + :/icons/address-book:/icons/address-book @@ -81,7 +81,7 @@ - + :/icons/editpaste:/icons/editpaste @@ -98,7 +98,7 @@ - + :/icons/remove:/icons/remove @@ -154,7 +154,7 @@ - A message that was attached to the DarkNet: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the DarkNet network. + A message that was attached to the PIVX: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the PIVX network. Qt::PlainText @@ -622,7 +622,7 @@ - + :/icons/remove:/icons/remove @@ -1158,7 +1158,7 @@ - + :/icons/remove:/icons/remove @@ -1230,7 +1230,7 @@ deleteButton_s - + diff --git a/src/qt/forms/signverifymessagedialog.ui b/src/qt/forms/signverifymessagedialog.ui index ec8ef308f6490..de3f1eab68a3a 100644 --- a/src/qt/forms/signverifymessagedialog.ui +++ b/src/qt/forms/signverifymessagedialog.ui @@ -48,7 +48,7 @@ - The DarkNet address to sign the message with + The PIVX 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 DarkNet address + Sign the message to prove you own this PIVX address Sign &Message - + :/icons/edit:/icons/edit @@ -175,7 +175,7 @@ Clear &All - + :/icons/remove:/icons/remove @@ -258,7 +258,7 @@ - The DarkNet address the message was signed with + The PIVX 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 DarkNet address + Verify the message to ensure it was signed with the specified PIVX 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/forms/tradingdialog.ui b/src/qt/forms/tradingdialog.ui index 6150f1fb936d2..6e0af2986d786 100644 --- a/src/qt/forms/tradingdialog.ui +++ b/src/qt/forms/tradingdialog.ui @@ -260,7 +260,7 @@ Buy PIV - + :/icons/bitcoin:/icons/bitcoin @@ -1569,7 +1569,7 @@ Sell PIV - + :/icons/bitcoin:/icons/bitcoin @@ -2756,10 +2756,10 @@ - Generate Darknet Deposit Address + Generate Pivx Deposit Address - + :/icons/bitcoin:/icons/bitcoin @@ -2970,7 +2970,7 @@ border: 1px solid #61696c;margin-left:4px; - + 260 @@ -3021,7 +3021,7 @@ - :/icons/transaction_1 + :/icons/transaction_1 true @@ -3068,7 +3068,7 @@ Update API Keys - + :/icons/bitcoin:/icons/bitcoin @@ -3223,7 +3223,7 @@ - + diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 8df9ed4f53096..45aa27d68ee45 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -13,7 +13,7 @@ static const int MODEL_UPDATE_DELAY = 250; /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; -/* DarknetGUI -- Size of icons in status bar */ +/* Pivx GUI -- Size of icons in status bar */ static const int STATUSBAR_ICONSIZE = 16; /* Invalid field background style */ @@ -46,9 +46,9 @@ static const int MAX_URI_LENGTH = 255; /* Number of frames in spinner animation */ #define SPINNER_FRAMES 35 -#define QAPP_ORG_NAME "DarkNet" -#define QAPP_ORG_DOMAIN "darknet-crypto.com" -#define QAPP_APP_NAME_DEFAULT "DarkNet-Qt" -#define QAPP_APP_NAME_TESTNET "DarkNet-Qt-testnet" +#define QAPP_ORG_NAME "PIVX" +#define QAPP_ORG_DOMAIN "pivx.org" +#define QAPP_APP_NAME_DEFAULT "PIVX-Qt" +#define QAPP_APP_NAME_TESTNET "PIVX-Qt-testnet" #endif // BITCOIN_QT_GUICONSTANTS_H diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 498311be30cab..6c8351fffe206 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -108,7 +108,7 @@ 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 DarkNet address (e.g. %1)").arg("D7VFR83SQbiezrW72hjcWJtcfip5krte2Z")); + widget->setPlaceholderText(QObject::tr("Enter a PIVX address (e.g. %1)").arg("D7VFR83SQbiezrW72hjcWJtcfip5krte2Z")); #endif widget->setValidator(new BitcoinAddressEntryValidator(parent)); widget->setCheckValidator(new BitcoinAddressCheckValidator(parent)); @@ -125,8 +125,8 @@ void setupAmountWidget(QLineEdit *widget, QWidget *parent) bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out) { - // return if URI is not valid or is no DarkNet: URI - if(!uri.isValid() || uri.scheme() != QString("darknet")) + // return if URI is not valid or is no PIVX: URI + if(!uri.isValid() || uri.scheme() != QString("pivx")) return false; SendCoinsRecipient rv; @@ -186,13 +186,13 @@ bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out) bool parseBitcoinURI(QString uri, SendCoinsRecipient *out) { - // Convert darknet:// to darknet: + // Convert pivx:// to pivx: // - // Cannot handle this later, because darknet:// will cause Qt to see the part after // as host, + // Cannot handle this later, because pivx:// will cause Qt to see the part after // as host, // which will lower-case it (and thus invalidate the address). - if(uri.startsWith("darknet://", Qt::CaseInsensitive)) + if(uri.startsWith("pivx://", Qt::CaseInsensitive)) { - uri.replace(0, 12, "darknet:"); + uri.replace(0, 12, "pivx:"); } QUrl uriInstance(uri); return parseBitcoinURI(uriInstance, out); @@ -200,7 +200,7 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out) QString formatBitcoinURI(const SendCoinsRecipient &info) { - QString ret = QString("darknet:%1").arg(info.address); + QString ret = QString("pivx:%1").arg(info.address); int paramCount = 0; if (info.amount) @@ -393,7 +393,7 @@ void openConfigfile() { boost::filesystem::path pathConfig = GetConfigFile(); - /* Open darknet.conf with the associated application */ + /* Open pivx.conf with the associated application */ if (boost::filesystem::exists(pathConfig)) QDesktopServices::openUrl(QUrl::fromLocalFile(boostPathToQString(pathConfig))); } @@ -591,12 +591,12 @@ TableViewLastColumnResizingFixer::TableViewLastColumnResizingFixer(QTableView* t #ifdef WIN32 boost::filesystem::path static StartupShortcutPath() { - return GetSpecialFolderPath(CSIDL_STARTUP) / "DarkNet.lnk"; + return GetSpecialFolderPath(CSIDL_STARTUP) / "PIVX.lnk"; } bool GetStartOnSystemStartup() { - // check for DarkNet.lnk + // check for PIVX.lnk return boost::filesystem::exists(StartupShortcutPath()); } @@ -673,7 +673,7 @@ boost::filesystem::path static GetAutostartDir() boost::filesystem::path static GetAutostartFilePath() { - return GetAutostartDir() / "darknet.desktop"; + return GetAutostartDir() / "pivx.desktop"; } bool GetStartOnSystemStartup() @@ -711,10 +711,10 @@ bool SetStartOnSystemStartup(bool fAutoStart) boost::filesystem::ofstream optionFile(GetAutostartFilePath(), std::ios_base::out|std::ios_base::trunc); if (!optionFile.good()) return false; - // Write a darknet.desktop file to the autostart directory: + // Write a pivx.desktop file to the autostart directory: optionFile << "[Desktop Entry]\n"; optionFile << "Type=Application\n"; - optionFile << "Name=DarkNet\n"; + optionFile << "Name=PIVX\n"; optionFile << "Exec=" << pszExePath << " -min\n"; optionFile << "Terminal=false\n"; optionFile << "Hidden=false\n"; @@ -733,7 +733,7 @@ bool SetStartOnSystemStartup(bool fAutoStart) LSSharedFileListItemRef findStartupItemInList(LSSharedFileListRef list, CFURLRef findUrl); LSSharedFileListItemRef findStartupItemInList(LSSharedFileListRef list, CFURLRef findUrl) { - // loop through the list of startup items and try to find the darknet app + // loop through the list of startup items and try to find the pivx app CFArrayRef listSnapshot = LSSharedFileListCopySnapshot(list, NULL); for(int i = 0; i < CFArrayGetCount(listSnapshot); i++) { LSSharedFileListItemRef item = (LSSharedFileListItemRef)CFArrayGetValueAtIndex(listSnapshot, i); @@ -767,7 +767,7 @@ bool SetStartOnSystemStartup(bool fAutoStart) LSSharedFileListItemRef foundItem = findStartupItemInList(loginItems, bitcoinAppUrl); if(fAutoStart && !foundItem) { - // add darknet app to startup item list + // add pivx app to startup item list LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemBeforeFirst, NULL, NULL, bitcoinAppUrl, NULL, NULL); } else if(!fAutoStart && foundItem) { @@ -808,7 +808,7 @@ void restoreWindowGeometry(const QString& strSetting, const QSize& defaultSize, // Check whether a theme is not build-in bool isExternal(QString theme){ - return (theme.operator !=("drk")) && (theme.operator !=("drk-1")) && (theme.operator !=("drkblue")) && (theme.operator !=("trad")); + return (theme.operator !=("default")); } // Open CSS when configured @@ -832,8 +832,8 @@ QString loadStyleSheet() cssName = QString(":/css/") + theme; } else { - cssName = QString(":/css/drk-1"); - settings.setValue("theme", "drk-1"); + cssName = QString(":/css/default"); + settings.setValue("theme", "default"); } } diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 05b299d6deee8..0bfc16611a1bd 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -29,7 +29,7 @@ class QUrl; class QWidget; QT_END_NAMESPACE -/** Utility functions used by the DarkNet Qt UI. +/** Utility functions used by the PIVX Qt UI. */ namespace GUIUtil { @@ -37,14 +37,14 @@ namespace GUIUtil QString dateTimeStr(const QDateTime &datetime); QString dateTimeStr(qint64 nTime); - // Render DarkNet addresses in monospace font + // Render PIVX addresses in monospace font QFont bitcoinAddressFont(); // Set up widgets for address and amounts void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent); void setupAmountWidget(QLineEdit *widget, QWidget *parent); - // Parse "darknet:" URI into recipient object, return true on successful parsing + // Parse "pivx:" 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); @@ -106,7 +106,7 @@ namespace GUIUtil // Open debug.log void openDebugLogfile(); - // Open darknet.conf + // Open pivx.conf void openConfigfile(); // Browse backup folder diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp index 7533945a672b9..498ad173f2086 100644 --- a/src/qt/intro.cpp +++ b/src/qt/intro.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -183,7 +183,7 @@ void Intro::pickDataDirectory() TryCreateDirectory(GUIUtil::qstringToBoostPath(dataDir)); break; } catch(fs::filesystem_error &e) { - QMessageBox::critical(0, tr("DarkNet Core"), + QMessageBox::critical(0, tr("PIVX Core"), tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir)); /* fall through, back to choosing screen */ } @@ -192,8 +192,8 @@ void Intro::pickDataDirectory() settings.setValue("strDataDir", dataDir); } /* Only override -datadir if different from the default, to make it possible to - * override -datadir in the darknet.conf file in the default data directory - * (to be consistent with darknetd behavior) + * override -datadir in the pivx.conf file in the default data directory + * (to be consistent with pivxd behavior) */ if(dataDir != getDefaultDataDirectory()) SoftSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); // use OS locale for path setting diff --git a/src/qt/locale/darknet_bg.ts b/src/qt/locale/pivx_bg.ts similarity index 99% rename from src/qt/locale/darknet_bg.ts rename to src/qt/locale/pivx_bg.ts index f62c980b92032..95692ed666a43 100644 --- a/src/qt/locale/darknet_bg.ts +++ b/src/qt/locale/pivx_bg.ts @@ -176,8 +176,8 @@ Потвърдете на шифрирането на портфейла - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Внимание: Ако шифрирате вашия портфейл и загубите паролата си, <b>ЩЕ ЗАГУБИТЕ ВСИЧКИ PIV МОНЕТИ!</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Внимание: Ако шифрирате вашия портфейл и загубите паролата си, <b>ЩЕ ЗАГУБИТЕ ВСИЧКИ DNET МОНЕТИ!</b>! Are you sure you wish to encrypt your wallet? @@ -864,28 +864,28 @@ Address: %4 Моля изберете ниво на сигурност. - Use 2 separate masternodes to mix funds up to 1000 PIV - Използване на 2 различни masternodes за смесване на средства до 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Използване на 2 различни masternodes за смесване на средства до 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Използване на 8 различни masternodes за смесване на средства до 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Използване на 8 различни masternodes за смесване на средства до 1000 DNET Use 16 separate masternodes - Използване на 16 различни masternodes за смесване на средства до 1000 PIV + Използване на 16 различни masternodes за смесване на средства до 1000 DNET - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Това е най-бързият вариант, анонимизиране на 1000 PIV ще ви струва около 0.025 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Това е най-бързият вариант, анонимизиране на 1000 DNET ще ви струва около 0.025 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Това е средно бърз вариант, анонимизиране на 1000 PIV ще ви струва около 0.05 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Това е средно бърз вариант, анонимизиране на 1000 DNET ще ви струва около 0.05 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV за всеки 1000 PIV които анонимизирате. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET за всеки 1000 DNET които анонимизирате. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1431,8 +1431,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Количество и цикли: - 0 PIV / 0 Rounds - 0 PIV / 0 Цикъла + 0 DNET / 0 Rounds + 0 DNET / 0 Цикъла Submitted Denom: @@ -3276,8 +3276,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Изпращане - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX не поддържа изпращане на толкова големи суми. Транзакциите са ограничени до %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX не поддържа изпращане на толкова големи суми. Транзакциите са ограничени до %1 DNET. @@ -3390,8 +3390,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Не са намерени достатъчно Obfuscate деноминирани средства за тази транзакция. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Не са намерени достатъчно Obfuscate неденоминирани средства за тази транзакция, които не са равни на 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Не са намерени достатъчно Obfuscate неденоминирани средства за тази транзакция, които не са равни на 1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3634,12 +3634,12 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Грешка: Открит е неподдържан аргумент -socks .настройка SOCKS версия вече не е възможна, само SOCKS5 прокси се поддържа. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Такси (в PIV/Kb) по-малки от това се считат за нулева такса за прилагане (по подразбиране: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Такси (в DNET/Kb) по-малки от това се считат за нулева такса за прилагане (по подразбиране: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Такси (в PIV/Kb) по-малки от това се считат за нулева такса при създаване на транзакция (по подразбиране: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Такси (в DNET/Kb) по-малки от това се считат за нулева такса при създаване на транзакция (по подразбиране: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3725,8 +3725,8 @@ for example: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo.com - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Не са намерени достатъчно средства за тази транзакция, които не са равни на 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Не са намерени достатъчно средства за тази транзакция, които не са равни на 1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3839,8 +3839,8 @@ for example: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo.com Грешка:Открит е неподдържан аргумент -tor, моля използвай -onion. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Такси (в PIV/Kb) добавена към направената транзакция(по подразбиране: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Такси (в DNET/Kb) добавена към направената транзакция(по подразбиране: %s) Finalizing transaction. @@ -4207,7 +4207,7 @@ for example: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo.com KeePassHttp ключ за AES криптирана връзка с KeePass - Keep N PIV anonymized (default: %u) + Keep N DNET anonymized (default: %u) Поддържай N DarkNet анонимизирани (по подразбиране: %u) diff --git a/src/qt/locale/darknet_de.ts b/src/qt/locale/pivx_de.ts similarity index 99% rename from src/qt/locale/darknet_de.ts rename to src/qt/locale/pivx_de.ts index 7abba1f4a63b0..e68fa06752a77 100644 --- a/src/qt/locale/darknet_de.ts +++ b/src/qt/locale/pivx_de.ts @@ -176,7 +176,7 @@ Wallet-Verschlüsselung bestätigen - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! Warnung: Wenn Sie ihre Wallet verschlüsseln und ihre Passphrase verlieren werden Sie <b>alle ihre DarkNet verlieren</b>! @@ -863,28 +863,28 @@ Adresse: %4 Bitten wählen Sie eine Datenschutz-Stufe. - Use 2 separate masternodes to mix funds up to 1000 PIV - Benutze 2 separate Masternodes um bis zu 1000 PIV zu mixen + Use 2 separate masternodes to mix funds up to 1000 DNET + Benutze 2 separate Masternodes um bis zu 1000 DNET zu mixen - Use 8 separate masternodes to mix funds up to 1000 PIV - Benutze 8 separate Masternodes um bis zu 1000 PIV zu mixen + Use 8 separate masternodes to mix funds up to 1000 DNET + Benutze 8 separate Masternodes um bis zu 1000 DNET zu mixen Use 16 separate masternodes Benutze 16 separate Masternodes - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Diese Option ist am Schnellsten und kostet ungefähr 0,025 PIV, um 1000 PIV zu anonymisieren + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Diese Option ist am Schnellsten und kostet ungefähr 0,025 DNET, um 1000 DNET zu anonymisieren - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Diese Option ist einigermaßen schnell und kostet ungefähr 0,05 PIV, um 1000 PIV zu anonymisieren + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Diese Option ist einigermaßen schnell und kostet ungefähr 0,05 DNET, um 1000 DNET zu anonymisieren - 0.1 PIV per 1000 PIV you anonymize. - 0,1 PIV pro 1000 zu anonymisierende DarkNet. + 0.1 DNET per 1000 DNET you anonymize. + 0,1 DNET pro 1000 zu anonymisierende DarkNet. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1430,8 +1430,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Betrag und Runden: - 0 PIV / 0 Rounds - 0 PIV / 0 Runden + 0 DNET / 0 Rounds + 0 DNET / 0 Runden Submitted Denom: @@ -3276,8 +3276,8 @@ Dies kann passieren, wenn einige DarkNet aus ihrer Wallet bereits ausgegeben wur DarkNet überweisen - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX unterstützt das Versenden von Beträgen dieser Höhe noch nicht. Transaktionen sind zur Zeit auf maximal %1 PIV begrenzt. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX unterstützt das Versenden von Beträgen dieser Höhe noch nicht. Transaktionen sind zur Zeit auf maximal %1 DNET begrenzt. @@ -3390,8 +3390,8 @@ Dies kann passieren, wenn einige DarkNet aus ihrer Wallet bereits ausgegeben wur Für diese Transaktion konnten nicht genug mit Obfuscate gestückelte Beträge gefunden werden. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Für diese Transaktion konnten nicht genug nicht mit Obfuscate gestückelte Beträge gefunden werden, die ungleich 1000 PIV sind. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Für diese Transaktion konnten nicht genug nicht mit Obfuscate gestückelte Beträge gefunden werden, die ungleich 1000 DNET sind. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3634,12 +3634,12 @@ Dies kann passieren, wenn einige DarkNet aus ihrer Wallet bereits ausgegeben wur Fehler: Parameter -socks wird nicht mehr unterstützt. Setzen der SOCKS-Version ist nicht mehr möglich, es werden nur noch SOCKS5 Proxies unterstützt. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Niedrigere Gebühren (in PIV pro Kb) als diese werden bei der Vermittlung als gebührenfrei angesehen (Standard: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Niedrigere Gebühren (in DNET pro Kb) als diese werden bei der Vermittlung als gebührenfrei angesehen (Standard: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Niedrigere Gebühren (in PIV pro Kb) als diese werden bei der Transaktionserzeugung als gebührenfrei angesehen (Standard: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Niedrigere Gebühren (in DNET pro Kb) als diese werden bei der Transaktionserzeugung als gebührenfrei angesehen (Standard: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3733,8 +3733,8 @@ Es wird ebenfalls empfohlen alertnotify anzugeben, um im Problemfall benachricht zum Beispiel: alertnotify=echo %%s | mail -s \"DarkNet Alert\" admin@foo.com - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Für diese Transaktion konnten nicht genug Beträge gefunden werden, die ungleich 1000 PIV sind. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Für diese Transaktion konnten nicht genug Beträge gefunden werden, die ungleich 1000 DNET sind. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3847,8 +3847,8 @@ zum Beispiel: alertnotify=echo %%s | mail -s \"DarkNet Alert\" admin@foo.comFehler: Paramter -tor wird nicht unterstützt, bitte -onion benutzen. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Gebühren (in PIV pro Kb), die gesendeten Transaktionen hinzugefügt werden (Standard: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Gebühren (in DNET pro Kb), die gesendeten Transaktionen hinzugefügt werden (Standard: %s) Finalizing transaction. @@ -4216,7 +4216,7 @@ DarkNet Core wird heruntergefahren. "KeePassHttp key" für die AES-verschlüsselte Kommunikation mit "KeePass" - Keep N PIV anonymized (default: %u) + Keep N DNET anonymized (default: %u) Betrag welcher anonymisiert vorgehalten wird. (Voreinstellung: %u) diff --git a/src/qt/locale/darknet_en.ts b/src/qt/locale/pivx_en.ts similarity index 99% rename from src/qt/locale/darknet_en.ts rename to src/qt/locale/pivx_en.ts index f2a4d4a9134a2..36bb8bec5b66a 100644 --- a/src/qt/locale/darknet_en.ts +++ b/src/qt/locale/pivx_en.ts @@ -219,8 +219,8 @@ - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! @@ -1090,13 +1090,13 @@ Address: %4 - Use 2 separate masternodes to mix funds up to 1000 PIV - Use 2 separate masternodes to mix funds up to 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Use 2 separate masternodes to mix funds up to 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Use 8 separate masternodes to mix funds up to 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Use 8 separate masternodes to mix funds up to 1000 DNET @@ -1105,18 +1105,18 @@ Address: %4 - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV per 1000 PIV you anonymize. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET per 1000 DNET you anonymize. @@ -1800,8 +1800,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/ - 0 PIV / 0 Rounds - 0 PIV / 0 Rounds + 0 DNET / 0 Rounds + 0 DNET / 0 Rounds @@ -4189,8 +4189,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/ - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. @@ -4330,8 +4330,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/ - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. @@ -4635,13 +4635,13 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/ - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) @@ -4755,8 +4755,8 @@ for example: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo. - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Unable to locate enough funds for this transaction that are not equal 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. @@ -4897,8 +4897,8 @@ for example: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Fee (in PIV/kB) to add to transactions you send (default: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) @@ -5357,8 +5357,8 @@ for example: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo. - Keep N PIV anonymized (default: %u) - Keep N PIV anonymized (default: %u) + Keep N DNET anonymized (default: %u) + Keep N DNET anonymized (default: %u) diff --git a/src/qt/locale/darknet_es.ts b/src/qt/locale/pivx_es.ts similarity index 99% rename from src/qt/locale/darknet_es.ts rename to src/qt/locale/pivx_es.ts index c6880c929d02b..030a2e45b87f5 100644 --- a/src/qt/locale/darknet_es.ts +++ b/src/qt/locale/pivx_es.ts @@ -176,8 +176,8 @@ Confirmar cifrado del monedero - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Advertencia: Si cifra la cartera y pierde su contraseña, ¡<b>PERDERÁ TODOS SUS PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Advertencia: Si cifra la cartera y pierde su contraseña, ¡<b>PERDERÁ TODOS SUS DNET</b>! Are you sure you wish to encrypt your wallet? @@ -864,28 +864,28 @@ Dirección: %4 Por favor, seleccione el nivel de privacidad. - Use 2 separate masternodes to mix funds up to 1000 PIV - Usar 2 nodos maestros distintos para mezclar fondos hasta 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Usar 2 nodos maestros distintos para mezclar fondos hasta 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Usar 8 nodos maestros diferentes para mezclar fondos hasta 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Usar 8 nodos maestros diferentes para mezclar fondos hasta 1000 DNET Use 16 separate masternodes Usar 16 nodos maestros diferentes - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Esta es la opción más rápida y anonimizar 1000 PIV costará alrededor de 0.025 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Esta es la opción más rápida y anonimizar 1000 DNET costará alrededor de 0.025 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Esta opción es moderadamente rápida y anonimizar 1000 PIV costará alrededor de 0.05 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Esta opción es moderadamente rápida y anonimizar 1000 DNET costará alrededor de 0.05 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV por cada 1000 PIV que anonimice. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET por cada 1000 DNET que anonimice. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1431,8 +1431,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Cuantía y Rondas: - 0 PIV / 0 Rounds - 0 PIV / 0 Rondas + 0 DNET / 0 Rounds + 0 DNET / 0 Rondas Submitted Denom: @@ -3276,8 +3276,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Enviar DarkNet - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX aún no soporta el envío de valores tan elevados. Las transacciones están limitadas actualmente a %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX aún no soporta el envío de valores tan elevados. Las transacciones están limitadas actualmente a %1 DNET. @@ -3390,8 +3390,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/No se pueden localizar fondos denominados de Obfuscate suficientes para esta transacción. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - No se pueden localizar fondos no denominados de Obfuscate suficientes para esta transacción que no sean iguales a 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + No se pueden localizar fondos no denominados de Obfuscate suficientes para esta transacción que no sean iguales a 1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3635,12 +3635,12 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Error: Se encontró el argumento no permitido -socks. Ajustar la versión de SOCKS ya no es posible, sólo se admiten proxies SOCKS5 - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Las comisiones (en PIV/Kb) menores a ésta se consideran como cero a efectos de transmisión (predeterminado: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Las comisiones (en DNET/Kb) menores a ésta se consideran como cero a efectos de transmisión (predeterminado: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Las comisiones (en PIV/Kb) menores a ésta se consideran como cero a efectos de creación de transacciones (predeterminado: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Las comisiones (en DNET/Kb) menores a ésta se consideran como cero a efectos de creación de transacciones (predeterminado: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3735,8 +3735,8 @@ por ejemplo: alertnotify=echo %%s | mail -s "Alerta de DarkNet" admin@foo.com - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - No se pueden localizar fondos suficientes para esta transacción que no sean iguales a 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + No se pueden localizar fondos suficientes para esta transacción que no sean iguales a 1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3849,8 +3849,8 @@ por ejemplo: alertnotify=echo %%s | mail -s "Alerta de DarkNet" admin@foo.com Error: Se encontró el argumento no soportado -tor, use -onion. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Comisión (en PIV/kB) a añadir sobre las transacciones que envíe (predeterminado: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Comisión (en DNET/kB) a añadir sobre las transacciones que envíe (predeterminado: %s) Finalizing transaction. @@ -4217,8 +4217,8 @@ por ejemplo: alertnotify=echo %%s | mail -s "Alerta de DarkNet" admin@foo.com Clave KeePassHttp para la comunicación cifrada AES con KeePass - Keep N PIV anonymized (default: %u) - Conservar N PIV anónimos (predeterminado: %u) + Keep N DNET anonymized (default: %u) + Conservar N DNET anónimos (predeterminado: %u) Keep at most <n> unconnectable transactions in memory (default: %u) diff --git a/src/qt/locale/darknet_fi.ts b/src/qt/locale/pivx_fi.ts similarity index 99% rename from src/qt/locale/darknet_fi.ts rename to src/qt/locale/pivx_fi.ts index b88a717fe3fb9..c09e56925255c 100644 --- a/src/qt/locale/darknet_fi.ts +++ b/src/qt/locale/pivx_fi.ts @@ -176,8 +176,8 @@ Vahvista lompakon salaus - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Varoitus: Jos salaat lompakon ja unohdat salasanan, <b>MENETÄT KAIKKI PIVisi</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Varoitus: Jos salaat lompakon ja unohdat salasanan, <b>MENETÄT KAIKKI DNETisi</b>! Are you sure you wish to encrypt your wallet? @@ -864,11 +864,11 @@ Osoite: %4 Valitse yksityisyyden taso. - Use 2 separate masternodes to mix funds up to 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET Käytä 2 erillistä masternodea sekoittaaksesi varoja - Use 8 separate masternodes to mix funds up to 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET Käytä 8 erillistä masternodea sekoittaaksesi varoja @@ -876,16 +876,16 @@ Osoite: %4 Käytä 16 erillistä masternodea - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Tämä vaihtoehto on nopein ja maksaa noin ~0.025 PIV kun anonymisoidaan 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Tämä vaihtoehto on nopein ja maksaa noin ~0.025 DNET kun anonymisoidaan 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Tämä vaihtoehto on keskinopea ja maksaa noin ~0.05 PIV kun anonymisoidaan 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Tämä vaihtoehto on keskinopea ja maksaa noin ~0.05 DNET kun anonymisoidaan 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV maksu per 1000 PIV jonka anonymisoit. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET maksu per 1000 DNET jonka anonymisoit. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1432,8 +1432,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Määrä ja Kierrokset: - 0 PIV / 0 Rounds - 0 PIV / 0 Kierrosta + 0 DNET / 0 Rounds + 0 DNET / 0 Kierrosta Submitted Denom: @@ -3281,8 +3281,8 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Lähetä DarkNeteja - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX ei tue näin korkeaa lähetysmäärää vielä. Siirtotapahtumat on tällä hetkellä rajoitettu %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX ei tue näin korkeaa lähetysmäärää vielä. Siirtotapahtumat on tällä hetkellä rajoitettu %1 DNET. @@ -3395,8 +3395,8 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Ei tarpeeksi Obfuscate anonymisoituja varoja tälle siirtotapahtumalle. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Ei tarpeeksi Obfuscate ei-anonymisoituja varoja tälle siirtotapahtumalle, joka ei ole 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Ei tarpeeksi Obfuscate ei-anonymisoituja varoja tälle siirtotapahtumalle, joka ei ole 1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3639,12 +3639,12 @@ Näillä toiminnoilla voit korjata korruptoituneen lohkoketjun tai puuttuvat/van Virhe: Ei tuettu argumentti -socks. SOCKS version asettaminen ei ole enää mahdollista, vain SOCKS5 proxyt ovat tuettuja. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Siirtomaksut (PIV/Kb) jotka ovat pienempiä kuin tämä, tulkitaan nollamaksuksi välityksessä (oletus: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Siirtomaksut (DNET/Kb) jotka ovat pienempiä kuin tämä, tulkitaan nollamaksuksi välityksessä (oletus: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Siirtomaksut (PIV/Kb) jotka ovat pienempiä kuin tämä, tulkitaan nollamaksuksi siirtotapahtuman luonnissa (oletus: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Siirtomaksut (DNET/Kb) jotka ovat pienempiä kuin tämä, tulkitaan nollamaksuksi siirtotapahtuman luonnissa (oletus: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3741,8 +3741,8 @@ esimerkiksi: alertnotify=echo %%s | mail -s "DarkNet Hälytys" admin@foo.com - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Ei tarpeeksi varoja tälle siirtotapahtumalle, joka ei ole 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Ei tarpeeksi varoja tälle siirtotapahtumalle, joka ei ole 1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3855,8 +3855,8 @@ esimerkiksi: alertnotify=echo %%s | mail -s "DarkNet Hälytys" admin@foo.com Virhe: Ei tuettu argumentti -tor löytyi, käytä -onion. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Lisättävä siirtomaksu (PIV/Kb) siirtotapahtumaan jonka lähetät (oletus: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Lisättävä siirtomaksu (DNET/Kb) siirtotapahtumaan jonka lähetät (oletus: %s) Finalizing transaction. @@ -4223,8 +4223,8 @@ esimerkiksi: alertnotify=echo %%s | mail -s "DarkNet Hälytys" admin@foo.com KeePassHttp avain AES salattuun viestintään - Keep N PIV anonymized (default: %u) - Pidä N PIV anonymisoituna (oletus: %u) + Keep N DNET anonymized (default: %u) + Pidä N DNET anonymisoituna (oletus: %u) Keep at most <n> unconnectable transactions in memory (default: %u) diff --git a/src/qt/locale/darknet_fr.ts b/src/qt/locale/pivx_fr.ts similarity index 99% rename from src/qt/locale/darknet_fr.ts rename to src/qt/locale/pivx_fr.ts index 4383914667b88..4b2dcb806cac0 100644 --- a/src/qt/locale/darknet_fr.ts +++ b/src/qt/locale/pivx_fr.ts @@ -176,8 +176,8 @@ Confirmer le chiffrement du portefeuille - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Attention : Si vous chiffrez votre portefeuille et perdez votre phrase de passe, vous <b>PERDREZ TOUS VOS PIV</b> ! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Attention : Si vous chiffrez votre portefeuille et perdez votre phrase de passe, vous <b>PERDREZ TOUS VOS DNET</b> ! Are you sure you wish to encrypt your wallet? @@ -864,28 +864,28 @@ Adresse : %4 Veuillez choisir un niveau de confidentialité. - Use 2 separate masternodes to mix funds up to 1000 PIV - Utiliser 2 masternodes pour mélanger jusqu'à 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Utiliser 2 masternodes pour mélanger jusqu'à 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Utiliser 8 masternodes pour mélanger jusqu'à 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Utiliser 8 masternodes pour mélanger jusqu'à 1000 DNET Use 16 separate masternodes Utiliser 16 masternodes - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Cette option est la plus rapide et coûtera environ 0,025 PIV pour anonymiser 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Cette option est la plus rapide et coûtera environ 0,025 DNET pour anonymiser 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Cette option est un peu moins rapide et coûtera environ 0,05 PIV pour anonymiser 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Cette option est un peu moins rapide et coûtera environ 0,05 DNET pour anonymiser 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0,1 PIV par 1000 PIV anonymisés. + 0.1 DNET per 1000 DNET you anonymize. + 0,1 DNET par 1000 DNET anonymisés. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1431,8 +1431,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Montant et Cycles - 0 PIV / 0 Rounds - 0 PIV / 0 Cycles + 0 DNET / 0 Rounds + 0 DNET / 0 Cycles Submitted Denom: @@ -3276,8 +3276,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Envoyer des pièces - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX ne supporte pas des transferts aussi élevés. Les transactions sont pour le moment limitées à %11 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX ne supporte pas des transferts aussi élevés. Les transactions sont pour le moment limitées à %11 DNET. @@ -3390,8 +3390,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Impossible de localiser suffisamment de fonds Obfuscate dénominés pour cette transaction. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Impossible de localiser suffisamment de fonds non-dénominés Obfuscate pour cette transaction qui ne sont pas égaux à 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Impossible de localiser suffisamment de fonds non-dénominés Obfuscate pour cette transaction qui ne sont pas égaux à 1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3634,12 +3634,12 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Erreur: Paramètre obsolète -socks. Il n'est plus possible d'indiquer la version SOCKS, seul les proxy SOCKS5 sont supportés. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Les frais (en PIV/ko) inférieurs à ce seuil sont considérés comme nuls pour le relayage (par défaut : %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Les frais (en DNET/ko) inférieurs à ce seuil sont considérés comme nuls pour le relayage (par défaut : %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Les frais (en PIV/ko) inférieurs à ce seuil sont considérés comme nuls pour la création de transactions (par défaut : %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Les frais (en DNET/ko) inférieurs à ce seuil sont considérés comme nuls pour la création de transactions (par défaut : %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3734,8 +3734,8 @@ Pour exemple: alertnotify=echo %%s | mail -s "Alerte DarkNet" admin@foo.com - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Impossible de localiser suffisamment de fonds pour cette transaction qui ne sont pas égaux à 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Impossible de localiser suffisamment de fonds pour cette transaction qui ne sont pas égaux à 1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3848,8 +3848,8 @@ Pour exemple: alertnotify=echo %%s | mail -s "Alerte DarkNet" admin@foo.com Erreur: Paramètre -tor non supporté, utilisez -onion. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Frais (en PIV/ko) à ajouter aux transactions que vous envoyez (par défaut: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Frais (en DNET/ko) à ajouter aux transactions que vous envoyez (par défaut: %s) Finalizing transaction. @@ -4216,7 +4216,7 @@ Pour exemple: alertnotify=echo %%s | mail -s "Alerte DarkNet" admin@foo.com Clé KeePassHttp pour la communication chiffrée AES avec KeePass - Keep N PIV anonymized (default: %u) + Keep N DNET anonymized (default: %u) Maintenir N darknet anonymisé en permanence (défaut: %u) diff --git a/src/qt/locale/darknet_it.ts b/src/qt/locale/pivx_it.ts similarity index 99% rename from src/qt/locale/darknet_it.ts rename to src/qt/locale/pivx_it.ts index 2ff9c8a99ccad..ee0f3a4f396e4 100644 --- a/src/qt/locale/darknet_it.ts +++ b/src/qt/locale/pivx_it.ts @@ -176,8 +176,8 @@ Conferma la cifratura del portafoglio - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Attenzione: se crittografi il tuo portafoglio e perdi la tua parola d'ordine, <b>PERDERAI TUTTI I TUOI PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Attenzione: se crittografi il tuo portafoglio e perdi la tua parola d'ordine, <b>PERDERAI TUTTI I TUOI DNET</b>! Are you sure you wish to encrypt your wallet? @@ -833,28 +833,28 @@ Indirizzo: %4 Selezionare il livello di privacy - Use 2 separate masternodes to mix funds up to 1000 PIV - Usa 2 separati masternode per mischiare fino al 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Usa 2 separati masternode per mischiare fino al 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Usa 8 separati masternode per mischiare fino al 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Usa 8 separati masternode per mischiare fino al 1000 DNET Use 16 separate masternodes Usa 16 separati masternode - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Questa opzione è la più veloce e ti costerà ~0.025PIV circa per anonimizzare 1000PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Questa opzione è la più veloce e ti costerà ~0.025DNET circa per anonimizzare 1000DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Questa opzione è moderatamente veloce e costerà 0.05PIV circa per anonimizzare 1000PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Questa opzione è moderatamente veloce e costerà 0.05DNET circa per anonimizzare 1000DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1PIV ogni 1000PIV anonimizzati. + 0.1 DNET per 1000 DNET you anonymize. + 0.1DNET ogni 1000DNET anonimizzati. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1385,8 +1385,8 @@ Più URL vengono separati da una barra verticale |. Ammontare e Round: - 0 PIV / 0 Rounds - 0 PIV / 0 Round + 0 DNET / 0 Rounds + 0 DNET / 0 Round Submitted Denom: @@ -3118,8 +3118,8 @@ Più URL vengono separati da una barra verticale |. Invia darknet - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX non supporta ancora l'invio di somme così alte. Le transazioni sono attualmente limitate al %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX non supporta ancora l'invio di somme così alte. Le transazioni sono attualmente limitate al %1 DNET. @@ -3228,8 +3228,8 @@ Più URL vengono separati da una barra verticale |. Impossibile trovare fondi sufficienti Obfuscate denominati per questa transazione. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Impossibile trovare un numero sufficiente di non denominati fondi Obfuscate per questa operazione che non sono uguali a 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Impossibile trovare un numero sufficiente di non denominati fondi Obfuscate per questa operazione che non sono uguali a 1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3440,12 +3440,12 @@ Più URL vengono separati da una barra verticale |. Abilita utilizzo di obfuscate automatizzato per i fondi conservati in questo portafoglio (0-1, predefinito: %u) - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Le commissioni (in PIV/Kb) inferiori a questo valore saranno considerate nulle per la trasmissione (prefedinito:%s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Le commissioni (in DNET/Kb) inferiori a questo valore saranno considerate nulle per la trasmissione (prefedinito:%s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Le commissioni (in PIV/Kb) inferiori a questo valore saranno considerate nulle per la creazione della transazione (prefedinito:%s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Le commissioni (in DNET/Kb) inferiori a questo valore saranno considerate nulle per la creazione della transazione (prefedinito:%s) Found unconfirmed denominated outputs, will wait till they confirm to continue. diff --git a/src/qt/locale/darknet_ja.ts b/src/qt/locale/pivx_ja.ts similarity index 100% rename from src/qt/locale/darknet_ja.ts rename to src/qt/locale/pivx_ja.ts diff --git a/src/qt/locale/darknet_pl.ts b/src/qt/locale/pivx_pl.ts similarity index 99% rename from src/qt/locale/darknet_pl.ts rename to src/qt/locale/pivx_pl.ts index 3c2ba0b40690f..5096fa9e9e82e 100644 --- a/src/qt/locale/darknet_pl.ts +++ b/src/qt/locale/pivx_pl.ts @@ -176,8 +176,8 @@ Potwierdź szyfrowanie portfela - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Ostrzeżenie: Jeśli zaszyfrujesz swój portfel i zgubisz swoje hasło, <b>STRACISZ WSZYSTKIE MONETY PIV</b> + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Ostrzeżenie: Jeśli zaszyfrujesz swój portfel i zgubisz swoje hasło, <b>STRACISZ WSZYSTKIE MONETY DNET</b> Are you sure you wish to encrypt your wallet? @@ -864,28 +864,28 @@ Adres: %4 Proszę wybrać poziom bezpieczeństwa. - Use 2 separate masternodes to mix funds up to 1000 PIV - Użyj 2 oddzielnych masternodów aby wymieszać środki max. do 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Użyj 2 oddzielnych masternodów aby wymieszać środki max. do 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Użyj 8 oddzielnych masternodów aby wymieszać środki max. do 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Użyj 8 oddzielnych masternodów aby wymieszać środki max. do 1000 DNET Use 16 separate masternodes Użyj 16 oddzielnych masternodów - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Ta opcja jest najszybsza i kosztuje około 0.025 PIV za zanonimizowanie 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Ta opcja jest najszybsza i kosztuje około 0.025 DNET za zanonimizowanie 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Ta opcja jest w miarę szybka i kosztuje około 0.05 PIV za zanonimizowanie 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Ta opcja jest w miarę szybka i kosztuje około 0.05 DNET za zanonimizowanie 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV za każde 1000 PIV które zanonimizujesz. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET za każde 1000 DNET które zanonimizujesz. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1431,8 +1431,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Ilość oraz Rundy: - 0 PIV / 0 Rounds - 0 PIV / 0 Rund + 0 DNET / 0 Rounds + 0 DNET / 0 Rund Submitted Denom: @@ -3276,8 +3276,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Wyślij płatność - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX jescze nie może przesłać tak wysokich kwot. Obecnie transakcje są ograniczone tylko do %1 PIV: + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX jescze nie może przesłać tak wysokich kwot. Obecnie transakcje są ograniczone tylko do %1 DNET: @@ -3390,8 +3390,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Nie znaleziono wystarczających denominowanych środków Obfuscate do wykonania tej transakcji. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Nie znaleziono wystarczającej ilości nie zdenominowanych środków Obfuscate dla tej transakcji, które nie równają się 1000 PIV + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Nie znaleziono wystarczającej ilości nie zdenominowanych środków Obfuscate dla tej transakcji, które nie równają się 1000 DNET Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3634,12 +3634,12 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Błąd: niewspierany argument, znaleziono -socks. Ustawienie wersji SOCKS nie jest już możliwa, wspierane są tylkobramki proxy SOCKS5. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Opłaty (PIV/Kb) za retransmisje mniejsze niż ta, uważane są za równoznaczne z brakiem opłat (domyślnie: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Opłaty (DNET/Kb) za retransmisje mniejsze niż ta, uważane są za równoznaczne z brakiem opłat (domyślnie: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Opłaty (PIV/Kb) mniejsze niż ta, są uważane są za równoznaczne z brakiem opłat za stworzenie transakcji (domyślnie: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Opłaty (DNET/Kb) mniejsze niż ta, są uważane są za równoznaczne z brakiem opłat za stworzenie transakcji (domyślnie: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3733,8 +3733,8 @@ Zaleca się również aby ustawić alarm powiadomień tzw. alertnotify, aby dać - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Niemożliwe jest zlokalizowanie wystarczającej ilości środków dla tej transakcji, które nie są równe 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Niemożliwe jest zlokalizowanie wystarczającej ilości środków dla tej transakcji, które nie są równe 1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3847,8 +3847,8 @@ Zaleca się również aby ustawić alarm powiadomień tzw. alertnotify, aby dać Błąd: Znaleziono niewspierany argument -tor, użyj -onion. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Opłata (PIV/kB) do dodania do transakcji, którą chcesz wysłać (domyślnie: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Opłata (DNET/kB) do dodania do transakcji, którą chcesz wysłać (domyślnie: %s) Finalizing transaction. @@ -4215,7 +4215,7 @@ Zaleca się również aby ustawić alarm powiadomień tzw. alertnotify, aby dać Klucz KeePassHttp dla zaszyfrowanego metodą AES połączenia z KeePass - Keep N PIV anonymized (default: %u) + Keep N DNET anonymized (default: %u) Utrzymuj N zanonimizowanych darknet (domyślnie: %u) diff --git a/src/qt/locale/darknet_pt.ts b/src/qt/locale/pivx_pt.ts similarity index 99% rename from src/qt/locale/darknet_pt.ts rename to src/qt/locale/pivx_pt.ts index 7f286c222560e..689c042e3a50a 100644 --- a/src/qt/locale/darknet_pt.ts +++ b/src/qt/locale/pivx_pt.ts @@ -176,8 +176,8 @@ Confirme cifra da carteira - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Atenção: Se cifrar a carteira e perder a palavra-passe, irá <b>PERDER TODAS AS SUAS MOEDAS PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Atenção: Se cifrar a carteira e perder a palavra-passe, irá <b>PERDER TODAS AS SUAS MOEDAS DNET</b>! Are you sure you wish to encrypt your wallet? @@ -860,28 +860,28 @@ Endereço: %4 Por favor seleccione um nível de privacidade. - Use 2 separate masternodes to mix funds up to 1000 PIV - Usar 2 masternodes distintos para misturar os fundos até 1000PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Usar 2 masternodes distintos para misturar os fundos até 1000DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Usar 8 masternodes distintos para misturar os fundos até 1000PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Usar 8 masternodes distintos para misturar os fundos até 1000DNET Use 16 separate masternodes Usar 16 masternodes - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Esta opção é a mais rápida e irá custar cerca de ~0.025 PIV para anonimizar 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Esta opção é a mais rápida e irá custar cerca de ~0.025 DNET para anonimizar 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Esta opção é relativamente rápida e irá custar cerca de ~0.05 PIV para anonimizar 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Esta opção é relativamente rápida e irá custar cerca de ~0.05 DNET para anonimizar 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV por cada 1000 PIV a anonimizar. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET por cada 1000 DNET a anonimizar. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1427,8 +1427,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Quantia e Voltas: - 0 PIV / 0 Rounds - 0 PIV / 0 Voltas + 0 DNET / 0 Rounds + 0 DNET / 0 Voltas Submitted Denom: @@ -3260,8 +3260,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Enviar Moedas - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - O SwiftTX não suporta valores tão elevados neste momento. As transacções estão limitadas a %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + O SwiftTX não suporta valores tão elevados neste momento. As transacções estão limitadas a %1 DNET. @@ -3374,8 +3374,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Não foi possível localizar fundos Obfuscate denominados suficientes para esta transacção. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Não foi possível localizar fundos Obfuscate não denominados suficientes para esta transacção que não sejam igual a 1000PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Não foi possível localizar fundos Obfuscate não denominados suficientes para esta transacção que não sejam igual a 1000DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3590,8 +3590,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Activar o uso de obfuscate automatizado para os fundos guardados nesta carteira (0-1, default: %u) - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Taxas (em PIV/Kb) inferiores a esta serão consideradas zero para retransmissão (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Taxas (em DNET/Kb) inferiores a esta serão consideradas zero para retransmissão (default: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3638,8 +3638,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Este produto inclui software desenvolvido pelo Projecto OpenSSL para uso no OpenSSL Toolkit <https://www.openssl.org/>, software criptográfico escrito por Eric Young e software UPnP escrito por Thomas Bernard. - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Não foi possível localizar fundos suficientes para esta transacção que não sejam igual a 1000PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Não foi possível localizar fundos suficientes para esta transacção que não sejam igual a 1000DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3744,8 +3744,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Erro: Argument não suportado -tor encontrado, utilize -onion - Fee (in PIV/kB) to add to transactions you send (default: %s) - Taxas (em PIV/Kb) a adicionar às transacções que envia (omissão: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Taxas (em DNET/Kb) a adicionar às transacções que envia (omissão: %s) Finalizing transaction. @@ -4104,8 +4104,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Chave KeePassHttp para usar na comunicação cifrada AES com o KeePass - Keep N PIV anonymized (default: %u) - Manter N PIV anonimizados (default: %u) + Keep N DNET anonymized (default: %u) + Manter N DNET anonimizados (default: %u) Keep at most <n> unconnectable transactions in memory (default: %u) diff --git a/src/qt/locale/darknet_ru.ts b/src/qt/locale/pivx_ru.ts similarity index 99% rename from src/qt/locale/darknet_ru.ts rename to src/qt/locale/pivx_ru.ts index 44f20047483d1..0ac72253d173c 100644 --- a/src/qt/locale/darknet_ru.ts +++ b/src/qt/locale/pivx_ru.ts @@ -176,8 +176,8 @@ Подтвердите шифрование кошелька - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Внимание: если Вы зашифруете кошелёк и потеряете пароль, вы <b>ПОТЕРЯЕТЕ ВСЕ ВАШИ PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Внимание: если Вы зашифруете кошелёк и потеряете пароль, вы <b>ПОТЕРЯЕТЕ ВСЕ ВАШИ DNET</b>! Are you sure you wish to encrypt your wallet? @@ -864,28 +864,28 @@ Address: %4 Пожалуйста, выберите уровень приватности. - Use 2 separate masternodes to mix funds up to 1000 PIV - Использовать 2 отдельные мастерноды для перемешивания до 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Использовать 2 отдельные мастерноды для перемешивания до 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Использовать 8 отдельных мастернод для перемешивания до 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Использовать 8 отдельных мастернод для перемешивания до 1000 DNET Use 16 separate masternodes Использовать 16 отдельных мастернод - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Это самый быстрый вариант, анонимизация 1000 PIV будет стоить вам примерно 0.025 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Это самый быстрый вариант, анонимизация 1000 DNET будет стоить вам примерно 0.025 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Это относительно быстрый вариант, анонимизация 1000 PIV будет стоить вам примерно 0.05 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Это относительно быстрый вариант, анонимизация 1000 DNET будет стоить вам примерно 0.05 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV за каждые анонимизированные 1000 PIV. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET за каждые анонимизированные 1000 DNET. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1431,8 +1431,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Сумма и раунды: - 0 PIV / 0 Rounds - 0 PIV / 0 раундов + 0 DNET / 0 Rounds + 0 DNET / 0 раундов Submitted Denom: @@ -3276,8 +3276,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Отправка - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX пока что не поддерживает такие большие суммы. На данный момент транзакции ограничены суммами до %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX пока что не поддерживает такие большие суммы. На данный момент транзакции ограничены суммами до %1 DNET. @@ -3390,8 +3390,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Не удалось обнаружить достаточных для выполнения этой транзакции номиналов Obfuscate. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Не удалось обнаружить достаточных для выполнения этой транзакции неденоминированных средств, отличающихся от 1000PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Не удалось обнаружить достаточных для выполнения этой транзакции неденоминированных средств, отличающихся от 1000DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3634,12 +3634,12 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Ошибка: Обнаружен неподдерживаемый аргумент -socks. Выбор версии SOCKS больше невозможен, поддерживаются только прокси версии SOCKS5. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Комиссии (в PIV/Kb) меньше этого значения считаются нулевой для ретранслирования транзакции (по умолчанию: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Комиссии (в DNET/Kb) меньше этого значения считаются нулевой для ретранслирования транзакции (по умолчанию: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Комиссии (в PIV/Kb) меньше этого значения считаются нулевой (для создания транзакции) (по умолчанию: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Комиссии (в DNET/Kb) меньше этого значения считаются нулевой (для создания транзакции) (по умолчанию: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3734,8 +3734,8 @@ rpcpassword=%s - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Не удалось обнаружить достаточных для выполнения этой транзакции средств, отличающихся от 1000PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Не удалось обнаружить достаточных для выполнения этой транзакции средств, отличающихся от 1000DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3848,8 +3848,8 @@ rpcpassword=%s Ошибка: Обнаружен неподдерживаемый параметр -tor, используйте -onion вместо него. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Комиссии (в PIV/kB), добавляемая к отправляемым Вами транзакциям (по умолчанию: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Комиссии (в DNET/kB), добавляемая к отправляемым Вами транзакциям (по умолчанию: %s) Finalizing transaction. @@ -4216,8 +4216,8 @@ rpcpassword=%s Ключ KeePassHttp для зашифрованной коммуникации с KeePass - Keep N PIV anonymized (default: %u) - Держать N PIV анонимизированными (по умолчанию: %u) + Keep N DNET anonymized (default: %u) + Держать N DNET анонимизированными (по умолчанию: %u) Keep at most <n> unconnectable transactions in memory (default: %u) diff --git a/src/qt/locale/darknet_sk.ts b/src/qt/locale/pivx_sk.ts similarity index 98% rename from src/qt/locale/darknet_sk.ts rename to src/qt/locale/pivx_sk.ts index aab33aa710a55..1ad7f931bb30c 100644 --- a/src/qt/locale/darknet_sk.ts +++ b/src/qt/locale/pivx_sk.ts @@ -176,8 +176,8 @@ Potvrďte šifrovanie peňaženky - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Upozornenie: Ak zašifrujete vašu peňaženku a stratíte prístupové heslo, potom <b>prídete o všetky svoje PIV-y</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Upozornenie: Ak zašifrujete vašu peňaženku a stratíte prístupové heslo, potom <b>prídete o všetky svoje DNET-y</b>! Are you sure you wish to encrypt your wallet? @@ -863,28 +863,28 @@ Adresa: %4 Prosím vyberte úroveň súkromia. - Use 2 separate masternodes to mix funds up to 1000 PIV - Použiť 2 rozdielne masternode pre fixovanie prostriedkov až do 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Použiť 2 rozdielne masternode pre fixovanie prostriedkov až do 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Použiť 8 rozdielnych masternode pre fixovanie prostriedkov až do 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Použiť 8 rozdielnych masternode pre fixovanie prostriedkov až do 1000 DNET Use 16 separate masternodes Použiť 16 rozdielnych masternode - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Táto možnosť je najrýchlejšia a bude stáť približne 0.025 PIV pre anonimizáciu 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Táto možnosť je najrýchlejšia a bude stáť približne 0.025 DNET pre anonimizáciu 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Táto možnosť je stredne rýchla bude stáť približne 0.05 PIV pre anonimizáciu 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Táto možnosť je stredne rýchla bude stáť približne 0.05 DNET pre anonimizáciu 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV za 1000 PIV ktoré spravíte anonymnými. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET za 1000 DNET ktoré spravíte anonymnými. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1430,8 +1430,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Čiastka a kolá: - 0 PIV / 0 Rounds - 0 PIV / 0 Kôl + 0 DNET / 0 Rounds + 0 DNET / 0 Kôl Submitted Denom: @@ -3275,8 +3275,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Poslať Bitcoins - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX zatiaľ nepodporuje posielanie takto vysokých čiastok. Transakcie sú limitované na %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX zatiaľ nepodporuje posielanie takto vysokých čiastok. Transakcie sú limitované na %1 DNET. @@ -3389,8 +3389,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Nedá sa nájsť dostatok denominácií Obfuscate pre túto transakciu. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Nedá sa nájsť dostatok ne-denominovaných Obfuscate zdrojov pre túto transakciu, ktoré nie sú rovné 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Nedá sa nájsť dostatok ne-denominovaných Obfuscate zdrojov pre túto transakciu, ktoré nie sú rovné 1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3633,12 +3633,12 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Chyba: Nájdený nepodporovaný argument -socks. Nastavenie SOCKS verzie nie je už možné, podporované sú už iba proxy SOCKS5. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Poplatky (v PIV za Kb) menšie ako toto, sú považované za nulový poplatok pre prenos (predvolené: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Poplatky (v DNET za Kb) menšie ako toto, sú považované za nulový poplatok pre prenos (predvolené: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Poplatky (v PIV za Kb) menšie ako toto, sú považované za nulový transakčný poplatok (predvolené: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Poplatky (v DNET za Kb) menšie ako toto, sú považované za nulový transakčný poplatok (predvolené: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3733,8 +3733,8 @@ napríklad: alertnotify=echo %%s | mail -s "DarkNet Upozornenie" admin@foo.com - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Nenašiel sa dostatok prostriedkov pre túto transakciu, ktorú nie sú rovné 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Nenašiel sa dostatok prostriedkov pre túto transakciu, ktorú nie sú rovné 1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3847,8 +3847,8 @@ napríklad: alertnotify=echo %%s | mail -s "DarkNet Upozornenie" admin@foo.com Chyba: nájdený nepodporovaný argument -tor, použite -onion. - Fee (in PIV/kB) to add to transactions you send (default: %s) - Pridať poplatok (v PIV za kB) do transakcií ktoré posielate (predvolené: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Pridať poplatok (v DNET za kB) do transakcií ktoré posielate (predvolené: %s) Finalizing transaction. @@ -4215,8 +4215,8 @@ napríklad: alertnotify=echo %%s | mail -s "DarkNet Upozornenie" admin@foo.com Kľúč KeePassHttp pre šifrovanú AES komunikáciu s KeePass - Keep N PIV anonymized (default: %u) - Udržiavať N PIV anonymizovaných (predvolené: %u) + Keep N DNET anonymized (default: %u) + Udržiavať N DNET anonymizovaných (predvolené: %u) Keep at most <n> unconnectable transactions in memory (default: %u) diff --git a/src/qt/locale/darknet_sv.ts b/src/qt/locale/pivx_sv.ts similarity index 99% rename from src/qt/locale/darknet_sv.ts rename to src/qt/locale/pivx_sv.ts index 1d5213621b3f4..69de9ec0825dc 100644 --- a/src/qt/locale/darknet_sv.ts +++ b/src/qt/locale/pivx_sv.ts @@ -164,8 +164,8 @@ Bekräfta plånbokskryptering - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Varning: Om du krypterar din plånbok och förlorar din lösenfras kommer du att <b>FÖRLORA ALLA DINA PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Varning: Om du krypterar din plånbok och förlorar din lösenfras kommer du att <b>FÖRLORA ALLA DINA DNET</b>! Are you sure you wish to encrypt your wallet? @@ -758,28 +758,28 @@ Adress: %4 Vänligen välj en integritetsnivå. - Use 2 separate masternodes to mix funds up to 1000 PIV - Använd 2 enskilda masternoder för att mixa medel upp till 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Använd 2 enskilda masternoder för att mixa medel upp till 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Använd 8 enskilda masternoder för att mixa medel upp till 1000 PIV. + Use 8 separate masternodes to mix funds up to 1000 DNET + Använd 8 enskilda masternoder för att mixa medel upp till 1000 DNET. Use 16 separate masternodes Använd 16 enskilda masternoder - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Detta alternativ är det snabbaste och kommer att kosta omkring ~0,025 PIV för att anonymisera 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Detta alternativ är det snabbaste och kommer att kosta omkring ~0,025 DNET för att anonymisera 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Detta alternativ är relativt snabbt och kommer att kosta omkring 0,05 PIV för att anonymisera 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Detta alternativ är relativt snabbt och kommer att kosta omkring 0,05 DNET för att anonymisera 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0,1 PIV per 1000 PIV du anonymiserar. + 0.1 DNET per 1000 DNET you anonymize. + 0,1 DNET per 1000 DNET du anonymiserar. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1238,8 +1238,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Mängd och omgångar: - 0 PIV / 0 Rounds - 0 PIV/0 omgångar + 0 DNET / 0 Rounds + 0 DNET/0 omgångar Submitted Denom: @@ -2726,8 +2726,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Kunde inte hitta tillräckliga Obfuscate-denominationsmedel för denna transaktion. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Kunde inte hitta tillräckliga Obfuscate-icke-denominationsmedel för denna transaktion som inte är likvärdiga 1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Kunde inte hitta tillräckliga Obfuscate-icke-denominationsmedel för denna transaktion som inte är likvärdiga 1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. diff --git a/src/qt/locale/darknet_vi.ts b/src/qt/locale/pivx_vi.ts similarity index 98% rename from src/qt/locale/darknet_vi.ts rename to src/qt/locale/pivx_vi.ts index 85777469060a4..66b75dc6ea6ee 100644 --- a/src/qt/locale/darknet_vi.ts +++ b/src/qt/locale/pivx_vi.ts @@ -176,8 +176,8 @@ Xác nhận mã hoá ví - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! - Chú ý: Nếu bạn mã hoá ví và mất mật khẩu, bạn sẽ <b>MẤT TẤT CẢ PIV CỦA BẠN</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! + Chú ý: Nếu bạn mã hoá ví và mất mật khẩu, bạn sẽ <b>MẤT TẤT CẢ DNET CỦA BẠN</b>! Are you sure you wish to encrypt your wallet? @@ -864,28 +864,28 @@ Kiểu: %3 Hãy chọn mức độ riêng tư. - Use 2 separate masternodes to mix funds up to 1000 PIV - Sử dụng 2 masternode khác nhau để trộn số tiền lên đến 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET + Sử dụng 2 masternode khác nhau để trộn số tiền lên đến 1000 DNET - Use 8 separate masternodes to mix funds up to 1000 PIV - Sử dụng 8 masternode khác nhau để trộn số tiền lên đến 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET + Sử dụng 8 masternode khác nhau để trộn số tiền lên đến 1000 DNET Use 16 separate masternodes Sử dụng 16 masternode khác nhau - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV - Tuỳ chọn này là nhanh nhất và sẽ mất chi phí khoảng ~0.025 PIV để ẩn danh 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET + Tuỳ chọn này là nhanh nhất và sẽ mất chi phí khoảng ~0.025 DNET để ẩn danh 1000 DNET - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV - Tuỳ chọn này là tương đối nhanh và sẽ mất chi phí khoảng ~0.05 PIV để ẩn danh 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET + Tuỳ chọn này là tương đối nhanh và sẽ mất chi phí khoảng ~0.05 DNET để ẩn danh 1000 DNET - 0.1 PIV per 1000 PIV you anonymize. - 0.1 PIV cho mỗi 1000 PIV bạn muốn ẩn danh. + 0.1 DNET per 1000 DNET you anonymize. + 0.1 DNET cho mỗi 1000 DNET bạn muốn ẩn danh. This is the slowest and most secure option. Using maximum anonymity will cost @@ -1431,8 +1431,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Số tiền và số vòng: - 0 PIV / 0 Rounds - 0 PIV / 0 Vòng + 0 DNET / 0 Rounds + 0 DNET / 0 Vòng Submitted Denom: @@ -3276,8 +3276,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Gửi tiền - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - SwiftTX không hỗ trợ để gửi giá trị lớn đến như vậy. Giới hạn giao dịch hiện tại đến %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + SwiftTX không hỗ trợ để gửi giá trị lớn đến như vậy. Giới hạn giao dịch hiện tại đến %1 DNET. @@ -3390,8 +3390,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Không tìm đủ ngân sách Obfuscate denominated cho giao dịch này. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - Không tìm đủ ngân sách Obfuscate denominated cho giao dịch mà nó không bằng 1000 PIV + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + Không tìm đủ ngân sách Obfuscate denominated cho giao dịch mà nó không bằng 1000 DNET Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3634,12 +3634,12 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/Lỗi: Thấy tham số không được hỗ trợ -socks. Thiết lập phiên bản SOCKS là không thể được nữa, chỉ hỗ trợ proxy SOCKS5. - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) - Phí (tính theo PIV/Kb) nhỏ hơn số này được coi là không mất phí cho việc chuyển tiền (ngầm định: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) + Phí (tính theo DNET/Kb) nhỏ hơn số này được coi là không mất phí cho việc chuyển tiền (ngầm định: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) - Phí (theo PIV/Kb) nhỏ hơn số này được coi không mất phí cho việc khởi tạo giao dịch (ngầm định: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Phí (theo DNET/Kb) nhỏ hơn số này được coi không mất phí cho việc khởi tạo giao dịch (ngầm định: %s) Flush database activity from memory pool to disk log every <n> megabytes (default: %u) @@ -3734,8 +3734,8 @@ ví dụ: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo.com - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - Không tìm được đủ ngân sách cho giao dịch mà nó không đủ 1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + Không tìm được đủ ngân sách cho giao dịch mà nó không đủ 1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3847,8 +3847,8 @@ ví dụ: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo.com Lỗi: Tìm thấy tham số không được hỗ trợ -tor, thay vào đó hãy sử dụng -onion - Fee (in PIV/kB) to add to transactions you send (default: %s) - Phí (theo PIV/Kb) sẽ thêm vào các giao dịch mà bạn gửi (ngầm định: %s) + Fee (in DNET/kB) to add to transactions you send (default: %s) + Phí (theo DNET/Kb) sẽ thêm vào các giao dịch mà bạn gửi (ngầm định: %s) Finalizing transaction. @@ -4215,8 +4215,8 @@ ví dụ: alertnotify=echo %%s | mail -s "DarkNet Alert" admin@foo.com Khoá KeePassHttp cho liên lạc mã hoá AES với KeePass - Keep N PIV anonymized (default: %u) - Giữ N PIV đã được ẩn danh (ngầm định: %u) + Keep N DNET anonymized (default: %u) + Giữ N DNET đã được ẩn danh (ngầm định: %u) Keep at most <n> unconnectable transactions in memory (default: %u) diff --git a/src/qt/locale/darknet_zh_CN.ts b/src/qt/locale/pivx_zh_CN.ts similarity index 99% rename from src/qt/locale/darknet_zh_CN.ts rename to src/qt/locale/pivx_zh_CN.ts index ac6837ef6deee..7951060e16ad4 100644 --- a/src/qt/locale/darknet_zh_CN.ts +++ b/src/qt/locale/pivx_zh_CN.ts @@ -176,7 +176,7 @@ 确认加密钱包 - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! 警告:如果把钱包加​​密后又忘记密码,你就会从此<b>失去所有的达世币了</b>! @@ -864,11 +864,11 @@ Address: %4 请选择隐私等级。 - Use 2 separate masternodes to mix funds up to 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET 使用2个独立的主节点混合资金最多1000达世币 - Use 8 separate masternodes to mix funds up to 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET 使用8个独立的主节点混合资金最多1000达世币 @@ -876,15 +876,15 @@ Address: %4 使用16个独立主节点 - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET 此选项为最快速度,需要支付0.025达世币/1000达世币的匿名处理费用。 - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET 此选项为一般速度,需要支付0.05达世币/1000达世币的匿名处理费用。 - 0.1 PIV per 1000 PIV you anonymize. + 0.1 DNET per 1000 DNET you anonymize. 0.1达世币/1000达世币的匿名处理费用。 @@ -1432,7 +1432,7 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/数量与循环次数: - 0 PIV / 0 Rounds + 0 DNET / 0 Rounds 0 达世币 / 0 循环数 @@ -1457,7 +1457,7 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/ The denominations you submitted to the Masternode.<br>To mix, other users must submit the exact same denominations. - 您向主节点所提交的用以面额化混合的PIV,<br>当其他用户提交相同的面额化PIV数量时,将开始混合. + 您向主节点所提交的用以面额化混合的DNET,<br>当其他用户提交相同的面额化DNET数量时,将开始混合. (Last Message) @@ -3257,7 +3257,7 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/发送达世币 - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. 即时支付功能目前还不支持发送如此高的金额.目前限制在%1 达世币. @@ -3344,11 +3344,11 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/ Unable to locate enough Obfuscate denominated funds for this transaction. - 无法找到足够的已匿名化资金来完成交易,不足1000 PIV. + 无法找到足够的已匿名化资金来完成交易,不足1000 DNET. - Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 PIV. - 无法找到足够的未匿名化资金来完成交易,不足1000 PIV. + Unable to locate enough Obfuscate non-denominated funds for this transaction that are not equal 1000 DNET. + 无法找到足够的未匿名化资金来完成交易,不足1000 DNET. Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction. @@ -3543,11 +3543,11 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/允许存储在这个钱包内的资金自动使用匿名发送(0-1, 默认: %u) - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) 如果手续费比这个值低,就视为没有付手续费(当产生交易时)(默认: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) 如果手续费比这个值低,就视为没有付手续费(当产生交易时)(默认: %s) @@ -3591,8 +3591,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/此产品包括了由OpenSSL Project所开发的OpenSSL Toolkit 软件<https://www.openssl.org/>, 和由Eric Young 编写的加密软件, 以及由Thomas Bernard 编写的UPnP软件. - Unable to locate enough funds for this transaction that are not equal 1000 PIV. - 无法找到足够的资金完成交易,不足1000 PIV. + Unable to locate enough funds for this transaction that are not equal 1000 DNET. + 无法找到足够的资金完成交易,不足1000 DNET. Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s) @@ -3987,7 +3987,7 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/检测到无效脚本。 - Keep N PIV anonymized (default: %u) + Keep N DNET anonymized (default: %u) 保持定量达世币匿名化(默认: %u) diff --git a/src/qt/locale/darknet_zh_TW.ts b/src/qt/locale/pivx_zh_TW.ts similarity index 99% rename from src/qt/locale/darknet_zh_TW.ts rename to src/qt/locale/pivx_zh_TW.ts index 34023021dfe20..056647a6d56e2 100644 --- a/src/qt/locale/darknet_zh_TW.ts +++ b/src/qt/locale/pivx_zh_TW.ts @@ -176,7 +176,7 @@ 確認錢包加密 - Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR PIV</b>! + Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR DNET</b>! 警告: 如果把錢包加密後又忘記密碼,你就會從此<b>失去其中所有的達世幣了</b>! @@ -860,11 +860,11 @@ Address: %4 請選擇穩私級別。 - Use 2 separate masternodes to mix funds up to 1000 PIV + Use 2 separate masternodes to mix funds up to 1000 DNET 使用2個獨立的主節點來混合最高達1000達世幣的資金 - Use 8 separate masternodes to mix funds up to 1000 PIV + Use 8 separate masternodes to mix funds up to 1000 DNET 使用8個獨立的主節點來混合最高達1000達世幣的資金 @@ -872,15 +872,15 @@ Address: %4 使用16個獨立的主節點 - This option is the quickest and will cost about ~0.025 PIV to anonymize 1000 PIV + This option is the quickest and will cost about ~0.025 DNET to anonymize 1000 DNET 這個是最快的選項,將耗費約~0.025達世幣作為匿名處理1000達世幣的費用 - This option is moderately fast and will cost about 0.05 PIV to anonymize 1000 PIV + This option is moderately fast and will cost about 0.05 DNET to anonymize 1000 DNET 這個是一般的選項,將耗費約0.05達世幣作為匿名處理1000達世幣的費用 - 0.1 PIV per 1000 PIV you anonymize. + 0.1 DNET per 1000 DNET you anonymize. 每1000達世幣耗費0.1達世幣作為匿名處理費用 @@ -1427,7 +1427,7 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/金額和循環次數: - 0 PIV / 0 Rounds + 0 DNET / 0 Rounds 0 達世幣 / 0 循環次數 @@ -3180,8 +3180,8 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/付款 - SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 PIV. - 即時到帳系統暫時並不支援這麼高的交易金額。目前的金額僅限於%1 PIV。 + SwiftTX doesn't support sending values that high yet. Transactions are currently limited to %1 DNET. + 即時到帳系統暫時並不支援這麼高的交易金額。目前的金額僅限於%1 DNET。 @@ -3438,11 +3438,11 @@ https://www.transifex.com/darknet-crypto/darknet-wallet-translations/錯誤: 找到不再支援的 -socks 參數。現在只支援 SOCKS5 協定的代理伺服器了,因為不再能夠指定 SOCKS 協定版本。 - Fees (in PIV/Kb) smaller than this are considered zero fee for relaying (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for relaying (default: %s) 當處理轉發的交易時,如果每千位元組(Kb)的手續費比這個值低,就視為沒付手續費 (預設值: %s) - Fees (in PIV/Kb) smaller than this are considered zero fee for transaction creation (default: %s) + Fees (in DNET/Kb) smaller than this are considered zero fee for transaction creation (default: %s) 當建立交易時,如果每千位元組(Kb)的手續費比這個值低,就視為沒付手續費 (預設值: %s) diff --git a/src/qt/macnotificationhandler.mm b/src/qt/macnotificationhandler.mm index 09d8d9f5c195c..e39bf60e5d030 100644 --- a/src/qt/macnotificationhandler.mm +++ b/src/qt/macnotificationhandler.mm @@ -1,5 +1,5 @@ // Copyright (c) 2011-2013 The Bitcoin Core developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -14,7 +14,7 @@ @implementation NSBundle(returnCorrectIdentifier) - (NSString *)__bundleIdentifier { if (self == [NSBundle mainBundle]) { - return @"io.darknet.Darknet-Qt"; + return @"io.pivx.Pivx-Qt"; } else { return [self __bundleIdentifier]; } diff --git a/src/qt/obfuscationconfig.cpp b/src/qt/obfuscationconfig.cpp index 35710311d81f9..8c5f860900888 100644 --- a/src/qt/obfuscationconfig.cpp +++ b/src/qt/obfuscationconfig.cpp @@ -42,7 +42,7 @@ void ObfuscationConfig::clickBasic() model->getOptionsModel()->getDisplayUnit(), 1000 * COIN)); QMessageBox::information(this, tr("Obfuscation Configuration"), tr( - "Obfuscation was successfully set to basic (%1 and 2 rounds). You can change this at any time by opening DarkNet's configuration screen." + "Obfuscation was successfully set to basic (%1 and 2 rounds). You can change this at any time by opening PIVX's configuration screen." ).arg(strAmount) ); @@ -57,7 +57,7 @@ void ObfuscationConfig::clickHigh() model->getOptionsModel()->getDisplayUnit(), 1000 * COIN)); QMessageBox::information(this, tr("Obfuscation Configuration"), tr( - "Obfuscation was successfully set to high (%1 and 8 rounds). You can change this at any time by opening DarkNet's configuration screen." + "Obfuscation was successfully set to high (%1 and 8 rounds). You can change this at any time by opening PIVX's configuration screen." ).arg(strAmount) ); @@ -72,7 +72,7 @@ void ObfuscationConfig::clickMax() model->getOptionsModel()->getDisplayUnit(), 1000 * COIN)); QMessageBox::information(this, tr("Obfuscation Configuration"), tr( - "Obfuscation was successfully set to maximum (%1 and 16 rounds). You can change this at any time by opening DarkNet's configuration screen." + "Obfuscation was successfully set to maximum (%1 and 16 rounds). You can change this at any time by opening PIVX's configuration screen." ).arg(strAmount) ); @@ -84,8 +84,8 @@ void ObfuscationConfig::configure(bool enabled, int coins, int rounds) { QSettings settings; settings.setValue("nObfuscationRounds", rounds); - settings.setValue("nAnonymizeDarknetAmount", coins); + settings.setValue("nAnonymizePivxAmount", coins); nObfuscationRounds = rounds; - nAnonymizeDarknetAmount = coins; + nAnonymizePivxAmount = coins; } diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp index 2232b2d055fa1..1eaf873b3bd8c 100644 --- a/src/qt/openuridialog.cpp +++ b/src/qt/openuridialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -18,7 +18,7 @@ OpenURIDialog::OpenURIDialog(QWidget *parent) : { ui->setupUi(this); #if QT_VERSION >= 0x040700 - ui->uriEdit->setPlaceholderText("darknet:"); + ui->uriEdit->setPlaceholderText("pivx:"); #endif } @@ -50,5 +50,5 @@ void OpenURIDialog::on_selectFileButton_clicked() if(filename.isEmpty()) return; QUrl fileUri = QUrl::fromLocalFile(filename); - ui->uriEdit->setText("darknet:?r=" + QUrl::toPercentEncoding(fileUri.toString())); + ui->uriEdit->setText("pivx:?r=" + QUrl::toPercentEncoding(fileUri.toString())); } diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 5e975ad45737b..fb56c7e610bd2 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -82,10 +82,7 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) : } /* Theme selector static themes */ - ui->theme->addItem(QString("PIV-dark"), QVariant("drk")); - ui->theme->addItem(QString("PIV-dark-1"), QVariant("drk-1")); - ui->theme->addItem(QString("PIV-blue"), QVariant("drkblue")); - ui->theme->addItem(QString("PIV-traditional"), QVariant("trad")); + ui->theme->addItem(QString("Default"), QVariant("default")); /* Theme selector external themes */ boost::filesystem::path pathAddr = GetDataDir() / "themes"; @@ -222,7 +219,7 @@ void OptionsDialog::setMapper() /* Obfuscation Rounds */ mapper->addMapping(ui->obfuscationRounds, OptionsModel::ObfuscationRounds); - mapper->addMapping(ui->anonymizeDarknet, OptionsModel::AnonymizeDarknetAmount); + mapper->addMapping(ui->anonymizePivx, OptionsModel::AnonymizePivxAmount); mapper->addMapping(ui->showMasternodesTab, OptionsModel::ShowMasternodesTab); } diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index e6b60985b91ff..7fdcc284bc902 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -76,11 +76,11 @@ void OptionsModel::Init() if (!settings.contains("nObfuscationRounds")) settings.setValue("nObfuscationRounds", 2); - if (!settings.contains("nAnonymizeDarknetAmount")) - settings.setValue("nAnonymizeDarknetAmount", 1000); + if (!settings.contains("nAnonymizePivxAmount")) + settings.setValue("nAnonymizePivxAmount", 1000); nObfuscationRounds = settings.value("nObfuscationRounds").toLongLong(); - nAnonymizeDarknetAmount = settings.value("nAnonymizeDarknetAmount").toLongLong(); + nAnonymizePivxAmount = settings.value("nAnonymizePivxAmount").toLongLong(); if (!settings.contains("fShowMasternodesTab")) settings.setValue("fShowMasternodesTab", masternodeConfig.getCount()); @@ -147,8 +147,8 @@ void OptionsModel::Init() if (settings.contains("nObfuscationRounds")) SoftSetArg("-obfuscationrounds", settings.value("nObfuscationRounds").toString().toStdString()); - if (settings.contains("nAnonymizeDarknetAmount")) - SoftSetArg("-anonymizedarknetamount", settings.value("nAnonymizeDarknetAmount").toString().toStdString()); + if (settings.contains("nAnonymizePivxAmount")) + SoftSetArg("-anonymizepivxamount", settings.value("nAnonymizePivxAmount").toString().toStdString()); language = settings.value("language").toString(); } @@ -159,7 +159,7 @@ void OptionsModel::Reset() // Remove all entries from our QSettings object settings.clear(); - resetSettings = true; // Needed in darknet.cpp during shotdown to also remove the window positions + resetSettings = true; // Needed in pivx.cpp during shotdown to also remove the window positions // default setting for OptionsModel::StartAtStartup - disabled if (GUIUtil::GetStartOnSystemStartup()) @@ -230,8 +230,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const return settings.value("nThreadsScriptVerif"); case ObfuscationRounds: return QVariant(nObfuscationRounds); - case AnonymizeDarknetAmount: - return QVariant(nAnonymizeDarknetAmount); + case AnonymizePivxAmount: + return QVariant(nAnonymizePivxAmount); case Listen: return settings.value("fListen"); default: @@ -344,10 +344,10 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in settings.setValue("nObfuscationRounds", nObfuscationRounds); emit obfuscationRoundsChanged(nObfuscationRounds); break; - case AnonymizeDarknetAmount: - nAnonymizeDarknetAmount = value.toInt(); - settings.setValue("nAnonymizeDarknetAmount", nAnonymizeDarknetAmount); - emit anonymizeDarknetAmountChanged(nAnonymizeDarknetAmount); + case AnonymizePivxAmount: + nAnonymizePivxAmount = value.toInt(); + settings.setValue("nAnonymizePivxAmount", nAnonymizePivxAmount); + emit anonymizePivxAmountChanged(nAnonymizePivxAmount); break; case CoinControlFeatures: fCoinControlFeatures = value.toBool(); diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h index 07497b8fa3e4a..490a53ffdf657 100644 --- a/src/qt/optionsmodel.h +++ b/src/qt/optionsmodel.h @@ -44,7 +44,7 @@ class OptionsModel : public QAbstractListModel DatabaseCache, // int SpendZeroConfChange, // bool ObfuscationRounds, // int - AnonymizeDarknetAmount, //int + AnonymizePivxAmount, //int ShowMasternodesTab, // bool Listen, // bool OptionIDRowCount, @@ -90,7 +90,7 @@ class OptionsModel : public QAbstractListModel signals: void displayUnitChanged(int unit); void obfuscationRoundsChanged(int); - void anonymizeDarknetAmountChanged(int); + void anonymizePivxAmountChanged(int); void coinControlFeaturesChanged(bool); }; diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index ea9c2cd45921a..8abb5b91937d9 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -324,7 +324,7 @@ void OverviewPage::updateObfuscationProgress() if(!pwalletMain) return; QString strAmountAndRounds; - QString strAnonymizeDarknetAmount = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, nAnonymizeDarknetAmount * COIN, false, BitcoinUnits::separatorAlways); + QString strAnonymizePivxAmount = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, nAnonymizePivxAmount * COIN, false, BitcoinUnits::separatorAlways); if(currentBalance == 0) { @@ -332,8 +332,8 @@ void OverviewPage::updateObfuscationProgress() ui->obfuscationProgress->setToolTip(tr("No inputs detected")); // when balance is zero just show info from settings - strAnonymizeDarknetAmount = strAnonymizeDarknetAmount.remove(strAnonymizeDarknetAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1); - strAmountAndRounds = strAnonymizeDarknetAmount + " / " + tr("%n Rounds", "", nObfuscationRounds); + strAnonymizePivxAmount = strAnonymizePivxAmount.remove(strAnonymizePivxAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1); + strAmountAndRounds = strAnonymizePivxAmount + " / " + tr("%n Rounds", "", nObfuscationRounds); ui->labelAmountRounds->setToolTip(tr("No inputs detected")); ui->labelAmountRounds->setText(strAmountAndRounds); @@ -360,20 +360,20 @@ void OverviewPage::updateObfuscationProgress() CAmount nMaxToAnonymize = nAnonymizableBalance + currentAnonymizedBalance + nDenominatedUnconfirmedBalance; // If it's more than the anon threshold, limit to that. - if(nMaxToAnonymize > nAnonymizeDarknetAmount*COIN) nMaxToAnonymize = nAnonymizeDarknetAmount*COIN; + if(nMaxToAnonymize > nAnonymizePivxAmount*COIN) nMaxToAnonymize = nAnonymizePivxAmount*COIN; if(nMaxToAnonymize == 0) return; - if(nMaxToAnonymize >= nAnonymizeDarknetAmount * COIN) { + if(nMaxToAnonymize >= nAnonymizePivxAmount * COIN) { ui->labelAmountRounds->setToolTip(tr("Found enough compatible inputs to anonymize %1") - .arg(strAnonymizeDarknetAmount)); - strAnonymizeDarknetAmount = strAnonymizeDarknetAmount.remove(strAnonymizeDarknetAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1); - strAmountAndRounds = strAnonymizeDarknetAmount + " / " + tr("%n Rounds", "", nObfuscationRounds); + .arg(strAnonymizePivxAmount)); + strAnonymizePivxAmount = strAnonymizePivxAmount.remove(strAnonymizePivxAmount.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1); + strAmountAndRounds = strAnonymizePivxAmount + " / " + tr("%n Rounds", "", nObfuscationRounds); } else { QString strMaxToAnonymize = BitcoinUnits::formatHtmlWithUnit(nDisplayUnit, nMaxToAnonymize, false, BitcoinUnits::separatorAlways); ui->labelAmountRounds->setToolTip(tr("Not enough compatible inputs to anonymize %1,
" "will anonymize %2 instead") - .arg(strAnonymizeDarknetAmount) + .arg(strAnonymizePivxAmount) .arg(strMaxToAnonymize)); strMaxToAnonymize = strMaxToAnonymize.remove(strMaxToAnonymize.indexOf("."), BitcoinUnits::decimals(nDisplayUnit) + 1); strAmountAndRounds = "" + @@ -544,7 +544,7 @@ void OverviewPage::toggleObfuscation(){ /* show obfuscation configuration if client has defaults set */ - if(nAnonymizeDarknetAmount == 0){ + if(nAnonymizePivxAmount == 0){ ObfuscationConfig dlg(this); dlg.setModel(walletModel); dlg.exec(); diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp index cb22f5d047a12..5cd133cea3224 100644 --- a/src/qt/paymentserver.cpp +++ b/src/qt/paymentserver.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -52,14 +52,14 @@ using namespace boost; using namespace std; const int BITCOIN_IPC_CONNECT_TIMEOUT = 1000; // milliseconds -const QString BITCOIN_IPC_PREFIX("darknet:"); +const QString BITCOIN_IPC_PREFIX("pivx:"); // 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/darknet-payment"; -const char* BIP71_MIMETYPE_PAYMENTACK = "application/darknet-paymentack"; -const char* BIP71_MIMETYPE_PAYMENTREQUEST = "application/darknet-paymentrequest"; +const char* BIP71_MIMETYPE_PAYMENT = "application/pivx-payment"; +const char* BIP71_MIMETYPE_PAYMENTACK = "application/pivx-paymentack"; +const char* BIP71_MIMETYPE_PAYMENTREQUEST = "application/pivx-paymentrequest"; // BIP70 max payment request size in bytes (DoS protection) const qint64 BIP70_MAX_PAYMENTREQUEST_SIZE = 50000; @@ -80,7 +80,7 @@ void PaymentServer::freeCertStore() // static QString ipcServerName() { - QString name("DarkNetQt"); + QString name("PIVXQt"); // Append a simple hash of the datadir // Note that GetDataDir(true) returns a different path @@ -200,11 +200,11 @@ void PaymentServer::ipcParseCommandLine(int argc, char* argv[]) if (arg.startsWith("-")) continue; - // If the darknet: URI contains a payment request, we are not able to detect the + // If the pivx: 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(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // darknet: URI + if (arg.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // pivx: URI { savedPaymentRequests.append(arg); @@ -300,7 +300,7 @@ PaymentServer::PaymentServer(QObject* parent, bool startLocalServer) : GOOGLE_PROTOBUF_VERIFY_VERSION; // Install global event filter to catch QFileOpenEvents - // on Mac: sent when you click darknet: links + // on Mac: sent when you click pivx: links // other OSes: helpful when dealing with payment request files (in the future) if (parent) parent->installEventFilter(this); @@ -317,7 +317,7 @@ PaymentServer::PaymentServer(QObject* parent, bool startLocalServer) : if (!uriServer->listen(name)) { // constructor is called early in init, so don't use "emit message()" here QMessageBox::critical(0, tr("Payment request error"), - tr("Cannot start darknet: click-to-pay handler")); + tr("Cannot start pivx: click-to-pay handler")); } else { connect(uriServer, SIGNAL(newConnection()), this, SLOT(handleURIConnection())); @@ -332,12 +332,12 @@ PaymentServer::~PaymentServer() } // -// OSX-specific way of handling darknet: URIs and +// OSX-specific way of handling pivx: URIs and // PaymentRequest mime types // bool PaymentServer::eventFilter(QObject *object, QEvent *event) { - // clicking on darknet: URIs creates FileOpen events on the Mac + // clicking on pivx: URIs creates FileOpen events on the Mac if (event->type() == QEvent::FileOpen) { QFileOpenEvent *fileEvent = static_cast(event); @@ -359,7 +359,7 @@ void PaymentServer::initNetManager() if (netManager != NULL) delete netManager; - // netManager is used to fetch paymentrequests given in darknet: URIs + // netManager is used to fetch paymentrequests given in pivx: URIs netManager = new QNetworkAccessManager(this); QNetworkProxy proxy; @@ -399,7 +399,7 @@ void PaymentServer::handleURIOrFile(const QString& s) return; } - if (s.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // darknet: URI + if (s.startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) // pivx: URI { #if QT_VERSION < 0x050000 QUrl uri(s); @@ -443,7 +443,7 @@ void PaymentServer::handleURIOrFile(const QString& s) } else emit message(tr("URI handling"), - tr("URI cannot be parsed! This can be caused by an invalid DarkNet address or malformed URI parameters."), + tr("URI cannot be parsed! This can be caused by an invalid PIVX address or malformed URI parameters."), CClientUIInterface::ICON_WARNING); return; @@ -564,7 +564,7 @@ bool PaymentServer::processPaymentRequest(PaymentRequestPlus& request, SendCoins addresses.append(QString::fromStdString(CBitcoinAddress(dest).ToString())); } else if (!recipient.authenticatedMerchant.isEmpty()) { - // Insecure payments to custom darknet addresses are not supported + // Insecure payments to custom pivx 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). emit message(tr("Payment request rejected"), diff --git a/src/qt/paymentserver.h b/src/qt/paymentserver.h index ef4402b0af559..2ba5d9f2cb026 100644 --- a/src/qt/paymentserver.h +++ b/src/qt/paymentserver.h @@ -6,7 +6,7 @@ #define BITCOIN_QT_PAYMENTSERVER_H // This class handles payment requests from clicking on -// darknet: URIs +// pivx: URIs // // This is somewhat tricky, because we have to deal with // the situation where the user clicks on a link during diff --git a/src/qt/darknet.cpp b/src/qt/pivx.cpp similarity index 95% rename from src/qt/darknet.cpp rename to src/qt/pivx.cpp index c596e82770bba..758a675c55c7b 100644 --- a/src/qt/darknet.cpp +++ b/src/qt/pivx.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -93,7 +93,7 @@ static void InitMessage(const std::string &message) */ static std::string Translate(const char* psz) { - return QCoreApplication::translate("darknet-core", psz).toStdString(); + return QCoreApplication::translate("pivx-core", psz).toStdString(); } static QString GetLangTerritory() @@ -141,11 +141,11 @@ static void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTrans if (qtTranslator.load("qt_" + lang_territory, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) QApplication::installTranslator(&qtTranslator); - // Load e.g. bitcoin_de.qm (shortcut "de" needs to be defined in darknet.qrc) + // Load e.g. bitcoin_de.qm (shortcut "de" needs to be defined in pivx.qrc) if (translatorBase.load(lang, ":/translations/")) QApplication::installTranslator(&translatorBase); - // Load e.g. bitcoin_de_DE.qm (shortcut "de_DE" needs to be defined in darknet.qrc) + // Load e.g. bitcoin_de_DE.qm (shortcut "de_DE" needs to be defined in pivx.qrc) if (translator.load(lang_territory, ":/translations/")) QApplication::installTranslator(&translator); } @@ -166,7 +166,7 @@ void DebugMessageHandler(QtMsgType type, const QMessageLogContext& context, cons } #endif -/** Class encapsulating DarkNet Core startup and shutdown. +/** Class encapsulating PIVX Core startup and shutdown. * Allows running startup and shutdown in a different thread from the UI thread. */ class BitcoinCore: public QObject @@ -195,7 +195,7 @@ public slots: void handleRunawayException(std::exception *e); }; -/** Main DarkNet application object */ +/** Main PIVX application object */ class BitcoinApplication: public QApplication { Q_OBJECT @@ -253,7 +253,7 @@ public slots: void startThread(); }; -#include "darknet.moc" +#include "pivx.moc" BitcoinCore::BitcoinCore(): QObject() @@ -496,7 +496,7 @@ void BitcoinApplication::initializeResult(int retval) #ifdef ENABLE_WALLET // Now that initialization/startup is done, process any command-line - // DarkNet: URIs or payment requests: + // PIVX: URIs or payment requests: connect(paymentServer, SIGNAL(receivedPaymentRequest(SendCoinsRecipient)), window, SLOT(handlePaymentRequest(SendCoinsRecipient))); connect(window, SIGNAL(receivedURI(QString)), @@ -518,7 +518,7 @@ void BitcoinApplication::shutdownResult(int retval) void BitcoinApplication::handleRunawayException(const QString &message) { - QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. DarkNet can no longer continue safely and will quit.") + QString("\n\n") + message); + QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. PIVX can no longer continue safely and will quit.") + QString("\n\n") + message); ::exit(1); } @@ -548,8 +548,8 @@ int main(int argc, char *argv[]) QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); #endif - Q_INIT_RESOURCE(darknet_locale); - Q_INIT_RESOURCE(darknet); + Q_INIT_RESOURCE(pivx_locale); + Q_INIT_RESOURCE(pivx); BitcoinApplication app(argc, argv); #if QT_VERSION > 0x050100 @@ -593,18 +593,18 @@ int main(int argc, char *argv[]) // User language is set up: pick a data directory Intro::pickDataDirectory(); - /// 6. Determine availability of data directory and parse darknet.conf + /// 6. Determine availability of data directory and parse pivx.conf /// - Do not call GetDataDir(true) before this step finishes if (!boost::filesystem::is_directory(GetDataDir(false))) { - QMessageBox::critical(0, QObject::tr("DarkNet Core"), + QMessageBox::critical(0, QObject::tr("PIVX Core"), QObject::tr("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"]))); return 1; } try { ReadConfigFile(mapArgs, mapMultiArgs); } catch(std::exception &e) { - QMessageBox::critical(0, QObject::tr("DarkNet Core"), + QMessageBox::critical(0, QObject::tr("PIVX Core"), QObject::tr("Error: Cannot parse configuration file: %1. Only use key=value syntax.").arg(e.what())); return false; } @@ -617,7 +617,7 @@ int main(int argc, char *argv[]) // Check for -testnet or -regtest parameter (Params() calls are only valid after this clause) if (!SelectParamsFromCommandLine()) { - QMessageBox::critical(0, QObject::tr("DarkNet Core"), QObject::tr("Error: Invalid combination of -regtest and -testnet.")); + QMessageBox::critical(0, QObject::tr("PIVX Core"), QObject::tr("Error: Invalid combination of -regtest and -testnet.")); return 1; } #ifdef ENABLE_WALLET @@ -636,7 +636,7 @@ int main(int argc, char *argv[]) /// 7a. parse masternode.conf string strErr; if(!masternodeConfig.read(strErr)) { - QMessageBox::critical(0, QObject::tr("DarkNet Core"), + QMessageBox::critical(0, QObject::tr("PIVX Core"), QObject::tr("Error reading masternode configuration file: %1").arg(strErr.c_str())); return false; } @@ -651,7 +651,7 @@ int main(int argc, char *argv[]) exit(0); // Start up the payment server early, too, so impatient users that click on - // darknet: links repeatedly have their payment requests routed to this process: + // pivx: links repeatedly have their payment requests routed to this process: app.createPaymentServer(); #endif @@ -683,7 +683,7 @@ int main(int argc, char *argv[]) app.createWindow(networkStyle.data()); app.requestInitialize(); #if defined(Q_OS_WIN) && QT_VERSION >= 0x050000 - WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("DarkNet Core didn't yet exit safely..."), (HWND)app.getMainWinId()); + WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("PIVX Core didn't yet exit safely..."), (HWND)app.getMainWinId()); #endif app.exec(); app.requestShutdown(); diff --git a/src/qt/darknet.qrc b/src/qt/pivx.qrc similarity index 66% rename from src/qt/darknet.qrc rename to src/qt/pivx.qrc index eb0c5688fbdc1..3ef26df354356 100644 --- a/src/qt/darknet.qrc +++ b/src/qt/pivx.qrc @@ -37,57 +37,37 @@ res/icons/tx_input.png res/icons/tx_output.png res/icons/tx_inout.png - res/icons/unit_darknet.png - res/icons/unit_mdarknet.png - res/icons/unit_udarknet.png - res/icons/unit_tdarknet.png - res/icons/unit_tmdarknet.png - res/icons/unit_tudarknet.png + res/icons/unit_pivx.png + res/icons/unit_mpivx.png + res/icons/unit_upivx.png + res/icons/unit_tpivx.png + res/icons/unit_tmpivx.png + res/icons/unit_tupivx.png res/icons/lock_closed.png res/icons/lock_open.png res/icons/key.png res/icons/filesave.png res/icons/qrcode.png res/icons/debugwindow.png - res/icons/drk_editpaste.png - res/icons/drk_address-book.png - res/icons/drk_editcopy.png - res/icons/drk_remove.png - res/icons/drkblue_editpaste.png - res/icons/drkblue_address-book.png - res/icons/drkblue_editcopy.png - res/icons/drkblue_remove.png res/icons/browse.png res/icons/staking_active.png res/icons/staking_inactive.png - res/css/drk.css - res/css/drk-1.css - res/css/drkblue.css + res/css/default.css res/images/about.png - res/images/darknet_logo_horizontal.png - res/images/darknet_logo_horizontal-drk.png - res/images/darknet_logo_horizontal-drkblue.png - res/images/drk_downArrow.png - res/images/drk_downArrow_small.png - res/images/drk_upArrow_small.png - res/images/drk_leftArrow_small.png - res/images/drk_rightArrow_small.png - res/images/drk_qtreeview_selected.png - res/images/drk_walletFrame_bg.png - res/images/drk-1_walletFrame_bg.png - res/images/drk_walletFrame.png - res/images/drkblue_downArrow.png - res/images/drkblue_downArrow_small.png - res/images/drkblue_upArrow_small.png - res/images/drkblue_leftArrow_small.png - res/images/drkblue_rightArrow_small.png - res/images/drkblue_qtreeview_selected.png - res/images/drkblue_walletFrame_bg.png - res/images/drkblue_walletFrame.png + res/images/pivx_logo_horizontal.png + res/images/downArrow.png + res/images/downArrow_small.png + res/images/upArrow_small.png + res/images/leftArrow_small.png + res/images/rightArrow_small.png + res/images/qtreeview_selected.png + res/images/walletFrame_bg.png + res/images/walletFrame_bg.png + res/images/walletFrame.png res/images/splash.png res/images/splash_testnet.png diff --git a/src/qt/pivx_locale.qrc b/src/qt/pivx_locale.qrc new file mode 100644 index 0000000000000..38c82eee78b1a --- /dev/null +++ b/src/qt/pivx_locale.qrc @@ -0,0 +1,20 @@ + + + locale/pivx_bg.qm + locale/pivx_de.qm + locale/pivx_en.qm + locale/pivx_es.qm + locale/pivx_fi.qm + locale/pivx_fr.qm + locale/pivx_it.qm + locale/pivx_ja.qm + locale/pivx_pl.qm + locale/pivx_pt.qm + locale/pivx_ru.qm + locale/pivx_sk.qm + locale/pivx_sv.qm + locale/pivx_vi.qm + locale/pivx_zh_CN.qm + locale/pivx_zh_TW.qm + + diff --git a/src/qt/pivxstrings.cpp b/src/qt/pivxstrings.cpp new file mode 100644 index 0000000000000..642ac0c60f094 --- /dev/null +++ b/src/qt/pivxstrings.cpp @@ -0,0 +1,442 @@ + + +#include + +// Automatically generated by extract_strings.py +#ifdef __GNUC__ +#define UNUSED __attribute__((unused)) +#else +#define UNUSED +#endif +static const char UNUSED *pivx_strings[] = { +QT_TRANSLATE_NOOP("pivx-core", "" +"(1 = keep tx meta data e.g. account owner and payment request information, 2 " +"= drop tx meta data)"), +QT_TRANSLATE_NOOP("pivx-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("pivx-core", "" +"An error occurred while setting up the RPC address %s port %u for listening: " +"%s"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Bind to given address and always listen on it. Use [host]:port notation for " +"IPv6"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Bind to given address and whitelist peers connecting to it. Use [host]:port " +"notation for IPv6"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Bind to given address to listen for JSON-RPC connections. Use [host]:port " +"notation for IPv6. This option can be specified multiple times (default: " +"bind to all interfaces)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Cannot obtain a lock on data directory %s. PIVX Core is probably already " +"running."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Change automatic finalized budget voting behavior. mode=auto: Vote for only " +"exact finalized budget match to my generated budget. (string, default: auto)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Continuously rate-limit free transactions to *1000 bytes per minute " +"(default:%u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Create new files with system default permissions, instead of umask 077 (only " +"effective with disabled wallet functionality)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Obfuscation uses exact denominated amounts to send funds, you might simply need " +"to anonymize some more coins."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Delete all wallet transactions and only recover those parts of the " +"blockchain through -rescan on startup"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Disable all PIVX specific functionality (Masternodes, Obfuscation, SwiftTX, " +"Budgeting) (0-1, default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Distributed under the MIT software license, see the accompanying file " +"COPYING or ."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Enable swifttx, show confirmations for locked transactions (bool, default: " +"%s)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Enable use of automated obfuscation for funds stored in this wallet (0-1, " +"default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Enter regression test mode, which uses a special chain in which blocks can " +"be solved instantly."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Error: Listening for incoming connections failed (listen returned error %s)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Error: Unsupported argument -socks found. Setting SOCKS version isn't " +"possible anymore, only SOCKS5 proxies are supported."), +QT_TRANSLATE_NOOP("pivx-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("pivx-core", "" +"Execute command when a wallet transaction changes (%s in cmd is replaced by " +"TxID)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Execute command when the best block changes (%s in cmd is replaced by block " +"hash)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Fees (in PIV/Kb) smaller than this are considered zero fee for relaying " +"(default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Fees (in PIV/Kb) smaller than this are considered zero fee for transaction " +"creation (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Flush database activity from memory pool to disk log every megabytes " +"(default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Found unconfirmed denominated outputs, will wait till they confirm to " +"continue."), +QT_TRANSLATE_NOOP("pivx-core", "" +"How thorough the block verification of -checkblocks is (0-4, default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"If paytxfee is not set, include enough fee so transactions begin " +"confirmation on average within n blocks (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"In this mode -genproclimit controls how many blocks are generated " +"immediately."), +QT_TRANSLATE_NOOP("pivx-core", "" +"SwiftTX requires inputs with at least 6 confirmations, you might need to " +"wait a few minutes and try again."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Invalid amount for -maxtxfee=: '%s' (must be at least the minrelay " +"fee of %s to prevent stuck transactions)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Log transaction priority and fee per kB when mining blocks (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Maintain a full transaction index, used by the getrawtransaction rpc call " +"(default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Maximum size of data in data carrier transactions we relay and mine " +"(default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Maximum total fees to use in a single wallet transaction, setting too low " +"may abort large transactions (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Name to construct url for KeePass entry that stores the wallet passphrase"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Number of seconds to keep misbehaving peers from reconnecting (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Output debugging information (default: %u, supplying is optional)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Provide liquidity to Obfuscation by infrequently mixing coins on a continual " +"basis (0-100, default: %u, 1=very frequent, high fees, 100=very infrequent, " +"low fees)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Query for peer addresses via DNS lookup, if low on addresses (default: 1 " +"unless -connect)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Require high priority for relaying free or low-fee transactions (default:%u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Send trace/debug info to console instead of debug.log file (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Set maximum size of high-priority/low-fee transactions in bytes (default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Set the number of script verification threads (%u to %d, 0 = auto, <0 = " +"leave that many cores free, default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Set the number of threads for coin generation if enabled (-1 = all cores, " +"default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Show N confirmations for a successfully locked transaction (0-9999, default: " +"%u)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"This is a pre-release test build - use at your own risk - do not use for " +"mining or merchant applications"), +QT_TRANSLATE_NOOP("pivx-core", "" +"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."), +QT_TRANSLATE_NOOP("pivx-core", "" +"To use pivxd, or the -server option to pivx-qt, you must set an rpcpassword " +"in the configuration file:\n" +"%s\n" +"It is recommended you use the following random password:\n" +"rpcuser=pivxrpc\n" +"rpcpassword=%s\n" +"(you do not need to remember this password)\n" +"The username and password MUST NOT be the same.\n" +"If the file does not exist, create it with owner-readable-only file " +"permissions.\n" +"It is also recommended to set alertnotify so you are notified of problems;\n" +"for example: alertnotify=echo %%s | mail -s \"PIVX Alert\" admin@foo.com\n"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Unable to bind to %s on this computer. PIVX Core is probably already running."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Unable to locate enough Obfuscation denominated funds for this transaction."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Unable to locate enough Obfuscation non-denominated funds for this transaction " +"that are not equal 10000 PIV."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Unable to locate enough funds for this transaction that are not equal 1000 " +"PIV."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: " +"%s)"), +QT_TRANSLATE_NOOP("pivx-core", "" +"Warning: -maxtxfee is set very high! Fees this large could be paid on a " +"single transaction."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Warning: -paytxfee is set very high! This is the transaction fee you will " +"pay if you send a transaction."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Warning: Please check that your computer's date and time are correct! If " +"your clock is wrong PIVX Core will not work properly."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Warning: The network does not appear to fully agree! Some miners appear to " +"be experiencing issues."), +QT_TRANSLATE_NOOP("pivx-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("pivx-core", "" +"Warning: error reading wallet.dat! All keys read correctly, but transaction " +"data or address book entries might be missing or incorrect."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Warning: wallet.dat corrupt, data salvaged! Original wallet.dat saved as " +"wallet.{timestamp}.bak in %s; if your balance or transactions are incorrect " +"you should restore from a backup."), +QT_TRANSLATE_NOOP("pivx-core", "" +"Whitelist peers connecting from the given netmask or IP address. Can be " +"specified multiple times."), +QT_TRANSLATE_NOOP("pivx-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("pivx-core", "" +"You must specify a masternodeprivkey in the configuration. Please see " +"documentation for help."), +QT_TRANSLATE_NOOP("pivx-core", "(51472 could be used only on mainnet)"), +QT_TRANSLATE_NOOP("pivx-core", "(default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "(default: 1)"), +QT_TRANSLATE_NOOP("pivx-core", "(must be51472 for mainnet)"), +QT_TRANSLATE_NOOP("pivx-core", " can be:\n"), +QT_TRANSLATE_NOOP("pivx-core", "Accept command line and JSON-RPC commands"), +QT_TRANSLATE_NOOP("pivx-core", "Accept connections from outside (default: 1 if no -proxy or -connect)"), +QT_TRANSLATE_NOOP("pivx-core", "Accept public REST requests (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Acceptable ciphers (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Add a node to connect to and attempt to keep the connection open"), +QT_TRANSLATE_NOOP("pivx-core", "Allow DNS lookups for -addnode, -seednode and -connect"), +QT_TRANSLATE_NOOP("pivx-core", "Already have that input."), +QT_TRANSLATE_NOOP("pivx-core", "Always query for peer addresses via DNS lookup (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Attempt to recover private keys from a corrupt wallet.dat"), +QT_TRANSLATE_NOOP("pivx-core", "Block creation options:"), +QT_TRANSLATE_NOOP("pivx-core", "Can't denominate: no compatible inputs left."), +QT_TRANSLATE_NOOP("pivx-core", "Can't find random Masternode."), +QT_TRANSLATE_NOOP("pivx-core", "Can't mix while sync in progress."), +QT_TRANSLATE_NOOP("pivx-core", "Cannot downgrade wallet"), +QT_TRANSLATE_NOOP("pivx-core", "Cannot resolve -bind address: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Cannot resolve -externalip address: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Cannot resolve -whitebind address: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Cannot write default address"), +QT_TRANSLATE_NOOP("pivx-core", "Collateral not valid."), +QT_TRANSLATE_NOOP("pivx-core", "Connect only to the specified node(s)"), +QT_TRANSLATE_NOOP("pivx-core", "Connect through SOCKS5 proxy"), +QT_TRANSLATE_NOOP("pivx-core", "Connect to KeePassHttp on port (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Connect to a node to retrieve peer addresses, and disconnect"), +QT_TRANSLATE_NOOP("pivx-core", "Connection options:"), +QT_TRANSLATE_NOOP("pivx-core", "Copyright (C) 2009-%i The Bitcoin Core Developers"), +QT_TRANSLATE_NOOP("pivx-core", "Copyright (C) 2015-%i The PIVX Core Developers"), +QT_TRANSLATE_NOOP("pivx-core", "Corrupted block database detected"), +QT_TRANSLATE_NOOP("pivx-core", "Could not parse -rpcbind value %s as network address"), +QT_TRANSLATE_NOOP("pivx-core", "Could not parse masternode.conf"), +QT_TRANSLATE_NOOP("pivx-core", "Obfuscation is idle."), +QT_TRANSLATE_NOOP("pivx-core", "Obfuscation options:"), +QT_TRANSLATE_NOOP("pivx-core", "Obfuscation request complete:"), +QT_TRANSLATE_NOOP("pivx-core", "Obfuscation request incomplete:"), +QT_TRANSLATE_NOOP("pivx-core", "Debugging/Testing options:"), +QT_TRANSLATE_NOOP("pivx-core", "Disable safemode, override a real safe mode event (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Discover own IP address (default: 1 when listening and no -externalip)"), +QT_TRANSLATE_NOOP("pivx-core", "Do not load the wallet and disable wallet RPC calls"), +QT_TRANSLATE_NOOP("pivx-core", "Do you want to rebuild the block database now?"), +QT_TRANSLATE_NOOP("pivx-core", "Done loading"), +QT_TRANSLATE_NOOP("pivx-core", "Enable the client to act as a masternode (0-1, default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Entries are full."), +QT_TRANSLATE_NOOP("pivx-core", "Error connecting to Masternode."), +QT_TRANSLATE_NOOP("pivx-core", "Error initializing block database"), +QT_TRANSLATE_NOOP("pivx-core", "Error initializing wallet database environment %s!"), +QT_TRANSLATE_NOOP("pivx-core", "Error loading block database"), +QT_TRANSLATE_NOOP("pivx-core", "Error loading wallet.dat"), +QT_TRANSLATE_NOOP("pivx-core", "Error loading wallet.dat: Wallet corrupted"), +QT_TRANSLATE_NOOP("pivx-core", "Error loading wallet.dat: Wallet requires newer version of PIVX Core"), +QT_TRANSLATE_NOOP("pivx-core", "Error opening block database"), +QT_TRANSLATE_NOOP("pivx-core", "Error reading from database, shutting down."), +QT_TRANSLATE_NOOP("pivx-core", "Error recovering public key."), +QT_TRANSLATE_NOOP("pivx-core", "Error"), +QT_TRANSLATE_NOOP("pivx-core", "Error: A fatal internal error occured, see debug.log for details"), +QT_TRANSLATE_NOOP("pivx-core", "Error: Can't select current denominated inputs"), +QT_TRANSLATE_NOOP("pivx-core", "Error: Disk space is low!"), +QT_TRANSLATE_NOOP("pivx-core", "Error: Unsupported argument -tor found, use -onion."), +QT_TRANSLATE_NOOP("pivx-core", "Error: Wallet locked, unable to create transaction!"), +QT_TRANSLATE_NOOP("pivx-core", "Error: You already have pending entries in the Obfuscation pool"), +QT_TRANSLATE_NOOP("pivx-core", "Failed to listen on any port. Use -listen=0 if you want this."), +QT_TRANSLATE_NOOP("pivx-core", "Failed to read block"), +QT_TRANSLATE_NOOP("pivx-core", "Fee (in PIV/kB) to add to transactions you send (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Finalizing transaction."), +QT_TRANSLATE_NOOP("pivx-core", "Force safe mode (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Found enough users, signing ( waiting %s )"), +QT_TRANSLATE_NOOP("pivx-core", "Found enough users, signing ..."), +QT_TRANSLATE_NOOP("pivx-core", "Generate coins (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "How many blocks to check at startup (default: %u, 0 = all)"), +QT_TRANSLATE_NOOP("pivx-core", "If is not supplied, output all debugging information."), +QT_TRANSLATE_NOOP("pivx-core", "Importing..."), +QT_TRANSLATE_NOOP("pivx-core", "Imports blocks from external blk000??.dat file"), +QT_TRANSLATE_NOOP("pivx-core", "Include IP addresses in debug output (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Incompatible mode."), +QT_TRANSLATE_NOOP("pivx-core", "Incompatible version."), +QT_TRANSLATE_NOOP("pivx-core", "Incorrect or no genesis block found. Wrong datadir for network?"), +QT_TRANSLATE_NOOP("pivx-core", "Information"), +QT_TRANSLATE_NOOP("pivx-core", "Initialization sanity check failed. PIVX Core is shutting down."), +QT_TRANSLATE_NOOP("pivx-core", "Input is not valid."), +QT_TRANSLATE_NOOP("pivx-core", "SwiftTX options:"), +QT_TRANSLATE_NOOP("pivx-core", "Insufficient funds."), +QT_TRANSLATE_NOOP("pivx-core", "Invalid -onion address: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid -proxy address: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid amount for -maxtxfee=: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid amount for -minrelaytxfee=: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid amount for -mintxfee=: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid amount for -paytxfee=: '%s' (must be at least %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid amount for -paytxfee=: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid masternodeprivkey. Please see documenation."), +QT_TRANSLATE_NOOP("pivx-core", "Invalid netmask specified in -whitelist: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid port detected in masternode.conf"), +QT_TRANSLATE_NOOP("pivx-core", "Invalid private key."), +QT_TRANSLATE_NOOP("pivx-core", "Invalid script detected."), +QT_TRANSLATE_NOOP("pivx-core", "KeePassHttp id for the established association"), +QT_TRANSLATE_NOOP("pivx-core", "KeePassHttp key for AES encrypted communication with KeePass"), +QT_TRANSLATE_NOOP("pivx-core", "Keep N PIV anonymized (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Keep at most unconnectable transactions in memory (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Last Obfuscation was too recent."), +QT_TRANSLATE_NOOP("pivx-core", "Last successful Obfuscation action was too recent."), +QT_TRANSLATE_NOOP("pivx-core", "Limit size of signature cache to entries (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Line: %d"), +QT_TRANSLATE_NOOP("pivx-core", "Listen for JSON-RPC connections on (default: %u or testnet: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Listen for connections on (default: %u or testnet: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Loading addresses..."), +QT_TRANSLATE_NOOP("pivx-core", "Loading block index..."), +QT_TRANSLATE_NOOP("pivx-core", "Loading budget cache..."), +QT_TRANSLATE_NOOP("pivx-core", "Loading masternode cache..."), +QT_TRANSLATE_NOOP("pivx-core", "Loading masternode payment cache..."), +QT_TRANSLATE_NOOP("pivx-core", "Loading wallet... (%3.2f %%)"), +QT_TRANSLATE_NOOP("pivx-core", "Loading wallet..."), +QT_TRANSLATE_NOOP("pivx-core", "Lock is already in place."), +QT_TRANSLATE_NOOP("pivx-core", "Lock masternodes from masternode configuration file (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Maintain at most connections to peers (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Masternode options:"), +QT_TRANSLATE_NOOP("pivx-core", "Masternode queue is full."), +QT_TRANSLATE_NOOP("pivx-core", "Masternode:"), +QT_TRANSLATE_NOOP("pivx-core", "Maximum per-connection receive buffer, *1000 bytes (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Maximum per-connection send buffer, *1000 bytes (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Missing input transaction information."), +QT_TRANSLATE_NOOP("pivx-core", "Mixing in progress..."), +QT_TRANSLATE_NOOP("pivx-core", "Need to specify a port with -whitebind: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "No Masternodes detected."), +QT_TRANSLATE_NOOP("pivx-core", "No compatible Masternode found."), +QT_TRANSLATE_NOOP("pivx-core", "No funds detected in need of denominating."), +QT_TRANSLATE_NOOP("pivx-core", "No matching denominations found for mixing."), +QT_TRANSLATE_NOOP("pivx-core", "Node relay options:"), +QT_TRANSLATE_NOOP("pivx-core", "Non-standard public key detected."), +QT_TRANSLATE_NOOP("pivx-core", "Not compatible with existing transactions."), +QT_TRANSLATE_NOOP("pivx-core", "Not enough file descriptors available."), +QT_TRANSLATE_NOOP("pivx-core", "Not in the Masternode list."), +QT_TRANSLATE_NOOP("pivx-core", "Number of automatic wallet backups (default: 10)"), +QT_TRANSLATE_NOOP("pivx-core", "Only accept block chain matching built-in checkpoints (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Only connect to nodes in network (ipv4, ipv6 or onion)"), +QT_TRANSLATE_NOOP("pivx-core", "Options:"), +QT_TRANSLATE_NOOP("pivx-core", "Password for JSON-RPC connections"), +QT_TRANSLATE_NOOP("pivx-core", "Prepend debug output with timestamp (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)"), +QT_TRANSLATE_NOOP("pivx-core", "RPC server options:"), +QT_TRANSLATE_NOOP("pivx-core", "RPC support for HTTP persistent connections (default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "Randomly drop 1 of every network messages"), +QT_TRANSLATE_NOOP("pivx-core", "Randomly fuzz 1 of every network messages"), +QT_TRANSLATE_NOOP("pivx-core", "Rebuild block chain index from current blk000??.dat files"), +QT_TRANSLATE_NOOP("pivx-core", "Receive and display P2P network alerts (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Relay and mine data carrier transactions (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Relay non-P2SH multisig (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Rescan the block chain for missing wallet transactions"), +QT_TRANSLATE_NOOP("pivx-core", "Rescanning..."), +QT_TRANSLATE_NOOP("pivx-core", "Run a thread to flush wallet periodically (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Run in the background as a daemon and accept commands"), +QT_TRANSLATE_NOOP("pivx-core", "Send trace/debug info to debug.log file (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Send transactions as zero-fee transactions if possible (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Server certificate file (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Server private key (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Session not complete!"), +QT_TRANSLATE_NOOP("pivx-core", "Session timed out."), +QT_TRANSLATE_NOOP("pivx-core", "Set database cache size in megabytes (%d to %d, default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "Set external address:port to get to this masternode (example: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Set key pool size to (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Set maximum block size in bytes (default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "Set minimum block size in bytes (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Set the masternode private key"), +QT_TRANSLATE_NOOP("pivx-core", "Set the number of threads to service RPC calls (default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "Sets the DB_PRIVATE flag in the wallet db environment (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Show all debugging options (usage: --help -help-debug)"), +QT_TRANSLATE_NOOP("pivx-core", "Shrink debug.log file on client startup (default: 1 when no -debug)"), +QT_TRANSLATE_NOOP("pivx-core", "Signing failed."), +QT_TRANSLATE_NOOP("pivx-core", "Signing timed out."), +QT_TRANSLATE_NOOP("pivx-core", "Signing transaction failed"), +QT_TRANSLATE_NOOP("pivx-core", "Specify configuration file (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Specify connection timeout in milliseconds (minimum: 1, default: %d)"), +QT_TRANSLATE_NOOP("pivx-core", "Specify data directory"), +QT_TRANSLATE_NOOP("pivx-core", "Specify masternode configuration file (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Specify pid file (default: %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Specify wallet file (within data directory)"), +QT_TRANSLATE_NOOP("pivx-core", "Specify your own public address"), +QT_TRANSLATE_NOOP("pivx-core", "Spend unconfirmed change when sending transactions (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Stop running after importing blocks from disk (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Submitted following entries to masternode: %u / %d"), +QT_TRANSLATE_NOOP("pivx-core", "Submitted to masternode, waiting for more entries ( %u / %d ) %s"), +QT_TRANSLATE_NOOP("pivx-core", "Submitted to masternode, waiting in queue %s"), +QT_TRANSLATE_NOOP("pivx-core", "Synchronization failed"), +QT_TRANSLATE_NOOP("pivx-core", "Synchronization finished"), +QT_TRANSLATE_NOOP("pivx-core", "Synchronization pending..."), +QT_TRANSLATE_NOOP("pivx-core", "Synchronizing budgets..."), +QT_TRANSLATE_NOOP("pivx-core", "Synchronizing masternode winners..."), +QT_TRANSLATE_NOOP("pivx-core", "Synchronizing masternodes..."), +QT_TRANSLATE_NOOP("pivx-core", "Synchronizing sporks..."), +QT_TRANSLATE_NOOP("pivx-core", "This help message"), +QT_TRANSLATE_NOOP("pivx-core", "This is experimental software."), +QT_TRANSLATE_NOOP("pivx-core", "This is intended for regression testing tools and app development."), +QT_TRANSLATE_NOOP("pivx-core", "This is not a Masternode."), +QT_TRANSLATE_NOOP("pivx-core", "Threshold for disconnecting misbehaving peers (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Transaction amount too small"), +QT_TRANSLATE_NOOP("pivx-core", "Transaction amounts must be positive"), +QT_TRANSLATE_NOOP("pivx-core", "Transaction created successfully."), +QT_TRANSLATE_NOOP("pivx-core", "Transaction fees are too high."), +QT_TRANSLATE_NOOP("pivx-core", "Transaction not valid."), +QT_TRANSLATE_NOOP("pivx-core", "Transaction too large for fee policy"), +QT_TRANSLATE_NOOP("pivx-core", "Transaction too large"), +QT_TRANSLATE_NOOP("pivx-core", "Transmitting final transaction."), +QT_TRANSLATE_NOOP("pivx-core", "Unable to bind to %s on this computer (bind returned error %s)"), +QT_TRANSLATE_NOOP("pivx-core", "Unable to sign spork message, wrong key?"), +QT_TRANSLATE_NOOP("pivx-core", "Unknown network specified in -onlynet: '%s'"), +QT_TRANSLATE_NOOP("pivx-core", "Unknown state: id = %u"), +QT_TRANSLATE_NOOP("pivx-core", "Upgrade wallet to latest format"), +QT_TRANSLATE_NOOP("pivx-core", "Use KeePass 2 integration using KeePassHttp plugin (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Use N separate masternodes to anonymize funds (2-8, default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Use OpenSSL (https) for JSON-RPC connections"), +QT_TRANSLATE_NOOP("pivx-core", "Use UPnP to map the listening port (default: %u)"), +QT_TRANSLATE_NOOP("pivx-core", "Use UPnP to map the listening port (default: 1 when listening)"), +QT_TRANSLATE_NOOP("pivx-core", "Use the test network"), +QT_TRANSLATE_NOOP("pivx-core", "Username for JSON-RPC connections"), +QT_TRANSLATE_NOOP("pivx-core", "Value more than Obfuscation pool maximum allows."), +QT_TRANSLATE_NOOP("pivx-core", "Verifying blocks..."), +QT_TRANSLATE_NOOP("pivx-core", "Verifying wallet..."), +QT_TRANSLATE_NOOP("pivx-core", "Wallet %s resides outside data directory %s"), +QT_TRANSLATE_NOOP("pivx-core", "Wallet is locked."), +QT_TRANSLATE_NOOP("pivx-core", "Wallet needed to be rewritten: restart PIVX Core to complete"), +QT_TRANSLATE_NOOP("pivx-core", "Wallet options:"), +QT_TRANSLATE_NOOP("pivx-core", "Wallet window title"), +QT_TRANSLATE_NOOP("pivx-core", "Warning"), +QT_TRANSLATE_NOOP("pivx-core", "Warning: This version is obsolete, upgrade required!"), +QT_TRANSLATE_NOOP("pivx-core", "Warning: Unsupported argument -benchmark ignored, use -debug=bench."), +QT_TRANSLATE_NOOP("pivx-core", "Warning: Unsupported argument -debugnet ignored, use -debug=net."), +QT_TRANSLATE_NOOP("pivx-core", "Will retry..."), +QT_TRANSLATE_NOOP("pivx-core", "You need to rebuild the database using -reindex to change -txindex"), +QT_TRANSLATE_NOOP("pivx-core", "Your entries added successfully."), +QT_TRANSLATE_NOOP("pivx-core", "Your transaction was accepted into the pool!"), +QT_TRANSLATE_NOOP("pivx-core", "Zapping all transactions from wallet..."), +QT_TRANSLATE_NOOP("pivx-core", "on startup"), +QT_TRANSLATE_NOOP("pivx-core", "wallet.dat corrupt, salvage failed"), +}; diff --git a/src/qt/recentrequeststablemodel.h b/src/qt/recentrequeststablemodel.h index 0a61e2a226a44..ca897aba976c7 100644 --- a/src/qt/recentrequeststablemodel.h +++ b/src/qt/recentrequeststablemodel.h @@ -53,7 +53,7 @@ class RecentRequestEntryLessThan Qt::SortOrder order; }; -/** Model for list of recently generated payment requests / darknet: URIs. +/** Model for list of recently generated payment requests / pivx: URIs. * Part of wallet model. */ class RecentRequestsTableModel: public QAbstractTableModel diff --git a/src/qt/res/css/default.css b/src/qt/res/css/default.css new file mode 100755 index 0000000000000..8d40e2d839f17 --- /dev/null +++ b/src/qt/res/css/default.css @@ -0,0 +1,1554 @@ +/****************************************************************************************/ +/*************** [COLOR CODES] DARK PURPLE:#382F44 LIGHT PURPLE:#5B4C7C *****************/ +/****************************************************************************************/ + + +WalletFrame { +border-image: url(':/images/walletFrame_bg') 0 0 0 0 stretch stretch; +border-top:0px solid #000; +margin:0; +padding:0; +} + +QStatusBar { +background-color:#ffffff; +} + +.QFrame { +background-color:transparent; +border:0px solid #fff; +} + +QMenuBar { +background-color:#fff; +} + +QMenuBar::item { +background-color:#fff; +} + +QMenuBar::item:selected { +background-color:#f8f6f6; +} + +QMenu { +background-color:#f8f6f6; +} + +QMenu::item { +color:#333; +} + +QMenu::item:selected { +background-color:#f2f0f0; +color:#333; +} + +QToolBar { +background-color:#382F44; +border:0px solid #000; +padding:0; +margin:0; +} + +QToolBar > QToolButton { +background-color:#382F44; +border:0px solid #333; +min-height:2.5em; +padding: 0em 1em; +font-weight:bold; +color:#fff; +} + +QToolBar > QToolButton:checked { +background-color:#fff; +color:#333; +font-weight:bold; +} + +QMessageBox { +background-color:#F8F6F6; +} + +QProgressBar { + color: #d2d2d2; + border: 2px solid grey; + border-radius: 5px; + background-color:transparent; + } + + QProgressBar::chunk { + background-color: #5B4C7C; + width: 20px; + } + +/****************************************************************************************/ + +QLabel { /* Base Text Size & Color */ +font-size:12px; +color:#333333; +} + +.QCheckBox { /* Checkbox Labels */ +color:#333333; +background-color:transparent; +} + +.QCheckBox:hover { +background-color:transparent; +} + +.QValidatedLineEdit, .QLineEdit { /* Text Entry Fields */ +border: 1px solid #5B4C7C; +font-size:11px; +min-height:25px; +outline:0; +padding:3px; +background-color:#fcfcfc; +} + +.QLineEdit:!focus { +font-size:12px; +} + +.QValidatedLineEdit:disabled, .QLineEdit:disabled { +background-color:#f2f2f2; +} + +/****************************************************************************************/ + +QPushButton { /* Global Button Style */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #64ACD2, stop: .1 #382f44, stop: .95 #382f44, stop: 1 #1D80B5); +border:0; +border-radius:3px; +color:#ffffff; +font-size:12px; +font-weight:bold; +padding-left:25px; +padding-right:25px; +padding-top:5px; +padding-bottom:5px; +} + +QPushButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #5B4C9A, stop: .1 #5B4C86, stop: .95 #5B4C86, stop: 1 #5B4C7C); +} + +QPushButton:focus { +border:none; +outline:none; +} + +QPushButton:pressed { +border:1px solid #333; +} + +QComboBox { /* Dropdown Menus */ +border:1px solid #5B4C7C; +padding: 3px 5px 3px 5px; +background:#fcfcfc; +min-height:25px; +color:#818181; +} + +QComboBox:checked { +background:#f2f2f2; +} + +QComboBox:editable { +background: #382f44; +color:#616161; +border:0px solid transparent; +} + +QComboBox::drop-down { +width:25px; +border:0px; +} + +QComboBox::down-arrow { +border-image: url(':/images/downArrow') 0 0 0 0 stretch stretch; +} + +QComboBox QListView { +background:#fff; +border:1px solid #333; +padding-right:1px; +padding-left:1px; +} + +QComboBox QAbstractItemView::item { margin:4px; } + +QComboBox::item { +color:#818181; +} + +QComboBox::item:alternate { +background:#fff; +} + +QComboBox::item:selected { +border:0px solid transparent; +background:#f2f2f2; +} + +QComboBox::indicator { +background-color:transparent; +selection-background-color:transparent; +color:transparent; +selection-color:transparent; +} + +QAbstractSpinBox { +border:1px solid #5B4C7C; +padding: 3px 5px 3px 5px; +background:#fcfcfc; +min-height:25px; +color:#818181; +} + +QAbstractSpinBox::up-button { +subcontrol-origin: border; +subcontrol-position: top right; +width:21px; +background:#fcfcfc; +border-left:0px; +border-right:1px solid #5B4C7C; +border-top:1px solid #5B4C7C; +border-bottom:0px; +padding-right:1px; +padding-left:5px; +padding-top:2px; +} + +QAbstractSpinBox::up-arrow { +image:url(':/images/upArrow_small'); +} + +QAbstractSpinBox::down-button { +subcontrol-origin: border; +subcontrol-position: bottom right; +width:21px; +background:#fcfcfc; +border-top:0px; +border-left:0px; +border-right:1px solid #5B4C7C; +border-bottom:1px solid #5B4C7C; +padding-right:1px; +padding-left:5px; +padding-bottom:2px; +} + +QAbstractSpinBox::down-arrow { +image:url(':/images/downArrow_small'); +} + +/****************************************************************************************/ + +QHeaderView { /* Table Header */ +background-color:transparent; +} + +QHeaderView::section { /* Table Header Sections */ +qproperty-alignment:center; +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.25, stop: 0 #382F44, stop: 1 #5B4C7C); +color:#fff; +min-height:25px; +font-weight:bold; +font-size:11px; +outline:0; +border:0px solid #fff; +border-right:1px solid #fff; +padding-left:5px; +padding-right:5px; +padding-top:2px; +padding-bottom:2px; +} + +QHeaderView::section:last { +border-right: 0px solid #d7d7d7; +} + +.QScrollArea { +background:transparent; +border:0px; +} + +.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */ +background:transparent; +border:0px solid #fff; +} + +QTableView::item { /* Table Item */ +background-color:#fcfcfc; +font-size:12px; +} + +QTableView::item:selected { /* Table Item Selected */ +background-color:#5B4C7C; +color:#FFFFFF; +} + +QScrollBar { /* Scroll Bar */ + +} + +QScrollBar:vertical { /* Vertical Scroll Bar Attributes */ +border:0; +background:#ffffff; +width:18px; +margin: 18px 0px 18px 0px; +} + +QScrollBar:horizontal { /* Horizontal Scroll Bar Attributes */ +border:0; +background:#ffffff; +height:18px; +margin: 0px 18px 0px 18px; +} + + +QScrollBar::handle:vertical { /* Scroll Bar Slider - vertical */ +background:#e0e0e0; +min-height:10px; +} + +QScrollBar::handle:horizontal { /* Scroll Bar Slider - horizontal */ +background:#e0e0e0; +min-width:10px; +} + +QScrollBar::add-page, QScrollBar::sub-page { /* Scroll Bar Background */ +background:#F8F6F6; +} + +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { /* Define Arrow Button Dimensions */ +background-color:#F8F6F6; +border: 1px solid #f2f0f0; +width:16px; +height:16px; +} + +QScrollBar::add-line:vertical:pressed, QScrollBar::sub-line:vertical:pressed, QScrollBar::add-line:horizontal:pressed, QScrollBar::sub-line:horizontal:pressed { +background-color:#e0e0e0; +} + +QScrollBar::sub-line:vertical { /* Vertical - top button position */ +subcontrol-position:top; +subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { /* Vertical - bottom button position */ +subcontrol-position:bottom; +subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { /* Vertical - left button position */ +subcontrol-position:left; +subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { /* Vertical - right button position */ +subcontrol-position:right; +subcontrol-origin: margin; +} + +QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */ +width:10px; +height:10px; +} + +QScrollBar:up-arrow { +background-image: url(':/images/upArrow_small'); +} + +QScrollBar:down-arrow { +background-image: url(':/images/downArrow_small'); +} + +QScrollBar:left-arrow { +background-image: url(':/images/leftArrow_small'); +} + +QScrollBar:right-arrow { +background-image: url(':/images/rightArrow_small'); +} + + +/**************************** DIALOG BOXES **********************************************/ + +QDialog .QTabWidget { +border-bottom:1px solid #333; +} + +QDialog .QTabWidget::pane { +border: 1px solid #d7d7d7; +} + +QDialog .QTabWidget QTabBar::tab { +background-color:#f2f0f0; +color:#333; +padding-left:10px; +padding-right:10px; +padding-top:5px; +padding-bottom:5px; +border-top: 1px solid #d7d7d7; +} + +QDialog .QTabWidget QTabBar::tab:first { +border-left: 1px solid #d7d7d7; +} + +QDialog .QTabWidget QTabBar::tab:last { +border-right: 1px solid #d7d7d7; +} + +QDialog .QTabWidget QTabBar::tab:selected, QDialog .QTabWidget QTabBar::tab:hover { +background-color:#ffffff; +color:#333; +} + +QDialog .QTabWidget .QWidget { +background-color:#fff; +color:#333; +} + +QDialog .QTabWidget .QWidget QAbstractSpinBox { +min-height:15px; +} + +QDialog .QTabWidget .QWidget QAbstractSpinBox::down-button { +width:15px; +} + +QDialog .QTabWidget .QWidget QAbstractSpinBox::up-button { +width:15px; +} + +QDialog .QTabWidget .QWidget QComboBox { +min-height:15px; +} + +QDialog QWidget { /* Remove Annoying Focus Rectangle */ +outline: 0; +} + +/**************************** FILE MENU *************************************************/ + +/* Dialog: Open URI */ +QDialog#OpenURIDialog { +background-color:#F8F6F6; +} + +QDialog#OpenURIDialog QLabel#label { /* URI Label */ +font-weight:bold; +} + +QDialog#OpenURIDialog QPushButton#selectFileButton { /* ... Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#OpenURIDialog QPushButton#selectFileButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#OpenURIDialog QPushButton#selectFileButton:pressed { +border:1px solid #9e9e9e; +} + +/**************************** SIGN/ VERIFY MESSAGE DIALOG *******************************/ + +QDialog#SignVerifyMessageDialog { +background-color:#F8F6F6; +} + +QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_SM { /* Address Book Button */ +background-color:transparent; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPlainTextEdit { /* Message Signing Text */ +border:1px solid #5B4C7C; +background-color:#fff; +} + +QDialog#SignVerifyMessageDialog QPushButton#pasteButton_SM { /* Paste Button */ +/* qproperty-icon: url(":/icons/editpaste"); */ +background-color:transparent; +padding-left:15px; +} + +QDialog#SignVerifyMessageDialog QLineEdit:!focus { /* Font Hack */ +font-size:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#copySignatureButton_SM { /* Copy Button */ +/* qproperty-icon: url(":/icons/editcopy"); */ +background-color:transparent; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM { /* Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_SM:pressed { +border:1px solid #9e9e9e; +} + +QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_VM { /* Verify Message - Address Book Button */ +background-color:transparent; +border:0; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM { /* Verify Message - Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SignVerifyMessageDialog QPushButton#clearButton_VM:pressed { +border:1px solid #9e9e9e; +} + +/**************************** SEND AND RECEIVE DIALOG ***********************************/ + +QWidget#AddressBookPage { +background-color:#F8F6F6; +} + +QWidget#AddressBookPage QPushButton#newAddress { /* New Address Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#AddressBookPage QPushButton#newAddress:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#AddressBookPage QPushButton#newAddress:pressed { +border:1px solid #9e9e9e; +} + +QWidget#AddressBookPage QPushButton#copyAddress { /* Copy Address Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#AddressBookPage QPushButton#copyAddress:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#AddressBookPage QPushButton#copyAddress:pressed { +border:1px solid #9e9e9e; +} + +QWidget#AddressBookPage QPushButton#deleteAddress { /* Delete Address Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#AddressBookPage QPushButton#deleteAddress:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#AddressBookPage QPushButton#deleteAddress:pressed { +border:1px solid #9e9e9e; +} + +QWidget#AddressBookPage QTableView { /* Address Listing */ +font-size:12px; +} + +QWidget#AddressBookPage QHeaderView::section { /* Min width for Windows fix */ +min-width:260px; +} + +/**************************** SETTINGS MENU *********************************************/ + +/* Encrypt Wallet and Change Passphrase Dialog */ +QDialog#AskPassphraseDialog { +background-color:#F8F6F6; +} + +QDialog#AskPassphraseDialog QLabel#passLabel1, QDialog#AskPassphraseDialog QLabel#passLabel2, QDialog#AskPassphraseDialog QLabel#passLabel3 { +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:170px; +min-height:33px; /* base width of 25px for QLineEdit, plus padding and border */ +} + +/* Options Dialog */ +QDialog#OptionsDialog { +background-color:#F8F6F6; +} + +QDialog#OptionsDialog QValueComboBox, QDialog#OptionsDialog QSpinBox { +margin-top:5px; +margin-bottom:5px; +} + +QDialog#OptionsDialog QValidatedLineEdit, QDialog#OptionsDialog QValidatedLineEdit:disabled, QDialog#OptionsDialog QLineEdit, QDialog#OptionsDialog QLineEdit:disabled { +qproperty-alignment: 'AlignVCenter | AlignLeft'; +min-height:20px; +margin-top:0px; +margin-bottom:0px; +padding-top:1px; +padding-bottom:1px; +} + +QDialog#OptionsDialog > QLabel { +qproperty-alignment: 'AlignVCenter'; +min-height:20px; +} + +QDialog#OptionsDialog QWidget#tabDisplay QValueComboBox { +margin-top:0px; +margin-bottom:0px; +} + +QDialog#OptionsDialog QLabel#label_3 { /* Translations Missing? Label */ +qproperty-alignment: 'AlignVCenter | AlignCenter'; +color:#818181; +padding-bottom:8px; +} + +QDialog#OptionsDialog QCheckBox { +qproperty-alignment: 'AlignVCenter'; +min-height:20px; +} + +QDialog#OptionsDialog QCheckBox#displayAddresses { +min-height:33px; +} + +/**************************** TOOLS MENU ************************************************/ + +QDialog#RPCConsole { /* RPC Console Dialog Box */ +background-color:#F8F6F6; +} + +QDialog#RPCConsole QWidget#tab_info QLabel#label_11, QDialog#RPCConsole QWidget#tab_info QLabel#label_10 { /* Margin between Network and Block Chain headers */ +qproperty-alignment: 'AlignBottom'; +min-height:25px; +min-width:180px; +} + +QDialog#RPCConsole QWidget#tab_peers QLabel#peerHeading { /* Peers Info Header */ +color:#382f44; +} + +QDialog#RPCConsole QPushButton#openDebugLogfileButton { +max-width:60px; +} + +QDialog#RPCConsole QTextEdit#messagesWidget { /* Console Messages Window */ +border:0; +} + +QDialog#RPCConsole QLineEdit#lineEdit { /* Console Input */ +margin-right:5px; +} + +QDialog#RPCConsole QPushButton#clearButton { /* Console Clear Button */ +background-color:transparent; +padding-left:10px; +padding-right:10px; +} + +QDialog#RPCConsole .QGroupBox #line { /* Network In Line */ +background-color:#5B4C7C; +} + +QDialog#RPCConsole .QGroupBox #line_2 { /* Network Out Line */ +background:#FFFFFF; +} + +/**************************** HELP MENU *************************************************/ + +/* Command Line Options Dialog */ +QDialog#HelpMessageDialog { +background-color:#F8F6F6; +} + +QDialog#HelpMessageDialog QScrollArea * { +background-color:#ffffff; +} + +QDialog#HelpMessageDialog QScrollBar:vertical, QDialog#HelpMessageDialog QScrollBar:horizontal { +border:0; +} + +/* About Pivx Dialog */ +QDialog#AboutDialog { +background-color:#F8F6F6; +} + +QDialog#AboutDialog QLabel#label, QDialog#AboutDialog QLabel#copyrightLabel, QDialog#AboutDialog QLabel#label_2 { /* About Pivx Contents */ +margin-left:10px; +} + +QDialog#AboutDialog QLabel#label_2 { /* Margin for About Pivx text */ +margin-right:10px; +} + +/* Edit Address Dialog */ +QDialog#EditAddressDialog { +background-color:#F8F6F6; +} + +QDialog#EditAddressDialog QLabel { +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-height:27px; +font-weight:normal; +padding-right:5px; +} + +/**************************** OVERVIEW SCREEN *******************************************/ + +QWidget .QFrame#frame { /* Wallet Balance */ +min-width:490px; +} + +QWidget .QFrame#frame > .QLabel { +min-width:190px; +font-weight:normal; +min-height:30px; +} + +QWidget .QFrame#frame .QLabel#label_5 { /* Wallet Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:transparent; +color:#fff; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelWalletStatus { /* Wallet Sync Status */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +margin-left:3px; +} + +QWidget .QFrame#frame .QLabel#labelSpendable { /* Spendable Header */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:18px; +} + +QWidget .QFrame#frame .QLabel#labelWatchonly { /* Watch-only Header */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelBalanceText { /* Available Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#5B4C7C; +color:#fff; +margin-right:5px; +padding-right:5px; +font-weight:bold; +font-size:14px; +min-height:35px; +} + +QWidget .QFrame#frame .QLabel#labelBalance { /* Available Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +font-weight:bold; +color:#5B4C7C; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchAvailable { /* Watch-only Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelPendingText { /* Pending Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +font-size:12px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelUnconfirmed { /* Pending Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchPending { /* Watch-only Pending Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelImmatureText { /* Immature Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +font-size:12px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelImmature { /* Immature Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchImmature { /* Watch-only Immature Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +QWidget .QFrame#frame .QLabel#labelTotalText { /* Total Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +font-size:12px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frame .QLabel#labelTotal { /* Total Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:0px; +} + +QWidget .QFrame#frame .QLabel#labelWatchTotal { /* Watch-only Total Balance */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +font-size:12px; +margin-left:16px; +} + +/**************************** OBFUSCATION WIDGET ****************************************/ + + +QWidget .QFrame#frameObfuscation { /* Obfuscation Widget */ +background-color:transparent; +qproperty-minimumSize: 451px 343px; +} + +QWidget .QFrame#frameObfuscation QWidget { +qproperty-geometry: rect(10 0 431 35); +} + +QWidget .QFrame#frameObfuscation .QLabel#label_2 { /* Obfuscation Header */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:#5B4C7C; +color:#fff; +margin-right:5px; +padding-right:5px; +font-weight:bold; +font-size:14px; +min-height:35px; +} + +/**************************** OBFUSCATION ***********************************************/ + +QWidget .QFrame#frameObfuscation .QLabel#labelObfuscationSyncStatus { /* Obfuscation Sync Status */ +qproperty-alignment: 'AlignVCenter | AlignLeft'; +margin-left:2px; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget { +qproperty-geometry: rect(10 51 451 175); +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget > .QLabel { +min-width:175px; +font-weight:normal; +min-height:25px; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#label_6 { /* Obfuscation Status Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#obfuscationEnabled { /* Obfuscation Status */ + +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#label_7 { /* Obfuscation Completion Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; + +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QProgressBar#obfuscationProgress { /* Obfuscation Completion */ +border: 1px solid #818181; +border-radius: 1px; +margin-right:43px; +text-align: right; +color:#818181; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QProgressBar#obfuscationProgress::chunk { +background-color: #382f44; +width:1px; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#labelAnonymizedText { /* Obfuscation Balance Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#labelAnonymized { /* Obfuscation Balance */ + +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#label_8 { /* Obfuscation Amount and Rounds Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#labelAmountRounds { /* Obfuscation Amount and Rounds */ + +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#label_9 { /* Obfuscation Submitted Denom Label */ +qproperty-alignment: 'AlignVCenter | AlignRight'; +min-width:160px; +background-color:transparent; +color:#382F44; +margin-right:5px; +padding-right:5px; +} + +QWidget .QFrame#frameObfuscation #formLayoutWidget .QLabel#labelSubmittedDenom { /* Obfuscation Submitted Denom */ + +} + +QWidget .QFrame#frameObfuscation .QLabel#obfuscationStatus { /* Obfuscation Status Notifications */ +qproperty-alignment: 'AlignVCenter | AlignCenter'; +qproperty-geometry: rect(70 226 395 34); +font-size:11px; +color:#818181; +} + +/**************************** OBFUSCATION BUTTONS ***************************************/ + +QWidget .QFrame#frameObfuscation .QPushButton { /* Obfuscation Buttons - General Attributes */ +border:0px solid #ffffff; +} + +QWidget .QFrame#frameObfuscation QPushButton:focus { +border:none; +outline:none; +} + +QWidget .QFrame#frameObfuscation .QPushButton#runAutoDenom { /* No idea why this button is in the .UI file... */ +qproperty-geometry: rect(0 0 0 0); +} + +QWidget .QFrame#frameObfuscation .QPushButton#toggleObfuscation { /* Start Obfuscation Mixing */ +qproperty-geometry: rect(115 268 295 40); +font-size:15px; +font-weight:bold; +color:#ffffff; +padding-left:10px; +padding-right:10px; +padding-top:5px; +padding-bottom:6px; +} + +QWidget .QFrame#frameObfuscation .QPushButton#toggleObfuscation:hover { + +} + +QWidget .QFrame#frameObfuscation .QPushButton#obfuscationAuto { /* Try Mix Button */ +qproperty-geometry: rect(120 314 140 25); +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +min-height:25px; +font-size:9px; +padding:0px; +} + +QWidget .QFrame#frameObfuscation .QPushButton#obfuscationAuto:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget .QFrame#frameObfuscation .QPushButton#obfuscationAuto:pressed { +border:1px solid #9e9e9e; +} + +QWidget .QFrame#frameObfuscation .QPushButton#obfuscationReset { /* Reset Button */ +qproperty-geometry: rect(265 314 140 25); +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +min-height:25px; +font-size:9px; +padding:0px; +} + +QWidget .QFrame#frameObfuscation .QPushButton#obfuscationReset:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget .QFrame#frameObfuscation .QPushButton#obfuscationReset:pressed { +border:1px solid #9e9e9e; +} + +/**************************** RECENT TRANSACTIONS ***************************************/ + +QWidget .QFrame#frame_2 { /* Transactions Widget */ +min-width:410px; +margin-right:20px; +margin-left:0; +margin-top:0; +background-image: url(':/images/pivx_logo_horizontal'); +background-repeat:none; +} + +QWidget .QFrame#frame_2 .QLabel#label_4 { /* Recent Transactions Label */ +min-width:180px; +color:#382f44; +margin-left:67px; +margin-top:83px; +margin-right:5px; +padding-right:5px; +font-weight:bold; +font-size:15px; +min-height:24px; +} + +QWidget .QFrame#frame_2 .QLabel#labelTransactionsStatus { /* Recent Transactions Sync Status */ +qproperty-alignment: 'AlignBottom | AlignRight'; +min-width:93px; +margin-top:83px; +margin-left:16px; +margin-right:5px; +min-height:16px; +} + +QWidget .QFrame#frame_2 QListView { /* Transaction List */ +font-weight:normal; +font-size:12px; +max-width:369px; +margin-top:12px; +margin-left:0px; /* CSS Voodoo - set to -66px to hide default transaction icons */ +} + +/**************************** SEND DIALOG ***********************************************/ + +QDialog#SendCoinsDialog .QFrame#frameCoinControl { /* Coin Control Section */ + +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl > .QLabel { /* Default Font Color and Size */ +font-weight:normal; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QPushButton#pushButtonCoinControl { /* Coin Control Inputs Button */ +padding-left:10px; +padding-right:10px; +min-height:25px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlFeatures { /* Coin Control Header */ +color:#382f44; +font-weight:bold; +font-size:14px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl { /* Coin Control Inputs */ +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl > .QLabel { /* Coin Control Inputs Labels */ +padding:2px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QCheckBox#checkBoxCoinControlChange { /* Custom Change Label */ +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QValidatedLineEdit#lineEditCoinControlChange { /* Custom Change Address */ +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlChangeLabel { /* Custom Change Address Validation Label */ +font-weight:normal; +qproperty-margin:-6; +margin-right:112px; +} + +QDialog#SendCoinsDialog .QScrollArea#scrollArea .QWidget#scrollAreaWidgetContents { /* Send To Widget */ +background:transparent; +} + +QDialog#SendCoinsDialog .QPushButton#sendButton { /* Send Button */ +padding-left:10px; +padding-right:10px; +} + +QDialog#SendCoinsDialog .QPushButton#clearButton { /* Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SendCoinsDialog .QPushButton#clearButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SendCoinsDialog .QPushButton#clearButton:pressed { +border:1px solid #9e9e9e; +} + +QDialog#SendCoinsDialog .QPushButton#addButton { /* Add Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QDialog#SendCoinsDialog .QPushButton#addButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QDialog#SendCoinsDialog .QPushButton#addButton:pressed { +border:1px solid #9e9e9e; +} + +QDialog#SendCoinsDialog .QCheckBox#checkUseObfuscation { /* Obfuscation Checkbox */ +color:#616161; +font-weight:bold; +background:transparent; +#background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(248, 246, 246, 128), stop: 1 rgba(0, 0, 0, 0)); +border-radius:5px; +padding-top:20px; +padding-bottom:18px; +} + +QDialog#SendCoinsDialog .QCheckBox#checkSwiftTX { /* SwiftTX Checkbox */ +color:#616161; +font-weight:bold; +background:transparent; +#background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(248, 246, 246, 128), stop: 1 rgba(0, 0, 0, 0)); +border-radius:5px; +padding-top:20px; +padding-bottom:18px; +margin-left:10px; +margin-right:20px; +} + +/* This QLabel uses name = "label" which conflicts with Address Book -> New Address */ +/* To maximize backwards compatibility this formatting has been removed */ + +QDialog#SendCoinsDialog QLabel#label { +/*margin-left:20px; +margin-right:-2px; +padding-right:-2px; +color:#616161; +font-size:14px; +font-weight:bold; +border-radius:5px; +padding-top:20px; +padding-bottom:20px;*/ +min-height:27px; +} + +QDialog#SendCoinsDialog QLabel#labelBalance { +margin-left:0px; +padding-left:0px; +color:#333333; +/* font-weight:bold; +border-radius:5px; +padding-top:20px; +padding-bottom:20px; */ +min-height:27px; +} + + +/**************************** SEND COINS ENTRY ******************************************/ + +QStackedWidget#SendCoinsEntry .QFrame#SendCoins > .QLabel { /* Send Coin Entry Labels */ +background-color:#5B4C7C; +min-width:102px; +font-weight:bold; +font-size:11px; +color:#ffffff; +min-height:25px; +margin-right:5px; +padding-right:5px; +} + +QStackedWidget#SendCoinsEntry .QFrame#SendCoins .QLabel#amountLabel { +background-color:#6a6a6a; +} + +QStackedWidget#SendCoinsEntry .QValidatedLineEdit#payTo { /* Pay To Input Field */ +} + +QStackedWidget#SendCoinsEntry .QToolButton { /* General Settings for Pay To Icons */ +background-color:transparent; +padding-left:5px; +padding-right:5px; +border: 0; +outline: 0; +} + +QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton { /* Address Book Button */ +padding-left:10px; +} + +QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton { +} + +QStackedWidget#SendCoinsEntry .QToolButton#pasteButton { +} + +QStackedWidget#SendCoinsEntry .QToolButton#deleteButton { +} + +QStackedWidget#SendCoinsEntry .QLineEdit#addAsLabel { /* Pay To Input Field */ +} + +/**************************** COIN CONTROL POPUP ****************************************/ + +QDialog#CoinControlDialog { /* Coin Control Dialog Window */ +background-color:#F8F6F6; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlQuantityText { /* Coin Control Quantity Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlQuantity { /* Coin Control Quantity */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlBytesText { /* Coin Control Bytes Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlBytes { /* Coin Control Bytes */ +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAmountText { /* Coin Control Amount Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAmount { /* Coin Control Amount */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlPriorityText { /* Coin Control Priority Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlPriority { /* Coin Control Priority */ +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlFeeText { /* Coin Control Fee Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlFee { /* Coin Control Fee */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutputText { /* Coin Control Low Output Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutput { /* Coin Control Low Output */ +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFeeText { /* Coin Control After Fee Label */ +min-height:30px; +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFee { /* Coin Control After Fee */ +min-height:30px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlChangeText { /* Coin Control Change Label */ +padding-left:15px; +} + +QDialog#CoinControlDialog .QLabel#labelCoinControlChange { /* Coin Control Change */ + +} + +QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonSelectAll { /* (un)select all button */ +padding-left:10px; +padding-right:10px; +min-height:25px; +} + +QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonToggleLock { /* Toggle lock state button */ +padding-left:10px; +padding-right:10px; +min-height:25px; +} + +QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { /* Coin Control 'OK' button */ +} + +QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioTreeMode { /* Coin Control Tree Mode Selector */ +color:#818181; +background-color:transparent; +} + +QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioListMode { /* Coin Control List Mode Selector */ +color:#818181; +background-color:transparent; +} + +QDialog#CoinControlDialog QHeaderView::section:first { /* Bug Fix: the number "1" displays in this table for some reason... */ +color:transparent; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget { /* Coin Control Widget Container */ +outline:0; +background-color:#ffffff; +border:0px solid #818181; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item { +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:selected { /* Coin Control Item (selected) */ +background-color:#5B4C7C; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:checked { /* Coin Control Item (checked) */ +background-color:#f7f7f7; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected { /* Coin Control Branch Icon */ +background-image: url(':/images/qtreeview_selected'); +background-repeat:no-repeat; +background-position:center; +background-color:#f7f7f7; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { /* Coin Control Branch Icon */ +background-image: url(':/images/qtreeview_selected'); +background-repeat:no-repeat; +background-position:center; +background-color:#f7f7f7; +color:#333; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::seperator { + +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::indicator { /* Coin Control Widget Checkbox */ + +} + +/**************************** RECEIVE COINS *********************************************/ + +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_2 { /* Label Label */ +background-color:#5B4C7C; +min-width:102px; +color:#ffffff; +font-weight:bold; +font-size:11px; +padding-right:5px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label { /* Amount Label */ +background-color:#6a6a6a; +min-width:102px; +color:#ffffff; +font-weight:bold; +font-size:11px; +padding-right:5px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_3 { /* Message Label */ +background-color:#5B4C7C; +min-width:102px; +color:#ffffff; +font-weight:bold; +font-size:11px; +padding-right:5px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton { /* Clear Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 QPushButton#clearButton:pressed { +border:1px solid #9e9e9e; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton { /* Show Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#showRequestButton:pressed { +border:1px solid #9e9e9e; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton { /* Remove Button */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; +color:#616161; +padding-left:10px; +padding-right:10px; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:hover { +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(240, 240, 240, 255), stop: .95 rgba(240, 240, 240, 255), stop: 1 #ebebeb); +color:#333; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame QPushButton#removeRequestButton:pressed { +border:1px solid #9e9e9e; +} + +QWidget#ReceiveCoinsDialog .QFrame#frame .QLabel#label_6 { /* Requested Payments History Label */ +color:#382f44; +font-weight:bold; +font-size:14px; +} + +/**************************** RECEIVE COINS DIALOG **************************************/ + +QDialog#ReceiveRequestDialog { +background-color:#F8F6F6; +} + +QDialog#ReceiveRequestDialog QTextEdit { /* Contents of Receive Coin Dialog */ +border:1px solid #d7d7d7; +} + +/**************************** TRANSACTIONS PAGE *****************************************/ + +TransactionView QLineEdit { /* Address Filter */ +margin-bottom:2px; +margin-right:1px; +min-width:111px; +text-align:center; +} + +TransactionView QComboBox { +margin-bottom:1px; +margin-right:1px; +} + +QLabel#transactionSumLabel { /* Example of setObjectName for widgets without name */ +color:#333333; +font-weight:bold; +} + +QLabel#transactionSum { /* Example of setObjectName for widgets without name */ +color:#333333; +} + +/**************************** TRANSACTION DETAILS DIALOG ********************************/ + +QDialog#TransactionDescDialog { +background-color:#F8F6F6; +} + +QDialog#TransactionDescDialog QTextEdit { /* Contents of Receive Coin Dialog */ +border:1px solid #d7d7d7; +} + + diff --git a/src/qt/res/icons/address-book.png b/src/qt/res/icons/address-book.png old mode 100644 new mode 100755 index d177953eaf140..0717b9a93e931 Binary files a/src/qt/res/icons/address-book.png and b/src/qt/res/icons/address-book.png differ diff --git a/src/qt/res/icons/bitcoin.icns b/src/qt/res/icons/bitcoin.icns old mode 100644 new mode 100755 index 36e894f42ad92..ba60df51d8344 Binary files a/src/qt/res/icons/bitcoin.icns and b/src/qt/res/icons/bitcoin.icns differ diff --git a/src/qt/res/icons/bitcoin.ico b/src/qt/res/icons/bitcoin.ico old mode 100644 new mode 100755 index cfc144002a339..c16909bf3c455 Binary files a/src/qt/res/icons/bitcoin.ico and b/src/qt/res/icons/bitcoin.ico differ diff --git a/src/qt/res/icons/bitcoin.png b/src/qt/res/icons/bitcoin.png old mode 100644 new mode 100755 index d1a4f34bb28bc..d02391d3c68a8 Binary files a/src/qt/res/icons/bitcoin.png and b/src/qt/res/icons/bitcoin.png differ diff --git a/src/qt/res/icons/bitcoin_testnet.ico b/src/qt/res/icons/bitcoin_testnet.ico old mode 100644 new mode 100755 index cfc144002a339..dd4b7a83b3dbc Binary files a/src/qt/res/icons/bitcoin_testnet.ico and b/src/qt/res/icons/bitcoin_testnet.ico differ diff --git a/src/qt/res/icons/bitcoin_testnet.png b/src/qt/res/icons/bitcoin_testnet.png old mode 100644 new mode 100755 index d1a4f34bb28bc..957fd902c0b33 Binary files a/src/qt/res/icons/bitcoin_testnet.png and b/src/qt/res/icons/bitcoin_testnet.png differ diff --git a/src/qt/res/icons/editpaste.png b/src/qt/res/icons/editpaste.png old mode 100644 new mode 100755 index 506f5586c079b..3cd298c8af315 Binary files a/src/qt/res/icons/editpaste.png and b/src/qt/res/icons/editpaste.png differ diff --git a/src/qt/res/icons/history.png b/src/qt/res/icons/history.png old mode 100644 new mode 100755 index 32b8ffa718db6..cc5e60b386848 Binary files a/src/qt/res/icons/history.png and b/src/qt/res/icons/history.png differ diff --git a/src/qt/res/icons/masternodes.png b/src/qt/res/icons/masternodes.png old mode 100644 new mode 100755 index f1f653969bdf6..c27aeb291a4ef Binary files a/src/qt/res/icons/masternodes.png and b/src/qt/res/icons/masternodes.png differ diff --git a/src/qt/res/icons/overview.png b/src/qt/res/icons/overview.png old mode 100644 new mode 100755 index 43a289ef9d806..1a586650329e4 Binary files a/src/qt/res/icons/overview.png and b/src/qt/res/icons/overview.png differ diff --git a/src/qt/res/icons/receive.png b/src/qt/res/icons/receive.png old mode 100644 new mode 100755 index b66004958243f..0465c9b2560c3 Binary files a/src/qt/res/icons/receive.png and b/src/qt/res/icons/receive.png differ diff --git a/src/qt/res/icons/send.png b/src/qt/res/icons/send.png old mode 100644 new mode 100755 index 4aff9033ec6ee..2f5026114df20 Binary files a/src/qt/res/icons/send.png and b/src/qt/res/icons/send.png differ diff --git a/src/qt/res/icons/tx_inout.png b/src/qt/res/icons/tx_inout.png old mode 100644 new mode 100755 index 557de22fab1e2..c01db28da8bef Binary files a/src/qt/res/icons/tx_inout.png and b/src/qt/res/icons/tx_inout.png differ diff --git a/src/qt/res/icons/tx_input.png b/src/qt/res/icons/tx_input.png old mode 100644 new mode 100755 index 73877d5099bb8..32d43a6078233 Binary files a/src/qt/res/icons/tx_input.png and b/src/qt/res/icons/tx_input.png differ diff --git a/src/qt/res/icons/tx_mined.png b/src/qt/res/icons/tx_mined.png old mode 100644 new mode 100755 index 0855a434727e1..67a9fb72dbba4 Binary files a/src/qt/res/icons/tx_mined.png and b/src/qt/res/icons/tx_mined.png differ diff --git a/src/qt/res/icons/unit_darknet.png b/src/qt/res/icons/unit_darknet.png deleted file mode 100644 index 1fdd722168b50..0000000000000 Binary files a/src/qt/res/icons/unit_darknet.png and /dev/null differ diff --git a/src/qt/res/icons/unit_mdarknet.png b/src/qt/res/icons/unit_mdarknet.png deleted file mode 100644 index bc518112d7d3d..0000000000000 Binary files a/src/qt/res/icons/unit_mdarknet.png and /dev/null differ diff --git a/src/qt/res/icons/unit_mpivx.png b/src/qt/res/icons/unit_mpivx.png new file mode 100755 index 0000000000000..1877a51f18714 Binary files /dev/null and b/src/qt/res/icons/unit_mpivx.png differ diff --git a/src/qt/res/icons/unit_pivx.png b/src/qt/res/icons/unit_pivx.png new file mode 100755 index 0000000000000..1a99e25073503 Binary files /dev/null and b/src/qt/res/icons/unit_pivx.png differ diff --git a/src/qt/res/icons/unit_tdarknet.png b/src/qt/res/icons/unit_tdarknet.png deleted file mode 100644 index 28df5faf80628..0000000000000 Binary files a/src/qt/res/icons/unit_tdarknet.png and /dev/null differ diff --git a/src/qt/res/icons/unit_tmdarknet.png b/src/qt/res/icons/unit_tmdarknet.png deleted file mode 100644 index 40823df4f35dc..0000000000000 Binary files a/src/qt/res/icons/unit_tmdarknet.png and /dev/null differ diff --git a/src/qt/res/icons/unit_tmpivx.png b/src/qt/res/icons/unit_tmpivx.png new file mode 100755 index 0000000000000..8308e5f7fd6ca Binary files /dev/null and b/src/qt/res/icons/unit_tmpivx.png differ diff --git a/src/qt/res/icons/unit_tpivx.png b/src/qt/res/icons/unit_tpivx.png new file mode 100755 index 0000000000000..5770d7449cdd8 Binary files /dev/null and b/src/qt/res/icons/unit_tpivx.png differ diff --git a/src/qt/res/icons/unit_tudarknet.png b/src/qt/res/icons/unit_tudarknet.png deleted file mode 100644 index 03809dbacbd61..0000000000000 Binary files a/src/qt/res/icons/unit_tudarknet.png and /dev/null differ diff --git a/src/qt/res/icons/unit_tupivx.png b/src/qt/res/icons/unit_tupivx.png new file mode 100755 index 0000000000000..eaf4d5c257fba Binary files /dev/null and b/src/qt/res/icons/unit_tupivx.png differ diff --git a/src/qt/res/icons/unit_udarknet.png b/src/qt/res/icons/unit_udarknet.png deleted file mode 100644 index df4211b7cfdab..0000000000000 Binary files a/src/qt/res/icons/unit_udarknet.png and /dev/null differ diff --git a/src/qt/res/icons/unit_upivx.png b/src/qt/res/icons/unit_upivx.png new file mode 100755 index 0000000000000..3e000469fc85e Binary files /dev/null and b/src/qt/res/icons/unit_upivx.png differ diff --git a/src/qt/res/images/about.png b/src/qt/res/images/about.png old mode 100644 new mode 100755 index 6071716251e37..4c45e361be4d4 Binary files a/src/qt/res/images/about.png and b/src/qt/res/images/about.png differ diff --git a/src/qt/res/images/darknet_logo_horizontal.png b/src/qt/res/images/darknet_logo_horizontal.png deleted file mode 100644 index 4ef67186dd7fc..0000000000000 Binary files a/src/qt/res/images/darknet_logo_horizontal.png and /dev/null differ diff --git a/src/qt/res/images/downArrow.png b/src/qt/res/images/downArrow.png new file mode 100755 index 0000000000000..ba316edf787ac Binary files /dev/null and b/src/qt/res/images/downArrow.png differ diff --git a/src/qt/res/images/downArrow_small.png b/src/qt/res/images/downArrow_small.png new file mode 100755 index 0000000000000..2fa5cfb42f1ee Binary files /dev/null and b/src/qt/res/images/downArrow_small.png differ diff --git a/src/qt/res/images/leftArrow_small.png b/src/qt/res/images/leftArrow_small.png new file mode 100755 index 0000000000000..5d3dc00582396 Binary files /dev/null and b/src/qt/res/images/leftArrow_small.png differ diff --git a/src/qt/res/images/darknet_logo_horizontal-drk.png b/src/qt/res/images/pivx_logo_horizontal-drk.png similarity index 100% rename from src/qt/res/images/darknet_logo_horizontal-drk.png rename to src/qt/res/images/pivx_logo_horizontal-drk.png diff --git a/src/qt/res/images/darknet_logo_horizontal-drkblue.png b/src/qt/res/images/pivx_logo_horizontal-drkblue.png similarity index 100% rename from src/qt/res/images/darknet_logo_horizontal-drkblue.png rename to src/qt/res/images/pivx_logo_horizontal-drkblue.png diff --git a/src/qt/res/images/pivx_logo_horizontal.png b/src/qt/res/images/pivx_logo_horizontal.png new file mode 100755 index 0000000000000..5efe88183fb53 Binary files /dev/null and b/src/qt/res/images/pivx_logo_horizontal.png differ diff --git a/src/qt/res/images/qtreeview_selected.png b/src/qt/res/images/qtreeview_selected.png new file mode 100755 index 0000000000000..0e88339e12ac2 Binary files /dev/null and b/src/qt/res/images/qtreeview_selected.png differ diff --git a/src/qt/res/images/rightArrow_small.png b/src/qt/res/images/rightArrow_small.png new file mode 100755 index 0000000000000..e9ba3b0228f9d Binary files /dev/null and b/src/qt/res/images/rightArrow_small.png differ diff --git a/src/qt/res/images/splash.png b/src/qt/res/images/splash.png old mode 100644 new mode 100755 index ed1a1f59a2152..2f1d8ad2320ec Binary files a/src/qt/res/images/splash.png and b/src/qt/res/images/splash.png differ diff --git a/src/qt/res/images/splash_testnet.png b/src/qt/res/images/splash_testnet.png old mode 100644 new mode 100755 index 2c5ff2dd7c2f8..6adbae47fd8c9 Binary files a/src/qt/res/images/splash_testnet.png and b/src/qt/res/images/splash_testnet.png differ diff --git a/src/qt/res/images/upArrow_small.png b/src/qt/res/images/upArrow_small.png new file mode 100755 index 0000000000000..7213ec95d278b Binary files /dev/null and b/src/qt/res/images/upArrow_small.png differ diff --git a/src/qt/res/images/walletFrame.png b/src/qt/res/images/walletFrame.png new file mode 100755 index 0000000000000..a2ea6b619a0a2 Binary files /dev/null and b/src/qt/res/images/walletFrame.png differ diff --git a/src/qt/res/images/walletFrame_bg.png b/src/qt/res/images/walletFrame_bg.png new file mode 100755 index 0000000000000..2152bcfc38c6e Binary files /dev/null and b/src/qt/res/images/walletFrame_bg.png differ diff --git a/src/qt/res/darknet-qt-res.rc b/src/qt/res/pivx-qt-res.rc similarity index 82% rename from src/qt/res/darknet-qt-res.rc rename to src/qt/res/pivx-qt-res.rc index 5687919e1fd10..fee3145fd952b 100755 --- a/src/qt/res/darknet-qt-res.rc +++ b/src/qt/res/pivx-qt-res.rc @@ -19,14 +19,14 @@ BEGIN BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN - VALUE "CompanyName", "DarkNet" - VALUE "FileDescription", "DarkNet Core (OSS GUI client for DarkNet)" + VALUE "CompanyName", "PIVX" + VALUE "FileDescription", "PIVX Core (OSS GUI client for PIVX)" VALUE "FileVersion", VER_FILEVERSION_STR - VALUE "InternalName", "darknet-qt" + VALUE "InternalName", "pivx-qt" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." - VALUE "OriginalFilename", "darknet-qt.exe" - VALUE "ProductName", "DarkNet Core" + VALUE "OriginalFilename", "pivx-qt.exe" + VALUE "ProductName", "PIVX Core" VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 825df5e9009f8..268966bdb3f6e 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -439,7 +439,7 @@ void RPCConsole::clear() "b { color: #006060; } " ); - message(CMD_REPLY, (tr("Welcome to the DarkNet RPC console.") + "
" + + message(CMD_REPLY, (tr("Welcome to the PIVX RPC console.") + "
" + tr("Use up and down arrows to navigate history, and Ctrl-L to clear screen.") + "
" + tr("Type help for an overview of available commands.")), true); } diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h index 72e72ff29e5c2..986bc34b23469 100644 --- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -90,7 +90,7 @@ public slots: void showPeers(); /** Switch to wallet-repair tab and show */ void showRepair(); - /** Open external (default) editor with darknet.conf */ + /** Open external (default) editor with pivx.conf */ void showConfEditor(); /** Handle selection of peer in peers list */ void peerSelected(const QItemSelection &selected, const QItemSelection &deselected); diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 5cad562226826..e903a4da37b16 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -58,7 +58,7 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : connect(ui->splitBlockCheckBox, SIGNAL(stateChanged(int)), this, SLOT(splitBlockChecked(int))); connect(ui->splitBlockLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(splitBlockLineEditChanged(const QString &))); - // DarkNet specific + // PIVX specific QSettings settings; if (!settings.contains("bUseObfuScation")) settings.setValue("bUseObfuScation", false); @@ -920,7 +920,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text) } else if (!addr.IsValid()) // Invalid address { - ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid DarkNet address")); + ui->labelCoinControlChangeLabel->setText(tr("Warning: Invalid PIVX address")); } else // Valid address { diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp index 3822ce3a0f62e..68439026d79f5 100644 --- a/src/qt/sendcoinsentry.cpp +++ b/src/qt/sendcoinsentry.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -32,9 +32,9 @@ SendCoinsEntry::SendCoinsEntry(QWidget *parent) : ui->addAsLabel->setPlaceholderText(tr("Enter a label for this address to add it to your address book")); #endif - // normal darknet address field + // normal pivx address field GUIUtil::setupAddressWidget(ui->payTo, this); - // just a label for displaying darknet address(es) + // just a label for displaying pivx address(es) ui->payTo_is->setFont(GUIUtil::bitcoinAddressFont()); // Connect signals diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp index 14cbad636489d..0f2af4a6f5e05 100644 --- a/src/qt/signverifymessagedialog.cpp +++ b/src/qt/signverifymessagedialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index 6b769dbde1c67..05c42b453b716 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -34,11 +34,11 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) float fontFactor = 1.0; // define text to place - QString titleText = tr("DarkNet Core"); + QString titleText = tr("PIVX Core"); QString versionText = QString(tr("Version %1")).arg(QString::fromStdString(FormatFullVersion())); QString copyrightTextBtc = QChar(0xA9)+QString(" 2009-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The Bitcoin Core developers")); QString copyrightTextDash = QChar(0xA9)+QString(" 2014-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The Dash Core developers")); - QString copyrightTextDarkNet = QChar(0xA9)+QString(" 2015-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The DarkNet Core developers")); + QString copyrightTextPIVX = QChar(0xA9)+QString(" 2015-%1 ").arg(COPYRIGHT_YEAR) + QString(tr("The PIVX Core developers")); QString titleAddText = networkStyle->getTitleAddText(); QString font = QApplication::font().toString(); @@ -70,7 +70,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle) pixPaint.setFont(QFont(font, 10*fontFactor)); pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace,copyrightTextBtc); pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace+12,copyrightTextDash); - pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace+24,copyrightTextDarkNet); + pixPaint.drawText(paddingLeft,paddingTop+titleCopyrightVSpace+24,copyrightTextPIVX); // draw additional text if special network if(!titleAddText.isEmpty()) { diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp index a1136132f3685..9b68542107518 100644 --- a/src/qt/test/test_main.cpp +++ b/src/qt/test/test_main.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) // Don't remove this, it's needed to access // QCoreApplication:: in the tests QCoreApplication app(argc, argv); - app.setApplicationName("Darknet-Qt-test"); + app.setApplicationName("Pivx-Qt-test"); URITests test1; if (QTest::qExec(&test1) != 0) diff --git a/src/qt/test/uritests.cpp b/src/qt/test/uritests.cpp index 2017090e6999d..b18f5c6cca11d 100644 --- a/src/qt/test/uritests.cpp +++ b/src/qt/test/uritests.cpp @@ -13,54 +13,54 @@ void URITests::uriTests() { SendCoinsRecipient rv; QUrl uri; - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?req-dontexist=")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?req-dontexist=")); QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?dontexist=")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?dontexist=")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 0); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?label=Some Example Address")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?label=Some Example Address")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg")); QVERIFY(rv.label == QString("Some Example Address")); QVERIFY(rv.amount == 0); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=0.001")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=0.001")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 100000); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=1.001")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=1.001")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg")); QVERIFY(rv.label == QString()); QVERIFY(rv.amount == 100100000); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=100&label=Some Example")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=100&label=Some Example")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg")); QVERIFY(rv.amount == 10000000000LL); QVERIFY(rv.label == QString("Some Example")); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?message=Some Example Address")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?message=Some Example Address")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); QVERIFY(rv.address == QString("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg")); QVERIFY(rv.label == QString()); - QVERIFY(GUIUtil::parseBitcoinURI("darknet://XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?message=Some Example Address", &rv)); + QVERIFY(GUIUtil::parseBitcoinURI("pivx://XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?message=Some Example Address", &rv)); QVERIFY(rv.address == QString("XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg")); QVERIFY(rv.label == QString()); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?req-message=Some Example Address")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?req-message=Some Example Address")); QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=1,000&label=Some Example")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=1,000&label=Some Example")); QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - uri.setUrl(QString("darknet:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=1,000.0&label=Some Example")); + uri.setUrl(QString("pivx:XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg?amount=1,000.0&label=Some Example")); QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); } diff --git a/src/qt/tradingdialog.cpp b/src/qt/tradingdialog.cpp index edd1b22d026ff..ee545e2891d4c 100644 --- a/src/qt/tradingdialog.cpp +++ b/src/qt/tradingdialog.cpp @@ -32,8 +32,8 @@ const QString apiCoinbasePrice = "https://www.bitstamp.net/api/ticker/"; //Bittrex API const QString apiBittrexMarketSummary = "https://bittrex.com/api/v1.1/public/getmarketsummaries"; -const QString apiBittrexTrades = "https://bittrex.com/api/v1.1/public/getmarkethistory?market=btc-dnet"; -const QString apiBittrexOrders = "https://bittrex.com/api/v1.1/public/getorderbook?market=btc-dnet&type=both&depth=50"; +const QString apiBittrexTrades = "https://bittrex.com/api/v1.1/public/getmarkethistory?market=btc-pivx"; +const QString apiBittrexOrders = "https://bittrex.com/api/v1.1/public/getorderbook?market=btc-pivx&type=both&depth=50"; QString dequote(QString s) { string str(s.toStdString()); @@ -192,19 +192,19 @@ QString tradingDialog::GetNonce() QString tradingDialog::GetMarketSummary() { - QString Response = sendRequest("https://bittrex.com/api/v1.1/public/getmarketsummary?market=btc-dnet"); + QString Response = sendRequest("https://bittrex.com/api/v1.1/public/getmarketsummary?market=btc-pivx"); return dequote(Response); } QString tradingDialog::GetMarketHistory() { - QString Response = sendRequest("https://bittrex.com/api/v1.1/public/getmarkethistory?market=btc-dnet"); + QString Response = sendRequest("https://bittrex.com/api/v1.1/public/getmarkethistory?market=btc-pivx"); return dequote(Response); } QString tradingDialog::GetOrderBook() { - QString Response = sendRequest("https://bittrex.com/api/v1.1/public/getorderbook?market=btc-dnet&type=both&depth=50"); + QString Response = sendRequest("https://bittrex.com/api/v1.1/public/getorderbook?market=btc-pivx&type=both&depth=50"); return dequote(Response); } @@ -229,7 +229,7 @@ QString tradingDialog::GetOpenOrders() URL += this->ApiKey; URL += "&nonce=", URL += tradingDialog::GetNonce(), - URL += "&market=btc-dnet"; + URL += "&market=btc-pivx"; QString Response = sendRequest(URL); return dequote(Response); @@ -245,7 +245,7 @@ QString tradingDialog::BuyPIV(QString OrderType, double Quantity, double Rate) URL += this->ApiKey; URL += "&nonce=", URL += tradingDialog::GetNonce(), - URL += "&market=btc-dnet&quantity="; + URL += "&market=btc-pivx&quantity="; URL += str.number(Quantity,'i',8); URL += "&rate="; URL += str.number(Rate,'i',8); @@ -264,7 +264,7 @@ QString tradingDialog::SellPIV(QString OrderType, double Quantity, double Rate) URL += this->ApiKey; URL += "&nonce=", URL += tradingDialog::GetNonce(), - URL += "&market=btc-dnet&quantity="; + URL += "&market=btc-pivx&quantity="; URL += str.number(Quantity,'i',8); URL += "&rate="; URL += str.number(Rate,'i',8); @@ -306,7 +306,7 @@ QString tradingDialog::GetAccountHistory() URL += this->ApiKey; URL += "&nonce=", URL += tradingDialog::GetNonce(), - URL += "&market=btc-dnet"; + URL += "&market=btc-pivx"; QString Response = sendRequest(URL); return dequote(Response); diff --git a/src/qt/tradingdialog.h b/src/qt/tradingdialog.h index 97e807d0d633a..c5bb74305eb53 100644 --- a/src/qt/tradingdialog.h +++ b/src/qt/tradingdialog.h @@ -15,7 +15,7 @@ namespace Ui { class tradingDialog; } -extern double _dDnetPriceLast; +extern double _dPivPriceLast; extern double _dBtcPriceCurrent; extern double _dBtcPriceLast; diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp index 95708d6a99fdf..cc9fb6f8ad6e2 100644 --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -283,7 +283,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco strHTML += "" + tr("Transaction ID") + ": " + TransactionRecord::formatSubTxId(wtx.GetHash(), rec->idx) + "
"; - // Message from normal darknet:URI (darknet:XyZ...?message=example) + // Message from normal pivx:URI (pivx:XyZ...?message=example) foreach (const PAIRTYPE(string, string)& r, wtx.vOrderForm) if (r.first == "Message") strHTML += "
" + tr("Message") + ":
" + GUIUtil::HtmlEscape(r.second, true) + "
"; diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 1980efbb04afc..c7fd3e3b5b899 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -90,7 +90,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * sub.involvesWatchAddress = mine == ISMINE_WATCH_ONLY; if (ExtractDestination(txout.scriptPubKey, address) && IsMine(*wallet, address)) { - // Received by DarkNet Address + // Received by PIVX Address sub.type = TransactionRecord::RecvWithAddress; sub.address = CBitcoinAddress(address).ToString(); } @@ -161,7 +161,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * CTxDestination address; if (ExtractDestination(wtx.vout[0].scriptPubKey, address)) { - // Sent to DarkNet Address + // Sent to PIVX Address sub.address = CBitcoinAddress(address).ToString(); } else @@ -214,7 +214,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * CTxDestination address; if (ExtractDestination(txout.scriptPubKey, address)) { - // Sent to DarkNet Address + // Sent to PIVX Address sub.type = TransactionRecord::SendToAddress; sub.address = CBitcoinAddress(address).ToString(); } diff --git a/src/qt/utilitydialog.cpp b/src/qt/utilitydialog.cpp index aa266b2dc0c3d..f25224c312c98 100644 --- a/src/qt/utilitydialog.cpp +++ b/src/qt/utilitydialog.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -30,7 +30,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) : ui->setupUi(this); GUIUtil::restoreWindowGeometry("nHelpMessageDialogWindow", this->size(), this); - QString version = tr("DarkNet Core") + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion()); + QString version = tr("PIVX Core") + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion()); /* On x86 add a bit specifier to the version so that users can distinguish between * 32 and 64 bit builds. On other architectures, 32/64 bit may be more ambigious. */ @@ -42,7 +42,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) : if (about) { - setWindowTitle(tr("About DarkNet Core")); + setWindowTitle(tr("About PIVX Core")); /// HTML-format the license message from the core QString licenseInfo = QString::fromStdString(LicenseInfo()); @@ -63,7 +63,7 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) : } else { setWindowTitle(tr("Command-line options")); QString header = tr("Usage:") + "\n" + - " darknet-qt [" + tr("command-line options") + "] " + "\n"; + " pivx-qt [" + tr("command-line options") + "] " + "\n"; QString coreOptions = QString::fromStdString(HelpMessage(HMM_BITCOIN_QT)); @@ -115,7 +115,7 @@ ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags f): { QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(new QLabel( - tr("DarkNet Core is shutting down...") + "

" + + tr("PIVX Core is shutting down...") + "

" + tr("Do not shut down the computer until this window disappears."))); setLayout(layout); } diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index aa42eef1d8fb1..80d0bbf152339 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2011-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -247,7 +247,7 @@ WalletModel::SendCoinsReturn WalletModel::prepareTransaction(WalletModelTransact total += subtotal; } else - { // User-entered darknet address / amount: + { // User-entered pivx address / amount: if(!validateAddress(rcp.address)) { return InvalidAddress; @@ -346,7 +346,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 darknet:URI (darknet:XyZ...?message=example) + else if (!rcp.message.isEmpty()) // Message from normal pivx:URI (pivx:XyZ...?message=example) { newTx->vOrderForm.push_back(make_pair("Message", rcp.message.toStdString())); } diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 8493b42a4ae6b..1ebbc9950defe 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -174,7 +174,7 @@ Value getrawmempool(const Array& params, bool fHelp) "{ (json object)\n" " \"transactionid\" : { (json object)\n" " \"size\" : n, (numeric) transaction size in bytes\n" - " \"fee\" : n, (numeric) transaction fee in darknet\n" + " \"fee\" : n, (numeric) transaction fee in pivx\n" " \"time\" : n, (numeric) local time transaction entered pool in seconds since 1 Jan 1970 GMT\n" " \"height\" : n, (numeric) block height when transaction entered pool\n" " \"startingpriority\" : n, (numeric) priority when transaction entered pool\n" @@ -431,8 +431,8 @@ Value gettxout(const Array& params, bool fHelp) " \"hex\" : \"hex\", (string) \n" " \"reqSigs\" : n, (numeric) Number of required signatures\n" " \"type\" : \"pubkeyhash\", (string) The type, eg pubkeyhash\n" - " \"addresses\" : [ (array of string) array of darknet addresses\n" - " \"darknetaddress\" (string) darknet address\n" + " \"addresses\" : [ (array of string) array of pivx addresses\n" + " \"pivxaddress\" (string) pivx address\n" " ,...\n" " ]\n" " },\n" diff --git a/src/rpcclient.cpp b/src/rpcclient.cpp index e05383bb35afb..75d5e0182d0d5 100644 --- a/src/rpcclient.cpp +++ b/src/rpcclient.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 7421e5d20877f..3a878b0e0bfd5 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -79,10 +79,10 @@ Value importprivkey(const Array& params, bool fHelp) { if (fHelp || params.size() < 1 || params.size() > 3) throw runtime_error( - "importprivkey \"darknetprivkey\" ( \"label\" rescan )\n" + "importprivkey \"pivxprivkey\" ( \"label\" rescan )\n" "\nAdds a private key (as returned by dumpprivkey) to your wallet.\n" "\nArguments:\n" - "1. \"darknetprivkey\" (string, required) The private key (see dumpprivkey)\n" + "1. \"pivxprivkey\" (string, required) The private key (see dumpprivkey)\n" "2. \"label\" (string, optional, default=\"\") An optional label\n" "3. rescan (boolean, optional, default=true) Rescan the wallet for transactions\n" "\nNote: This call can take minutes to complete if rescan is true.\n" @@ -173,7 +173,7 @@ Value importaddress(const Array& params, bool fHelp) std::vector data(ParseHex(params[0].get_str())); script = CScript(data.begin(), data.end()); } else { - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address or script"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address or script"); } string strLabel = ""; @@ -315,11 +315,11 @@ Value dumpprivkey(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) throw runtime_error( - "dumpprivkey \"darknetaddress\"\n" - "\nReveals the private key corresponding to 'darknetaddress'.\n" + "dumpprivkey \"pivxaddress\"\n" + "\nReveals the private key corresponding to 'pivxaddress'.\n" "Then the importprivkey can be used with this output\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address for the private key\n" + "1. \"pivxaddress\" (string, required) The pivx address for the private key\n" "\nResult:\n" "\"key\" (string) The private key\n" "\nExamples:\n" @@ -333,7 +333,7 @@ Value dumpprivkey(const Array& params, bool fHelp) string strAddress = params[0].get_str(); CBitcoinAddress address; if (!address.SetString(strAddress)) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); CKeyID keyID; if (!address.GetKeyID(keyID)) throw JSONRPCError(RPC_TYPE_ERROR, "Address does not refer to a key"); @@ -378,7 +378,7 @@ Value dumpwallet(const Array& params, bool fHelp) std::sort(vKeyBirth.begin(), vKeyBirth.end()); // produce output - file << strprintf("# Wallet dump created by DarkNet %s (%s)\n", CLIENT_BUILD, CLIENT_DATE); + file << strprintf("# Wallet dump created by PIVX %s (%s)\n", CLIENT_BUILD, CLIENT_DATE); file << strprintf("# * Created on %s\n", EncodeDumpTime(GetTime())); file << strprintf("# * Best block at time of backup was %i (%s),\n", chainActive.Height(), chainActive.Tip()->GetBlockHash().ToString()); file << strprintf("# mined on %s\n", EncodeDumpTime(chainActive.Tip()->GetBlockTime())); @@ -408,10 +408,10 @@ Value bip38encrypt(const Array& params, bool fHelp) { if (fHelp || params.size() != 2) throw runtime_error( - "bip38encrypt \"darknetaddress\"\n" - "\nEncrypts a private key corresponding to 'darknetaddress'.\n" + "bip38encrypt \"pivxaddress\"\n" + "\nEncrypts a private key corresponding to 'pivxaddress'.\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address for the private key (you must hold the key already)\n" + "1. \"pivxaddress\" (string, required) The pivx address for the private key (you must hold the key already)\n" "2. \"passphrase\" (string, required) The passphrase you want the private key to be encrypted with - Valid special chars: !#$%&'()*+,-./:;<=>?`{|}~ \n" "\nResult:\n" "\"key\" (string) The encrypted private key\n" @@ -425,7 +425,7 @@ Value bip38encrypt(const Array& params, bool fHelp) CBitcoinAddress address; if (!address.SetString(strAddress)) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); CKeyID keyID; if (!address.GetKeyID(keyID)) throw JSONRPCError(RPC_TYPE_ERROR, "Address does not refer to a key"); @@ -447,7 +447,7 @@ Value bip38decrypt(const Array& params, bool fHelp) { if (fHelp || params.size() != 2) throw runtime_error( - "bip38decrypt \"darknetaddress\"\n" + "bip38decrypt \"pivxaddress\"\n" "\nDecrypts and then imports password protected private key.\n" "\nArguments:\n" "1. \"passphrase\" (string, required) The passphrase you want the private key to be encrypted with\n" diff --git a/src/rpcmasternode-budget.cpp b/src/rpcmasternode-budget.cpp index a96f765c18ab9..14488fa86d604 100644 --- a/src/rpcmasternode-budget.cpp +++ b/src/rpcmasternode-budget.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2014-2015 The Dash Developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -32,9 +32,9 @@ Value mnbudget(const Array& params, bool fHelp) "\nAvailable commands:\n" " prepare - Prepare proposal for network by signing and creating tx\n" " submit - Submit proposal for network\n" - " vote-many - Vote on a Darknet initiative\n" - " vote-alias - Vote on a Darknet initiative\n" - " vote - Vote on a Darknet initiative/budget\n" + " vote-many - Vote on a Pivx initiative\n" + " vote-alias - Vote on a Pivx initiative\n" + " vote - Vote on a Pivx initiative/budget\n" " getvotes - Show current masternode budgets\n" " getinfo - Show current masternode budgets\n" " show - Show all budgets\n" @@ -61,7 +61,7 @@ Value mnbudget(const Array& params, bool fHelp) mnEntries = masternodeConfig.getEntries(); if (params.size() != 7) - throw runtime_error("Correct usage is 'mnbudget prepare proposal-name url payment_count block_start darknet_address monthly_payment_darknet'"); + throw runtime_error("Correct usage is 'mnbudget prepare proposal-name url payment_count block_start pivx_address monthly_payment_pivx'"); std::string strProposalName = params[1].get_str(); if(strProposalName.size() > 20) @@ -94,9 +94,9 @@ Value mnbudget(const Array& params, bool fHelp) CBitcoinAddress address(params[5].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Darknet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Pivx address"); - // Parse Darknet address + // Parse Pivx address CScript scriptPubKey = GetScriptForDestination(address.Get()); CAmount nAmount = AmountFromValue(params[6]); @@ -138,7 +138,7 @@ Value mnbudget(const Array& params, bool fHelp) mnEntries = masternodeConfig.getEntries(); if (params.size() != 8) - throw runtime_error("Correct usage is 'mnbudget submit proposal-name url payment_count block_start darknet_address monthly_payment_darknet fee_tx'"); + throw runtime_error("Correct usage is 'mnbudget submit proposal-name url payment_count block_start pivx_address monthly_payment_pivx fee_tx'"); // Check these inputs the same way we check the vote commands: // ********************************************************** @@ -174,9 +174,9 @@ Value mnbudget(const Array& params, bool fHelp) CBitcoinAddress address(params[5].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Darknet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Pivx address"); - // Parse Darknet address + // Parse Pivx address CScript scriptPubKey = GetScriptForDestination(address.Get()); CAmount nAmount = AmountFromValue(params[6]); uint256 hash = ParseHashV(params[7], "parameter 1"); diff --git a/src/rpcmasternode.cpp b/src/rpcmasternode.cpp index 55b7424e1190c..cbb897d302b37 100644 --- a/src/rpcmasternode.cpp +++ b/src/rpcmasternode.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -35,7 +35,7 @@ void SendMoney(const CTxDestination &address, CAmount nValue, CWalletTx& wtxNew, throw JSONRPCError(RPC_WALLET_ERROR, strError); } - // Parse Darknet address + // Parse Pivx address CScript scriptPubKey = GetScriptForDestination(address); // Create and send the transaction @@ -56,8 +56,8 @@ Value obfuscation(const Array& params, bool fHelp) { if (fHelp || params.size() == 0) throw runtime_error( - "obfuscation \n" - "darknetaddress, reset, or auto (AutoDenominate)" + "obfuscation \n" + "pivxaddress, reset, or auto (AutoDenominate)" " is a real and will be rounded to the next 0.1" + HelpRequiringPassphrase()); @@ -78,14 +78,14 @@ Value obfuscation(const Array& params, bool fHelp) if (params.size() != 2) throw runtime_error( - "obfuscation \n" - "darknetaddress, denominate, or auto (AutoDenominate)" + "obfuscation \n" + "pivxaddress, denominate, or auto (AutoDenominate)" " is a real and will be rounded to the next 0.1" + HelpRequiringPassphrase()); CBitcoinAddress address(params[0].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Darknet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Pivx address"); // Amount CAmount nAmount = AmountFromValue(params[1]); @@ -141,7 +141,7 @@ Value masternode(const Array& params, bool fHelp) " genkey - Generate new masternodeprivkey\n" " enforce - Enforce masternode payments\n" " outputs - Print masternode compatible outputs\n" - " start - Start masternode configured in darknet.conf\n" + " start - Start masternode configured in pivx.conf\n" " start-alias - Start single masternode by assigned alias configured in masternode.conf\n" " start- - Start masternodes configured in masternode.conf (: 'all', 'missing', 'disabled')\n" " status - Print masternode status information\n" diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index ae321868a0502..072cf50904884 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -102,7 +102,7 @@ Value getgenerate(const Array& params, bool fHelp) throw 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 darknet.conf setting gen)\n" + "It is set with the command line argument -gen (or pivx.conf 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" @@ -441,10 +441,10 @@ Value getblocktemplate(const Array& params, bool fHelp) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid mode"); if (vNodes.empty()) - throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "DarkNet is not connected!"); + throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "PIVX is not connected!"); if (IsInitialBlockDownload()) - throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "DarkNet is downloading blocks..."); + throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "PIVX is downloading blocks..."); static unsigned int nTransactionsUpdatedLast; diff --git a/src/rpcmisc.cpp b/src/rpcmisc.cpp index 3ddb73fe83d2e..96d03f0ab5319 100644 --- a/src/rpcmisc.cpp +++ b/src/rpcmisc.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -56,8 +56,8 @@ Value getinfo(const Array& params, bool fHelp) " \"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 darknet balance of the wallet\n" - " \"obfuscation_balance\": xxxxxx, (numeric) the anonymized darknet balance of the wallet\n" + " \"balance\": xxxxxxx, (numeric) the total pivx balance of the wallet\n" + " \"obfuscation_balance\": xxxxxx, (numeric) the anonymized pivx 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" @@ -67,8 +67,8 @@ Value getinfo(const Array& params, bool fHelp) " \"keypoololdest\": xxxxxx, (numeric) the timestamp (seconds since GMT epoch) of the oldest pre-generated key in the key pool\n" " \"keypoolsize\": xxxx, (numeric) how many new keys are pre-generated\n" " \"unlocked_until\": ttt, (numeric) the timestamp in seconds since epoch (midnight Jan 1 1970 GMT) that the wallet is unlocked for transfers, or 0 if the wallet is locked\n" - " \"paytxfee\": x.xxxx, (numeric) the transaction fee set in darknet/kb\n" - " \"relayfee\": x.xxxx, (numeric) minimum relay fee for non-free transactions in darknet/kb\n" + " \"paytxfee\": x.xxxx, (numeric) the transaction fee set in pivx/kb\n" + " \"relayfee\": x.xxxx, (numeric) minimum relay fee for non-free transactions in pivx/kb\n" " \"staking status\": true|false, (boolean) if the wallet is staking or not\n" " \"errors\": \"...\" (string) any error messages\n" "}\n" @@ -255,14 +255,14 @@ Value validateaddress(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) throw runtime_error( - "validateaddress \"darknetaddress\"\n" - "\nReturn information about the given darknet address.\n" + "validateaddress \"pivxaddress\"\n" + "\nReturn information about the given pivx address.\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address to validate\n" + "1. \"pivxaddress\" (string, required) The pivx 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\" : \"darknetaddress\", (string) The darknet address validated\n" + " \"address\" : \"pivxaddress\", (string) The pivx address validated\n" " \"ismine\" : true|false, (boolean) If the address is yours or not\n" " \"isscript\" : true|false, (boolean) If the key is a script\n" " \"pubkey\" : \"publickeyhex\", (string) The hex value of the raw public key\n" @@ -322,7 +322,7 @@ CScript _createmultisig_redeemScript(const Array& params) { const std::string& ks = keys[i].get_str(); #ifdef ENABLE_WALLET - // Case 1: DarkNet address and we have full public key: + // Case 1: PIVX address and we have full public key: CBitcoinAddress address(ks); if (pwalletMain && address.IsValid()) { @@ -373,9 +373,9 @@ Value createmultisig(const Array& params, bool fHelp) "\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 darknet addresses or hex-encoded public keys\n" + "2. \"keys\" (string, required) A json array of keys which are pivx addresses or hex-encoded public keys\n" " [\n" - " \"key\" (string) darknet address or hex-encoded public key\n" + " \"key\" (string) pivx address or hex-encoded public key\n" " ,...\n" " ]\n" @@ -410,10 +410,10 @@ Value verifymessage(const Array& params, bool fHelp) { if (fHelp || params.size() != 3) throw runtime_error( - "verifymessage \"darknetaddress\" \"signature\" \"message\"\n" + "verifymessage \"pivxaddress\" \"signature\" \"message\"\n" "\nVerify a signed message\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address to use for the signature.\n" + "1. \"pivxaddress\" (string, required) The pivx 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" diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 45bbe51ab7c01..8fd2d82dddd67 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -96,7 +96,7 @@ Value getpeerinfo(const Array& params, bool fHelp) " \"pingtime\": n, (numeric) ping time\n" " \"pingwait\": n, (numeric) ping wait\n" " \"version\": v, (numeric) The peer version, such as 7001\n" - " \"subver\": \"/Darknet Core:x.x.x.x/\", (string) The string version\n" + " \"subver\": \"/Pivx Core:x.x.x.x/\", (string) The string version\n" " \"inbound\": true|false, (boolean) Inbound (true) or Outbound (false)\n" " \"startingheight\": n, (numeric) The starting height (block) of the peer\n" " \"banscore\": n, (numeric) The ban score\n" @@ -230,7 +230,7 @@ Value getaddednodeinfo(const Array& params, bool fHelp) " \"connected\" : true|false, (boolean) If connected\n" " \"addresses\" : [\n" " {\n" - " \"address\" : \"192.168.0.201:51472\", (string) The darknet server host and port\n" + " \"address\" : \"192.168.0.201:51472\", (string) The pivx server host and port\n" " \"connected\" : \"outbound\" (string) connection, inbound or outbound\n" " }\n" " ,...\n" @@ -382,7 +382,7 @@ Value getnetworkinfo(const Array& params, bool fHelp) "\nResult:\n" "{\n" " \"version\": xxxxx, (numeric) the server version\n" - " \"subversion\": \"/Darknet Core:x.x.x.x/\", (string) the server subversion string\n" + " \"subversion\": \"/Pivx Core:x.x.x.x/\", (string) the server subversion string\n" " \"protocolversion\": xxxxx, (numeric) the protocol version\n" " \"localservices\": \"xxxxxxxxxxxxxxxx\", (string) the services we offer to the network\n" " \"timeoffset\": xxxxx, (numeric) the time offset\n" @@ -396,7 +396,7 @@ Value getnetworkinfo(const Array& params, bool fHelp) " }\n" " ,...\n" " ],\n" - " \"relayfee\": x.xxxxxxxx, (numeric) minimum relay fee for non-free transactions in darknet/kb\n" + " \"relayfee\": x.xxxxxxxx, (numeric) minimum relay fee for non-free transactions in pivx/kb\n" " \"localaddresses\": [ (array) list of local addresses\n" " {\n" " \"address\": \"xxxx\", (string) network address\n" diff --git a/src/rpcprotocol.cpp b/src/rpcprotocol.cpp index 041cc14d7ba6c..9bea3ba11ffc9 100644 --- a/src/rpcprotocol.cpp +++ b/src/rpcprotocol.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -46,7 +46,7 @@ string HTTPPost(const string& strMsg, const map& mapRequestHeader { ostringstream s; s << "POST / HTTP/1.1\r\n" - << "User-Agent: darknet-json-rpc/" << FormatFullVersion() << "\r\n" + << "User-Agent: pivx-json-rpc/" << FormatFullVersion() << "\r\n" << "Host: 127.0.0.1\r\n" << "Content-Type: application/json\r\n" << "Content-Length: " << strMsg.size() << "\r\n" @@ -81,7 +81,7 @@ string HTTPError(int nStatus, bool keepalive, bool headersOnly) if (nStatus == HTTP_UNAUTHORIZED) return strprintf("HTTP/1.0 401 Authorization Required\r\n" "Date: %s\r\n" - "Server: darknet-json-rpc/%s\r\n" + "Server: pivx-json-rpc/%s\r\n" "WWW-Authenticate: Basic realm=\"jsonrpc\"\r\n" "Content-Type: text/html\r\n" "Content-Length: 296\r\n" @@ -108,7 +108,7 @@ string HTTPReplyHeader(int nStatus, bool keepalive, size_t contentLength, const "Connection: %s\r\n" "Content-Length: %u\r\n" "Content-Type: %s\r\n" - "Server: darknet-json-rpc/%s\r\n" + "Server: pivx-json-rpc/%s\r\n" "\r\n", nStatus, httpStatusDescription(nStatus), @@ -250,7 +250,7 @@ int ReadHTTPMessage(std::basic_istream& stream, map 1) throw runtime_error( "stop\n" - "\nStop DarkNet server."); + "\nStop PIVX server."); // Shutdown will take long enough that the response should get back StartShutdown(); - return "DarkNet server stopping"; + return "PIVX server stopping"; } @@ -310,16 +310,16 @@ static const CRPCCommand vRPCCommands[] = { "hidden", "reconsiderblock", &reconsiderblock, true, true, false }, { "hidden", "setmocktime", &setmocktime, true, false, false }, - /* Darknet features */ - { "darknet", "masternode", &masternode, true, true, false }, - { "darknet", "masternodelist", &masternodelist, true, true, false }, - { "darknet", "mnbudget", &mnbudget, true, true, false }, - { "darknet", "mnbudgetvoteraw", &mnbudgetvoteraw, true, true, false }, - { "darknet", "mnfinalbudget", &mnfinalbudget, true, true, false }, - { "darknet", "mnsync", &mnsync, true, true, false }, - { "darknet", "spork", &spork, true, true, false }, + /* Pivx features */ + { "pivx", "masternode", &masternode, true, true, false }, + { "pivx", "masternodelist", &masternodelist, true, true, false }, + { "pivx", "mnbudget", &mnbudget, true, true, false }, + { "pivx", "mnbudgetvoteraw", &mnbudgetvoteraw, true, true, false }, + { "pivx", "mnfinalbudget", &mnfinalbudget, true, true, false }, + { "pivx", "mnsync", &mnsync, true, true, false }, + { "pivx", "spork", &spork, true, true, false }, #ifdef ENABLE_WALLET - { "darknet", "obfuscation", &obfuscation, false, false, true }, /* not threadSafe because of SendMoney */ + { "pivx", "obfuscation", &obfuscation, false, false, true }, /* not threadSafe because of SendMoney */ /* Wallet */ { "wallet", "addmultisigaddress", &addmultisigaddress, true, false, true }, @@ -593,16 +593,16 @@ void StartRPCThreads() unsigned char rand_pwd[32]; GetRandBytes(rand_pwd, 32); uiInterface.ThreadSafeMessageBox(strprintf( - _("To use darknetd, or the -server option to darknet-qt, you must set an rpcpassword in the configuration file:\n" + _("To use pivxd, or the -server option to pivx-qt, you must set an rpcpassword in the configuration file:\n" "%s\n" "It is recommended you use the following random password:\n" - "rpcuser=darknetrpc\n" + "rpcuser=pivxrpc\n" "rpcpassword=%s\n" "(you do not need to remember this password)\n" "The username and password MUST NOT be the same.\n" "If the file does not exist, create it with owner-readable-only file permissions.\n" "It is also recommended to set alertnotify so you are notified of problems;\n" - "for example: alertnotify=echo %%s | mail -s \"DarkNet Alert\" admin@foo.com\n"), + "for example: alertnotify=echo %%s | mail -s \"PIVX Alert\" admin@foo.com\n"), GetConfigFile().string(), EncodeBase58(&rand_pwd[0],&rand_pwd[0]+32)), "", CClientUIInterface::MSG_ERROR | CClientUIInterface::SECURE); @@ -1053,7 +1053,7 @@ json_spirit::Value CRPCTable::execute(const std::string &strMethod, const json_s } std::string HelpExampleCli(string methodname, string args){ - return "> darknet-cli " + methodname + " " + args + "\n"; + return "> pivx-cli " + methodname + " " + args + "\n"; } std::string HelpExampleRpc(string methodname, string args){ diff --git a/src/rpcserver.h b/src/rpcserver.h index 6df7fdb32ce9b..c9b0423057ca3 100644 --- a/src/rpcserver.h +++ b/src/rpcserver.h @@ -93,7 +93,7 @@ class CRPCCommand }; /** - * DarkNet RPC command dispatcher. + * PIVX RPC command dispatcher. */ class CRPCTable { diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index d5629629db039..7d9a114aab9bc 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -86,13 +86,13 @@ Value getnewaddress(const Array& params, bool fHelp) if (fHelp || params.size() > 1) throw runtime_error( "getnewaddress ( \"account\" )\n" - "\nReturns a new DarkNet address for receiving payments.\n" + "\nReturns a new PIVX address for receiving payments.\n" "If 'account' is specified (recommended), it is added to the address book \n" "so payments received with the address will be credited to 'account'.\n" "\nArguments:\n" "1. \"account\" (string, optional) The account name for the address to be linked to. if not provided, the default account \"\" is used. It can also be set to the empty string \"\" to represent the default account. The account does not need to exist, it will be created if there is no account by the given name.\n" "\nResult:\n" - "\"darknetaddress\" (string) The new darknet address\n" + "\"pivxaddress\" (string) The new pivx address\n" "\nExamples:\n" + HelpExampleCli("getnewaddress", "") + HelpExampleCli("getnewaddress", "\"\"") @@ -162,11 +162,11 @@ Value getaccountaddress(const Array& params, bool fHelp) if (fHelp || params.size() != 1) throw runtime_error( "getaccountaddress \"account\"\n" - "\nReturns the current DarkNet address for receiving payments to this account.\n" + "\nReturns the current PIVX address for receiving payments to this account.\n" "\nArguments:\n" "1. \"account\" (string, required) The account name for the address. It can also be set to the empty string \"\" to represent the default account. The account does not need to exist, it will be created and a new address created if there is no account by the given name.\n" "\nResult:\n" - "\"darknetaddress\" (string) The account darknet address\n" + "\"pivxaddress\" (string) The account pivx address\n" "\nExamples:\n" + HelpExampleCli("getaccountaddress", "") + HelpExampleCli("getaccountaddress", "\"\"") @@ -190,7 +190,7 @@ Value getrawchangeaddress(const Array& params, bool fHelp) if (fHelp || params.size() > 1) throw runtime_error( "getrawchangeaddress\n" - "\nReturns a new DarkNet address, for receiving change.\n" + "\nReturns a new PIVX address, for receiving change.\n" "This is for use with raw transactions, NOT normal use.\n" "\nResult:\n" "\"address\" (string) The address\n" @@ -219,10 +219,10 @@ Value setaccount(const Array& params, bool fHelp) { if (fHelp || params.size() < 1 || params.size() > 2) throw runtime_error( - "setaccount \"darknetaddress\" \"account\"\n" + "setaccount \"pivxaddress\" \"account\"\n" "\nSets the account associated with the given address.\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address to be associated with an account.\n" + "1. \"pivxaddress\" (string, required) The pivx address to be associated with an account.\n" "2. \"account\" (string, required) The account to assign the address to.\n" "\nExamples:\n" + HelpExampleCli("setaccount", "\"XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg\" \"tabby\"") @@ -231,7 +231,7 @@ Value setaccount(const Array& params, bool fHelp) CBitcoinAddress address(params[0].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); string strAccount; @@ -261,10 +261,10 @@ Value getaccount(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) throw runtime_error( - "getaccount \"darknetaddress\"\n" + "getaccount \"pivxaddress\"\n" "\nReturns the account associated with the given address.\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address for account lookup.\n" + "1. \"pivxaddress\" (string, required) The pivx address for account lookup.\n" "\nResult:\n" "\"accountname\" (string) the account address\n" "\nExamples:\n" @@ -274,7 +274,7 @@ Value getaccount(const Array& params, bool fHelp) CBitcoinAddress address(params[0].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); string strAccount; map::iterator mi = pwalletMain->mapAddressBook.find(address.Get()); @@ -294,7 +294,7 @@ Value getaddressesbyaccount(const Array& params, bool fHelp) "1. \"account\" (string, required) The account name.\n" "\nResult:\n" "[ (json array of string)\n" - " \"darknetaddress\" (string) a darknet address associated with the given account\n" + " \"pivxaddress\" (string) a pivx address associated with the given account\n" " ,...\n" "]\n" "\nExamples:\n" @@ -333,7 +333,7 @@ void SendMoney(const CTxDestination &address, CAmount nValue, CWalletTx& wtxNew, throw JSONRPCError(RPC_WALLET_ERROR, strError); } - // Parse DarkNet address + // Parse PIVX address CScript scriptPubKey = GetScriptForDestination(address); // Create and send the transaction @@ -354,11 +354,11 @@ Value sendtoaddress(const Array& params, bool fHelp) { if (fHelp || params.size() < 2 || params.size() > 4) throw runtime_error( - "sendtoaddress \"darknetaddress\" amount ( \"comment\" \"comment-to\" )\n" + "sendtoaddress \"pivxaddress\" amount ( \"comment\" \"comment-to\" )\n" "\nSend an amount to a given address. The amount is a real and is rounded to the nearest 0.00000001\n" + HelpRequiringPassphrase() + "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address to send to.\n" + "1. \"pivxaddress\" (string, required) The pivx address to send to.\n" "2. \"amount\" (numeric, required) The amount in btc to send. eg 0.1\n" "3. \"comment\" (string, optional) A comment used to store what the transaction is for. \n" " This is not part of the transaction, just kept in your wallet.\n" @@ -375,7 +375,7 @@ Value sendtoaddress(const Array& params, bool fHelp) CBitcoinAddress address(params[0].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); // Amount CAmount nAmount = AmountFromValue(params[1]); @@ -398,11 +398,11 @@ Value sendtoaddressix(const Array& params, bool fHelp) { if (fHelp || params.size() < 2 || params.size() > 4) throw runtime_error( - "sendtoaddressix \"darknetaddress\" amount ( \"comment\" \"comment-to\" )\n" + "sendtoaddressix \"pivxaddress\" amount ( \"comment\" \"comment-to\" )\n" "\nSend an amount to a given address. The amount is a real and is rounded to the nearest 0.00000001\n" + HelpRequiringPassphrase() + "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address to send to.\n" + "1. \"pivxaddress\" (string, required) The pivx address to send to.\n" "2. \"amount\" (numeric, required) The amount in btc to send. eg 0.1\n" "3. \"comment\" (string, optional) A comment used to store what the transaction is for. \n" " This is not part of the transaction, just kept in your wallet.\n" @@ -419,7 +419,7 @@ Value sendtoaddressix(const Array& params, bool fHelp) CBitcoinAddress address(params[0].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); // Amount CAmount nAmount = AmountFromValue(params[1]); @@ -449,7 +449,7 @@ Value listaddressgroupings(const Array& params, bool fHelp) "[\n" " [\n" " [\n" - " \"darknetaddress\", (string) The darknet address\n" + " \"pivxaddress\", (string) The pivx address\n" " amount, (numeric) The amount in btc\n" " \"account\" (string, optional) The account\n" " ]\n" @@ -488,11 +488,11 @@ Value signmessage(const Array& params, bool fHelp) { if (fHelp || params.size() != 2) throw runtime_error( - "signmessage \"darknetaddress\" \"message\"\n" + "signmessage \"pivxaddress\" \"message\"\n" "\nSign a message with the private key of an address" + HelpRequiringPassphrase() + "\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address to use for the private key.\n" + "1. \"pivxaddress\" (string, required) The pivx address to use for the private key.\n" "2. \"message\" (string, required) The message to create a signature of.\n" "\nResult:\n" "\"signature\" (string) The signature of the message encoded in base 64\n" @@ -539,10 +539,10 @@ Value getreceivedbyaddress(const Array& params, bool fHelp) { if (fHelp || params.size() < 1 || params.size() > 2) throw runtime_error( - "getreceivedbyaddress \"darknetaddress\" ( minconf )\n" - "\nReturns the total amount received by the given darknetaddress in transactions with at least minconf confirmations.\n" + "getreceivedbyaddress \"pivxaddress\" ( minconf )\n" + "\nReturns the total amount received by the given pivxaddress in transactions with at least minconf confirmations.\n" "\nArguments:\n" - "1. \"darknetaddress\" (string, required) The darknet address for transactions.\n" + "1. \"pivxaddress\" (string, required) The pivx address for transactions.\n" "2. minconf (numeric, optional, default=1) Only include transactions confirmed at least this many times.\n" "\nResult:\n" "amount (numeric) The total amount in btc received at this address.\n" @@ -557,10 +557,10 @@ Value getreceivedbyaddress(const Array& params, bool fHelp) + HelpExampleRpc("getreceivedbyaddress", "\"XwnLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPwg\", 6") ); - // darknet address + // pivx address CBitcoinAddress address = CBitcoinAddress(params[0].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); CScript scriptPubKey = GetScriptForDestination(address.Get()); if (!IsMine(*pwalletMain,scriptPubKey)) return (double)0.0; @@ -825,13 +825,13 @@ Value sendfrom(const Array& params, bool fHelp) { if (fHelp || params.size() < 3 || params.size() > 6) throw runtime_error( - "sendfrom \"fromaccount\" \"todarknetaddress\" amount ( minconf \"comment\" \"comment-to\" )\n" - "\nSent an amount from an account to a darknet address.\n" + "sendfrom \"fromaccount\" \"topivxaddress\" amount ( minconf \"comment\" \"comment-to\" )\n" + "\nSent an amount from an account to a pivx address.\n" "The amount is a real and is rounded to the nearest 0.00000001." + HelpRequiringPassphrase() + "\n" "\nArguments:\n" "1. \"fromaccount\" (string, required) The name of the account to send funds from. May be the default account using \"\".\n" - "2. \"todarknetaddress\" (string, required) The darknet address to send funds to.\n" + "2. \"topivxaddress\" (string, required) The pivx address to send funds to.\n" "3. amount (numeric, required) The amount in btc. (transaction fee is added on top).\n" "4. minconf (numeric, optional, default=1) Only use funds with at least this many confirmations.\n" "5. \"comment\" (string, optional) A comment used to store what the transaction is for. \n" @@ -853,7 +853,7 @@ Value sendfrom(const Array& params, bool fHelp) string strAccount = AccountFromValue(params[0]); CBitcoinAddress address(params[1].get_str()); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid DarkNet address"); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address"); CAmount nAmount = AmountFromValue(params[2]); int nMinDepth = 1; if (params.size() > 3) @@ -890,7 +890,7 @@ Value sendmany(const Array& params, bool fHelp) "1. \"fromaccount\" (string, required) The account to send the funds from, can be \"\" for the default account\n" "2. \"amounts\" (string, required) A json object with addresses and amounts\n" " {\n" - " \"address\":amount (numeric) The darknet address is the key, the numeric amount in btc is the value\n" + " \"address\":amount (numeric) The pivx address is the key, the numeric amount in btc is the value\n" " ,...\n" " }\n" "3. minconf (numeric, optional, default=1) Only use the balance confirmed at least this many times.\n" @@ -926,7 +926,7 @@ Value sendmany(const Array& params, bool fHelp) { CBitcoinAddress address(s.name_); if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, string("Invalid DarkNet address: ")+s.name_); + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, string("Invalid PIVX address: ")+s.name_); if (setAddress.count(address)) throw JSONRPCError(RPC_INVALID_PARAMETER, string("Invalid parameter, duplicated address: ")+s.name_); @@ -968,20 +968,20 @@ Value addmultisigaddress(const Array& params, bool fHelp) { string msg = "addmultisigaddress nrequired [\"key\",...] ( \"account\" )\n" "\nAdd a nrequired-to-sign multisignature address to the wallet.\n" - "Each key is a DarkNet address or hex-encoded public key.\n" + "Each key is a PIVX address or hex-encoded public key.\n" "If 'account' is specified, assign address to that account.\n" "\nArguments:\n" "1. nrequired (numeric, required) The number of required signatures out of the n keys or addresses.\n" - "2. \"keysobject\" (string, required) A json array of darknet addresses or hex-encoded public keys\n" + "2. \"keysobject\" (string, required) A json array of pivx addresses or hex-encoded public keys\n" " [\n" - " \"address\" (string) darknet address or hex-encoded public key\n" + " \"address\" (string) pivx address or hex-encoded public key\n" " ...,\n" " ]\n" "3. \"account\" (string, optional) An account to assign the addresses to.\n" "\nResult:\n" - "\"darknetaddress\" (string) A darknet address associated with the keys.\n" + "\"pivxaddress\" (string) A pivx address associated with the keys.\n" "\nExamples:\n" "\nAdd a multisig address from 2 addresses\n" @@ -1325,7 +1325,7 @@ Value listtransactions(const Array& params, bool fHelp) " {\n" " \"account\":\"accountname\", (string) The account name associated with the transaction. \n" " It will be \"\" for the default account.\n" - " \"address\":\"darknetaddress\", (string) The darknet address of the transaction. Not present for \n" + " \"address\":\"pivxaddress\", (string) The pivx address of the transaction. Not present for \n" " move transactions (category = move).\n" " \"category\":\"send|receive|move\", (string) The transaction category. 'move' is a local (off blockchain)\n" " transaction between accounts, and not associated with an address,\n" @@ -1511,7 +1511,7 @@ Value listsinceblock(const Array& params, bool fHelp) "{\n" " \"transactions\": [\n" " \"account\":\"accountname\", (string) The account name associated with the transaction. Will be \"\" for the default account.\n" - " \"address\":\"darknetaddress\", (string) The darknet address of the transaction. Not present for move transactions (category = move).\n" + " \"address\":\"pivxaddress\", (string) The pivx address of the transaction. Not present for move transactions (category = move).\n" " \"category\":\"send|receive\", (string) The transaction category. 'send' has negative amounts, 'receive' has positive amounts.\n" " \"amount\": x.xxx, (numeric) The amount in btc. This is negative for the 'send' category, and for the 'move' category for moves \n" " outbound. It is positive for the 'receive' category, and for the 'move' category for inbound funds.\n" @@ -1607,7 +1607,7 @@ Value gettransaction(const Array& params, bool fHelp) " \"details\" : [\n" " {\n" " \"account\" : \"accountname\", (string) The account name involved in the transaction, can be \"\" for the default account.\n" - " \"address\" : \"darknetaddress\", (string) The darknet address involved in the transaction\n" + " \"address\" : \"pivxaddress\", (string) The pivx address involved in the transaction\n" " \"category\" : \"send|receive\", (string) The category, either 'send' or 'receive'\n" " \"amount\" : x.xxx (numeric) The amount in btc\n" " \"vout\" : n, (numeric) the vout value\n" @@ -1724,7 +1724,7 @@ Value walletpassphrase(const Array& params, bool fHelp) throw runtime_error( "walletpassphrase \"passphrase\" timeout ( anonymizeonly )\n" "\nStores the wallet decryption key in memory for 'timeout' seconds.\n" - "This is needed prior to performing transactions related to private keys such as sending darknets\n" + "This is needed prior to performing transactions related to private keys such as sending PIVs\n" "\nArguments:\n" "1. \"passphrase\" (string, required) The wallet passphrase\n" "2. timeout (numeric, required) The time to keep the decryption key in seconds.\n" @@ -1867,10 +1867,10 @@ Value encryptwallet(const Array& params, bool fHelp) "\nExamples:\n" "\nEncrypt you wallet\n" + HelpExampleCli("encryptwallet", "\"my pass phrase\"") + - "\nNow set the passphrase to use the wallet, such as for signing or sending darknet\n" + "\nNow set the passphrase to use the wallet, such as for signing or sending PIVs\n" + HelpExampleCli("walletpassphrase", "\"my pass phrase\"") + "\nNow we can so something like sign\n" - + HelpExampleCli("signmessage", "\"darknetaddress\" \"test message\"") + + + HelpExampleCli("signmessage", "\"pivxaddress\" \"test message\"") + "\nNow lock the wallet again by removing the passphrase\n" + HelpExampleCli("walletlock", "") + "\nAs a json rpc call\n" @@ -1900,7 +1900,7 @@ Value encryptwallet(const Array& params, bool fHelp) // slack space in .dat files; that is bad if the old data is // unencrypted private keys. So: StartShutdown(); - return "wallet encrypted; darknet server stopping, restart to run with encrypted wallet. The keypool has been flushed, you need to make a new backup."; + return "wallet encrypted; pivx server stopping, restart to run with encrypted wallet. The keypool has been flushed, you need to make a new backup."; } Value lockunspent(const Array& params, bool fHelp) @@ -1910,7 +1910,7 @@ Value lockunspent(const Array& params, bool fHelp) "lockunspent unlock [{\"txid\":\"txid\",\"vout\":n},...]\n" "\nUpdates list of temporarily unspendable outputs.\n" "Temporarily lock (unlock=false) or unlock (unlock=true) specified transaction outputs.\n" - "A locked transaction output will not be chosen by automatic coin selection, when spending darknets.\n" + "A locked transaction output will not be chosen by automatic coin selection, when spending PIVs.\n" "Locks are stored in memory only. Nodes start with zero locked outputs, and the locked output list\n" "is always cleared (by virtue of process exit) when a node stops or fails.\n" "Also see the listunspent call\n" diff --git a/src/secp256k1/build-aux/m4/bitcoin_secp.m4 b/src/secp256k1/build-aux/m4/bitcoin_secp.m4 deleted file mode 100644 index 4ca28f99cfacb..0000000000000 --- a/src/secp256k1/build-aux/m4/bitcoin_secp.m4 +++ /dev/null @@ -1,96 +0,0 @@ -dnl libsecp25k1 helper checks -AC_DEFUN([SECP_INT128_CHECK],[ -has_int128=$ac_cv_type___int128 -if test x"$has_int128" != x"yes" && test x"$set_field" = x"64bit"; then - AC_MSG_ERROR([$set_field field support explicitly requested but is not compatible with this host]) -fi -if test x"$has_int128" != x"yes" && test x"$set_scalar" = x"64bit"; then - AC_MSG_ERROR([$set_scalar scalar support explicitly requested but is not compatible with this host]) -fi -]) - -dnl -AC_DEFUN([SECP_64BIT_ASM_CHECK],[ -if test x"$host_cpu" == x"x86_64"; then - AC_CHECK_PROG(YASM, yasm, yasm) -else - if test x"$set_field" = x"64bit_asm"; then - AC_MSG_ERROR([$set_field field support explicitly requested but is not compatible with this host]) - fi -fi -if test x$YASM = x; then - if test x"$set_field" = x"64bit_asm"; then - AC_MSG_ERROR([$set_field field support explicitly requested but yasm was not found]) - fi - has_64bit_asm=no -else - case x"$host_os" in - xdarwin*) - YASM_BINFMT=macho64 - ;; - x*-gnux32) - YASM_BINFMT=elfx32 - ;; - *) - YASM_BINFMT=elf64 - ;; - esac - if $YASM -f help | grep -q $YASM_BINFMT; then - has_64bit_asm=yes - else - if test x"$set_field" = x"64bit_asm"; then - AC_MSG_ERROR([$set_field field support explicitly requested but yasm doesn't support $YASM_BINFMT format]) - fi - AC_MSG_WARN([yasm too old for $YASM_BINFMT format]) - has_64bit_asm=no - fi -fi -]) - -dnl -AC_DEFUN([SECP_OPENSSL_CHECK],[ -if test x"$use_pkgconfig" = x"yes"; then - : #NOP - m4_ifdef([PKG_CHECK_MODULES],[ - PKG_CHECK_MODULES([CRYPTO], [libcrypto], [has_libcrypto=yes; AC_DEFINE(HAVE_LIBCRYPTO,1,[Define this symbol if libcrypto is installed])],[has_libcrypto=no]) - : #NOP - ]) -else - AC_CHECK_HEADER(openssl/crypto.h,[AC_CHECK_LIB(crypto, main,[has_libcrypto=yes; CRYPTO_LIBS=-lcrypto; AC_DEFINE(HAVE_LIBCRYPTO,1,[Define this symbol if libcrypto is installed])] -)]) - LIBS= -fi -if test x"$has_libcrypto" == x"yes" && test x"$has_openssl_ec" = x; then - AC_MSG_CHECKING(for EC functions in libcrypto) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - #include ]],[[ - EC_KEY *eckey = EC_KEY_new_by_curve_name(NID_secp256k1); - ECDSA_sign(0, NULL, 0, NULL, NULL, eckey); - ECDSA_verify(0, NULL, 0, NULL, 0, eckey); - EC_KEY_free(eckey); - ]])],[has_openssl_ec=yes],[has_openssl_ec=no]) - AC_MSG_RESULT([$has_openssl_ec]) -fi -]) - -dnl -AC_DEFUN([SECP_GMP_CHECK],[ -if test x"$has_gmp" != x"yes"; then - CPPFLAGS_TEMP="$CPPFLAGS" - CPPFLAGS="$GMP_CPPFLAGS $CPPFLAGS" - LIBS_TEMP="$LIBS" - LIBS="$GMP_LIBS $LIBS" - AC_CHECK_HEADER(gmp.h,[AC_CHECK_LIB(gmp, __gmpz_init,[has_gmp=yes; GMP_LIBS="$GMP_LIBS -lgmp"; AC_DEFINE(HAVE_LIBGMP,1,[Define this symbol if libgmp is installed])])]) - CPPFLAGS="$CPPFLAGS_TEMP" - LIBS="$LIBS_TEMP" -fi -if test x"$set_field" = x"gmp" && test x"$has_gmp" != x"yes"; then - AC_MSG_ERROR([$set_field field support explicitly requested but libgmp was not found]) -fi -if test x"$set_bignum" = x"gmp" && test x"$has_gmp" != x"yes"; then - AC_MSG_ERROR([$set_bignum field support explicitly requested but libgmp was not found]) -fi -]) - diff --git a/src/spork.h b/src/spork.h index f6da94026fd19..297000b0dface 100644 --- a/src/spork.h +++ b/src/spork.h @@ -1,6 +1,6 @@ // Copyright (c) 2009-2012 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef SPORK_H @@ -27,8 +27,8 @@ using namespace boost; #define SPORK_START 10001 #define SPORK_END 10012 -#define SPORK_2_SWIFTTX 10001 -#define SPORK_3_SWIFTTX_BLOCK_FILTERING 10002 +#define SPORK_2_SWIFTTX 10001 +#define SPORK_3_SWIFTTX_BLOCK_FILTERING 10002 #define SPORK_5_MAX_VALUE 10004 #define SPORK_7_MASTERNODE_SCANNING 10006 #define SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT 10007 @@ -38,8 +38,8 @@ using namespace boost; #define SPORK_12_RECONSIDER_BLOCKS 10011 #define SPORK_13_ENABLE_SUPERBLOCKS 10012 -#define SPORK_2_SWIFTTX_DEFAULT 978307200 //2001-1-1 -#define SPORK_3_SWIFTTX_BLOCK_FILTERING_DEFAULT 1424217600 //2015-2-18 +#define SPORK_2_SWIFTTX_DEFAULT 978307200 //2001-1-1 +#define SPORK_3_SWIFTTX_BLOCK_FILTERING_DEFAULT 1424217600 //2015-2-18 #define SPORK_5_MAX_VALUE_DEFAULT 1000 //1000 PIV #define SPORK_7_MASTERNODE_SCANNING_DEFAULT 978307200 //2001-1-1 #define SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT_DEFAULT 4070908800 //OFF diff --git a/src/swifttx.h b/src/swifttx.h index c82c8b7ad1fee..8a29853e16cc0 100644 --- a/src/swifttx.h +++ b/src/swifttx.h @@ -1,6 +1,6 @@ // Copyright (c) 2009-2012 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef SWIFTTX_H diff --git a/src/test/README.md b/src/test/README.md index 4adc3011b14d3..a11ad5823b344 100644 --- a/src/test/README.md +++ b/src/test/README.md @@ -5,9 +5,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_darknet" +The build system is setup to compile an executable called "test_pivx" that runs all of the unit tests. The main source file is called -test_darknet.cpp, which simply includes other files that contain the +test_pivx.cpp, which simply includes other files that contain the actual unit tests (outside of a couple required preprocessor directives). 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 diff --git a/src/test/getarg_tests.cpp b/src/test/getarg_tests.cpp index 2a0ac6de9a897..e7ea0c2708559 100644 --- a/src/test/getarg_tests.cpp +++ b/src/test/getarg_tests.cpp @@ -125,7 +125,7 @@ BOOST_AUTO_TEST_CASE(intarg) BOOST_CHECK_EQUAL(GetArg("-bar", 11), 0); } -BOOST_AUTO_TEST_CASE(doubledarknet) +BOOST_AUTO_TEST_CASE(doublepivx) { ResetArgs("--foo"); BOOST_CHECK_EQUAL(GetBoolArg("-foo", false), true); diff --git a/src/test/main_tests.cpp b/src/test/main_tests.cpp index 7ab86312c7b3e..78ed0a319fc52 100644 --- a/src/test/main_tests.cpp +++ b/src/test/main_tests.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2014 The Bitcoin Core developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/netbase_tests.cpp b/src/test/netbase_tests.cpp index c33de06c02ab9..cca85c1a2b1b6 100644 --- a/src/test/netbase_tests.cpp +++ b/src/test/netbase_tests.cpp @@ -1,6 +1,6 @@ // Copyright (c) 2012-2014 The Bitcoin Core developers // Copyright (c) 2014-2015 The Dash Core developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/test/test_darknet.cpp b/src/test/test_pivx.cpp similarity index 93% rename from src/test/test_darknet.cpp rename to src/test/test_pivx.cpp index 6bf7535ef503f..d41d35b2b8b95 100644 --- a/src/test/test_darknet.cpp +++ b/src/test/test_pivx.cpp @@ -2,7 +2,7 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#define BOOST_TEST_MODULE Darknet Test Suite +#define BOOST_TEST_MODULE Pivx Test Suite #include "main.h" #include "random.h" @@ -38,7 +38,7 @@ struct TestingSetup { #ifdef ENABLE_WALLET bitdb.MakeMock(); #endif - pathTemp = GetTempPath() / strprintf("test_darknet_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000))); + pathTemp = GetTempPath() / strprintf("test_pivx_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000))); boost::filesystem::create_directories(pathTemp); mapArgs["-datadir"] = pathTemp.string(); pblocktree = new CBlockTreeDB(1 << 20, true); diff --git a/src/timedata.cpp b/src/timedata.cpp index 5f500fe4d020a..a1c6bbb2b757a 100644 --- a/src/timedata.cpp +++ b/src/timedata.cpp @@ -97,7 +97,7 @@ void AddTimeData(const CNetAddr& ip, int64_t nTime) if (!fMatch) { fDone = true; - string strMessage = _("Warning: Please check that your computer's date and time are correct! If your clock is wrong Darknet Core will not work properly."); + string strMessage = _("Warning: Please check that your computer's date and time are correct! If your clock is wrong Pivx Core will not work properly."); strMiscWarning = strMessage; LogPrintf("*** %s\n", strMessage); uiInterface.ThreadSafeMessageBox(strMessage, "", CClientUIInterface::MSG_WARNING); diff --git a/src/uint256.h b/src/uint256.h index d274a122e828d..3198063d341ca 100644 --- a/src/uint256.h +++ b/src/uint256.h @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/util.cpp b/src/util.cpp index ff2e291b32468..ca1247ae0a536 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -104,7 +104,7 @@ namespace boost { using namespace std; -//DarkNet only features +//PIVX only features bool fMasterNode = false; string strMasterNodePrivKey = ""; string strMasterNodeAddr = ""; @@ -112,7 +112,7 @@ bool fLiteMode = false; bool fEnableSwiftTX = true; int nSwiftTXDepth = 5; int nObfuscationRounds = 2; -int nAnonymizeDarknetAmount = 1000; +int nAnonymizePivxAmount = 1000; int nLiquidityProvider = 0; /** Spork enforcement enabled time */ int64_t enforceMasternodePaymentsTime = 4085657524; @@ -233,8 +233,8 @@ bool LogAcceptCategory(const char* category) const vector& categories = mapMultiArgs["-debug"]; ptrCategory.reset(new set(categories.begin(), categories.end())); // thread_specific_ptr automatically deletes the set when the thread ends. - // "darknet" is a composite category enabling all DarkNet-related debug output - if(ptrCategory->count(string("darknet"))) { + // "pivx" is a composite category enabling all PIVX-related debug output + if(ptrCategory->count(string("pivx"))) { ptrCategory->insert(string("obfuscation")); ptrCategory->insert(string("swifttx")); ptrCategory->insert(string("masternode")); @@ -397,7 +397,7 @@ static std::string FormatException(std::exception* pex, const char* pszThread) char pszModule[MAX_PATH] = ""; GetModuleFileNameA(NULL, pszModule, sizeof(pszModule)); #else - const char* pszModule = "darknet"; + const char* pszModule = "pivx"; #endif if (pex) return strprintf( @@ -418,13 +418,13 @@ void PrintExceptionContinue(std::exception* pex, const char* pszThread) boost::filesystem::path GetDefaultDataDir() { namespace fs = boost::filesystem; - // Windows < Vista: C:\Documents and Settings\Username\Application Data\DarkNet - // Windows >= Vista: C:\Users\Username\AppData\Roaming\DarkNet - // Mac: ~/Library/Application Support/DarkNet - // Unix: ~/.darknet + // Windows < Vista: C:\Documents and Settings\Username\Application Data\PIVX + // Windows >= Vista: C:\Users\Username\AppData\Roaming\PIVX + // Mac: ~/Library/Application Support/PIVX + // Unix: ~/.pivx #ifdef WIN32 // Windows - return GetSpecialFolderPath(CSIDL_APPDATA) / "DarkNet"; + return GetSpecialFolderPath(CSIDL_APPDATA) / "PIVX"; #else fs::path pathRet; char* pszHome = getenv("HOME"); @@ -436,10 +436,10 @@ boost::filesystem::path GetDefaultDataDir() // Mac pathRet /= "Library/Application Support"; TryCreateDirectory(pathRet); - return pathRet / "DarkNet"; + return pathRet / "PIVX"; #else // Unix - return pathRet / ".darknet"; + return pathRet / ".pivx"; #endif #endif } @@ -486,7 +486,7 @@ void ClearDatadirCache() boost::filesystem::path GetConfigFile() { - boost::filesystem::path pathConfigFile(GetArg("-conf", "darknet.conf")); + boost::filesystem::path pathConfigFile(GetArg("-conf", "pivx.conf")); if (!pathConfigFile.is_complete()) pathConfigFile = GetDataDir(false) / pathConfigFile; @@ -505,7 +505,7 @@ void ReadConfigFile(map& mapSettingsRet, { boost::filesystem::ifstream streamConfig(GetConfigFile()); if (!streamConfig.good()){ - // Create empty darknet.conf if it does not exist + // Create empty pivx.conf if it does not exist FILE* configFile = fopen(GetConfigFile().string().c_str(), "a"); if (configFile != NULL) fclose(configFile); @@ -517,7 +517,7 @@ void ReadConfigFile(map& mapSettingsRet, 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 darknet.conf + // Don't overwrite existing settings so command line settings override pivx.conf string strKey = string("-") + it->string_key; if (mapSettingsRet.count(strKey) == 0) { @@ -534,7 +534,7 @@ void ReadConfigFile(map& mapSettingsRet, #ifndef WIN32 boost::filesystem::path GetPidFile() { - boost::filesystem::path pathPidFile(GetArg("-pid", "darknetd.pid")); + boost::filesystem::path pathPidFile(GetArg("-pid", "pivxd.pid")); if (!pathPidFile.is_complete()) pathPidFile = GetDataDir() / pathPidFile; return pathPidFile; } diff --git a/src/util.h b/src/util.h index fb55b84ef6f23..f41d623ba0fc1 100644 --- a/src/util.h +++ b/src/util.h @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -29,14 +29,14 @@ #include #include -//DarkNet only features +//PIVX only features extern bool fMasterNode; extern bool fLiteMode; extern bool fEnableSwiftTX; extern int nSwiftTXDepth; extern int nObfuscationRounds; -extern int nAnonymizeDarknetAmount; +extern int nAnonymizePivxAmount; extern int nLiquidityProvider; extern bool fEnableObfuscation; extern int64_t enforceMasternodePaymentsTime; @@ -195,7 +195,7 @@ void RenameThread(const char* name); */ template void LoopForever(const char* name, Callable func, int64_t msecs) { - std::string s = strprintf("darknet-%s", name); + std::string s = strprintf("pivx-%s", name); RenameThread(s.c_str()); LogPrintf("%s thread start\n", name); try @@ -226,7 +226,7 @@ template void LoopForever(const char* name, Callable func, */ template void TraceThread(const char* name, Callable func) { - std::string s = strprintf("darknet-%s", name); + std::string s = strprintf("pivx-%s", name); RenameThread(s.c_str()); try { diff --git a/src/version.h b/src/version.h index 516f6e03b5dcc..03b01052cafc6 100644 --- a/src/version.h +++ b/src/version.h @@ -1,6 +1,6 @@ // Copyright (c) 2012-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The Darknet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. diff --git a/src/wallet.cpp b/src/wallet.cpp index 611610d931694..a0be7dedec478 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -1876,7 +1876,7 @@ bool CWallet::SelectCoins(const CAmount& nTargetValue, set= nTargetValue); } - //if we're doing only denominated, we need to round up to the nearest .1PIV + //if we're doing only denominated, we need to round up to the nearest .1 PIV if(coin_type == ONLY_DENOMINATED) { // Make outputs by looping through denominations, from large to small BOOST_FOREACH(int64_t v, obfuScationDenominations) @@ -1884,7 +1884,7 @@ bool CWallet::SelectCoins(const CAmount& nTargetValue, setvout[out.i].nValue == v //make sure it's the denom we're looking for - && nValueRet + out.tx->vout[out.i].nValue < nTargetValue + (0.1*COIN)+100 //round the amount up to .1PIV over + && nValueRet + out.tx->vout[out.i].nValue < nTargetValue + (0.1*COIN)+100 //round the amount up to .1 PIV over ){ CTxIn vin = CTxIn(out.tx->GetHash(),out.i); int rounds = GetInputObfuscationRounds(vin); @@ -2301,9 +2301,9 @@ bool CWallet::CreateTransaction(const vector >& vecSend, if(coin_type == ALL_COINS) { strFailReason = _("Insufficient funds."); } else if (coin_type == ONLY_NOT10000IFMN) { - strFailReason = _("Unable to locate enough funds for this transaction that are not equal 10000PIV."); + strFailReason = _("Unable to locate enough funds for this transaction that are not equal 10000 PIV."); } else if (coin_type == ONLY_NONDENOMINATED_NOT10000IFMN) { - strFailReason = _("Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000PIV."); + strFailReason = _("Unable to locate enough Obfuscation non-denominated funds for this transaction that are not equal 10000 PIV."); } else { strFailReason = _("Unable to locate enough Obfuscation denominated funds for this transaction."); strFailReason += " " + _("Obfuscation uses exact denominated amounts to send funds, you might simply need to anonymize some more coins."); @@ -2343,7 +2343,7 @@ bool CWallet::CreateTransaction(const vector >& vecSend, { // Fill a vout to ourself // TODO: pass in scriptChange instead of reservekey so - // change transaction isn't always pay-to-darknet-address + // change transaction isn't always pay-to-pivx-address CScript scriptChange; // coin control: send change to custom address diff --git a/src/wallet.h b/src/wallet.h index 003b329a6629d..34447d1007645 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2015-2016 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -75,7 +75,7 @@ enum AvailableCoinsType ALL_COINS = 1, ONLY_DENOMINATED = 2, ONLY_NOT10000IFMN = 3, - ONLY_NONDENOMINATED_NOT10000IFMN = 4, // ONLY_NONDENOMINATED and not 10000PIV at the same time + ONLY_NONDENOMINATED_NOT10000IFMN = 4, // ONLY_NONDENOMINATED and not 10000 PIV at the same time ONLY_10000 = 5 // find masternode outputs including locked ones (use with caution) }; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 29dffedc2add5..bdcb0462e81b5 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -1,7 +1,7 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin developers // Copyright (c) 2014-2015 The Dash developers -// Copyright (c) 2014-2015 The DarkNet developers +// Copyright (c) 2015-2017 The PIVX developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -889,7 +889,7 @@ DBErrors CWalletDB::ZapWalletTx(CWallet* pwallet, vector& vWtx) void ThreadFlushWalletDB(const string& strFile) { // Make this thread recognisable as the wallet flushing thread - RenameThread("darknet-wallet"); + RenameThread("pivx-wallet"); static bool fOneThread; if (fOneThread)